[Pkg-mono-svn-commits] [SCM] mono-basic branch, master, updated. debian/2.10-2-7-g0fbf128

Jo Shields directhex at apebox.org
Wed Apr 24 19:04:26 UTC 2013


The following commit has been merged in the master branch:
commit 3470b09926243efd959125e15dcc9b849c667dee
Author: Jo Shields <directhex at apebox.org>
Date:   Wed Apr 24 19:36:02 2013 +0100

    Imported Upstream version 3.0~git20130424.f5a46b1

diff --git a/Makefile b/Makefile
index 4304423..bcb4a85 100644
--- a/Makefile
+++ b/Makefile
@@ -1,9 +1,9 @@
 thisdir := .
 
 SUBDIRS := build man class vbruntime
-net_4_0_SUBDIRS := tools vbnc scripts $(SUBDIRS)
+net_4_5_SUBDIRS := tools vbnc scripts $(SUBDIRS)
 
-DIST_SUBDIRS := $(net_4_0_SUBDIRS)
+DIST_SUBDIRS := $(net_4_5_SUBDIRS)
 
 include build/rules.make
 
@@ -29,6 +29,7 @@ dist-tarball: dist-pre
 
 dist: dist-tarball
 	rm -rf $(package)
+	sed -e s, at VERSION@,$(VERSION),g < mono-basic.spec.in > mono-basic.spec
 
 # the egrep -v is kind of a hack (to get rid of the makefrags)
 # but otherwise we have to make dist then make clean which
diff --git a/build/profiles/net_4_5.make b/build/profiles/net_4_5.make
new file mode 100644
index 0000000..3ec9d0f
--- /dev/null
+++ b/build/profiles/net_4_5.make
@@ -0,0 +1,7 @@
+# -*- makefile -*-
+
+profile-check:
+	@:
+
+PROFILE_VBNC_FLAGS = /sdkpath:$(prefix)/lib/mono/4.5/
+FRAMEWORK_VERSION = 4.5
diff --git a/build/rules.make b/build/rules.make
index 6a7b94b..5af79b3 100644
--- a/build/rules.make
+++ b/build/rules.make
@@ -93,7 +93,7 @@ endif
 # Rest of the configuration
 
 ifndef PROFILE
-PROFILE = net_4_0
+PROFILE = net_4_5
 endif
 
 include $(topdir)/build/profiles/$(PROFILE).make
@@ -101,7 +101,7 @@ include $(topdir)/build/profiles/$(PROFILE).make
 
 
 # vbnc is built in one the profiles (currently net_2_0, this will likely change to net_4_0 soon)
-PROFILES = net_2_0 net_4_0 $(CONFIGURED_PROFILES)
+PROFILES = net_2_0 net_4_0 net_4_5 $(CONFIGURED_PROFILES)
 PLATFORMS = linux win32
 
 
diff --git a/class/lib/bootstrap/vbnc.exe b/class/lib/bootstrap/vbnc.exe
index f94b4d5..afcd486 100644
Binary files a/class/lib/bootstrap/vbnc.exe and b/class/lib/bootstrap/vbnc.exe differ
diff --git a/class/lib/bootstrap/vbnc.exe.mdb b/class/lib/bootstrap/vbnc.exe.mdb
index 16b73d3..bba9c07 100755
Binary files a/class/lib/bootstrap/vbnc.exe.mdb and b/class/lib/bootstrap/vbnc.exe.mdb differ
diff --git a/configure b/configure
index f48ba6e..f9b628b 100755
--- a/configure
+++ b/configure
@@ -1,22 +1,37 @@
 #!/bin/sh
 
-VERSION=2.10
+VERSION=3.0
 prefix=/usr/local
 configured_profiles=
+moonlight_sdk_location=
+monotouch_sdk_location="`pwd`/../mono/mcs/class/lib/monotouch"
+monodroid_sdk_location="`pwd`/../mono/mcs/class/lib/monodroid"
 while test x$1 != x; do
         case $1 in
                 --prefix=*)
                         prefix=`echo $1 | sed 's/--prefix=//'`
                         ;;
+                --moonlight-sdk-location=*)
+                        moonlight_sdk_location=`echo $1 | sed 's/--moonlight-sdk-location=//'`
+                        configured_profiles="moonlight $configured_profiles"
+                        ;;
                 --prefix)
                         echo --prefix needs an argument: --prefix=directory >&2
                         ;;
                 --with-monotouch=yes)
                         configured_profiles="monotouch $configured_profiles"
                         ;;
+                --monotouch-sdk-location=*)
+                        configured_profiles="monotouch $configured_profiles"
+                        monotouch_sdk_location=`echo $1 | sed 's/--monotouch-sdk-location=//'`
+                        ;;
                 --with-monodroid=yes)
                         configured_profiles="monodroid $configured_profiles"
                         ;;
+                --monodroid-sdk-location=*)
+                        configured_profiles="monodroid $configured_profiles"
+                        monodroid_sdk_location=`echo $1 | sed 's/--monodroid-sdk-location=//'`
+                        ;;
                 --with-moonlight=yes)
                         configured_profiles="moonlight $configured_profiles"
                         ;;
@@ -26,6 +41,13 @@ while test x$1 != x; do
         shift
 done
 
+if test "x$moonlight_sdk_location" = "x"; then
+	if test "x`echo $configured_profiles | grep moonlight`" != "x"; then
+		echo Configure error: --with-moonlight=yes requires --moonlight-sdk-location
+		exit 1
+	fi
+fi
+
 echo "prefix=$prefix" > build/config.make
 echo "exec_prefix=\${prefix}" >> build/config.make
 echo "mono_libdir=\${exec_prefix}/lib" >> build/config.make
@@ -36,6 +58,9 @@ echo "RUNTIME=mono" >> build/config.make
 echo "MONO_BASIC_VERSION=$VERSION" >> build/config.make
 echo "VERSION :=$VERSION" >> build/config.make
 echo "CONFIGURED_PROFILES :=$configured_profiles" >> build/config.make
+echo "MOONLIGHT_SDK_LOCATION :=$sdk_location" >> build/config.make
+echo "MONOTOUCH_SDK_LOCATION=$monotouch_sdk_location" >> build/config.make
+echo "MONODROID_SDK_LOCATION=$monodroid_sdk_location" >> build/config.make
 
-echo "mono-basic $VERSION module configure to use prefix=$prefix"
+echo "mono-basic $VERSION module configured to use prefix=$prefix"
 
diff --git a/scripts/vbnc.in b/scripts/vbnc.in
index 92443b0..7e3b358 100644
--- a/scripts/vbnc.in
+++ b/scripts/vbnc.in
@@ -1,2 +1,2 @@
 #!/bin/sh
-exec mono --debug $MONO_OPTIONS @prefix@/lib/mono/4.0/vbnc.exe "$@"
+exec @prefix@/bin/mono --debug $MONO_OPTIONS @prefix@/lib/mono/4.0/vbnc.exe "$@"
diff --git a/scripts/vbnc2.in b/scripts/vbnc2.in
index 7651a1d..13df87a 100644
--- a/scripts/vbnc2.in
+++ b/scripts/vbnc2.in
@@ -1,2 +1,2 @@
 #!/bin/sh
-exec mono --debug $MONO_OPTIONS @prefix@/lib/mono/4.0/vbnc.exe /sdkpath:@prefix@/lib/mono/2.0/ "$@"
+exec @prefix@/bin/mono --debug $MONO_OPTIONS @prefix@/lib/mono/4.0/vbnc.exe /sdkpath:@prefix@/lib/mono/2.0/ "$@"
diff --git a/tools/moonlight/Makefile b/tools/moonlight/Makefile
index 78b510c..5e05e8a 100644
--- a/tools/moonlight/Makefile
+++ b/tools/moonlight/Makefile
@@ -17,15 +17,15 @@ test-local run-test-local run-test-ondotnet-local all-local install-local uninst
 dist-local: dist-default
 
 tuner.exe: tuner.vb
-	mono --debug $(topdir)/class/lib/bootstrap/vbnc.exe tuner.vb -out:tuner.exe -r:$(MCS_PATH)/class/lib/basic/Mono.Cecil.dll -debug+
+	mono --debug $(topdir)/class/lib/bootstrap/vbnc.exe tuner.vb -out:tuner.exe -r:`pkg-config --variable=Libraries cecil` -debug+ -r:$(topdir)/class/lib/bootstrap/Microsoft.VisualBasic.dll -noconfig -novbruntimeref
 
-moonlight:
+moonlight: tuner.exe
 	mkdir -p $(topdir)/class/lib/moonlight
 	$(MAKE) -C ../../vbruntime/Microsoft.VisualBasic PROFILE=moonlight
 	
 tune: moonlight tuner.exe
 	mkdir -p $(topdir)/class/lib/2.1/
-	MONO_PATH=$(MONO_PATH)::$(MCS_PATH)/class/lib/basic/ $(MCS_PATH)/../mono/mini/mono --debug tuner.exe $(DLL_TO_TUNE) $(TUNED_DLL)
+	mono --debug tuner.exe $(DLL_TO_TUNE) $(TUNED_DLL)
 	-cp $(DLL_TO_TUNE).mdb $(TUNED_DLL).mdb
 	
 install-moonlight: tune
diff --git a/vbnc/rt/source/CecilComparer.vb b/vbnc/rt/source/CecilComparer.vb
index dbd9cc2..54675ed 100755
--- a/vbnc/rt/source/CecilComparer.vb
+++ b/vbnc/rt/source/CecilComparer.vb
@@ -572,7 +572,24 @@ Public Class CecilComparer
         End If
 
         CompareGenericParameters(Method1.GenericParameters, Method2.GenericParameters)
+        If Method1.Parameters.Count <> Method2.Parameters.Count Then
+            SaveMessage("'(%a1%).{0} has {1} parameters, while (%a2%).{2} has {3} parameters", Method1, Method1.Parameters.Count, Method2, Method2.Parameters.Count)
+        Else
+            CompareParameters(Method1.Parameters, Method2.Parameters)
+        End If
+    End Sub
 
+    Private Sub CompareParameter(ByVal P1 As ParameterDefinition, ByVal P2 As ParameterDefinition)
+        If P1.Name <> P2.Name Then
+            SaveMessage("'(%a1%).{0}'s parameter #{1} has name '{2}', while (%a2%).{3}'s parameter #{1} has name '{4}'", P1.Method, P1.Index, P1.Name, P2.Method, P2.Name)
+        End If
+        CompareAttributeList(Of CustomAttribute)(CloneCollection(Of CustomAttribute)(P1.CustomAttributes), CloneCollection(Of CustomAttribute)(P2.CustomAttributes), New ComparerMethod(Of CustomAttribute)(AddressOf CompareAttribute), New EqualChecker(Of CustomAttribute)(AddressOf AreAttributesEqual), "param attribute", New AsString(Of CustomAttribute)(AddressOf AttributeAsString), CType(P1.Method, MemberReference), CType(P2.Method, MemberReference))
+    End Sub
+
+    Private Sub CompareParameters(ByVal Parameters1 As Collection(Of ParameterDefinition), ByVal Parameters2 As Collection(Of ParameterDefinition))
+        For i As Integer = 0 To Parameters1.Count - 1
+            CompareParameter(Parameters1(i), Parameters2(i))
+        Next
     End Sub
 
     Private Sub CompareMethods(ByVal Methods1 As Collection(Of MethodDefinition), ByVal Methods2 As Collection(Of MethodDefinition))
@@ -640,14 +657,14 @@ Public Class CecilComparer
         CompareList(Of MethodDefinition)(CloneCollection(Of MethodDefinition)(Ctors1), CloneCollection(Of MethodDefinition)(Ctors2), New ComparerMethod(Of MethodDefinition)(AddressOf CompareMethod), New EqualChecker(Of MethodDefinition)(AddressOf AreSameCtor), "Constructor", New AsString(Of MethodDefinition)(AddressOf CtorAsString))
     End Sub
 
-    Private Shared _assemblies As New Hashtable
+    Private _assemblies As New Hashtable
 
     Private Class resolver
         Inherits BaseAssemblyResolver
 
     End Class
 
-    Public Shared Function FindDefinition(ByVal name As AssemblyNameReference) As AssemblyDefinition
+    Public Function FindDefinition(ByVal name As AssemblyNameReference) As AssemblyDefinition
         Dim asm As AssemblyDefinition = TryCast(_assemblies(name.Name), AssemblyDefinition)
         If asm Is Nothing Then
             Dim base As New DefaultAssemblyResolver
@@ -658,7 +675,7 @@ Public Class CecilComparer
         Return asm
     End Function
 
-    Public Shared Function FindDefinition(ByVal type As TypeReference) As TypeDefinition
+    Public Function FindDefinition(ByVal type As TypeReference) As TypeDefinition
         If type Is Nothing Then Return Nothing
         Dim tD As TypeDefinition = TryCast(type, TypeDefinition)
         If tD IsNot Nothing Then Return tD
@@ -880,3 +897,4 @@ Public Class CecilComparer
         SaveMessage(Msg, params)
     End Sub
 End Class
+
diff --git a/vbnc/rt/source/ErrorInfo.vb b/vbnc/rt/source/ErrorInfo.vb
new file mode 100644
index 0000000..8c36148
--- /dev/null
+++ b/vbnc/rt/source/ErrorInfo.vb
@@ -0,0 +1,108 @@
+
+
+Public Class ErrorInfo
+    Private m_Line As Integer
+    Private m_Number As Integer
+    Private m_Message As String
+
+    Sub New()
+
+    End Sub
+
+    Sub New(ByVal Line As Integer, ByVal Number As Integer, ByVal Message As String)
+        m_Line = Line
+        m_Number = Number
+        m_Message = Message
+    End Sub
+
+    Public Property Line As Integer
+        Get
+            Return m_Line
+        End Get
+        Set(ByVal value As Integer)
+            m_Line = value
+        End Set
+    End Property
+
+    Public Property Number As Integer
+        Get
+            Return m_Number
+        End Get
+        Set(ByVal value As Integer)
+            m_Number = value
+        End Set
+    End Property
+
+    Public Property Message As String
+        Get
+            Return m_Message
+        End Get
+        Set(ByVal value As String)
+            m_Message = value
+        End Set
+    End Property
+
+    Shared Function Compare(ByVal expected As ErrorInfo, ByVal actual As ErrorInfo, ByRef result As String) As Boolean
+        Dim res As Boolean = True
+
+        result = String.Empty
+
+        If String.IsNullOrEmpty(expected.Message) = False AndAlso String.IsNullOrEmpty(actual.Message) = False AndAlso Not String.Equals(expected.Message, actual.Message) Then
+            result += String.Format("Messages differ: Expected: '{0}' vs Actual: '{1}'{2}", expected.Message, actual.Message, Environment.NewLine)
+            res = False
+        End If
+
+        If expected.Line <> 0 AndAlso actual.Line <> 0 AndAlso expected.Line <> actual.Line Then
+            result += String.Format("Line number differ: Expected: '{0}' vs Actual: '{1}'{2}", expected.Line, actual.Line, Environment.NewLine)
+            res = False
+        End If
+
+        If expected.Number <> actual.Number Then
+            result += String.Format("Error number differ: Expected: '{0}' vs Actual: '{1}'{2}", expected.Number, actual.Number, Environment.NewLine)
+            res = False
+        End If
+
+        Return res
+    End Function
+
+    Shared Function ParseLine(ByVal line As String) As ErrorInfo
+        Dim idx As Integer
+        Dim errline As Integer
+        Dim errnumber As Integer
+        Dim errmessage As String
+        Dim foundSize As Integer = 9
+
+        idx = line.IndexOf(" : error ")
+        If idx = -1 Then
+            idx = line.IndexOf(" : Command line error ")
+            foundSize = 22
+        End If
+        If idx = -1 Then
+            idx = line.IndexOf(" : warning ")
+            foundSize = 11
+        End If
+        If idx = -1 Then Return Nothing
+
+        If idx > 2 AndAlso line(idx - 1) = ")"c Then
+            Dim pari As Integer = line.LastIndexOf("("c, idx)
+            Dim strline As String = line.Substring(pari + 1, idx - pari - 2)
+            If strline.IndexOf(","c) >= 0 Then
+                strline = strline.Substring(0, strline.IndexOf(","c))
+            End If
+            errline = Integer.Parse(strline)
+        End If
+
+        line = line.Substring(idx + foundSize)
+        If line.StartsWith("BC") Then
+            line = line.Substring(2)
+        Else
+            line = line.Substring(4) 'VBNC
+        End If
+
+        idx = line.IndexOf(":"c)
+        errnumber = Integer.Parse(line.Substring(0, idx), Globalization.NumberStyles.AllowTrailingWhite Or Globalization.NumberStyles.AllowLeadingWhite)
+        errmessage = line.Substring(idx + 1).Trim()
+
+        Return New ErrorInfo(errline, errnumber, errmessage)
+    End Function
+End Class
diff --git a/vbnc/rt/source/ExternalProcessExecutor.vb b/vbnc/rt/source/ExternalProcessExecutor.vb
index 40bf337..680d0dd 100644
--- a/vbnc/rt/source/ExternalProcessExecutor.vb
+++ b/vbnc/rt/source/ExternalProcessExecutor.vb
@@ -37,6 +37,8 @@ Public Class ExternalProcessExecutor
 
     Private m_DirsToDelete As Generic.List(Of String)
     Private m_Retries As Integer
+    Private m_StdOutEvent As New Threading.ManualResetEvent(False)
+    Private m_StdErrEvent As New Threading.ManualResetEvent(False)
 
     ReadOnly Property FileVersion() As FileVersionInfo
         Get
@@ -165,16 +167,34 @@ Public Class ExternalProcessExecutor
         Next
     End Sub
 
-    Private Sub OutputReader(ByVal sender As Object, ByVal e As DataReceivedEventArgs)
+    Private Sub OutputReader(ByVal state As Object)
         Try
-            m_StdOut.AppendLine(e.Data)
+            Dim line As String
+            Dim m_Process As Process = DirectCast(state, Process)
+            line = m_Process.StandardOutput.ReadLine
+            While line IsNot Nothing
+                m_StdOut.AppendLine(line)
+                line = m_Process.StandardOutput.ReadLine
+            End While
+            m_StdOutEvent.Set()
         Catch ex As OutOfMemoryException
             m_StdOut.AppendLine(ex.Message)
         End Try
     End Sub
 
-    Private Sub ErrorReader(ByVal sender As Object, ByVal e As DataReceivedEventArgs)
-        m_StdErr.AppendLine(e.Data)
+    Private Sub ErrorReader(ByVal state As Object)
+        Try
+            Dim m_Process As Process = DirectCast(state, Process)
+            Dim line As String
+            line = m_Process.StandardError.ReadLine
+            While line IsNot Nothing
+                m_StdErr.AppendLine(line)
+                line = m_Process.StandardError.ReadLine
+            End While
+            m_StdErrEvent.Set()
+        Catch ex As OutOfMemoryException
+            m_StdOut.AppendLine(ex.Message)
+        End Try
     End Sub
 
 
@@ -246,17 +266,16 @@ Public Class ExternalProcessExecutor
             Catch
             End Try
 
-            AddHandler process.OutputDataReceived, AddressOf OutputReader
-            AddHandler process.ErrorDataReceived, AddressOf ErrorReader
-            process.BeginOutputReadLine()
-            process.BeginErrorReadLine()
+            Threading.ThreadPool.QueueUserWorkItem(AddressOf OutputReader, process)
+            Threading.ThreadPool.QueueUserWorkItem(AddressOf ErrorReader, process)
 
             m_TimedOut = Not process.WaitForExit(m_TimeOut)
             If m_TimedOut Then
                 process.Kill()
             End If
             m_ExitCode = process.ExitCode
-
+            m_StdErrEvent.WaitOne()
+            m_StdOutEvent.WaitOne()
             process.Close()
             'process.CancelOutputRead()
             'RemoveHandler process.OutputDataReceived, AddressOf OutputReader
@@ -300,3 +319,4 @@ Public Class ExternalProcessExecutor
     End Sub
 
 End Class
+
diff --git a/vbnc/rt/source/ExternalProcessVerification.vb b/vbnc/rt/source/ExternalProcessVerification.vb
index 024bdbb..4841e27 100644
--- a/vbnc/rt/source/ExternalProcessVerification.vb
+++ b/vbnc/rt/source/ExternalProcessVerification.vb
@@ -44,17 +44,6 @@ Public Class ExternalProcessVerification
         m_Process.ExpandCmdLine(New String() {"%OUTPUTASSEMBLY%", "%OUTPUTVBCASSEMBLY%"}, New String() {Test.OutputAssembly(), Test.OutputVBCAssembly()})
     End Sub
 
-    Private Function StdOutContainsNumber(ByVal Number As Integer, ByRef ContainsMyGenerator As Boolean, ByRef ContainsCHANGEME As Boolean, ByRef Contains9999Error As Boolean) As Boolean
-        Dim str As String
-        str = m_Process.StdOut & ""
-        If str.Contains("<MyGenerator>") Then ContainsMyGenerator = True
-        If str.Contains("CHANGEME") Then ContainsCHANGEME = True
-        If str.Contains("VBNC9999") Then Contains9999Error = True
-        If str.Contains("BC" & Number.ToString) Then Return True
-        If str.Contains("VBNC" & Number.ToString) Then Return True
-        Return False
-    End Function
-
     Protected Overrides Function RunVerification() As Boolean
         Dim result As Boolean
 
@@ -69,22 +58,69 @@ Public Class ExternalProcessVerification
             If m_Process.ExitCode <> Me.ExpectedExitCode Then
                 MyBase.DescriptiveMessage = Name & " failed, expected exit code " & Me.ExpectedExitCode & " but process exited with exit code " & m_Process.ExitCode & vbNewLine
                 result = False
-            ElseIf Me.ExpectedErrorCode <> 0 Then
-                Dim myGenerator As Boolean
-                Dim changeme As Boolean
-                Dim notimplerr As Boolean
-                If StdOutContainsNumber(Me.ExpectedErrorCode, myGenerator, changeme, notimplerr) = False Then
-                    MyBase.DescriptiveMessage = Name & " failed, expected error code " & Me.ExpectedErrorCode & vbNewLine
-                    result = False
-                ElseIf myGenerator Then
-                    MyBase.DescriptiveMessage = Name & " failed, <MyGenerator> shown in error message" & vbNewLine
-                    result = False
-                ElseIf changeme Then
-                    MyBase.DescriptiveMessage = Name & " failed, CHANGEME shown in error message" & vbNewLine
+            End If
+
+            Dim actualErrors As New Generic.List(Of ErrorInfo)
+            Dim errorReport As String
+            Dim ei As ErrorInfo
+            Dim line As String
+            Dim stdout As String = m_Process.StdOut
+
+            Using reader As New System.IO.StringReader(stdout)
+                line = reader.ReadLine
+                Do While line IsNot Nothing
+                    If line.Contains("<MyGenerator>") Then
+                        MyBase.DescriptiveMessage = Name & " failed, <MyGenerator> shown in message" & vbNewLine
+                        result = False
+                    ElseIf line.Contains("VBNC9999") AndAlso line.Contains("VBNC99998") = False Then
+                        MyBase.DescriptiveMessage = Name & " failed, VBNC9999? shown in message" & vbNewLine
+                        result = False
+                    ElseIf line.Contains("CHANGEME") Then
+                        MyBase.DescriptiveMessage = Name & " failed, CHANGEME shown in message" & vbNewLine
+                        result = False
+                    Else
+                        ei = ErrorInfo.ParseLine(line)
+                        If ei IsNot Nothing Then actualErrors.Add(ei)
+                    End If
+
+                    line = reader.ReadLine
+                Loop
+            End Using
+
+            If result Then
+                If (ExpectedErrors Is Nothing OrElse ExpectedErrors.Count = 0) AndAlso actualErrors.Count > 0 Then
+                    MyBase.DescriptiveMessage = String.Format("{0} failed, expected 0 messages, got {1} messages{2}", Name, actualErrors.Count, vbNewLine)
                     result = False
-                ElseIf notimplerr Then
-                    MyBase.DescriptiveMessage = Name & " failed, VBNC9999? shown in error message" & vbNewLine
+                ElseIf ExpectedErrors IsNot Nothing AndAlso ExpectedErrors.Count <> actualErrors.Count Then
+                    MyBase.DescriptiveMessage = String.Format("{0} failed, expected {1} messages, got {2} messages{3}", Name, ExpectedErrors.Count, actualErrors.Count, vbNewLine)
                     result = False
+                ElseIf ExpectedErrors IsNot Nothing Then
+                    errorReport = String.Empty
+                    Dim expectedFound As New Generic.List(Of ErrorInfo)(ExpectedErrors)
+                    Dim actualFound As New Generic.List(Of ErrorInfo)(actualErrors)
+
+                    For i As Integer = expectedFound.Count - 1 To 0 Step -1
+                        For j As Integer = actualFound.Count - 1 To 0 Step -1
+                            If ErrorInfo.Compare(expectedFound(i), actualFound(j), Nothing) Then
+                                expectedFound.RemoveAt(i)
+                                actualFound.RemoveAt(j)
+                                Exit For
+                            End If
+                        Next
+                    Next
+
+                    For i As Integer = 0 To expectedFound.Count - 1
+                        errorReport += String.Format("Expected message not reported: {0}: {1} {2}{3}", expectedFound(i).Line, expectedFound(i).Number, expectedFound(i).Message, Environment.NewLine)
+                    Next
+
+                    For i As Integer = 0 To actualFound.Count - 1
+                        errorReport += String.Format("Unexpected reported message: {0}: {1} {2}{3}", actualFound(i).Line, actualFound(i).Number, actualFound(i).Message, Environment.NewLine)
+                    Next
+
+                    If errorReport <> String.Empty Then
+                        MyBase.DescriptiveMessage = String.Format("{0} failed message verification: {2}", Name, vbNewLine, errorReport)
+                        result = False
+                    End If
                 End If
             End If
 
@@ -108,3 +144,4 @@ Public Class ExternalProcessVerification
         Return result
     End Function
 End Class
+
diff --git a/vbnc/rt/source/Test.vb b/vbnc/rt/source/Test.vb
index d17f880..5ea9122 100755
--- a/vbnc/rt/source/Test.vb
+++ b/vbnc/rt/source/Test.vb
@@ -19,8 +19,10 @@
 
 <Serializable()> _
 Public Class Test
-    Private ReadOnly PEVerifyPath As String = System.Environment.ExpandEnvironmentVariables("%programfiles%\Microsoft Visual Studio 8\SDK\v2.0\Bin\PEVerify.exe")
+    Private ReadOnly PEVerifyPath As String = System.Environment.ExpandEnvironmentVariables("%programfiles%\Microsoft SDKs\Windows\v7.0A\Bin\NETFX 4.0 Tools\PEVerify.exe")
     Private ReadOnly PEVerifyPath2 As String = System.Environment.ExpandEnvironmentVariables("%programfiles%\Microsoft SDKs\\Windows\v6.0A\bin\PEVerify.exe")
+    Private ReadOnly PEVerifyPath3 As String = System.Environment.ExpandEnvironmentVariables("%programfiles%\Microsoft Visual Studio 8\SDK\v2.0\Bin\PEVerify.exe")
+
     ''' <summary>
     ''' The id of the test
     ''' </summary>
@@ -33,8 +35,6 @@ Public Class Test
     ''' <remarks></remarks>
     Private m_Name As String
 
-    Private m_Category As String
-    Private m_Priority As Integer
     Private m_Arguments As String
     ''' <summary>
     ''' Arguments specific to vbc (such as compile into a different location). Will be appended after the rest of the arguments.
@@ -68,13 +68,6 @@ Public Class Test
     Private m_ExpectedVBCExitCode As Nullable(Of Integer)
 
     ''' <summary>
-    ''' The error (or warning) the compiler should return (0 for none).
-    ''' </summary>
-    ''' <remarks></remarks>
-    Private m_ExpectedErrorCode As Integer
-    Private m_ExpectedVBCErrorCode As Nullable(Of Integer)
-
-    ''' <summary>
     ''' The result of the test
     ''' </summary>
     ''' <remarks></remarks>
@@ -114,15 +107,39 @@ Public Class Test
     ''' </summary>
     ''' <remarks></remarks>
     Private m_TestArguments As String
+    Private m_Errors As New Generic.List(Of ErrorInfo)
+    Private m_VBCErrors As Generic.List(Of ErrorInfo)
+    Private m_Description As String
 
     Public Event Executed(ByVal Sender As Test)
     Public Event Executing(ByVal Sender As Test)
     Public Event Changed(ByVal Sender As Test)
 
     Private m_Compiler As String
-    Private Shared m_NegativeRegExpTest As New System.Text.RegularExpressions.Regex("^\d\d\d\d.*$", System.Text.RegularExpressions.RegexOptions.Compiled)
-    Private Shared m_FileCache As New Collections.Generic.Dictionary(Of String, String())
-    Private Shared m_FileCacheTime As Date = Date.MinValue
+
+    Public Property Description As String
+        Get
+            Return m_Description
+        End Get
+        Set(ByVal value As String)
+            m_Description = value
+        End Set
+    End Property
+
+    Public ReadOnly Property Errors As Generic.List(Of ErrorInfo)
+        Get
+            Return m_Errors
+        End Get
+    End Property
+
+    Public Property VBCErrors As Generic.List(Of ErrorInfo)
+        Get
+            Return m_VBCErrors
+        End Get
+        Set(ByVal value As Generic.List(Of ErrorInfo))
+            m_VBCErrors = value
+        End Set
+    End Property
 
     Public Property MyType As MyTypes
         Get
@@ -164,6 +181,11 @@ Public Class Test
         Return attrib.Value
     End Function
 
+    Private Function GetAttributeIntValue(ByVal attrib As XmlAttribute) As Integer
+        If attrib Is Nothing Then Return Nothing
+        Return Integer.Parse(attrib.Value)
+    End Function
+
     Private Function GetNodeValue(ByVal node As XmlNode) As String
         If node Is Nothing Then Return Nothing
         Return node.InnerText
@@ -219,8 +241,6 @@ Public Class Test
 
         m_ID = xml.Attributes("id").Value
         m_Name = xml.Attributes("name").Value
-        m_Category = GetAttributeValue(xml.Attributes("category"))
-        m_Priority = Integer.Parse(xml.Attributes("priority").Value)
         m_Arguments = GetNodeValue(xml.SelectSingleNode("arguments"))
         m_VBCArguments = GetNodeValue(xml.SelectSingleNode("vbcarguments"))
         m_TestArguments = GetNodeValue(xml.SelectSingleNode("testarguments"))
@@ -228,39 +248,14 @@ Public Class Test
         m_OutputVBCAssembly = GetFullPath(GetAttributeValue(xml.Attributes("outputvbcassembly")))
         m_OutputAssembly = GetFullPath(GetAttributeValue(xml.Attributes("outputassembly")))
 
-        m_ExpectedErrorCode = CInt(GetAttributeValue(xml.Attributes("expectederrorcode")))
         m_ExpectedExitCode = CInt(GetAttributeValue(xml.Attributes("expectedexitcode")))
         tmp = GetAttributeValue(xml.Attributes("expectedvbcerrorcode"))
-        If Not String.IsNullOrEmpty(tmp) Then m_ExpectedVBCErrorCode = CInt(tmp)
         tmp = GetAttributeValue(xml.Attributes("expectedvbcexitcode"))
         If Not String.IsNullOrEmpty(tmp) Then m_ExpectedVBCExitCode = CInt(tmp)
         m_WorkingDirectory = GetAttributeValue(xml.Attributes("workingdirectory"))
 
         SetResult(GetAttributeValue(xml.Attributes("result")))
 
-
-        '    'Test to see if it is a negative test.
-        '    'Negative tests are:
-        '    '0001.vb
-        '    '0001-2.vb
-        '    '0001-3 sometest.vb
-        If m_NegativeRegExpTest.IsMatch(m_Name) AndAlso m_ExpectedErrorCode = 0 Then
-            Dim firstNonNumber As Integer = m_Name.Length
-            For i As Integer = 0 To m_Name.Length - 1
-                If Char.IsNumber(m_Name(i)) = False Then
-                    firstNonNumber = i
-                    Exit For
-                End If
-            Next
-            If Integer.TryParse(m_Name.Substring(0, firstNonNumber), m_ExpectedErrorCode) Then
-                If m_ExpectedErrorCode >= 40000 AndAlso m_ExpectedErrorCode < 50000 Then
-                    m_ExpectedExitCode = 0
-                Else
-                    m_ExpectedExitCode = 1
-                End If
-            End If
-        End If
-
         target = GetAttributeValue(xml.Attributes("target"))
         If target IsNot Nothing Then target = target.ToLower()
         Select Case target
@@ -272,8 +267,9 @@ Public Class Test
                 m_Target = Targets.Library
             Case "module"
                 m_Target = Targets.Module
-            Case "", Nothing, "none"
-                'Console.WriteLine("Warning: {0} does not have a target specified.", m_ID)
+            Case "", Nothing
+                m_Target = Targets.Library
+            Case "none"
                 m_Target = Targets.None
             Case Else
                 Throw New InvalidOperationException("Invalid target: " & target)
@@ -310,6 +306,16 @@ Public Class Test
         For Each file As XmlNode In xml.SelectNodes("dependency")
             m_Dependencies.Add(file.InnerText)
         Next
+
+        m_Description = GetNodeValue(xml.SelectSingleNode("description"))
+
+        For Each e As XmlNode In xml.SelectNodes("error")
+            m_Errors.Add(New ErrorInfo(GetAttributeIntValue(e.Attributes("line")), GetAttributeIntValue(e.Attributes("number")), GetAttributeValue(e.Attributes("message"))))
+        Next
+        For Each e As XmlNode In xml.SelectNodes("vbcerror")
+            If m_VBCErrors Is Nothing Then m_VBCErrors = New Generic.List(Of ErrorInfo)
+            m_VBCErrors.Add(New ErrorInfo(GetAttributeIntValue(e.Attributes("line")), GetAttributeIntValue(e.Attributes("number")), GetAttributeValue(e.Attributes("message"))))
+        Next
     End Sub
 
     Private Function GetFullPath(ByVal path As String) As String
@@ -337,8 +343,6 @@ Public Class Test
         xml.WriteAttributeString("id", m_ID)
         If results = False Then
             xml.WriteAttributeString("name", m_Name)
-            xml.WriteAttributeString("category", m_Category)
-            xml.WriteAttributeString("priority", m_Priority.ToString())
             If Not String.IsNullOrEmpty(m_KnownFailure) Then
                 xml.WriteAttributeString("knownfailure", m_KnownFailure)
             End If
@@ -350,11 +354,11 @@ Public Class Test
             End If
 
             If m_ExpectedExitCode <> 0 Then xml.WriteAttributeString("expectedexitcode", m_ExpectedExitCode.ToString())
-            If m_ExpectedErrorCode <> 0 Then xml.WriteAttributeString("expectederrorcode", m_ExpectedErrorCode.ToString())
+            'If m_ExpectedErrorCode <> 0 Then xml.WriteAttributeString("expectederrorcode", m_ExpectedErrorCode.ToString())
             If m_ExpectedVBCExitCode.HasValue Then xml.WriteAttributeString("expectedvbcexitcode", m_ExpectedVBCExitCode.Value.ToString())
-            If m_ExpectedVBCErrorCode.HasValue Then xml.WriteAttributeString("expectedvbcerrorcode", m_ExpectedVBCErrorCode.Value.ToString())
+            'If m_ExpectedVBCErrorCode.HasValue Then xml.WriteAttributeString("expectedvbcerrorcode", m_ExpectedVBCErrorCode.Value.ToString())
 
-            xml.WriteAttributeString("target", m_Target.ToString().ToLower())
+            If m_Target <> Targets.Library Then xml.WriteAttributeString("target", m_Target.ToString().ToLower())
             If m_MyType <> MyTypes.Default Then xml.WriteAttributeString("mytype", m_MyType.ToString().ToLower())
 
             If Not String.IsNullOrEmpty(m_WorkingDirectory) Then xml.WriteAttributeString("workingdirectory", m_WorkingDirectory)
@@ -362,11 +366,32 @@ Public Class Test
             If Not String.IsNullOrEmpty(m_VBCArguments) Then xml.WriteElementString("vbcarguments", m_VBCArguments)
             If Not String.IsNullOrEmpty(m_TestArguments) Then xml.WriteElementString("testarguments", m_TestArguments)
             For Each file As String In m_Files
+                If IO.Path.IsPathRooted(file) AndAlso file.StartsWith(IO.Path.GetDirectoryName(Parent.Filename)) Then
+                    file = file.Substring(IO.Path.GetDirectoryName(Parent.Filename).Length)
+                    If file.StartsWith(IO.Path.DirectorySeparatorChar) Then file = file.Substring(1)
+                End If
                 xml.WriteElementString("file", file)
             Next
             For Each file As String In m_Dependencies
                 xml.WriteElementString("dependency", file)
             Next
+            If Not String.IsNullOrEmpty(m_Description) Then xml.WriteElementString("description", m_Description)
+            For Each Err As ErrorInfo In m_Errors
+                xml.WriteStartElement("error")
+                If Err.Line <> 0 Then xml.WriteAttributeString("line", Err.Line.ToString())
+                If Err.Number <> 0 Then xml.WriteAttributeString("number", Err.Number.ToString())
+                If String.IsNullOrEmpty(Err.Message) = False Then xml.WriteAttributeString("message", Err.Message)
+                xml.WriteEndElement()
+            Next
+            If m_VBCErrors IsNot Nothing Then
+                For Each Err As ErrorInfo In m_VBCErrors
+                    xml.WriteStartElement("vbcerror")
+                    If Err.Line <> 0 Then xml.WriteAttributeString("line", Err.Line.ToString())
+                    If Err.Number <> 0 Then xml.WriteAttributeString("number", Err.Number.ToString())
+                    If String.IsNullOrEmpty(Err.Message) = False Then xml.WriteAttributeString("message", Err.Message)
+                    xml.WriteEndElement()
+                Next
+            End If
         Else
             xml.WriteAttributeString("result", m_Result.ToString().ToLower())
             For Each vb As VerificationBase In Me.Verifications
@@ -374,7 +399,6 @@ Public Class Test
                 xml.WriteAttributeString("Type", vb.GetType().FullName)
                 xml.WriteAttributeString("Name", vb.Name)
                 xml.WriteAttributeString("DescriptiveMessage", vb.DescriptiveMessage)
-                xml.WriteAttributeString("ExpectedErrorCode", vb.ExpectedErrorCode.ToString())
                 xml.WriteAttributeString("ExpectedExitCode", vb.ExpectedExitCode.ToString())
                 xml.WriteAttributeString("Result", vb.Result.ToString())
                 xml.WriteAttributeString("Run", vb.Run.ToString())
@@ -405,24 +429,6 @@ Public Class Test
         End Set
     End Property
 
-    Property ExpectedErrorCode() As Integer
-        Get
-            Return m_ExpectedErrorCode
-        End Get
-        Set(ByVal value As Integer)
-            m_ExpectedErrorCode = value
-        End Set
-    End Property
-
-    Property ExpectedVBCErrorCode() As Nullable(Of Integer)
-        Get
-            Return m_ExpectedVBCErrorCode
-        End Get
-        Set(ByVal value As Nullable(Of Integer))
-            m_ExpectedVBCErrorCode = value
-        End Set
-    End Property
-
     Property ExpectedVBCExitCode() As Nullable(Of Integer)
         Get
             Return m_ExpectedVBCExitCode
@@ -465,15 +471,6 @@ Public Class Test
         End Set
     End Property
 
-    Public Property Category() As String
-        Get
-            Return m_Category
-        End Get
-        Set(ByVal value As String)
-            m_Category = value
-        End Set
-    End Property
-
     ReadOnly Property LastRun() As Date
         Get
             Return m_LastRun
@@ -843,6 +840,17 @@ Public Class Test
         End Get
     End Property
 
+    ReadOnly Property VBNCVerification As ExternalProcessVerification
+        Get
+            For Each v As VerificationBase In m_Verifications
+                Dim epv As ExternalProcessVerification = TryCast(v, ExternalProcessVerification)
+                If epv Is Nothing Then Continue For
+                If epv.Name.StartsWith("VBNC ") Then Return epv
+            Next
+            Return Nothing
+        End Get
+    End Property
+
     ''' <summary>
     ''' Returns true if new verifications have been created (only if source files has changed
     ''' or vbnc compiler has changed since last run).
@@ -873,10 +881,10 @@ Public Class Test
             Else
                 vbc.ExpectedExitCode = m_ExpectedExitCode
             End If
-            If m_ExpectedVBCErrorCode.HasValue Then
-                vbc.ExpectedErrorCode = m_ExpectedVBCErrorCode.Value
+            If m_VBCErrors IsNot Nothing Then
+                vbc.ExpectedErrors = m_VBCErrors
             Else
-                vbc.ExpectedErrorCode = m_ExpectedErrorCode
+                vbc.ExpectedErrors = m_Errors
             End If
         End If
 
@@ -896,7 +904,7 @@ Public Class Test
 
         m_Compilation.Name = "VBNC Compile"
         external_compilation.Process.UseTemporaryExecutable = True
-        m_Compilation.ExpectedErrorCode = m_ExpectedErrorCode
+        m_Compilation.ExpectedErrors = m_Errors
         m_Compilation.ExpectedExitCode = m_ExpectedExitCode
 
         m_Verifications.Clear()
@@ -930,6 +938,7 @@ Public Class Test
             Else
                 peverify = Environment.ExpandEnvironmentVariables(PEVerifyPath)
                 If peverify = String.Empty OrElse IO.File.Exists(peverify) = False Then peverify = Environment.ExpandEnvironmentVariables(PEVerifyPath2)
+                If peverify = String.Empty OrElse IO.File.Exists(peverify) = False Then peverify = Environment.ExpandEnvironmentVariables(PEVerifyPath3)
             End If
             If peverify <> String.Empty AndAlso (Helper.IsOnMono OrElse IO.File.Exists(peverify)) Then
                 Dim peV As ExternalProcessVerification
@@ -1058,40 +1067,6 @@ Public Class Test
         Load(xml)
     End Sub
 
-    'Sub New(ByVal Path As String, ByVal Parent As Tests)
-    '    m_Parent = Parent
-    '    If Path.EndsWith(IO.Path.DirectorySeparatorChar) Then
-    '        Path = Path.Remove(Path.Length - 1, 1)
-    '    End If
-
-    '    m_BasePath = IO.Path.GetDirectoryName(Path)
-    '    m_Files.Add(Path)
-
-    '    m_Name = GetTestName(Path)
-
-    '    'Test to see if it is a negative test.
-    '    'Negative tests are:
-    '    '0001.vb
-    '    '0001-2.vb
-    '    '0001-3 sometest.vb
-    '    If m_NegativeRegExpTest.IsMatch(m_Name) Then
-    '        Dim firstNonNumber As Integer = m_Name.Length
-    '        For i As Integer = 0 To m_Name.Length - 1
-    '            If Char.IsNumber(m_Name(i)) = False Then
-    '                firstNonNumber = i
-    '                Exit For
-    '            End If
-    '        Next
-    '        m_IsNegativeTest = Integer.TryParse(m_Name.Substring(0, firstNonNumber), m_NegativeError)
-    '        If m_IsNegativeTest AndAlso m_NegativeError >= 40000 AndAlso m_NegativeError < 50000 Then
-    '            m_IsNegativeTest = False
-    '            m_IsWarning = True
-    '        End If
-    '    End If
-    '    m_OutputPath = IO.Path.Combine(m_BasePath, DefaultOutputPath)
-    '    Initialize()
-    'End Sub
-
     Private Function IsNoConfig(ByVal text As String) As Boolean
         Return text.IndexOf("/noconfig", StringComparison.OrdinalIgnoreCase) >= 0
     End Function
@@ -1120,3 +1095,4 @@ Public Class Test
         End Select
     End Function
 End Class
+
diff --git a/vbnc/rt/source/TestExecutor.vb b/vbnc/rt/source/TestExecutor.vb
index a50ca62..d4dbc3f 100644
--- a/vbnc/rt/source/TestExecutor.vb
+++ b/vbnc/rt/source/TestExecutor.vb
@@ -20,7 +20,7 @@
 Friend Class TestExecutor
     Implements IDisposable
 
-    Private m_Thread As Threading.Thread
+    Private m_Threads() As Threading.Thread
     Private m_Queue As New Generic.LinkedList(Of Test)
     Private m_PausedQueue As New Generic.List(Of Test)
     Private m_RunningTest As Test
@@ -54,6 +54,10 @@ Friend Class TestExecutor
     ''' <remarks></remarks>
     Private m_RunTestsHosted As Boolean
 
+    Sub New()
+        ReDim m_Threads(3) '4 threads for now
+    End Sub
+
     ReadOnly Property Queue() As Generic.IEnumerable(Of Test)
         Get
             Return m_Queue
@@ -128,11 +132,12 @@ Friend Class TestExecutor
 
     Private Sub StartThread()
         SyncLock m_Queue
-            If m_Thread Is Nothing Then
-                m_Thread = New Threading.Thread(New Threading.ThreadStart(AddressOf Runner))
-                m_Thread.IsBackground = True
-                m_Thread.Start()
-            End If
+            For i As Integer = 0 To m_Threads.Length - 1
+                If m_Threads(i) IsNot Nothing Then Continue For
+                m_Threads(i) = New Threading.Thread(New Threading.ThreadStart(AddressOf Runner))
+                m_Threads(i).IsBackground = True
+                m_Threads(i).Start()
+            Next
         End SyncLock
     End Sub
 
@@ -253,13 +258,16 @@ Friend Class TestExecutor
     ''' <remarks></remarks>
     Public Sub [Stop]()
         Clear()
-        If m_Thread IsNot Nothing Then
-            If Threading.Thread.CurrentThread.Equals(m_Thread) = False Then
-                Do Until m_Thread.ThreadState <> Threading.ThreadState.Running
-                    Threading.Thread.Sleep(100)
-                Loop
-            End If
-        End If
+        For i As Integer = 0 To m_Threads.Length - 1
+            Dim m_Thread As Threading.Thread = m_Threads(i)
+
+            If m_Thread Is Nothing Then Continue For
+            If Threading.Thread.CurrentThread.Equals(m_Thread) Then Continue For
+
+            Do Until m_Thread.ThreadState <> Threading.ThreadState.Running
+                Threading.Thread.Sleep(100)
+            Loop
+        Next
     End Sub
 
     Private disposedValue As Boolean = False        ' To detect redundant calls
@@ -270,13 +278,15 @@ Friend Class TestExecutor
             If disposing Then
                 ' TODO: free unmanaged resources when explicitly called
             End If
-            If m_Thread IsNot Nothing Then
+            For i As Integer = 0 To m_Threads.Length - 1
+                Dim m_Thread As Threading.Thread = m_Threads(i)
+                If m_Thread Is Nothing Then Continue For
                 Me.disposedValue = True
                 If m_Thread.Join(60000) = False Then
                     m_Thread.Abort()
                 End If
-                m_Thread = Nothing
-            End If
+                m_Threads(i) = Nothing
+            Next
 
             ' TODO: free shared unmanaged resources
         End If
@@ -293,3 +303,4 @@ Friend Class TestExecutor
 #End Region
 
 End Class
+
diff --git a/vbnc/rt/source/TestView.vb b/vbnc/rt/source/TestView.vb
index 96581ad..bb4c6db 100644
--- a/vbnc/rt/source/TestView.vb
+++ b/vbnc/rt/source/TestView.vb
@@ -41,11 +41,11 @@ Friend Class TestView
         newItem.Tag = Test
 
         newItem.ImageIndex = m_Form.GetIconIndex(rt.Test.Results.NotRun)
-        newItem.SubItems.Add("")
-        newItem.SubItems.Add("")
-        newItem.SubItems.Add("")
-        newItem.SubItems.Add("")
+        newItem.SubItems.Add(String.Empty)
+        newItem.SubItems.Add(String.Empty)
+        newItem.SubItems.Add(String.Empty)
         newItem.SubItems.Add(Test.KnownFailure)
+        newItem.SubItems.Add(If(Test.VBCErrors IsNot Nothing, "Yes", String.Empty))
 
         Update(newItem)
 
@@ -70,10 +70,9 @@ Friend Class TestView
 
             Item.ImageIndex = m_Form.GetIconIndex(Test.Result)
             Item.SubItems(1).Text = ""
-            Item.SubItems(2).Text = "Running..."
+            Item.SubItems(2).Text = ""
             Item.SubItems(3).Text = ""
-            Item.SubItems(4).Text = ""
-            Item.SubItems(5).Text = Test.KnownFailure
+            Item.SubItems(4).Text = Test.KnownFailure
         Catch ex As Exception
             MsgBox(ex.ToString)
         End Try
@@ -96,18 +95,17 @@ Friend Class TestView
                 testresult = test.Result
             End If
             If test.LastRun.Date <> Date.MinValue Then
-                Item.SubItems(4).Text = test.LastRun.ToString(datetimeformat)
+                Item.SubItems(3).Text = test.LastRun.ToString(datetimeformat)
             End If
             Item.ImageIndex = m_Form.GetIconIndex(testresult)
-            Item.SubItems(2).Text = test.Category
 
             Item.SubItems(1).Text = test.Result.ToString
             If test.FailedVerificationMessage <> "" Then
                 Dim idx As Integer = test.FailedVerificationMessage.IndexOf(vbNewLine)
                 If idx < 0 Then idx = test.FailedVerificationMessage.Length
-                Item.SubItems(3).Text = test.FailedVerificationMessage.Substring(0, idx)
+                Item.SubItems(2).Text = test.FailedVerificationMessage.Substring(0, idx)
             Else
-                Item.SubItems(3).Text = ""
+                Item.SubItems(2).Text = ""
             End If
         Catch ex As Exception
             MsgBox(ex.ToString)
diff --git a/vbnc/rt/source/Tests.vb b/vbnc/rt/source/Tests.vb
index bd4c512..55f0ac5 100644
--- a/vbnc/rt/source/Tests.vb
+++ b/vbnc/rt/source/Tests.vb
@@ -108,26 +108,27 @@ Public Class Tests
         Dim settings As New XmlWriterSettings
         Dim writer As XmlWriter
 
-        settings.CloseOutput = True
+        settings.CloseOutput = False
         settings.ConformanceLevel = ConformanceLevel.Document
         settings.Indent = True
         settings.IndentChars = vbTab
         settings.NewLineHandling = NewLineHandling.None
+        settings.NewLineChars = vbLf
         settings.NewLineOnAttributes = False
         settings.OmitXmlDeclaration = False
 
-        If results Then
-            writer = XmlWriter.Create(m_ResultsFilename, settings)
-        Else
-            writer = XmlWriter.Create(m_Filename, settings)
-        End If
+        Using fs As New IO.StreamWriter(If(results, m_ResultsFilename, m_Filename), False, New System.Text.UTF8Encoding(False))
+            fs.NewLine = settings.NewLineChars
+            writer = XmlWriter.Create(fs, settings)
 
-        writer.WriteStartElement("rt")
-        For Each Test As Test In Me.Values
-            Test.Save(writer, results)
-        Next
-        writer.WriteEndElement()
-        writer.Close()
+            writer.WriteStartElement("rt")
+            For Each Test As Test In Me.Values
+                Test.Save(writer, results)
+            Next
+            writer.WriteEndElement()
+            writer.Close()
+            fs.WriteLine()
+        End Using
     End Sub
 
     ReadOnly Property GetGreenCount() As Integer
diff --git a/vbnc/rt/source/VerificationBase.vb b/vbnc/rt/source/VerificationBase.vb
index 2e9c185..06e4ea9 100755
--- a/vbnc/rt/source/VerificationBase.vb
+++ b/vbnc/rt/source/VerificationBase.vb
@@ -24,7 +24,7 @@ Public MustInherit Class VerificationBase
     Private m_Test As Test
     Private m_DescriptiveMessage As String
     Private m_ExpectedExitCode As Integer
-    Private m_ExpectedErrorCode As Integer
+    Private m_ExpectedErrors As Generic.List(Of ErrorInfo)
 
     Private m_Name As String = "Verification"
 
@@ -37,12 +37,12 @@ Public MustInherit Class VerificationBase
         End Set
     End Property
 
-    Property ExpectedErrorCode() As Integer
+    Property ExpectedErrors() As Generic.List(Of ErrorInfo)
         Get
-            Return m_ExpectedErrorCode
+            Return m_ExpectedErrors
         End Get
-        Set(ByVal value As Integer)
-            m_ExpectedErrorCode = value
+        Set(ByVal value As Generic.List(Of ErrorInfo))
+            m_ExpectedErrors = value
         End Set
     End Property
 
diff --git a/vbnc/rt/source/frmMain.Designer.vb b/vbnc/rt/source/frmMain.Designer.vb
index f82388f..d537891 100755
--- a/vbnc/rt/source/frmMain.Designer.vb
+++ b/vbnc/rt/source/frmMain.Designer.vb
@@ -44,6 +44,7 @@ Partial Class frmMain
         Me.mnuToolsRefresh = New System.Windows.Forms.ToolStripMenuItem()
         Me.NewTestToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
         Me.ViewQueuedTestsToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
+        Me.MakeErrorTestToolStripMenuItem1 = New System.Windows.Forms.ToolStripMenuItem()
         Me.lstImages = New System.Windows.Forms.ImageList(Me.components)
         Me.lblBasepath = New System.Windows.Forms.Label()
         Me.dlgBasepath = New System.Windows.Forms.FolderBrowserDialog()
@@ -69,6 +70,11 @@ Partial Class frmMain
         Me.CreateNewTestToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
         Me.cmnuDeleteTest = New System.Windows.Forms.ToolStripMenuItem()
         Me.MakeErrorTestToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
+        Me.UpdateErrorsToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
+        Me.UpdateVbncErrorsToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
+        Me.SetVbcErrorsToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
+        Me.ClearVbcErrorsToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
+        Me.JustFixTheErrrsToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
         Me.cmdPause = New System.Windows.Forms.Button()
         Me.cmdRun = New System.Windows.Forms.Button()
         Me.cmdExit = New System.Windows.Forms.Button()
@@ -82,7 +88,6 @@ Partial Class frmMain
         Me.lstTests = New System.Windows.Forms.ListView()
         Me.colName = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader)
         Me.colResult = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader)
-        Me.colCategory = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader)
         Me.colFailedVerification = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader)
         Me.colDate = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader)
         Me.colKnownFailureReason = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader)
@@ -104,6 +109,8 @@ Partial Class frmMain
         Me.tblTestsInQueue = New System.Windows.Forms.ToolStripStatusLabel()
         Me.cmdFindTests = New System.Windows.Forms.Button()
         Me.cmdCreateTest = New System.Windows.Forms.Button()
+        Me.cmdRunFailed = New System.Windows.Forms.Button()
+        Me.colCustomErrors = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader)
         Me.mnuMain.SuspendLayout()
         Me.cmnuTest.SuspendLayout()
         Me.tblLayoutMain.SuspendLayout()
@@ -120,7 +127,7 @@ Partial Class frmMain
         '
         'mnuTools
         '
-        Me.mnuTools.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.cmnuViewCode, Me.mnuToolsRefresh, Me.NewTestToolStripMenuItem, Me.ViewQueuedTestsToolStripMenuItem})
+        Me.mnuTools.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.cmnuViewCode, Me.mnuToolsRefresh, Me.NewTestToolStripMenuItem, Me.ViewQueuedTestsToolStripMenuItem, Me.MakeErrorTestToolStripMenuItem1})
         Me.mnuTools.Name = "mnuTools"
         Me.mnuTools.Size = New System.Drawing.Size(48, 20)
         Me.mnuTools.Text = "Tools"
@@ -128,29 +135,36 @@ Partial Class frmMain
         'cmnuViewCode
         '
         Me.cmnuViewCode.Name = "cmnuViewCode"
-        Me.cmnuViewCode.Size = New System.Drawing.Size(169, 22)
+        Me.cmnuViewCode.Size = New System.Drawing.Size(193, 22)
         Me.cmnuViewCode.Text = "View code"
         '
         'mnuToolsRefresh
         '
         Me.mnuToolsRefresh.Name = "mnuToolsRefresh"
         Me.mnuToolsRefresh.ShortcutKeys = System.Windows.Forms.Keys.F5
-        Me.mnuToolsRefresh.Size = New System.Drawing.Size(169, 22)
+        Me.mnuToolsRefresh.Size = New System.Drawing.Size(193, 22)
         Me.mnuToolsRefresh.Text = "&Refresh"
         '
         'NewTestToolStripMenuItem
         '
         Me.NewTestToolStripMenuItem.Name = "NewTestToolStripMenuItem"
         Me.NewTestToolStripMenuItem.ShortcutKeys = CType((System.Windows.Forms.Keys.Control Or System.Windows.Forms.Keys.N), System.Windows.Forms.Keys)
-        Me.NewTestToolStripMenuItem.Size = New System.Drawing.Size(169, 22)
+        Me.NewTestToolStripMenuItem.Size = New System.Drawing.Size(193, 22)
         Me.NewTestToolStripMenuItem.Text = "New test"
         '
         'ViewQueuedTestsToolStripMenuItem
         '
         Me.ViewQueuedTestsToolStripMenuItem.Name = "ViewQueuedTestsToolStripMenuItem"
-        Me.ViewQueuedTestsToolStripMenuItem.Size = New System.Drawing.Size(169, 22)
+        Me.ViewQueuedTestsToolStripMenuItem.Size = New System.Drawing.Size(193, 22)
         Me.ViewQueuedTestsToolStripMenuItem.Text = "View queued tests"
         '
+        'MakeErrorTestToolStripMenuItem1
+        '
+        Me.MakeErrorTestToolStripMenuItem1.Name = "MakeErrorTestToolStripMenuItem1"
+        Me.MakeErrorTestToolStripMenuItem1.ShortcutKeys = CType((System.Windows.Forms.Keys.Control Or System.Windows.Forms.Keys.E), System.Windows.Forms.Keys)
+        Me.MakeErrorTestToolStripMenuItem1.Size = New System.Drawing.Size(193, 22)
+        Me.MakeErrorTestToolStripMenuItem1.Text = "Make error test"
+        '
         'lstImages
         '
         Me.lstImages.ColorDepth = System.Windows.Forms.ColorDepth.Depth8Bit
@@ -202,49 +216,51 @@ Partial Class frmMain
         '
         'cmnuTest
         '
-        Me.cmnuTest.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.cmnuRunTest, Me.ToolStripSeparator1, Me.cmnuViewCodeAndDebugTest, Me.cmnuViewCode2, Me.cmnuDebugTest, Me.ToolStripSeparator3, Me.mnuIldasm, Me.ReflectToolStripMenuItem, Me.ToolStripSeparator2, Me.CreateNewTestToolStripMenuItem, Me.cmnuDeleteTest, Me.MakeErrorTestToolStripMenuItem})
+        Me.cmnuTest.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.cmnuRunTest, Me.ToolStripSeparator1, Me.cmnuViewCodeAndDebugTest, Me.cmnuViewCode2, Me.cmnuDebugTest, Me.ToolStripSeparator3, Me.mnuIldasm, Me.ReflectToolStripMenuItem, Me.ToolStripSeparator2, Me.CreateNewTestToolStripMenuItem, Me.cmnuDeleteTest, Me.MakeErrorTestToolStripMenuItem, Me.UpdateErrorsToolStripMenuItem, Me.UpdateVbncErrorsToolStripMenuItem, Me.SetVbcErrorsToolStripMenuItem, Me.ClearVbcErrorsToolStripMenuItem, Me.JustFixTheErrrsToolStripMenuItem})
         Me.cmnuTest.Name = "cmnuTest"
-        Me.cmnuTest.Size = New System.Drawing.Size(390, 220)
+        Me.cmnuTest.Size = New System.Drawing.Size(409, 352)
         '
         'cmnuRunTest
         '
         Me.cmnuRunTest.Name = "cmnuRunTest"
-        Me.cmnuRunTest.Size = New System.Drawing.Size(389, 22)
+        Me.cmnuRunTest.ShortcutKeys = System.Windows.Forms.Keys.F5
+        Me.cmnuRunTest.Size = New System.Drawing.Size(408, 22)
         Me.cmnuRunTest.Text = "Run this test"
         '
         'ToolStripSeparator1
         '
         Me.ToolStripSeparator1.Name = "ToolStripSeparator1"
-        Me.ToolStripSeparator1.Size = New System.Drawing.Size(386, 6)
+        Me.ToolStripSeparator1.Size = New System.Drawing.Size(405, 6)
         '
         'cmnuViewCodeAndDebugTest
         '
         Me.cmnuViewCodeAndDebugTest.Name = "cmnuViewCodeAndDebugTest"
-        Me.cmnuViewCodeAndDebugTest.Size = New System.Drawing.Size(389, 22)
+        Me.cmnuViewCodeAndDebugTest.ShortcutKeys = System.Windows.Forms.Keys.F2
+        Me.cmnuViewCodeAndDebugTest.Size = New System.Drawing.Size(408, 22)
         Me.cmnuViewCodeAndDebugTest.Text = "&View Code (external editor) and Set this test to be debugged"
         '
         'cmnuViewCode2
         '
         Me.cmnuViewCode2.Name = "cmnuViewCode2"
-        Me.cmnuViewCode2.Size = New System.Drawing.Size(389, 22)
+        Me.cmnuViewCode2.Size = New System.Drawing.Size(408, 22)
         Me.cmnuViewCode2.Text = "View code (external editor)"
         '
         'cmnuDebugTest
         '
         Me.cmnuDebugTest.Name = "cmnuDebugTest"
-        Me.cmnuDebugTest.Size = New System.Drawing.Size(389, 22)
+        Me.cmnuDebugTest.Size = New System.Drawing.Size(408, 22)
         Me.cmnuDebugTest.Text = "&Set this test to be debugged"
         '
         'ToolStripSeparator3
         '
         Me.ToolStripSeparator3.Name = "ToolStripSeparator3"
-        Me.ToolStripSeparator3.Size = New System.Drawing.Size(386, 6)
+        Me.ToolStripSeparator3.Size = New System.Drawing.Size(405, 6)
         '
         'mnuIldasm
         '
         Me.mnuIldasm.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.mnuIldasmBoth, Me.mnuIldasmDump})
         Me.mnuIldasm.Name = "mnuIldasm"
-        Me.mnuIldasm.Size = New System.Drawing.Size(389, 22)
+        Me.mnuIldasm.Size = New System.Drawing.Size(408, 22)
         Me.mnuIldasm.Text = "Ildasm"
         '
         'mnuIldasmBoth
@@ -263,54 +279,87 @@ Partial Class frmMain
         '
         Me.ReflectToolStripMenuItem.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.VBNCAssemblyToolStripMenuItem, Me.VBCAssemblyToolStripMenuItem, Me.BothAssembliesToolStripMenuItem})
         Me.ReflectToolStripMenuItem.Name = "ReflectToolStripMenuItem"
-        Me.ReflectToolStripMenuItem.Size = New System.Drawing.Size(389, 22)
+        Me.ReflectToolStripMenuItem.Size = New System.Drawing.Size(408, 22)
         Me.ReflectToolStripMenuItem.Text = "Reflect"
         '
         'VBNCAssemblyToolStripMenuItem
         '
         Me.VBNCAssemblyToolStripMenuItem.Name = "VBNCAssemblyToolStripMenuItem"
-        Me.VBNCAssemblyToolStripMenuItem.Size = New System.Drawing.Size(159, 22)
+        Me.VBNCAssemblyToolStripMenuItem.Size = New System.Drawing.Size(178, 22)
         Me.VBNCAssemblyToolStripMenuItem.Text = "VBNC assembly"
         '
         'VBCAssemblyToolStripMenuItem
         '
         Me.VBCAssemblyToolStripMenuItem.Name = "VBCAssemblyToolStripMenuItem"
-        Me.VBCAssemblyToolStripMenuItem.Size = New System.Drawing.Size(159, 22)
+        Me.VBCAssemblyToolStripMenuItem.Size = New System.Drawing.Size(178, 22)
         Me.VBCAssemblyToolStripMenuItem.Text = "VBC assembly"
         '
         'BothAssembliesToolStripMenuItem
         '
         Me.BothAssembliesToolStripMenuItem.Name = "BothAssembliesToolStripMenuItem"
-        Me.BothAssembliesToolStripMenuItem.Size = New System.Drawing.Size(159, 22)
+        Me.BothAssembliesToolStripMenuItem.ShortcutKeys = System.Windows.Forms.Keys.F8
+        Me.BothAssembliesToolStripMenuItem.Size = New System.Drawing.Size(178, 22)
         Me.BothAssembliesToolStripMenuItem.Text = "Both assemblies"
         '
         'ToolStripSeparator2
         '
         Me.ToolStripSeparator2.Name = "ToolStripSeparator2"
-        Me.ToolStripSeparator2.Size = New System.Drawing.Size(386, 6)
+        Me.ToolStripSeparator2.Size = New System.Drawing.Size(405, 6)
         '
         'CreateNewTestToolStripMenuItem
         '
         Me.CreateNewTestToolStripMenuItem.Name = "CreateNewTestToolStripMenuItem"
-        Me.CreateNewTestToolStripMenuItem.Size = New System.Drawing.Size(389, 22)
+        Me.CreateNewTestToolStripMenuItem.ShortcutKeys = System.Windows.Forms.Keys.F6
+        Me.CreateNewTestToolStripMenuItem.Size = New System.Drawing.Size(408, 22)
         Me.CreateNewTestToolStripMenuItem.Text = "Create new test"
         '
         'cmnuDeleteTest
         '
         Me.cmnuDeleteTest.Name = "cmnuDeleteTest"
-        Me.cmnuDeleteTest.Size = New System.Drawing.Size(389, 22)
+        Me.cmnuDeleteTest.Size = New System.Drawing.Size(408, 22)
         Me.cmnuDeleteTest.Text = "Delete test"
         '
         'MakeErrorTestToolStripMenuItem
         '
         Me.MakeErrorTestToolStripMenuItem.Name = "MakeErrorTestToolStripMenuItem"
-        Me.MakeErrorTestToolStripMenuItem.Size = New System.Drawing.Size(389, 22)
+        Me.MakeErrorTestToolStripMenuItem.ShortcutKeys = System.Windows.Forms.Keys.F3
+        Me.MakeErrorTestToolStripMenuItem.Size = New System.Drawing.Size(408, 22)
         Me.MakeErrorTestToolStripMenuItem.Text = "Make error test"
         '
+        'UpdateErrorsToolStripMenuItem
+        '
+        Me.UpdateErrorsToolStripMenuItem.Name = "UpdateErrorsToolStripMenuItem"
+        Me.UpdateErrorsToolStripMenuItem.Size = New System.Drawing.Size(408, 22)
+        Me.UpdateErrorsToolStripMenuItem.Text = "Update errors"
+        '
+        'UpdateVbncErrorsToolStripMenuItem
+        '
+        Me.UpdateVbncErrorsToolStripMenuItem.Name = "UpdateVbncErrorsToolStripMenuItem"
+        Me.UpdateVbncErrorsToolStripMenuItem.Size = New System.Drawing.Size(408, 22)
+        Me.UpdateVbncErrorsToolStripMenuItem.Text = "Update vbnc errors"
+        '
+        'SetVbcErrorsToolStripMenuItem
+        '
+        Me.SetVbcErrorsToolStripMenuItem.Name = "SetVbcErrorsToolStripMenuItem"
+        Me.SetVbcErrorsToolStripMenuItem.Size = New System.Drawing.Size(408, 22)
+        Me.SetVbcErrorsToolStripMenuItem.Text = "Set vbc errors"
+        '
+        'ClearVbcErrorsToolStripMenuItem
+        '
+        Me.ClearVbcErrorsToolStripMenuItem.Name = "ClearVbcErrorsToolStripMenuItem"
+        Me.ClearVbcErrorsToolStripMenuItem.Size = New System.Drawing.Size(408, 22)
+        Me.ClearVbcErrorsToolStripMenuItem.Text = "Clear vbc errors"
+        '
+        'JustFixTheErrrsToolStripMenuItem
+        '
+        Me.JustFixTheErrrsToolStripMenuItem.Name = "JustFixTheErrrsToolStripMenuItem"
+        Me.JustFixTheErrrsToolStripMenuItem.Size = New System.Drawing.Size(408, 22)
+        Me.JustFixTheErrrsToolStripMenuItem.Text = "Just fix the errors"
+        '
         'cmdPause
         '
         Me.cmdPause.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
-        Me.cmdPause.Location = New System.Drawing.Point(980, 157)
+        Me.cmdPause.Location = New System.Drawing.Point(982, 188)
         Me.cmdPause.Name = "cmdPause"
         Me.cmdPause.Size = New System.Drawing.Size(75, 25)
         Me.cmdPause.TabIndex = 20
@@ -341,7 +390,7 @@ Partial Class frmMain
         'cmdStop
         '
         Me.cmdStop.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
-        Me.cmdStop.Location = New System.Drawing.Point(980, 188)
+        Me.cmdStop.Location = New System.Drawing.Point(982, 219)
         Me.cmdStop.Name = "cmdStop"
         Me.cmdStop.Size = New System.Drawing.Size(75, 25)
         Me.cmdStop.TabIndex = 29
@@ -425,7 +474,7 @@ Partial Class frmMain
         '
         'lstTests
         '
-        Me.lstTests.Columns.AddRange(New System.Windows.Forms.ColumnHeader() {Me.colName, Me.colResult, Me.colCategory, Me.colFailedVerification, Me.colDate, Me.colKnownFailureReason})
+        Me.lstTests.Columns.AddRange(New System.Windows.Forms.ColumnHeader() {Me.colName, Me.colResult, Me.colFailedVerification, Me.colDate, Me.colKnownFailureReason, Me.colCustomErrors})
         Me.lstTests.ContextMenuStrip = Me.cmnuTest
         Me.lstTests.Dock = System.Windows.Forms.DockStyle.Fill
         Me.lstTests.FullRowSelect = True
@@ -451,15 +500,10 @@ Partial Class frmMain
         Me.colResult.Text = "Result"
         Me.colResult.Width = 80
         '
-        'colCategory
-        '
-        Me.colCategory.Text = "Category"
-        Me.colCategory.Width = 83
-        '
         'colFailedVerification
         '
         Me.colFailedVerification.Text = "Failed Verification"
-        Me.colFailedVerification.Width = 249
+        Me.colFailedVerification.Width = 515
         '
         'colDate
         '
@@ -609,6 +653,20 @@ Partial Class frmMain
         Me.cmdCreateTest.Tag = ""
         Me.cmdCreateTest.Text = "Cre&ate Test"
         '
+        'cmdRunFailed
+        '
+        Me.cmdRunFailed.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
+        Me.cmdRunFailed.Location = New System.Drawing.Point(982, 157)
+        Me.cmdRunFailed.Name = "cmdRunFailed"
+        Me.cmdRunFailed.Size = New System.Drawing.Size(75, 25)
+        Me.cmdRunFailed.TabIndex = 27
+        Me.cmdRunFailed.Tag = ""
+        Me.cmdRunFailed.Text = "Run failed"
+        '
+        'colCustomErrors
+        '
+        Me.colCustomErrors.Text = "Custom Errors"
+        '
         'frmMain
         '
         Me.AcceptButton = Me.cmdCreateTest
@@ -624,11 +682,12 @@ Partial Class frmMain
         Me.Controls.Add(Me.cmdReload)
         Me.Controls.Add(Me.mnuMain)
         Me.Controls.Add(Me.lblVBCCompiler)
-        Me.Controls.Add(Me.cmdStop)
         Me.Controls.Add(Me.cmdRun)
-        Me.Controls.Add(Me.cmdPause)
+        Me.Controls.Add(Me.cmdRunFailed)
         Me.Controls.Add(Me.cmbBasepath)
+        Me.Controls.Add(Me.cmdStop)
         Me.Controls.Add(Me.cmdExit)
+        Me.Controls.Add(Me.cmdPause)
         Me.Controls.Add(Me.barProgress)
         Me.Controls.Add(Me.lblCompiler)
         Me.Controls.Add(Me.cmdCompiler)
@@ -679,7 +738,6 @@ Partial Class frmMain
     Friend WithEvents ToolStripSeparator3 As System.Windows.Forms.ToolStripSeparator
     Friend WithEvents ToolStripSeparator2 As System.Windows.Forms.ToolStripSeparator
     Friend WithEvents ViewQueuedTestsToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
-    Friend WithEvents colCategory As System.Windows.Forms.ColumnHeader
     Friend WithEvents worker As System.ComponentModel.BackgroundWorker
     Friend WithEvents MakeErrorTestToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
     Friend WithEvents mnuIldasm As System.Windows.Forms.ToolStripMenuItem
@@ -703,4 +761,13 @@ Partial Class frmMain
     Friend WithEvents mnuIldasmDump As System.Windows.Forms.ToolStripMenuItem
     Friend WithEvents cmdFindTests As System.Windows.Forms.Button
     Friend WithEvents cmdCreateTest As System.Windows.Forms.Button
+    Friend WithEvents MakeErrorTestToolStripMenuItem1 As System.Windows.Forms.ToolStripMenuItem
+    Friend WithEvents UpdateErrorsToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
+    Friend WithEvents SetVbcErrorsToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
+    Friend WithEvents ClearVbcErrorsToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
+    Friend WithEvents cmdRunFailed As System.Windows.Forms.Button
+    Friend WithEvents UpdateVbncErrorsToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
+    Friend WithEvents JustFixTheErrrsToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
+    Friend WithEvents colCustomErrors As System.Windows.Forms.ColumnHeader
 End Class
+
diff --git a/vbnc/rt/source/frmMain.vb b/vbnc/rt/source/frmMain.vb
index b2ce67e..11de0c0 100755
--- a/vbnc/rt/source/frmMain.vb
+++ b/vbnc/rt/source/frmMain.vb
@@ -104,8 +104,8 @@ Class frmMain
         tmp = IO.Path.GetFullPath("..\..\vbnc\bin\vbnc.exe")
         If IO.File.Exists(tmp) Then cmbCompiler.Items.Add(tmp)
 
-        tmp = IO.Path.GetFullPath("..\..\vbnc\tests")
-        If IO.Directory.Exists(tmp) Then cmbBasepath.Items.Add(tmp)
+        tmp = IO.Path.GetFullPath("..\..\vbnc\tests\tests.xml")
+        If IO.File.Exists(tmp) Then cmbBasepath.Items.Add(tmp)
 
         tmp = IO.Path.Combine(Environment.ExpandEnvironmentVariables("%windir%"), "Microsoft.Net\Framework\v2.0.50727\vbc.exe")
         If IO.File.Exists(tmp) Then cmbVBCCompiler.Items.Add(tmp)
@@ -173,6 +173,7 @@ Class frmMain
                 SelectTest(Me.GetSelectedTests(0))
             Else
                 SelectTest(Nothing)
+                gridTestProperties.SelectedObjects = Me.GetSelectedTests().ToArray()
             End If
         Catch ex As Exception
             MsgBox(ex.Message & vbNewLine & ex.StackTrace)
@@ -188,16 +189,6 @@ Class frmMain
         End Try
     End Sub
 
-    ''' <summary>
-    ''' Thread-safe.
-    ''' </summary>
-    ''' <remarks></remarks>
-    Private Sub DoTestOf(ByVal Test As Test)
-        UpdateUITestRunning(Test)
-        Test.DoTest()
-        UpdateUI(Test)
-    End Sub
-
     Private Sub UpdateUI()
         If Me.InvokeRequired Then
             Me.BeginInvoke(New UpdateUIDelegate2(AddressOf UpdateUI))
@@ -360,6 +351,18 @@ Class frmMain
         End Try
     End Sub
 
+    Private Sub cmdRunFailed_Click(ByVal sender As Object, ByVal e As EventArgs) Handles cmdRunFailed.Click
+        Try
+            For Each Test As Test In m_Tests.Values
+                If Test.Success Then Continue For
+                AddWork(Test, True)
+            Next
+            UpdateState()
+        Catch ex As Exception
+            MsgBox(String.Format("Error while executing tests: ") & ex.Message)
+        End Try
+    End Sub
+
     Private Sub cmdPause_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdPause.Click
         Try
             Dim cmd As Button = TryCast(sender, Button)
@@ -832,28 +835,24 @@ Class frmMain
 
             If test.Run = False Then
                 Throw New ApplicationException("The test has not been executed!")
-            ElseIf test.Result <> rt.Test.Results.Failed AndAlso test.Result <> rt.Test.Results.Regressed Then
-                Throw New ApplicationException("The test didn't fail!")
             ElseIf test.Files.Count <> 1 Then
                 Throw New ApplicationException("The test has more than one file!")
             End If
 
             If test.VBCVerification Is Nothing Then Throw New ApplicationException("No VBC results")
 
-            Dim output As String
             Dim errnumber As String
             Dim source As String = IO.Path.Combine(test.FullWorkingDirectory, test.Files(0))
-            Dim iStart, iEnd As Integer
-            Dim vStart As String = ": error BC"
-            Dim vEnd As String = ":"
-            output = test.VBCVerification.DescriptiveMessage
-            iStart = output.IndexOf(vStart)
-            iEnd = output.IndexOf(vEnd, iStart + vStart.Length)
-            errnumber = output.Substring(iStart + vStart.Length, iEnd - iStart - vEnd.Length - vStart.Length + 1)
-
-            If output.IndexOf(vStart, iEnd) > 0 Then
-                Throw New ApplicationException("The test has more than one error message.")
-            End If
+        
+            Dim errors As New Generic.List(Of ErrorInfo)
+            Dim ei As ErrorInfo
+            For Each line As String In test.VBCVerification.Process.StdOut.Split(New String() {vbCr, vbLf}, StringSplitOptions.RemoveEmptyEntries)
+                ei = ErrorInfo.ParseLine(line)
+                If ei IsNot Nothing Then errors.Add(ei)
+            Next
+
+            If errors.Count = 0 Then Throw New ApplicationException("The test doesn't have any compiler errors")
+            errnumber = errors(0).Number.ToString()
 
             Dim errdir As String
             errdir = IO.Path.Combine(IO.Path.GetDirectoryName(m_Tests.Filename), "Errors")
@@ -865,6 +864,7 @@ Class frmMain
             Dim destination As String
             Dim counter As Integer
             Dim name As String
+
             name = errnumber
             destination = IO.Path.Combine(errdir, name & ".vb")
             Do While IO.File.Exists(destination)
@@ -878,10 +878,11 @@ Class frmMain
             Dim new_test As Test
             new_test = New Test(m_Tests)
             new_test.ExpectedExitCode = 1
-            new_test.ExpectedErrorCode = CInt(errnumber)
             new_test.Arguments = test.Arguments
             new_test.Name = name
+            new_test.Errors.AddRange(errors)
             new_test.Files.Add(Path.Combine("Errors", Path.GetFileName(destination)))
+            new_test.Target = rt.Test.Targets.Library
             m_Tests.Append(new_test)
 
             PopulateTestList()
@@ -1091,7 +1092,9 @@ Class frmMain
 
     Private Sub CreateNewTestToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CreateNewTestToolStripMenuItem.Click
         Try
-            CreateTest(InputBox("The name of the test:"))
+            Using frm As New frmNewTest(Me)
+                frm.ShowDialog(Me)
+            End Using
         Catch ex As Exception
             MsgBox(ex.Message & vbNewLine & ex.StackTrace)
         End Try
@@ -1133,4 +1136,133 @@ Class frmMain
         End Try
     End Sub
 
+    Private Sub lstTests_KeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles lstTests.KeyDown
+        Try
+            Select Case e.KeyCode
+                Case Keys.Space
+                    AddWork(GetSelectedTests, True)
+            End Select
+        Catch ex As Exception
+            MsgBox(ex.Message & vbNewLine & ex.StackTrace)
+        End Try
+    End Sub
+
+    Private Sub MakeErrorTestToolStripMenuItem1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MakeErrorTestToolStripMenuItem1.Click
+        MakeErrorTestToolStripMenuItem_Click(sender, e)
+    End Sub
+
+    Private Sub UpdateErrorsToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles UpdateErrorsToolStripMenuItem.Click
+        Try
+            Dim ei As ErrorInfo
+
+            For Each test As Test In GetSelectedTests()
+                test.DoTest()
+
+                If test.VBCVerification Is Nothing Then Throw New ApplicationException("No VBC results")
+
+                test.Errors.Clear()
+                For Each line As String In test.VBCVerification.Process.StdOut.Split(New String() {vbCr, vbLf}, StringSplitOptions.RemoveEmptyEntries)
+                    ei = ErrorInfo.ParseLine(line)
+                    If ei IsNot Nothing Then test.Errors.Add(ei)
+                Next
+                test.ExpectedExitCode = test.VBCVerification.Process.ExitCode
+
+                test.DoTest()
+                'MsgBox(String.Format("Updated {0}", test.Name), MsgBoxStyle.OkOnly Or MsgBoxStyle.Information)
+            Next
+        Catch ex As Exception
+            MsgBox(ex.ToString())
+        End Try
+    End Sub
+
+    Private Sub SetVbcErrorsToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SetVbcErrorsToolStripMenuItem.Click
+        Try
+            For Each Test As Test In GetSelectedTests()
+                Test.VBCErrors = New Generic.List(Of ErrorInfo)
+                For Each ei As ErrorInfo In Test.Errors
+                    Test.VBCErrors.Add(New ErrorInfo(ei.Line, ei.Number, ei.Message))
+                Next
+            Next
+        Catch ex As Exception
+            MsgBox(ex.ToString())
+        End Try
+    End Sub
+
+    Private Sub ClearVbcErrorsToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ClearVbcErrorsToolStripMenuItem.Click
+        Try
+            For Each Test As Test In GetSelectedTests()
+                Test.VBCErrors = Nothing
+            Next
+        Catch ex As Exception
+            MsgBox(ex.ToString())
+        End Try
+    End Sub
+
+    Private Sub UpdateVbncErrorsToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles UpdateVbncErrorsToolStripMenuItem.Click
+        Try
+            Dim ei As ErrorInfo
+
+            For Each test As Test In GetSelectedTests()
+                test.DoTest()
+
+                If test.vbncVerification Is Nothing Then Throw New ApplicationException("No VBNC results")
+
+                test.Errors.Clear()
+                For Each line As String In test.VBNCVerification.Process.StdOut.Split(New String() {vbCr, vbLf}, StringSplitOptions.RemoveEmptyEntries)
+                    ei = ErrorInfo.ParseLine(line)
+                    If ei IsNot Nothing Then test.Errors.Add(ei)
+                Next
+                test.ExpectedExitCode = test.VBNCVerification.Process.ExitCode
+
+                test.DoTest()
+                MsgBox(String.Format("Updated {0}", test.Name), MsgBoxStyle.OkOnly Or MsgBoxStyle.Information)
+            Next
+        Catch ex As Exception
+            MsgBox(ex.ToString())
+        End Try
+    End Sub
+
+    Private Sub JustFixTheErrrsToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles JustFixTheErrrsToolStripMenuItem.Click
+        Try
+            Dim ei As ErrorInfo
+
+            For Each test As Test In GetSelectedTests()
+                test.Errors.Clear()
+                test.VBCErrors = Nothing
+
+                test.DoTest()
+
+                If test.VBNCVerification Is Nothing Then Throw New ApplicationException("No VBNC results")
+                If test.VBCVerification Is Nothing Then Throw New ApplicationException("No VBC results")
+
+                For Each line As String In test.VBCVerification.Process.StdOut.Split(New String() {vbCr, vbLf}, StringSplitOptions.RemoveEmptyEntries)
+                    ei = ErrorInfo.ParseLine(line)
+                    If ei IsNot Nothing Then test.Errors.Add(ei)
+                Next
+                test.ExpectedExitCode = test.VBCVerification.Process.ExitCode
+                test.ExpectedVBCExitCode = Nothing
+
+                test.DoTest() ' run the test again
+
+                If test.Success OrElse test.Result = rt.Test.Results.KnownFailureSucceeded Then Return
+
+                'No success, set vbnc results
+                test.ExpectedVBCExitCode = test.ExpectedExitCode
+                test.ExpectedExitCode = test.VBNCVerification.Process.ExitCode
+
+                test.VBCErrors = New Generic.List(Of ErrorInfo)(test.Errors)
+                test.Errors.Clear()
+
+                For Each line As String In test.VBNCVerification.Process.StdOut.Split(New String() {vbCr, vbLf}, StringSplitOptions.RemoveEmptyEntries)
+                    ei = ErrorInfo.ParseLine(line)
+                    If ei IsNot Nothing Then test.Errors.Add(ei)
+                Next
+
+                test.DoTest()
+            Next
+        Catch ex As Exception
+            MsgBox(ex.ToString())
+        End Try
+    End Sub
 End Class
+
diff --git a/vbnc/rt/source/rt.vbproj b/vbnc/rt/source/rt.vbproj
index 7a62745..cd372c3 100755
--- a/vbnc/rt/source/rt.vbproj
+++ b/vbnc/rt/source/rt.vbproj
@@ -94,6 +94,7 @@
     <Compile Include="EnhancedProgressBar.vb">
       <SubType>UserControl</SubType>
     </Compile>
+    <Compile Include="ErrorInfo.vb" />
     <Compile Include="ExternalProcessExecutor.vb" />
     <Compile Include="ExternalProcessVerification.vb" />
     <Compile Include="FileTabPage.Designer.vb">
diff --git a/vbnc/vbnc/Makefile b/vbnc/vbnc/Makefile
index 3c32663..33c4329 100644
--- a/vbnc/vbnc/Makefile
+++ b/vbnc/vbnc/Makefile
@@ -31,7 +31,7 @@ version.tmp: $(topdir)/configure setversion.sh
 	-$(topdir)/vbnc/vbnc/setversion.sh $(topdir)/vbnc/vbnc/source/General/Version.vb
 
 all-local: vbnc.Errors.resources vbnc.exe.sources version.tmp
-	@cp -pu vbnc.vbnc.rsp ../../class/lib/$(PROFILE)/vbnc.rsp
+	@cp -p vbnc.vbnc.rsp ../../class/lib/$(PROFILE)/vbnc.rsp
 	
 vbnc.Errors.resources: source/Resources/Errors.resx
 	resgen2 source/Resources/Errors.resx vbnc.Errors.resources
@@ -64,7 +64,7 @@ test-thorough:
 	cd tests/SelfTest/ && updatesources.sh
 	cd tests/SelfTest/ && rerun.sh && rerun.sh && rerun.sh
 	cp tests/SelfTest/vbnc.exe* ../../class/lib/bootstrap
-	cd ../../vbruntime && make install && cp ../class/lib/vbnc/Microsoft.VisualBasic.dll* ../class/lib/bootstrap/
-	cd ../../ && make clean && make install
+	cd ../../vbruntime && $(MAKE) && $(MAKE) install && cp ../class/lib/net_4_0/Microsoft.VisualBasic.dll* ../class/lib/bootstrap/
+	cd ../../ && $(MAKE) clean && $(MAKE) && $(MAKE) install
 	
 	
diff --git a/vbnc/vbnc/setversion.sh b/vbnc/vbnc/setversion.sh
index fac0490..0d142a5 100755
--- a/vbnc/vbnc/setversion.sh
+++ b/vbnc/vbnc/setversion.sh
@@ -9,7 +9,7 @@ GIT_REVISION=`git log --no-color --first-parent -n1 --pretty=format:%h`
 cat ../LicenseFileHeader.txt > $VERSION_TMP
 echo "" >> $VERSION_TMP
 echo -n "<Assembly: AssemblyInformationalVersion (\"" >> $VERSION_TMP
-echo -n `more ../../configure | grep VERSION | grep -v echo | grep -v sed | sed 's/VERSION=//'` >> $VERSION_TMP
+echo -n `grep VERSION ../../configure | grep -v echo | grep -v sed | sed 's/VERSION=//'` >> $VERSION_TMP
 echo -n " - " >> $VERSION_TMP
 if [[ "x$GIT_REVISION" != "x" ]]; then
 	echo -n $GIT_BRANCH/$GIT_REVISION >> $VERSION_TMP
diff --git a/vbnc/vbnc/source/Code/CodeBlock.vb b/vbnc/vbnc/source/Code/CodeBlock.vb
index a0c50e5..246f358 100644
--- a/vbnc/vbnc/source/Code/CodeBlock.vb
+++ b/vbnc/vbnc/source/Code/CodeBlock.vb
@@ -374,7 +374,7 @@ Public Class CodeBlock
 
         'create the catch block
         Info.ILGen.BeginCatchBlock(CType(Nothing, Mono.Cecil.TypeReference))
-        Emitter.EmitCastClass(Info, Compiler.TypeCache.System_Object, Compiler.TypeCache.System_Exception)
+        Emitter.EmitCastClass(Info, Compiler.TypeCache.System_Exception)
         Emitter.EmitCall(Info, Compiler.TypeCache.MS_VB_CS_ProjectData__SetProjectError_Exception)
         Emitter.EmitLeave(Info, VB_ActiveHandlerLabel)
 
@@ -508,6 +508,7 @@ Public Class CodeBlock
             Dim var As LocalVariableDeclaration = m_Variables(i)
             result = CreateLabelForCurrentInstruction(Info) AndAlso result
             result = var.DefineLocalVariable(Info) AndAlso result
+            result = var.CreateDefinition AndAlso result
         Next
 
         For i As Integer = 0 To m_Sequence.Count - 1
@@ -540,13 +541,6 @@ Public Class CodeBlock
         End Get
     End Property
 
-    Public Overrides Sub Initialize(ByVal Parent As BaseObject)
-        MyBase.Initialize(Parent)
-
-        If m_Variables IsNot Nothing Then m_Variables.Initialize(Me)
-        If m_Statements IsNot Nothing Then m_Statements.Initialize(Me)
-    End Sub
-
     Public Overrides Function ResolveTypeReferences() As Boolean
         Dim result As Boolean = True
 
@@ -582,6 +576,13 @@ Public Class CodeBlock
             counter += 1
         End While
 
+        'Warn about unused local variables
+        For Each Var As VariableDeclaration In Variables
+            'VBC doesn't warn for unused variables if they are initialised 
+            If Not Var.IsReferenced AndAlso Not Var.HasInitializer Then
+                result = Compiler.Report.ShowMessage(Messages.VBNC42024, Var.Location, Var.Name) AndAlso result
+            End If
+        Next
         Return result
     End Function
 
@@ -599,3 +600,4 @@ Public Class CodeBlock
         End If
     End Function
 End Class
+
diff --git a/vbnc/vbnc/source/Emit/EmitInfo.vb b/vbnc/vbnc/source/Emit/EmitInfo.vb
index 528f4c9..efed032 100644
--- a/vbnc/vbnc/source/Emit/EmitInfo.vb
+++ b/vbnc/vbnc/source/Emit/EmitInfo.vb
@@ -153,7 +153,7 @@ Public Class EmitInfo
         End Get
     End Property
 
-    Private m_FakeGenerator As EmitLog
+    Private Shared m_FakeGenerator As EmitLog
     ''' <summary>
     ''' The ILGenerator used to emit the code.
     ''' </summary>
@@ -162,10 +162,10 @@ Public Class EmitInfo
     ''' <remarks></remarks>
     ReadOnly Property ILGen() As EmitLog
         Get
-            If m_FakeGenerator Is Nothing Then
+            If m_FakeGenerator Is Nothing OrElse m_FakeGenerator.Compiler IsNot Compiler Then
                 m_FakeGenerator = New EmitLog(Compiler)
-                m_FakeGenerator.CilBody = CilBody
             End If
+            m_FakeGenerator.CilBody = CilBody
             Return m_FakeGenerator
         End Get
     End Property
diff --git a/vbnc/vbnc/source/Emit/Emitter.vb b/vbnc/vbnc/source/Emit/Emitter.vb
index 1799a05..8e52846 100755
--- a/vbnc/vbnc/source/Emit/Emitter.vb
+++ b/vbnc/vbnc/source/Emit/Emitter.vb
@@ -356,8 +356,7 @@ Partial Public Class Emitter
         Info.ILGen.Emit(OpCodes.Newobj, Constructor)
     End Sub
 
-    Shared Sub EmitCastClass(ByVal Info As EmitInfo, ByVal FromType As Mono.Cecil.TypeReference, ByVal ToType As Mono.Cecil.TypeReference)
-        FromType = Helper.GetTypeOrTypeBuilder(Info.Compiler, FromType)
+    Shared Sub EmitCastClass(ByVal Info As EmitInfo, ByVal ToType As Mono.Cecil.TypeReference)
         ToType = Helper.GetTypeOrTypeBuilder(Info.Compiler, ToType)
         Helper.Assert(CecilHelper.IsByRef(ToType) = False)
         Info.ILGen.Emit(OpCodes.Castclass, ToType)
@@ -807,7 +806,7 @@ Partial Public Class Emitter
             Case TypeCombinations.DBNull_Object
                 converted = True 'Nothing to object
             Case TypeCombinations.Object_String
-                Emitter.EmitCastClass(Info, Helper.GetTypeOrTypeReference(Info.Compiler, Info.Compiler.TypeCache.System_Object), Helper.GetTypeOrTypeReference(Info.Compiler, Info.Compiler.TypeCache.System_String))
+                Emitter.EmitCastClass(Info, Helper.GetTypeOrTypeReference(Info.Compiler, Info.Compiler.TypeCache.System_String))
                 converted = True
             Case TypeCombinations.Int32_Boolean
                 'Nothing to do here
diff --git a/vbnc/vbnc/source/Enums/Enums.vb b/vbnc/vbnc/source/Enums/Enums.vb
index fdc7725..a9a4856 100644
--- a/vbnc/vbnc/source/Enums/Enums.vb
+++ b/vbnc/vbnc/source/Enums/Enums.vb
@@ -88,12 +88,6 @@ Module Enums
     Public ReadOnly FloatingPointTypeNames As KS() = New KS() {KS.Single, KS.Double}
 
     ''' <summary>
-    ''' IntegralTypeName  ::= "Byte" | "SByte "| "UShort" | "Short "| "UInteger" | "Integer" | "ULong" | "Long"
-    ''' </summary>
-    ''' <remarks></remarks>
-    Public ReadOnly IntegralTypeNames As KS() = New KS() {KS.Byte, KS.SByte, KS.UShort, KS.Short, KS.UInteger, KS.Integer, KS.ULong, KS.Long}
-
-    ''' <summary>
     ''' NumericTypeName  ::=  IntegralTypeName  |  FloatingPointTypeName  | "Decimal"
     ''' </summary>
     ''' <remarks></remarks>
diff --git a/vbnc/vbnc/source/Expressions/AddressOfExpression.vb b/vbnc/vbnc/source/Expressions/AddressOfExpression.vb
index 6fab4dd..3900363 100644
--- a/vbnc/vbnc/source/Expressions/AddressOfExpression.vb
+++ b/vbnc/vbnc/source/Expressions/AddressOfExpression.vb
@@ -50,6 +50,18 @@ Public Class AddressOfExpression
         Return result
     End Function
 
+    Public Function Clone() As AddressOfExpression
+        Dim result As New AddressOfExpression(Parent, m_Expression)
+        Dim mpc As MethodPointerClassification
+        If Classification IsNot Nothing Then
+            mpc = Classification.AsMethodPointerClassification
+            If mpc.MethodGroup.MethodDeclaration IsNot Nothing Then
+                result.Init(mpc.MethodGroup.MethodDeclaration, mpc.MethodGroup.InstanceExpression)
+            End If
+        End If
+        Return result
+    End Function
+
     Public Overrides Function ResolveTypeReferences() As Boolean
         Return m_Expression.ResolveTypeReferences
     End Function
@@ -75,10 +87,10 @@ Public Class AddressOfExpression
         Return tm.CurrentToken.Equals(KS.AddressOf)
     End Function
 
-    Function Resolve(ByVal DelegateType As Mono.Cecil.TypeReference) As Boolean
+    Function Resolve(ByVal DelegateType As Mono.Cecil.TypeReference, ByVal ShowErrors As Boolean) As Boolean
         Dim result As Boolean = True
 
-        result = Classification.AsMethodPointerClassification.Resolve(DelegateType) AndAlso result
+        result = Classification.AsMethodPointerClassification.Resolve(DelegateType, ShowErrors) AndAlso result
         m_ExpressionType = DelegateType
 
         Return result
@@ -91,6 +103,8 @@ Public Class AddressOfExpression
 
         result = m_Expression.ResolveExpression(New ResolveInfo(Info.Compiler, True)) AndAlso result
 
+        If result = False Then Return False
+
         If m_Expression.Classification.IsMethodGroupClassification Then
             Dim mpClassification As MethodPointerClassification
             mpClassification = New MethodPointerClassification(Me, m_Expression.Classification.AsMethodGroupClassification)
@@ -115,7 +129,3 @@ Public Class AddressOfExpression
     End Property
 End Class
 
-
-Class DelegateUnresolvedType
-
-End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/source/Expressions/Argument.vb b/vbnc/vbnc/source/Expressions/Argument.vb
index c581029..5e29eae 100644
--- a/vbnc/vbnc/source/Expressions/Argument.vb
+++ b/vbnc/vbnc/source/Expressions/Argument.vb
@@ -91,6 +91,12 @@ Public MustInherit Class Argument
         If m_Expression IsNot Nothing Then
             result = m_Expression.ResolveExpression(Info) AndAlso result
 
+            If result = False Then Return False
+
+            If m_Expression.Classification Is Nothing Then
+                Return Compiler.Report.ShowMessage(Messages.VBNC99997, Me.Location)
+            End If
+
             If result AndAlso m_Expression.Classification.IsMethodGroupClassification Then
                 m_Expression = m_Expression.ReclassifyToValueExpression
                 result = m_Expression.ResolveExpression(Info) AndAlso result
@@ -100,7 +106,6 @@ Public MustInherit Class Argument
             End If
         End If
 
-
         Return result
     End Function
 
diff --git a/vbnc/vbnc/source/Expressions/ArgumentList.vb b/vbnc/vbnc/source/Expressions/ArgumentList.vb
index 25a0d1d..41087f0 100644
--- a/vbnc/vbnc/source/Expressions/ArgumentList.vb
+++ b/vbnc/vbnc/source/Expressions/ArgumentList.vb
@@ -65,30 +65,30 @@ Public Class ArgumentList
         If NewArguments IsNot Nothing Then m_Arguments.AddRange(NewArguments.Arguments)
     End Sub
 
-    Function ReplaceAndVerifyArguments(ByVal NewArguments As ArgumentList, ByVal Method As Mono.Cecil.MethodReference) As Boolean
+    Function ReplaceAndVerifyArguments(ByVal NewArguments As ArgumentList, ByVal Method As Mono.Cecil.MethodReference, ByVal ShowErrors As Boolean) As Boolean
         Dim result As Boolean = True
 
         ReplaceArguments(NewArguments)
-        result = VerifyArguments(Method) AndAlso result
+        result = VerifyArguments(Method, ShowErrors) AndAlso result
 
         Return result
     End Function
 
-    Function ReplaceAndVerifyArguments(ByVal NewArguments As ArgumentList, ByVal Method As Mono.Cecil.PropertyReference) As Boolean
+    Function ReplaceAndVerifyArguments(ByVal NewArguments As ArgumentList, ByVal Method As Mono.Cecil.PropertyReference, ByVal ShowErrors As Boolean) As Boolean
         Dim result As Boolean = True
 
         ReplaceArguments(NewArguments)
-        result = VerifyArguments(Method) AndAlso result
+        result = VerifyArguments(Method, ShowErrors) AndAlso result
 
         Return result
     End Function
 
-    Function VerifyArguments(ByVal Method As Mono.Cecil.PropertyReference) As Boolean
-        Return VerifyArguments(Method.Parameters)
+    Function VerifyArguments(ByVal Method As Mono.Cecil.PropertyReference, ByVal ShowErrors As Boolean) As Boolean
+        Return VerifyArguments(Method.Parameters, ShowErrors)
     End Function
 
-    Function VerifyArguments(ByVal Method As Mono.Cecil.MethodReference) As Boolean
-        Return VerifyArguments(Method.Parameters)
+    Function VerifyArguments(ByVal Method As Mono.Cecil.MethodReference, ByVal ShowErrors As Boolean) As Boolean
+        Return VerifyArguments(Method.Parameters, ShowErrors)
     End Function
 
     ''' <summary>
@@ -97,7 +97,7 @@ Public Class ArgumentList
     ''' </summary>
     ''' <returns></returns>
     ''' <remarks></remarks>
-    Function VerifyArguments(ByVal parameters As Mono.Collections.Generic.Collection(Of ParameterDefinition)) As Boolean
+    Function VerifyArguments(ByVal parameters As Mono.Collections.Generic.Collection(Of ParameterDefinition), ByVal ShowErrors As Boolean) As Boolean
         Dim result As Boolean = True
 
 #If EXTENDEDDEBUG Then
@@ -115,7 +115,7 @@ Public Class ArgumentList
                 Helper.Assert(aoe IsNot Nothing)
                 Helper.Assert(delegateType IsNot Nothing)
 
-                result = aoe.Resolve(delegateType) AndAlso result
+                result = aoe.Resolve(delegateType, True) AndAlso result
 
                 Dim del As DelegateOrObjectCreationExpression
                 del = New DelegateOrObjectCreationExpression(Me)
@@ -129,7 +129,8 @@ Public Class ArgumentList
                     Dim propRef As PropertyReference = arg.Expression.Classification.AsPropertyAccess.Property
                     Dim propDef As PropertyDefinition = CecilHelper.FindDefinition(propRef)
                     If propDef.GetMethod Is Nothing Then
-                        result = Compiler.Report.ShowMessage(Messages.VBNC30524, m_Arguments(i).Location, propDef.Name)
+                        If ShowErrors Then Compiler.Report.ShowMessage(Messages.VBNC30524, m_Arguments(i).Location, propDef.Name)
+                        result = False
                     End If
                     exp = arg.Expression
                 ElseIf Helper.CompareType(arg.Expression.ExpressionType, Compiler.TypeCache.Nothing) = False Then
@@ -166,11 +167,12 @@ Public Class ArgumentList
 #If EXTENDEDDEBUG Then
                 Compiler.Report.WriteLine("VerifyArguments, needs convertion from " & arg.Expression.ExpressionType.FullName & " to " & par.ParameterType.FullName)
 #End If
-                exp = Helper.CreateTypeConversion(arg, arg.Expression, par.ParameterType, result)
+                exp = Nothing
+                result = Helper.IsConvertible(arg, arg.Expression, arg.Expression.ExpressionType, par.ParameterType, True, exp, ShowErrors, Nothing) AndAlso result
+            End If
+            If exp IsNot arg.Expression Then
+                m_Arguments(i) = New PositionalArgument(Me, i, exp)
             End If
-                If exp IsNot arg.Expression Then
-                    m_Arguments(i) = New PositionalArgument(Me, i, exp)
-                End If
         Next
 
         Return result
diff --git a/vbnc/vbnc/source/Expressions/ArrayCreationExpression.vb b/vbnc/vbnc/source/Expressions/ArrayCreationExpression.vb
index d0d6364..eafeb1c 100644
--- a/vbnc/vbnc/source/Expressions/ArrayCreationExpression.vb
+++ b/vbnc/vbnc/source/Expressions/ArrayCreationExpression.vb
@@ -42,12 +42,6 @@ Public Class ArrayCreationExpression
         End Get
     End Property
 
-    Public Overrides ReadOnly Property IsConstant() As Boolean
-        Get
-            Return False
-        End Get
-    End Property
-
     Public Overrides Function ResolveTypeReferences() As Boolean
         Dim result As Boolean = True
 
@@ -118,14 +112,15 @@ Public Class ArrayCreationExpression
     ''' <param name="Elements"></param>
     ''' <remarks></remarks>
     Public Shared Sub EmitArrayCreation(ByVal Info As EmitInfo, ByVal ArrayType As Mono.Cecil.TypeReference, ByVal Elements As Generic.List(Of Integer))
-        If Elements.Count = 0 Then
+        Dim count As Integer = If(Elements Is Nothing, 0, Elements.Count)
+        If count = 0 Then
             Emitter.EmitLoadI4Value(Info, 0)
         Else
             For i As Integer = 0 To Elements.Count - 1
                 Emitter.EmitLoadI4Value(Info, Elements(i))
             Next
         End If
-        EmitArrayConstructor(Info, ArrayType, Elements.Count)
+        EmitArrayConstructor(Info, ArrayType, count)
     End Sub
 
     ''' <summary>
diff --git a/vbnc/vbnc/source/Expressions/BinaryExpressions/AndAlsoExpression.vb b/vbnc/vbnc/source/Expressions/BinaryExpressions/AndAlsoExpression.vb
index 9de2f11..a25a0ea 100644
--- a/vbnc/vbnc/source/Expressions/BinaryExpressions/AndAlsoExpression.vb
+++ b/vbnc/vbnc/source/Expressions/BinaryExpressions/AndAlsoExpression.vb
@@ -79,26 +79,10 @@ Public Class AndAlsoExpression
         End Get
     End Property
 
-    Public Overrides ReadOnly Property IsConstant() As Boolean
-        Get
-            Return MyBase.IsConstant 'CHECK: is this true?
-        End Get
-    End Property
-
-    Public Overrides ReadOnly Property ConstantValue() As Object
-        Get
-            Dim rvalue, lvalue As Object
-            lvalue = m_LeftExpression.ConstantValue
-            rvalue = m_RightExpression.ConstantValue
-            If lvalue Is Nothing Or rvalue Is Nothing Then
-                Return Nothing
-            ElseIf TypeOf lvalue Is Boolean = False Then
-                Throw New InternalException(Me) 'TODO: Add error
-            ElseIf TypeOf rvalue Is Boolean = False Then
-                Throw New InternalException(Me) 'TODO: Add error
-            Else
-                Return CBool(lvalue) AndAlso CBool(rvalue)
-            End If
-        End Get
-    End Property
+    Public Overrides Function GetConstant(ByRef result As Object, ByVal lvalue As Object, ByVal rvalue As Object) As Boolean
+        If TypeOf lvalue Is Boolean = False Then Return False
+        If TypeOf rvalue Is Boolean = False Then Return False
+        result = CBool(lvalue) AndAlso CBool(rvalue)
+        Return True
+    End Function
 End Class
diff --git a/vbnc/vbnc/source/Expressions/BinaryExpressions/AndExpression.vb b/vbnc/vbnc/source/Expressions/BinaryExpressions/AndExpression.vb
index de5e5fc..d2751cd 100644
--- a/vbnc/vbnc/source/Expressions/BinaryExpressions/AndExpression.vb
+++ b/vbnc/vbnc/source/Expressions/BinaryExpressions/AndExpression.vb
@@ -71,68 +71,58 @@ Public Class AndExpression
         End Get
     End Property
 
-    Public Overrides ReadOnly Property IsConstant() As Boolean
-        Get
-            Return MyBase.IsConstant 'CHECK: is this true?
-        End Get
-    End Property
-
-    Public Overrides ReadOnly Property ConstantValue() As Object
-        Get
-            Dim rvalue, lvalue As Object
-            lvalue = m_LeftExpression.ConstantValue
-            rvalue = m_RightExpression.ConstantValue
-            If lvalue Is Nothing Or rvalue Is Nothing Then
-                Return Nothing
-            Else
+    Public Overrides Function GetConstant(ByRef result As Object, ByVal ShowError As Boolean) As Boolean
+        Dim rvalue As Object = Nothing
+        Dim lvalue As Object = Nothing
+
+        If Not m_LeftExpression.GetConstant(lvalue, ShowError) Then Return False
+        If Not m_RightExpression.GetConstant(rvalue, ShowError) Then Return False
+
+        If lvalue Is Nothing Or rvalue Is Nothing Then
+            result = Nothing
+            Return True
+        End If
+
+        Dim tlvalue, trvalue As Mono.Cecil.TypeReference
+        Dim clvalue, crvalue As TypeCode
+        tlvalue = CecilHelper.GetType(Compiler, lvalue)
+        clvalue = Helper.GetTypeCode(Compiler, tlvalue)
+        trvalue = CecilHelper.GetType(Compiler, rvalue)
+        crvalue = Helper.GetTypeCode(Compiler, trvalue)
+
+        If clvalue = TypeCode.Boolean AndAlso crvalue = TypeCode.Boolean Then
+            result = CBool(lvalue) AndAlso CBool(rvalue)
+            Return True
+        End If
+
+        Dim smallest As Mono.Cecil.TypeReference
+        Dim csmallest As TypeCode
+        smallest = Compiler.TypeResolution.GetSmallestIntegralType(tlvalue, trvalue)
+        Helper.Assert(smallest IsNot Nothing)
+        csmallest = Helper.GetTypeCode(Compiler, smallest)
+
+        Select Case csmallest
+            Case TypeCode.Byte
+                result = CByte(lvalue) And CByte(rvalue)
+            Case TypeCode.SByte
+                result = CSByte(lvalue) And CSByte(rvalue)
+            Case TypeCode.Int16
+                result = CShort(lvalue) And CShort(rvalue)
+            Case TypeCode.UInt16
+                result = CUShort(lvalue) And CUShort(rvalue)
+            Case TypeCode.Int32
+                result = CInt(lvalue) And CInt(rvalue)
+            Case TypeCode.UInt32
+                result = CUInt(lvalue) And CUInt(rvalue)
+            Case TypeCode.Int64
+                result = CLng(lvalue) And CLng(rvalue)
+            Case TypeCode.UInt64
+                result = CULng(lvalue) And CULng(rvalue)
+            Case Else
+                If ShowError Then Show30059()
+                Return False
+        End Select
 
-                Dim tlvalue, trvalue As Mono.Cecil.TypeReference
-                Dim clvalue, crvalue As TypeCode
-                tlvalue = CecilHelper.GetType(Compiler, lvalue)
-                clvalue = Helper.GetTypeCode(Compiler, tlvalue)
-                trvalue = CecilHelper.GetType(Compiler, rvalue)
-                crvalue = Helper.GetTypeCode(Compiler, trvalue)
-
-                If clvalue = TypeCode.Boolean AndAlso crvalue = TypeCode.Boolean Then
-                    Return CBool(lvalue) AndAlso CBool(rvalue)
-                End If
-
-                Dim smallest As Mono.Cecil.TypeReference
-                Dim csmallest As TypeCode
-                smallest = Compiler.TypeResolution.GetSmallestIntegralType(tlvalue, trvalue)
-                Helper.Assert(smallest IsNot Nothing)
-                csmallest = Helper.GetTypeCode(Compiler, smallest)
-
-                Select Case csmallest
-                    Case TypeCode.Byte
-                        Return CByte(lvalue) And CByte(rvalue)
-                    Case TypeCode.SByte
-                        Return CSByte(lvalue) And CSByte(rvalue)
-                    Case TypeCode.Int16
-                        Return CShort(lvalue) And CShort(rvalue)
-                    Case TypeCode.UInt16
-                        Return CUShort(lvalue) And CUShort(rvalue)
-                    Case TypeCode.Int32
-                        Return CInt(lvalue) And CInt(rvalue)
-                    Case TypeCode.UInt32
-                        Return CUInt(lvalue) And CUInt(rvalue)
-                    Case TypeCode.Int64
-                        Return CLng(lvalue) And CLng(rvalue)
-                    Case TypeCode.UInt64
-                        Return CULng(lvalue) And CULng(rvalue)
-                    Case TypeCode.Double
-                        'Return CDbl(lvalue) And CDbl(rvalue)
-                        Throw New InternalException(Me)
-                    Case TypeCode.Single
-                        'Return CSng(lvalue) And CSng(rvalue)
-                        Throw New InternalException(Me)
-                    Case TypeCode.Decimal
-                        'Return CDec(lvalue) And CDec(rvalue)
-                        Throw New InternalException(Me)
-                    Case Else
-                        Throw New InternalException(Me)
-                End Select
-            End If
-        End Get
-    End Property
+        Return True
+    End Function
 End Class
diff --git a/vbnc/vbnc/source/Expressions/BinaryExpressions/BinaryAddExpression.vb b/vbnc/vbnc/source/Expressions/BinaryExpressions/BinaryAddExpression.vb
index a619798..2fd1897 100644
--- a/vbnc/vbnc/source/Expressions/BinaryExpressions/BinaryAddExpression.vb
+++ b/vbnc/vbnc/source/Expressions/BinaryExpressions/BinaryAddExpression.vb
@@ -83,111 +83,90 @@ Public Class BinaryAddExpression
         End Get
     End Property
 
-    Protected Overrides Function ResolveExpressionInternal(ByVal Info As ResolveInfo) As Boolean
-        Dim result As Boolean
-
-        result = MyBase.ResolveExpressionInternal(Info)
+    Public Overrides Function GetConstant(ByRef m_ConstantValue As Object, ByVal lvalue As Object, ByVal rvalue As Object) As Boolean
+        Dim tlvalue, trvalue As Mono.Cecil.TypeReference
+        Dim clvalue, crvalue As TypeCode
+
+        tlvalue = CecilHelper.GetType(Compiler, lvalue)
+        clvalue = Helper.GetTypeCode(Compiler, tlvalue)
+        trvalue = CecilHelper.GetType(Compiler, rvalue)
+        crvalue = Helper.GetTypeCode(Compiler, trvalue)
+
+        If clvalue = TypeCode.String AndAlso crvalue = TypeCode.String Then
+            m_ConstantValue = CStr(lvalue) & CStr(rvalue)
+            Return True
+        End If
 
-        Return result
-    End Function
+        Dim csmallest As TypeCode
+        csmallest = vbnc.TypeConverter.GetBinaryAddResultType(clvalue, crvalue)
 
-    Public Overrides ReadOnly Property IsConstant() As Boolean
-        Get
-            Return MyBase.IsConstant 'CHECK: is this true?
-        End Get
-    End Property
-
-    Public Overrides ReadOnly Property ConstantValue() As Object
-        Get
-            Dim rvalue, lvalue As Object
-            lvalue = m_LeftExpression.ConstantValue
-            rvalue = m_RightExpression.ConstantValue
-            If lvalue Is Nothing Or rvalue Is Nothing Then
-                Return Nothing
-            Else
-
-                Dim tlvalue, trvalue As Mono.Cecil.TypeReference
-                Dim clvalue, crvalue As TypeCode
-                tlvalue = CecilHelper.GetType(Compiler, lvalue)
-                clvalue = Helper.GetTypeCode(Compiler, tlvalue)
-                trvalue = CecilHelper.GetType(Compiler, rvalue)
-                crvalue = Helper.GetTypeCode(Compiler, trvalue)
-
-                If clvalue = TypeCode.String AndAlso crvalue = TypeCode.String Then
-                    Return CStr(lvalue) & CStr(rvalue)
+        Select Case csmallest
+            Case TypeCode.Byte
+                Dim tmp As UShort = CUShort(lvalue) + CUShort(rvalue)
+                If tmp < Byte.MinValue OrElse tmp > Byte.MaxValue Then
+                    m_ConstantValue = tmp
+                Else
+                    m_ConstantValue = CByte(tmp)
+                End If
+            Case TypeCode.SByte
+                Dim tmp As Short = CShort(lvalue) + CShort(rvalue)
+                If tmp < SByte.MinValue OrElse tmp > SByte.MaxValue Then
+                    m_ConstantValue = tmp
+                Else
+                    m_ConstantValue = CSByte(tmp)
+                End If
+            Case TypeCode.Int16
+                Dim tmp As Integer = CInt(lvalue) + CInt(rvalue)
+                If tmp > Short.MaxValue OrElse tmp < Short.MinValue Then
+                    m_ConstantValue = tmp
+                Else
+                    m_ConstantValue = CShort(tmp)
                 End If
+            Case TypeCode.UInt16
+                Dim tmp As UInteger = CUInt(lvalue) + CUInt(rvalue)
+                If tmp > UShort.MaxValue Then
+                    m_ConstantValue = tmp
+                Else
+                    m_ConstantValue = CUShort(tmp)
+                End If
+            Case TypeCode.Int32
+                Dim tmp As Long = CLng(lvalue) + CLng(rvalue)
+                If tmp > Integer.MaxValue OrElse tmp < Integer.MinValue Then
+                    m_ConstantValue = tmp
+                Else
+                    m_ConstantValue = CInt(tmp)
+                End If
+            Case TypeCode.UInt32
+                Dim tmp As ULong = CULng(lvalue) + CULng(rvalue)
+                If tmp > UInteger.MaxValue Then
+                    m_ConstantValue = tmp
+                Else
+                    m_ConstantValue = CUInt(tmp)
+                End If
+            Case TypeCode.Int64
+                Dim tmp As Double = CLng(lvalue) + CLng(rvalue)
+                If tmp < Long.MinValue OrElse tmp > Long.MaxValue Then
+                    m_ConstantValue = tmp
+                Else
+                    m_ConstantValue = CLng(tmp)
+                End If
+            Case TypeCode.UInt64
+                Dim tmp As Double = CULng(lvalue) + CULng(rvalue)
+                If tmp < ULong.MinValue OrElse tmp > ULong.MaxValue Then
+                    m_ConstantValue = tmp
+                Else
+                    m_ConstantValue = CULng(tmp)
+                End If
+            Case TypeCode.Double
+                m_ConstantValue = CDbl(lvalue) + CDbl(rvalue) 'No overflow possible
+            Case TypeCode.Single
+                m_ConstantValue = CSng(lvalue) + CSng(rvalue) 'No overflow possible
+            Case TypeCode.Decimal
+                m_ConstantValue = CDec(lvalue) + CDec(rvalue)
+            Case Else
+                Return False
+        End Select
 
-                Dim csmallest As TypeCode
-                csmallest = vbnc.TypeConverter.GetBinaryAddResultType(clvalue, crvalue)
-
-                Select Case csmallest
-                    Case TypeCode.Byte
-                        Dim tmp As UShort = CUShort(lvalue) + CUShort(rvalue)
-                        If tmp < Byte.MinValue OrElse tmp > Byte.MaxValue Then
-                            Return tmp
-                        Else
-                            Return CByte(tmp)
-                        End If
-                    Case TypeCode.SByte
-                        Dim tmp As Short = CShort(lvalue) + CShort(rvalue)
-                        If tmp < SByte.MinValue OrElse tmp > SByte.MaxValue Then
-                            Return tmp
-                        Else
-                            Return CSByte(tmp)
-                        End If
-                    Case TypeCode.Int16
-                        Dim tmp As Integer = CInt(lvalue) + CInt(rvalue)
-                        If tmp > Short.MaxValue OrElse tmp < Short.MinValue Then
-                            Return tmp
-                        Else
-                            Return CShort(tmp)
-                        End If
-                    Case TypeCode.UInt16
-                        Dim tmp As UInteger = CUInt(lvalue) + CUInt(rvalue)
-                        If tmp > UShort.MaxValue Then
-                            Return tmp
-                        Else
-                            Return CUShort(tmp)
-                        End If
-                    Case TypeCode.Int32
-                        Dim tmp As Long = CLng(lvalue) + CLng(rvalue)
-                        If tmp > Integer.MaxValue OrElse tmp < Integer.MinValue Then
-                            Return tmp
-                        Else
-                            Return CInt(tmp)
-                        End If
-                    Case TypeCode.UInt32
-                        Dim tmp As ULong = CULng(lvalue) + CULng(rvalue)
-                        If tmp > UInteger.MaxValue Then
-                            Return tmp
-                        Else
-                            Return CUInt(tmp)
-                        End If
-                    Case TypeCode.Int64
-                        Dim tmp As Double = CLng(lvalue) + CLng(rvalue)
-                        If tmp < Long.MinValue OrElse tmp > Long.MaxValue Then
-                            Return tmp
-                        Else
-                            Return CLng(tmp)
-                        End If
-                    Case TypeCode.UInt64
-                        Dim tmp As Double = CULng(lvalue) + CULng(rvalue)
-                        If tmp < ULong.MinValue OrElse tmp > ULong.MaxValue Then
-                            Return tmp
-                        Else
-                            Return CULng(tmp)
-                        End If
-                    Case TypeCode.Double
-                        Return CDbl(lvalue) + CDbl(rvalue) 'No overflow possible
-                    Case TypeCode.Single
-                        Return CSng(lvalue) + CSng(rvalue) 'No overflow possible
-                    Case TypeCode.Decimal
-                        Return CDec(lvalue) + CDec(rvalue)
-                    Case Else
-                        Helper.Stop()
-                        Throw New InternalException(Me)
-                End Select
-            End If
-        End Get
-    End Property
+        Return True
+    End Function
 End Class
diff --git a/vbnc/vbnc/source/Expressions/BinaryExpressions/BinaryExpression.vb b/vbnc/vbnc/source/Expressions/BinaryExpressions/BinaryExpression.vb
index 8cfc14e..a3026e7 100644
--- a/vbnc/vbnc/source/Expressions/BinaryExpressions/BinaryExpression.vb
+++ b/vbnc/vbnc/source/Expressions/BinaryExpressions/BinaryExpression.vb
@@ -160,19 +160,28 @@ Public MustInherit Class BinaryExpression
 
         If operandType = TypeCode.Empty Then
             'Try operator overloading
-            If DoOperatorOverloading() = False Then
+            Dim showErrors As Boolean = Me.RightTypeCode = TypeCode.DBNull OrElse Me.LeftTypeCode = TypeCode.DBNull
+
+            result = DoOperatorOverloading(showErrors) AndAlso result
+
+            If result = False AndAlso showErrors = False Then
                 If (Me.Keyword = KS.ShiftLeft OrElse Me.Keyword = KS.ShiftRight) AndAlso Helper.CompareType(Me.LeftType, Compiler.TypeCache.System_Char) = False AndAlso Helper.CompareType(Me.LeftType, Compiler.TypeCache.System_DateTime) = False Then
                     If Helper.CompareType(Me.RightType, Compiler.TypeCache.System_Char) Then
-                        Compiler.Report.ShowMessage(Messages.VBNC32006, Location, Me.LeftType.Name)
+                        Compiler.Report.ShowMessage(Messages.VBNC32006, Location, Helper.ToString(Compiler, Compiler.TypeCache.System_Int32))
                     ElseIf Helper.CompareType(Me.RightType, Compiler.TypeCache.System_DateTime) Then
-                        Compiler.Report.ShowMessage(Messages.VBNC30311, Location, Me.LeftType.Name, Me.RightType.Name)
+                        Compiler.Report.ShowMessage(Messages.VBNC30311, Location, Helper.ToString(Compiler, Me.RightType), Helper.ToString(Compiler, Compiler.TypeCache.System_Int32))
                     Else
-                        Compiler.Report.ShowMessage(Messages.VBNC30452, Location, Enums.strSpecial(Me.Keyword), Me.LeftType.Name, Me.RightType.Name)
+                        Compiler.Report.ShowMessage(Messages.VBNC30452, Location, Enums.strSpecial(Me.Keyword), Helper.ToString(Compiler, Compiler.TypeCache.System_Int32), Helper.ToString(Compiler, Me.RightType))
                     End If
                 Else
-                    Compiler.Report.ShowMessage(Messages.VBNC30452, Location, Enums.strSpecial(Me.Keyword), Me.LeftType.Name, Me.RightType.Name)
+                    If Me.Keyword = KS.AndAlso AndAlso (Me.LeftTypeCode = TypeCode.DBNull OrElse Me.RightTypeCode = TypeCode.DBNull) Then
+                        Compiler.Report.ShowMessage(Messages.VBNC30452, Location, "And", Helper.ToString(Compiler, Me.LeftType), Helper.ToString(Compiler, Me.RightType))
+                    ElseIf Me.Keyword = KS.OrElse AndAlso (Me.LeftTypeCode = TypeCode.DBNull OrElse Me.RightTypeCode = TypeCode.DBNull) Then
+                        Compiler.Report.ShowMessage(Messages.VBNC30452, Location, "Or", Helper.ToString(Compiler, Me.LeftType), Helper.ToString(Compiler, Me.RightType))
+                    Else
+                        Compiler.Report.ShowMessage(Messages.VBNC30452, Location, Enums.strSpecial(Me.Keyword), Helper.ToString(Compiler, Me.LeftType), Helper.ToString(Compiler, Me.RightType))
+                    End If
                 End If
-                result = False
             End If
         Else
             'If X and Y are both intrinsic types, look up the result type in our operator tables and use that.
@@ -186,20 +195,46 @@ Public MustInherit Class BinaryExpression
             Dim isLeftIntrinsic As Boolean = Me.LeftTypeCode <> TypeCode.Object OrElse Helper.CompareType(Compiler.TypeCache.System_Object, Me.LeftType)
             Dim isRightIntrinsic As Boolean = Me.RightTypeCode <> TypeCode.Object OrElse Helper.CompareType(Compiler.TypeCache.System_Object, Me.RightType)
             Dim doOpOverloading As Boolean = False
+            Dim isStrict As Boolean?
 
             If isLeftIntrinsic AndAlso isRightIntrinsic OrElse IsOverloadable = False Then
                 Dim destinationType As Mono.Cecil.TypeReference
                 m_ExpressionType = Compiler.TypeResolution.TypeCodeToType(TypeConverter.GetBinaryResultType(Keyword, LeftTypeCode, RightTypeCode))
+
+                If Keyword <> KS.Is AndAlso Keyword <> KS.IsNot Then
+                    If Location.File(Compiler).IsOptionStrictOn Then
+                        If Helper.CompareType(m_LeftExpression.ExpressionType, Compiler.TypeCache.System_Object) Then
+                            If Keyword = KS.Equals OrElse Keyword = KS.NotEqual Then
+                                result = Compiler.Report.ShowMessage(Messages.VBNC32013, Me.Location, Enums.strSpecial(Keyword))
+                            Else
+                                result = Compiler.Report.ShowMessage(Messages.VBNC30038, Me.Location, Enums.strSpecial(Keyword))
+                            End If
+                        End If
+                        If Helper.CompareType(m_RightExpression.ExpressionType, Compiler.TypeCache.System_Object) Then
+                            If Keyword = KS.Equals OrElse Keyword = KS.NotEqual Then
+                                result = Compiler.Report.ShowMessage(Messages.VBNC32013, Me.Location, Enums.strSpecial(Keyword))
+                            Else
+                                result = Compiler.Report.ShowMessage(Messages.VBNC30038, Me.Location, Enums.strSpecial(Keyword))
+                            End If
+                        End If
+                    End If
+                End If
+
+                If LeftTypeCode = TypeCode.String AndAlso RightTypeCode = TypeCode.String AndAlso (Keyword = KS.Concat OrElse Keyword = KS.Add) Then
+                    isStrict = False
+                End If
+
                 If LeftTypeCode <> leftOperandType Then
                     destinationType = Compiler.TypeResolution.TypeCodeToType(leftOperandType)
-                    m_LeftExpression = Helper.CreateTypeConversion(Me, m_LeftExpression, destinationType, result)
+                    result = Helper.IsConvertible(Me, m_LeftExpression, m_LeftExpression.ExpressionType, destinationType, True, m_LeftExpression, True, isStrict)
                 End If
 
                 If RightTypeCode <> rightOperandType Then
                     destinationType = Compiler.TypeResolution.TypeCodeToType(rightOperandType)
-                    m_RightExpression = Helper.CreateTypeConversion(Me, m_RightExpression, destinationType, result)
+                    result = Helper.IsConvertible(Me, m_RightExpression, m_RightExpression.ExpressionType, destinationType, True, m_RightExpression, True, isStrict)
                 End If
                 Classification = New ValueClassification(Me)
+
             ElseIf isRightIntrinsic = False AndAlso isLeftIntrinsic = True Then
                 Dim convertsTo As TypeCode() = TypeResolution.GetIntrinsicTypesImplicitlyConvertibleFrom(Compiler, RightType)
                 convertsTo = Helper.GetMostEncompassedTypes(Compiler, convertsTo)
@@ -227,17 +262,48 @@ Public MustInherit Class BinaryExpression
             End If
 
             If doOpOverloading Then
-                result = DoOperatorOverloading() AndAlso result
+                result = DoOperatorOverloading(True) AndAlso result
             End If
         End If
 
         Return result
     End Function
 
-    Function DoOperatorOverloading() As Boolean
+    Function DoOperatorOverloading(ByVal ShowErrors As Boolean) As Boolean
         Dim result As Boolean = True
         Dim methods As New Generic.List(Of Mono.Cecil.MethodReference)
         Dim methodClassification As MethodGroupClassification
+        Dim arguments As ArgumentList
+
+        If Me.Keyword = KS.AndAlso OrElse Me.Keyword = KS.OrElse Then
+            If ShowErrors Then
+                If Me.Keyword = KS.AndAlso AndAlso (Me.LeftTypeCode = TypeCode.DBNull OrElse Me.RightTypeCode = TypeCode.DBNull) Then
+                    Compiler.Report.ShowMessage(Messages.VBNC30452, Location, "And", Helper.ToString(Compiler, Me.LeftType), Helper.ToString(Compiler, Me.RightType))
+                ElseIf Me.Keyword = KS.OrElse AndAlso (Me.LeftTypeCode = TypeCode.DBNull OrElse Me.RightTypeCode = TypeCode.DBNull) Then
+                    Compiler.Report.ShowMessage(Messages.VBNC30452, Location, "Or", Helper.ToString(Compiler, Me.LeftType), Helper.ToString(Compiler, Me.RightType))
+                Else
+                    Compiler.Report.ShowMessage(Messages.VBNC30452, Location, Enums.strSpecial(Me.Keyword), Helper.ToString(Compiler, Me.LeftType), Helper.ToString(Compiler, Me.RightType))
+                End If
+            End If
+            Return False
+        End If
+
+        If Me.Keyword = KS.Minus Then
+            'This is a special case, because Date has a custom - operator that takes (Date, Date), and both string and object
+            'are implicitly convertible to Date, so if we don't special case it we'll end up using that operator
+            If (Me.LeftTypeCode = TypeCode.String OrElse Helper.CompareType(Me.LeftType, Compiler.TypeCache.System_Object)) AndAlso Me.RightTypeCode = TypeCode.DateTime Then
+                If ShowErrors Then
+                    Compiler.Report.ShowMessage(Messages.VBNC30452, Location, "-", Helper.ToString(Compiler, Me.LeftType), Helper.ToString(Compiler, Me.RightType))
+                End If
+                Return False
+            ElseIf Me.LeftTypeCode = TypeCode.DateTime AndAlso (Me.RightTypeCode = TypeCode.String OrElse Helper.CompareType(Me.RightType, Compiler.TypeCache.System_Object)) Then
+                If ShowErrors Then
+                    Compiler.Report.ShowMessage(Messages.VBNC30452, Location, "-", Helper.ToString(Compiler, Me.LeftType), Helper.ToString(Compiler, Me.RightType))
+                End If
+                Return False
+            End If
+        End If
+
         methods = Helper.GetBinaryOperators(Compiler, CType(Me.Keyword, BinaryOperators), Me.LeftType)
         If Helper.CompareType(Me.LeftType, Me.RightType) = False Then
             Dim methods2 As New Generic.List(Of Mono.Cecil.MethodReference)
@@ -247,13 +313,16 @@ Public MustInherit Class BinaryExpression
             Next
         End If
         If methods.Count = 0 Then
-            result = Compiler.Report.ShowMessage(Messages.VBNC30452, Me.Location, Enums.strSpecial(Me.Keyword), Me.LeftType.FullName, Me.RightType.FullName) AndAlso result
-            If result = False Then Return result
+            If ShowErrors Then Compiler.Report.ShowMessage(Messages.VBNC30452, Me.Location, Enums.strSpecial(Me.Keyword), Helper.ToString(Compiler, Me.LeftType), Helper.ToString(Compiler, Me.RightType))
+            Return False
         End If
         methodClassification = New MethodGroupClassification(Me, Nothing, Nothing, New Expression() {Me.m_LeftExpression, Me.m_RightExpression}, methods.ToArray)
-        result = methodClassification.ResolveGroup(New ArgumentList(Me, Me.m_LeftExpression, m_RightExpression)) AndAlso result
+        arguments = New ArgumentList(Me, Me.m_LeftExpression, m_RightExpression)
+        result = methodClassification.ResolveGroup(arguments, ShowErrors, False) AndAlso result
         result = methodClassification.SuccessfullyResolved AndAlso result
         If result = False Then Return result
+        result = methodClassification.VerifyGroup(arguments, ShowErrors) AndAlso result
+        If result = False Then Return result
         m_ExpressionType = methodClassification.ResolvedMethodInfo.ReturnType
         Classification = methodClassification
         Return result
@@ -271,12 +340,6 @@ Public MustInherit Class BinaryExpression
         End Get
     End Property
 
-    Public Overrides ReadOnly Property IsConstant() As Boolean
-        Get
-            Return m_LeftExpression.IsConstant AndAlso m_RightExpression.IsConstant
-        End Get
-    End Property
-
     Protected Sub New(ByVal Parent As ParsedObject)
         MyBase.new(Parent)
     End Sub
@@ -300,8 +363,33 @@ Public MustInherit Class BinaryExpression
         End Get
     End Property
 
+    Public Overrides Function GetConstant(ByRef result As Object, ByVal ShowError As Boolean) As Boolean
+        Dim rvalue As Object = Nothing
+        Dim lvalue As Object = Nothing
+
+        If Not m_LeftExpression.GetConstant(lvalue, ShowError) Then Return False
+        If Not m_RightExpression.GetConstant(rvalue, ShowError) Then Return False
+
+        If lvalue Is Nothing Or rvalue Is Nothing Then
+            result = Nothing
+            Return True
+        End If
+
+        If Not GetConstant(result, lvalue, rvalue) Then
+            If ShowError Then Show30059()
+            Return False
+        End If
+
+        Return True
+    End Function
+
+    Public Overridable Overloads Function GetConstant(ByRef m_ConstantValue As Object, ByVal lvalue As Object, ByVal rvalue As Object) As Boolean
+        Return False
+    End Function
+
 #If DEBUG Then
     Protected MustOverride Overrides Function GenerateCodeInternal(ByVal Info As EmitInfo) As Boolean
 #End If
     MustOverride ReadOnly Property Keyword() As KS
 End Class
+
diff --git a/vbnc/vbnc/source/Expressions/BinaryExpressions/BinarySubExpression.vb b/vbnc/vbnc/source/Expressions/BinaryExpressions/BinarySubExpression.vb
index 9d8b6aa..362c42d 100644
--- a/vbnc/vbnc/source/Expressions/BinaryExpressions/BinarySubExpression.vb
+++ b/vbnc/vbnc/source/Expressions/BinaryExpressions/BinarySubExpression.vb
@@ -20,7 +20,6 @@
 Public Class BinarySubExpression
     Inherits BinaryExpression
 
-
     Protected Overrides Function GenerateCodeInternal(ByVal Info As EmitInfo) As Boolean
         Dim result As Boolean = True
 
@@ -63,95 +62,81 @@ Public Class BinarySubExpression
         End Get
     End Property
 
-    Public Overrides ReadOnly Property IsConstant() As Boolean
-        Get
-            Return MyBase.IsConstant 'CHECK: is this true?
-        End Get
-    End Property
+    Public Overrides Function GetConstant(ByRef result As Object, ByVal lvalue As Object, ByVal rvalue As Object) As Boolean
+        Dim tlvalue, trvalue As Mono.Cecil.TypeReference
+        Dim clvalue, crvalue As TypeCode
 
-    Public Overrides ReadOnly Property ConstantValue() As Object
-        Get
-            Dim rvalue, lvalue As Object
-            lvalue = m_LeftExpression.ConstantValue
-            rvalue = m_RightExpression.ConstantValue
-            If lvalue Is Nothing Or rvalue Is Nothing Then
-                Return Nothing
-            Else
+        tlvalue = CecilHelper.GetType(Compiler, lvalue)
+        clvalue = Helper.GetTypeCode(Compiler, tlvalue)
+        trvalue = CecilHelper.GetType(Compiler, rvalue)
+        crvalue = Helper.GetTypeCode(Compiler, trvalue)
 
-                Dim tlvalue, trvalue As Mono.Cecil.TypeReference
-                Dim clvalue, crvalue As TypeCode
-                tlvalue = CecilHelper.GetType(Compiler, lvalue)
-                clvalue = Helper.GetTypeCode(Compiler, tlvalue)
-                trvalue = CecilHelper.GetType(Compiler, rvalue)
-                crvalue = Helper.GetTypeCode(Compiler, trvalue)
+        Dim csmallest As TypeCode
+        csmallest = vbnc.TypeConverter.GetBinaryOperandType(Compiler, Me.Keyword, tlvalue, trvalue)
 
-                Dim csmallest As TypeCode
-                csmallest = vbnc.TypeConverter.GetBinaryOperandType(Compiler, Me.Keyword, tlvalue, trvalue)
+        Select Case csmallest
+            Case TypeCode.Byte
+                If CByte(lvalue) < CByte(rvalue) Then
+                    result = CSByte(lvalue) - CSByte(rvalue)
+                Else
+                    result = CByte(lvalue) - CByte(rvalue)
+                End If
+            Case TypeCode.SByte
+                Dim tmp As Short = CShort(lvalue) - CShort(rvalue)
+                If tmp < SByte.MinValue OrElse tmp > SByte.MaxValue Then
+                    result = tmp
+                Else
+                    result = CSByte(tmp)
+                End If
+            Case TypeCode.Int16
+                Dim tmp As Integer = CInt(lvalue) - CInt(rvalue)
+                If tmp > Short.MaxValue OrElse tmp < Short.MinValue Then
+                    result = tmp
+                Else
+                    result = CShort(tmp)
+                End If
+            Case TypeCode.UInt16
+                If CUShort(lvalue) < CUShort(rvalue) Then
+                    result = CShort(lvalue) - CShort(rvalue)
+                Else
+                    result = CUShort(lvalue) - CUShort(rvalue)
+                End If
+            Case TypeCode.Int32
+                Dim tmp As Long = CLng(lvalue) - CLng(rvalue)
+                If tmp > Integer.MaxValue OrElse tmp < Integer.MinValue Then
+                    result = tmp
+                Else
+                    result = CInt(tmp)
+                End If
+            Case TypeCode.UInt32
+                If CUInt(lvalue) < CUInt(rvalue) Then
+                    result = CInt(lvalue) - CInt(rvalue)
+                Else
+                    result = CUInt(lvalue) - CUInt(rvalue)
+                End If
+            Case TypeCode.Int64
+                Dim tmp As Double = CLng(lvalue) - CLng(rvalue)
+                If tmp < Long.MinValue OrElse tmp > Long.MaxValue Then
+                    result = tmp
+                Else
+                    result = CLng(tmp)
+                End If
+            Case TypeCode.UInt64
+                If CULng(lvalue) < CULng(rvalue) Then
+                    result = CLng(lvalue) - CLng(rvalue)
+                Else
+                    result = CULng(lvalue) - CULng(rvalue)
+                End If
+            Case TypeCode.Double
+                result = CDbl(lvalue) - CDbl(rvalue) 'No overflow possible
+            Case TypeCode.Single
+                result = CSng(lvalue) - CSng(rvalue) 'No overflow possible
+            Case TypeCode.Decimal
+                result = CDec(lvalue) - CDec(rvalue)
+            Case Else
+                Return False
+        End Select
 
-                Select Case csmallest
-                    Case TypeCode.Byte
-                        If CByte(lvalue) < CByte(rvalue) Then
-                            Return CSByte(lvalue) - CSByte(rvalue)
-                        Else
-                            Return CByte(lvalue) - CByte(rvalue)
-                        End If
-                    Case TypeCode.SByte
-                        Dim tmp As Short = CShort(lvalue) - CShort(rvalue)
-                        If tmp < SByte.MinValue OrElse tmp > SByte.MaxValue Then
-                            Return tmp
-                        Else
-                            Return CSByte(tmp)
-                        End If
-                    Case TypeCode.Int16
-                        Dim tmp As Integer = CInt(lvalue) - CInt(rvalue)
-                        If tmp > Short.MaxValue OrElse tmp < Short.MinValue Then
-                            Return tmp
-                        Else
-                            Return CShort(tmp)
-                        End If
-                    Case TypeCode.UInt16
-                        If CUShort(lvalue) < CUShort(rvalue) Then
-                            Return CShort(lvalue) - CShort(rvalue)
-                        Else
-                            Return CUShort(lvalue) - CUShort(rvalue)
-                        End If
-                    Case TypeCode.Int32
-                        Dim tmp As Long = CLng(lvalue) - CLng(rvalue)
-                        If tmp > Integer.MaxValue OrElse tmp < Integer.MinValue Then
-                            Return tmp
-                        Else
-                            Return CInt(tmp)
-                        End If
-                    Case TypeCode.UInt32
-                        If CUInt(lvalue) < CUInt(rvalue) Then
-                            Return CInt(lvalue) - CInt(rvalue)
-                        Else
-                            Return CUInt(lvalue) - CUInt(rvalue)
-                        End If
-                    Case TypeCode.Int64
-                        Dim tmp As Double = CLng(lvalue) - CLng(rvalue)
-                        If tmp < Long.MinValue OrElse tmp > Long.MaxValue Then
-                            Return tmp
-                        Else
-                            Return CLng(tmp)
-                        End If
-                    Case TypeCode.UInt64
-                        If CULng(lvalue) < CULng(rvalue) Then
-                            Return CLng(lvalue) - CLng(rvalue)
-                        Else
-                            Return CULng(lvalue) - CULng(rvalue)
-                        End If
-                    Case TypeCode.Double
-                        Return CDbl(lvalue) - CDbl(rvalue) 'No overflow possible
-                    Case TypeCode.Single
-                        Return CSng(lvalue) - CSng(rvalue) 'No overflow possible
-                    Case TypeCode.Decimal
-                        Return CDec(lvalue) - CDec(rvalue)
-                    Case Else
-                        Helper.Stop()
-                        Throw New InternalException(Me)
-                End Select
-            End If
-        End Get
-    End Property
+        Return True
+    End Function
 End Class
diff --git a/vbnc/vbnc/source/Expressions/BinaryExpressions/ConcatExpression.vb b/vbnc/vbnc/source/Expressions/BinaryExpressions/ConcatExpression.vb
index 69c10cf..bc2880c 100644
--- a/vbnc/vbnc/source/Expressions/BinaryExpressions/ConcatExpression.vb
+++ b/vbnc/vbnc/source/Expressions/BinaryExpressions/ConcatExpression.vb
@@ -27,35 +27,43 @@ Public Class ConcatExpression
 
         If result = False Then Return result
 
-        Dim l, r, other As Boolean
+        Dim l, r As Boolean
+        Dim lObj, rObj As Boolean
+
         l = Helper.CompareType(m_LeftExpression.ExpressionType, Compiler.TypeCache.System_DBNull)
         r = Helper.CompareType(m_RightExpression.ExpressionType, Compiler.TypeCache.System_DBNull)
+        
         If l AndAlso r = False Then 'DBNull & whatever
             m_LeftExpression = New NothingConstantExpression(Me)
             result = m_LeftExpression.ResolveExpression(Info) AndAlso result
         ElseIf l = False AndAlso r Then 'whatever & DBNull
             m_RightExpression = New NothingConstantExpression(Me)
             result = m_RightExpression.ResolveExpression(Info) AndAlso result
-        Else
-            other = True
+        ElseIf l AndAlso r Then 'DBNull & DBNull
+            Return Compiler.Report.ShowMessage(Messages.VBNC30452, Me.Location, "&", Helper.ToString(Compiler, LeftType), Helper.ToString(Compiler, RightType))
         End If
 
         If l = False Then
-            If Helper.CompareType(m_LeftExpression.ExpressionType, Compiler.TypeCache.System_Char_Array) Then
-                m_LeftExpression = New CStrExpression(Me, m_LeftExpression)
-                result = m_LeftExpression.ResolveExpression(Info) AndAlso result
+            lObj = Helper.CompareType(m_LeftExpression.ExpressionType, Compiler.TypeCache.System_Object)
+            If Location.File(Compiler).IsOptionStrictOn AndAlso lObj Then
+                result = Compiler.Report.ShowMessage(Messages.VBNC30038, Me.Location, "&")
             End If
+            If LeftTypeCode <> TypeCode.Object Then m_LeftExpression = New CStrExpression(Me, m_LeftExpression)
+            result = m_LeftExpression.ResolveExpression(Info) AndAlso result
         End If
 
         If r = False Then
-            If Helper.CompareType(m_RightExpression.ExpressionType, Compiler.TypeCache.System_Char_Array) Then
-                m_RightExpression = New CStrExpression(Me, m_RightExpression)
-                result = m_RightExpression.ResolveExpression(Info) AndAlso result
+            rObj = Helper.CompareType(m_RightExpression.ExpressionType, Compiler.TypeCache.System_Object)
+            If Location.File(Compiler).IsOptionStrictOn AndAlso rObj Then
+                result = Compiler.Report.ShowMessage(Messages.VBNC30038, Me.Location, "&")
             End If
+            If RightTypeCode <> TypeCode.Object Then m_RightExpression = New CStrExpression(Me, m_RightExpression)
+            result = m_RightExpression.ResolveExpression(Info) AndAlso result
         End If
 
         Return result
     End Function
+
     Protected Overrides Function GenerateCodeInternal(ByVal Info As EmitInfo) As Boolean
         Dim result As Boolean = True
 
@@ -88,23 +96,21 @@ Public Class ConcatExpression
         End Get
     End Property
 
-    Public Overrides ReadOnly Property IsConstant() As Boolean
-        Get
-            Return m_LeftExpression.IsConstant AndAlso (Helper.CompareType(m_LeftExpression.ExpressionType, Compiler.TypeCache.System_String) OrElse Helper.CompareType(m_LeftExpression.ExpressionType, Compiler.TypeCache.System_Char)) _
-              AndAlso m_RightExpression.IsConstant AndAlso (Helper.CompareType(m_RightExpression.ExpressionType, Compiler.TypeCache.System_String) OrElse Helper.CompareType(m_RightExpression.ExpressionType, Compiler.TypeCache.System_Char))
-        End Get
-    End Property
+    Public Overrides Function GetConstant(ByRef result As Object, ByVal ShowError As Boolean) As Boolean
+        Dim lvalue As Object = Nothing
+        Dim rvalue As Object = Nothing
 
-    Public Overrides ReadOnly Property ConstantValue() As Object
-        Get
-            If IsConstant = False Then Throw New InternalException(Me)
+        If Not m_LeftExpression.GetConstant(lvalue, ShowError) Then Return False
+        If Not m_RightExpression.GetConstant(rvalue, ShowError) Then Return False
 
-            Dim rvalue, lvalue As String
+        If ((TypeOf lvalue Is String OrElse TypeOf lvalue Is Char) AndAlso (TypeOf rvalue Is String OrElse TypeOf rvalue Is Char)) = False Then
+            If ShowError Then Show30059()
+            Return False
+        End If
 
-            lvalue = CStr(m_LeftExpression.ConstantValue)
-            rvalue = CStr(m_RightExpression.ConstantValue)
+        result = CStr(lvalue) & CStr(rvalue)
 
-            Return lvalue & rvalue
-        End Get
-    End Property
+        Return True
+    End Function
 End Class
+
diff --git a/vbnc/vbnc/source/Expressions/BinaryExpressions/EqualsExpression.vb b/vbnc/vbnc/source/Expressions/BinaryExpressions/EqualsExpression.vb
index dcb8af4..7fa4877 100644
--- a/vbnc/vbnc/source/Expressions/BinaryExpressions/EqualsExpression.vb
+++ b/vbnc/vbnc/source/Expressions/BinaryExpressions/EqualsExpression.vb
@@ -48,7 +48,12 @@ Public Class EqualsExpression
                 Helper.Assert(Helper.CompareType(OperandType, Compiler.TypeCache.System_Object))
                 Emitter.EmitLoadI4Value(Info, Info.IsOptionCompareText)
                 'Compiler.Report.WriteLine("MS_VB_CS_Operators_ConditionalCompareObjectEqual__Object_Object_Bool: " & Me.Location.ToString)
-                Emitter.EmitCall(Info, Compiler.TypeCache.MS_VB_CS_Operators__ConditionalCompareObjectEqual_Object_Object_Boolean)
+
+                If Helper.CompareType(ExpressionType, Compiler.TypeCache.System_Object) Then
+                    Emitter.EmitCall(Info, Compiler.TypeCache.MS_VB_CS_Operators__CompareObjectEqual_Object_Object_Boolean)
+                Else
+                    Emitter.EmitCall(Info, Compiler.TypeCache.MS_VB_CS_Operators__ConditionalCompareObjectEqual_Object_Object_Boolean)
+                End If
             Case TypeCode.String
                 Helper.Assert(Compiler.TypeCache.MS_VB_CS_Operators__CompareString_String_String_Boolean IsNot Nothing, "MS_VB_CS_Operators_CompareString__String_String_Bool Is Nothing")
                 Emitter.EmitLoadI4Value(Info, Info.IsOptionCompareText)
@@ -73,74 +78,67 @@ Public Class EqualsExpression
         End Get
     End Property
 
-    Public Overrides ReadOnly Property IsConstant() As Boolean
-        Get
-            Return MyBase.IsConstant 'CHECK: is this true?
-        End Get
-    End Property
+    Public Overrides Function GetConstant(ByRef result As Object, ByVal lvalue As Object, ByVal rvalue As Object) As Boolean
+        Dim tlvalue, trvalue As Mono.Cecil.TypeReference
+        Dim clvalue, crvalue As TypeCode
 
-    Public Overrides ReadOnly Property ConstantValue() As Object
-        Get
-            Dim rvalue, lvalue As Object
-            lvalue = m_LeftExpression.ConstantValue
-            rvalue = m_RightExpression.ConstantValue
-            If lvalue Is Nothing Or rvalue Is Nothing Then
-                Return Nothing
-            Else
-
-                Dim tlvalue, trvalue As Mono.Cecil.TypeReference
-                Dim clvalue, crvalue As TypeCode
-                tlvalue = CecilHelper.GetType(Compiler, lvalue)
-                clvalue = Helper.GetTypeCode(Compiler, tlvalue)
-                trvalue = CecilHelper.GetType(Compiler, rvalue)
-                crvalue = Helper.GetTypeCode(Compiler, trvalue)
-
-                If clvalue = TypeCode.Boolean AndAlso crvalue = TypeCode.Boolean Then
-                    Return CBool(lvalue) = CBool(rvalue)
-                ElseIf clvalue = TypeCode.DateTime AndAlso crvalue = TypeCode.DateTime Then
-                    Return CDate(lvalue) = CDate(rvalue)
-                ElseIf clvalue = TypeCode.Char AndAlso crvalue = TypeCode.Char Then
-                    Return CChar(lvalue) = CChar(rvalue)
-                ElseIf clvalue = TypeCode.String AndAlso crvalue = TypeCode.String Then
-                    Return CStr(lvalue) = CStr(rvalue)
-                ElseIf clvalue = TypeCode.String AndAlso crvalue = TypeCode.Char OrElse _
-                 clvalue = TypeCode.Char AndAlso crvalue = TypeCode.String Then
-                    Return CStr(lvalue) = CStr(rvalue)
-                End If
+        tlvalue = CecilHelper.GetType(Compiler, lvalue)
+        clvalue = Helper.GetTypeCode(Compiler, tlvalue)
+        trvalue = CecilHelper.GetType(Compiler, rvalue)
+        crvalue = Helper.GetTypeCode(Compiler, trvalue)
 
-                Dim smallest As Mono.Cecil.TypeReference
-                Dim csmallest As TypeCode
-                smallest = Compiler.TypeResolution.GetSmallestIntegralType(tlvalue, trvalue)
-                Helper.Assert(smallest IsNot Nothing)
-                csmallest = Helper.GetTypeCode(Compiler, smallest)
-
-                Select Case csmallest
-                    Case TypeCode.Byte
-                        Return CByte(lvalue) = CByte(rvalue)
-                    Case TypeCode.SByte
-                        Return CSByte(lvalue) = CSByte(rvalue)
-                    Case TypeCode.Int16
-                        Return CShort(lvalue) = CShort(rvalue)
-                    Case TypeCode.UInt16
-                        Return CUShort(lvalue) = CUShort(rvalue)
-                    Case TypeCode.Int32
-                        Return CInt(lvalue) = CInt(rvalue)
-                    Case TypeCode.UInt32
-                        Return CUInt(lvalue) = CUInt(rvalue)
-                    Case TypeCode.Int64
-                        Return CLng(lvalue) = CLng(rvalue)
-                    Case TypeCode.UInt64
-                        Return CULng(lvalue) = CULng(rvalue)
-                    Case TypeCode.Double
-                        Return CDbl(lvalue) = CDbl(rvalue)
-                    Case TypeCode.Single
-                        Return CSng(lvalue) = CSng(rvalue)
-                    Case TypeCode.Decimal
-                        Return CDec(lvalue) = CDec(rvalue)
-                    Case Else
-                        Throw New InternalException(Me)
-                End Select
-            End If
-        End Get
-    End Property
+        If clvalue = TypeCode.Boolean AndAlso crvalue = TypeCode.Boolean Then
+            result = CBool(lvalue) = CBool(rvalue)
+            Return True
+        ElseIf clvalue = TypeCode.DateTime AndAlso crvalue = TypeCode.DateTime Then
+            result = CDate(lvalue) = CDate(rvalue)
+            Return True
+        ElseIf clvalue = TypeCode.Char AndAlso crvalue = TypeCode.Char Then
+            result = CChar(lvalue) = CChar(rvalue)
+            Return True
+        ElseIf clvalue = TypeCode.String AndAlso crvalue = TypeCode.String Then
+            result = CStr(lvalue) = CStr(rvalue)
+            Return True
+        ElseIf clvalue = TypeCode.String AndAlso crvalue = TypeCode.Char OrElse _
+         clvalue = TypeCode.Char AndAlso crvalue = TypeCode.String Then
+            result = CStr(lvalue) = CStr(rvalue)
+            Return True
+        End If
+
+        Dim smallest As Mono.Cecil.TypeReference
+        Dim csmallest As TypeCode
+        smallest = Compiler.TypeResolution.GetSmallestIntegralType(tlvalue, trvalue)
+        Helper.Assert(smallest IsNot Nothing)
+        csmallest = Helper.GetTypeCode(Compiler, smallest)
+
+        Select Case csmallest
+            Case TypeCode.Byte
+                result = CByte(lvalue) = CByte(rvalue)
+            Case TypeCode.SByte
+                result = CSByte(lvalue) = CSByte(rvalue)
+            Case TypeCode.Int16
+                result = CShort(lvalue) = CShort(rvalue)
+            Case TypeCode.UInt16
+                result = CUShort(lvalue) = CUShort(rvalue)
+            Case TypeCode.Int32
+                result = CInt(lvalue) = CInt(rvalue)
+            Case TypeCode.UInt32
+                result = CUInt(lvalue) = CUInt(rvalue)
+            Case TypeCode.Int64
+                result = CLng(lvalue) = CLng(rvalue)
+            Case TypeCode.UInt64
+                result = CULng(lvalue) = CULng(rvalue)
+            Case TypeCode.Double
+                result = CDbl(lvalue) = CDbl(rvalue)
+            Case TypeCode.Single
+                result = CSng(lvalue) = CSng(rvalue)
+            Case TypeCode.Decimal
+                result = CDec(lvalue) = CDec(rvalue)
+            Case Else
+                Return False
+        End Select
+
+        Return True
+    End Function
 End Class
+
diff --git a/vbnc/vbnc/source/Expressions/BinaryExpressions/ExponentExpression.vb b/vbnc/vbnc/source/Expressions/BinaryExpressions/ExponentExpression.vb
index a491df9..3f6474f 100644
--- a/vbnc/vbnc/source/Expressions/BinaryExpressions/ExponentExpression.vb
+++ b/vbnc/vbnc/source/Expressions/BinaryExpressions/ExponentExpression.vb
@@ -53,38 +53,28 @@ Public Class ExponentExpression
         End Get
     End Property
 
-    Public Overrides ReadOnly Property IsConstant() As Boolean
-        Get
-            Return MyBase.IsConstant 'CHECK: is this true?
-        End Get
-    End Property
-
-    Public Overrides ReadOnly Property ConstantValue() As Object
-        Get
-            Dim rvalue, lvalue As Object
-            lvalue = m_LeftExpression.ConstantValue
-            rvalue = m_RightExpression.ConstantValue
+    Public Overrides Function GetConstant(ByRef m_ConstantValue As Object, ByVal lvalue As Object, ByVal rvalue As Object) As Boolean
+        If lvalue Is Nothing Then lvalue = 0
+        If rvalue Is Nothing Then rvalue = 0
 
-            If lvalue Is Nothing Then lvalue = 0
-            If rvalue Is Nothing Then rvalue = 0
+        Dim tlvalue, trvalue As Mono.Cecil.TypeReference
+        Dim clvalue, crvalue As TypeCode
+        tlvalue = CecilHelper.GetType(Compiler, lvalue)
+        clvalue = Helper.GetTypeCode(Compiler, tlvalue)
+        trvalue = CecilHelper.GetType(Compiler, rvalue)
+        crvalue = Helper.GetTypeCode(Compiler, trvalue)
 
-            Dim tlvalue, trvalue As Mono.Cecil.TypeReference
-            Dim clvalue, crvalue As TypeCode
-            tlvalue = CecilHelper.GetType(Compiler, lvalue)
-            clvalue = Helper.GetTypeCode(Compiler, tlvalue)
-            trvalue = CecilHelper.GetType(Compiler, rvalue)
-            crvalue = Helper.GetTypeCode(Compiler, trvalue)
+        Helper.Assert(Compiler.TypeResolution.IsNumericType(tlvalue) AndAlso Compiler.TypeResolution.IsNumericType(trvalue))
 
-            Helper.Assert(Compiler.TypeResolution.IsNumericType(tlvalue) AndAlso Compiler.TypeResolution.IsNumericType(trvalue))
+        'An exponent operator always returns a double result.
+        Select Case clvalue
+            Case TypeCode.Byte, TypeCode.SByte, TypeCode.Int16, TypeCode.UInt16, TypeCode.Int32, TypeCode.UInt32, _
+             TypeCode.Int64, TypeCode.UInt64, TypeCode.Double, TypeCode.Single, TypeCode.Decimal
+                m_ConstantValue = Math.Pow(CDbl(lvalue), CDbl(rvalue))
+            Case Else
+                Return False
+        End Select
 
-            'An exponent operator always returns a double result.
-            Select Case clvalue
-                Case TypeCode.Byte, TypeCode.SByte, TypeCode.Int16, TypeCode.UInt16, TypeCode.Int32, TypeCode.UInt32, _
-                 TypeCode.Int64, TypeCode.UInt64, TypeCode.Double, TypeCode.Single, TypeCode.Decimal
-                    Return Math.Pow(CDbl(lvalue), CDbl(rvalue))
-                Case Else
-                    Throw New InternalException(Me)
-            End Select
-        End Get
-    End Property
+        Return True
+    End Function
 End Class
diff --git a/vbnc/vbnc/source/Expressions/BinaryExpressions/GEExpression.vb b/vbnc/vbnc/source/Expressions/BinaryExpressions/GEExpression.vb
index 5effb13..e17999b 100644
--- a/vbnc/vbnc/source/Expressions/BinaryExpressions/GEExpression.vb
+++ b/vbnc/vbnc/source/Expressions/BinaryExpressions/GEExpression.vb
@@ -48,7 +48,11 @@ Public Class GEExpression
             Case TypeCode.Object
                 Helper.Assert(Helper.CompareType(OperandType, Compiler.TypeCache.System_Object))
                 Emitter.EmitLoadI4Value(Info, Info.IsOptionCompareText)
-                Emitter.EmitCall(Info, Compiler.TypeCache.MS_VB_CS_Operators__ConditionalCompareObjectGreaterEqual_Object_Object_Boolean)
+                If Helper.CompareType(ExpressionType, Compiler.TypeCache.System_Object) Then
+                    Emitter.EmitCall(Info, Compiler.TypeCache.MS_VB_CS_Operators__CompareObjectGreaterEqual_Object_Object_Boolean)
+                Else
+                    Emitter.EmitCall(Info, Compiler.TypeCache.MS_VB_CS_Operators__ConditionalCompareObjectGreaterEqual_Object_Object_Boolean)
+                End If
             Case TypeCode.String
                 Emitter.EmitLoadI4Value(Info, Info.IsOptionCompareText)
                 Emitter.EmitCall(Info, Compiler.TypeCache.MS_VB_CS_Operators__CompareString_String_String_Boolean)
@@ -71,74 +75,66 @@ Public Class GEExpression
         End Get
     End Property
 
-    Public Overrides ReadOnly Property IsConstant() As Boolean
-        Get
-            Return MyBase.IsConstant 'CHECK: is this true?
-        End Get
-    End Property
+    Public Overrides Function GetConstant(ByRef result As Object, ByVal lvalue As Object, ByVal rvalue As Object) As Boolean
+        Dim tlvalue, trvalue As Mono.Cecil.TypeReference
+        Dim clvalue, crvalue As TypeCode
+        tlvalue = CecilHelper.GetType(Compiler, lvalue)
+        clvalue = Helper.GetTypeCode(Compiler, tlvalue)
+        trvalue = CecilHelper.GetType(Compiler, rvalue)
+        crvalue = Helper.GetTypeCode(Compiler, trvalue)
 
-    Public Overrides ReadOnly Property ConstantValue() As Object
-        Get
-            Dim rvalue, lvalue As Object
-            lvalue = m_LeftExpression.ConstantValue
-            rvalue = m_RightExpression.ConstantValue
-            If lvalue Is Nothing Or rvalue Is Nothing Then
-                Return Nothing
-            Else
-
-                Dim tlvalue, trvalue As Mono.Cecil.TypeReference
-                Dim clvalue, crvalue As TypeCode
-                tlvalue = CecilHelper.GetType(Compiler, lvalue)
-                clvalue = Helper.GetTypeCode(Compiler, tlvalue)
-                trvalue = CecilHelper.GetType(Compiler, rvalue)
-                crvalue = Helper.GetTypeCode(Compiler, trvalue)
+        If clvalue = TypeCode.Boolean AndAlso crvalue = TypeCode.Boolean Then
+            result = CBool(lvalue) >= CBool(rvalue)
+            Return True
+        ElseIf clvalue = TypeCode.DateTime AndAlso crvalue = TypeCode.DateTime Then
+            result = CDate(lvalue) >= CDate(rvalue)
+            Return True
+        ElseIf clvalue = TypeCode.Char AndAlso crvalue = TypeCode.Char Then
+            result = CChar(lvalue) >= CChar(rvalue)
+            Return True
+        ElseIf clvalue = TypeCode.String AndAlso crvalue = TypeCode.String Then
+            result = CStr(lvalue) >= CStr(rvalue)
+            Return True
+        ElseIf clvalue = TypeCode.String AndAlso crvalue = TypeCode.Char OrElse _
+         clvalue = TypeCode.Char AndAlso crvalue = TypeCode.String Then
+            result = CStr(lvalue) >= CStr(rvalue)
+            Return True
+        End If
 
-                If clvalue = TypeCode.Boolean AndAlso crvalue = TypeCode.Boolean Then
-                    Return CBool(lvalue) >= CBool(rvalue)
-                ElseIf clvalue = TypeCode.DateTime AndAlso crvalue = TypeCode.DateTime Then
-                    Return CDate(lvalue) >= CDate(rvalue)
-                ElseIf clvalue = TypeCode.Char AndAlso crvalue = TypeCode.Char Then
-                    Return CChar(lvalue) >= CChar(rvalue)
-                ElseIf clvalue = TypeCode.String AndAlso crvalue = TypeCode.String Then
-                    Return CStr(lvalue) >= CStr(rvalue)
-                ElseIf clvalue = TypeCode.String AndAlso crvalue = TypeCode.Char OrElse _
-                 clvalue = TypeCode.Char AndAlso crvalue = TypeCode.String Then
-                    Return CStr(lvalue) >= CStr(rvalue)
-                End If
+        Dim smallest As Mono.Cecil.TypeReference
+        Dim csmallest As TypeCode
+        smallest = Compiler.TypeResolution.GetSmallestIntegralType(tlvalue, trvalue)
+        Helper.Assert(smallest IsNot Nothing)
+        csmallest = Helper.GetTypeCode(Compiler, smallest)
 
-                Dim smallest As Mono.Cecil.TypeReference
-                Dim csmallest As TypeCode
-                smallest = Compiler.TypeResolution.GetSmallestIntegralType(tlvalue, trvalue)
-                Helper.Assert(smallest IsNot Nothing)
-                csmallest = Helper.GetTypeCode(Compiler, smallest)
+        Select Case csmallest
+            Case TypeCode.Byte
+                result = CByte(lvalue) >= CByte(rvalue)
+            Case TypeCode.SByte
+                result = CSByte(lvalue) >= CSByte(rvalue)
+            Case TypeCode.Int16
+                result = CShort(lvalue) >= CShort(rvalue)
+            Case TypeCode.UInt16
+                result = CUShort(lvalue) >= CUShort(rvalue)
+            Case TypeCode.Int32
+                result = CInt(lvalue) >= CInt(rvalue)
+            Case TypeCode.UInt32
+                result = CUInt(lvalue) >= CUInt(rvalue)
+            Case TypeCode.Int64
+                result = CLng(lvalue) >= CLng(rvalue)
+            Case TypeCode.UInt64
+                result = CULng(lvalue) >= CULng(rvalue)
+            Case TypeCode.Double
+                result = CDbl(lvalue) >= CDbl(rvalue)
+            Case TypeCode.Single
+                result = CSng(lvalue) >= CSng(rvalue)
+            Case TypeCode.Decimal
+                result = CDec(lvalue) >= CDec(rvalue)
+            Case Else
+                Return False
+        End Select
 
-                Select Case csmallest
-                    Case TypeCode.Byte
-                        Return CByte(lvalue) >= CByte(rvalue)
-                    Case TypeCode.SByte
-                        Return CSByte(lvalue) >= CSByte(rvalue)
-                    Case TypeCode.Int16
-                        Return CShort(lvalue) >= CShort(rvalue)
-                    Case TypeCode.UInt16
-                        Return CUShort(lvalue) >= CUShort(rvalue)
-                    Case TypeCode.Int32
-                        Return CInt(lvalue) >= CInt(rvalue)
-                    Case TypeCode.UInt32
-                        Return CUInt(lvalue) >= CUInt(rvalue)
-                    Case TypeCode.Int64
-                        Return CLng(lvalue) >= CLng(rvalue)
-                    Case TypeCode.UInt64
-                        Return CULng(lvalue) >= CULng(rvalue)
-                    Case TypeCode.Double
-                        Return CDbl(lvalue) >= CDbl(rvalue)
-                    Case TypeCode.Single
-                        Return CSng(lvalue) >= CSng(rvalue)
-                    Case TypeCode.Decimal
-                        Return CDec(lvalue) >= CDec(rvalue)
-                    Case Else
-                        Throw New InternalException(Me)
-                End Select
-            End If
-        End Get
-    End Property
+        Return True
+    End Function
 End Class
+
diff --git a/vbnc/vbnc/source/Expressions/BinaryExpressions/GTExpression.vb b/vbnc/vbnc/source/Expressions/BinaryExpressions/GTExpression.vb
index 9f48d05..c01adce 100644
--- a/vbnc/vbnc/source/Expressions/BinaryExpressions/GTExpression.vb
+++ b/vbnc/vbnc/source/Expressions/BinaryExpressions/GTExpression.vb
@@ -48,7 +48,11 @@ Public Class GTExpression
             Case TypeCode.Object
                 Helper.Assert(Helper.CompareType(OperandType, Compiler.TypeCache.System_Object))
                 Emitter.EmitLoadI4Value(Info, Info.IsOptionCompareText)
-                Emitter.EmitCall(Info, Compiler.TypeCache.MS_VB_CS_Operators__ConditionalCompareObjectGreater_Object_Object_Boolean)
+                If Helper.CompareType(ExpressionType, Compiler.TypeCache.System_Object) Then
+                    Emitter.EmitCall(Info, Compiler.TypeCache.MS_VB_CS_Operators__CompareObjectGreater_Object_Object_Boolean)
+                Else
+                    Emitter.EmitCall(Info, Compiler.TypeCache.MS_VB_CS_Operators__ConditionalCompareObjectGreater_Object_Object_Boolean)
+                End If
             Case TypeCode.String
                 Emitter.EmitLoadI4Value(Info, Info.IsOptionCompareText)
                 Emitter.EmitCall(Info, Compiler.TypeCache.MS_VB_CS_Operators__CompareString_String_String_Boolean)
@@ -71,74 +75,66 @@ Public Class GTExpression
         End Get
     End Property
 
-    Public Overrides ReadOnly Property IsConstant() As Boolean
-        Get
-            Return MyBase.IsConstant 'CHECK: is this true?
-        End Get
-    End Property
+    Public Overrides Function GetConstant(ByRef m_ConstantValue As Object, ByVal lvalue As Object, ByVal rvalue As Object) As Boolean
+        Dim tlvalue, trvalue As Mono.Cecil.TypeReference
+        Dim clvalue, crvalue As TypeCode
+        tlvalue = CecilHelper.GetType(Compiler, lvalue)
+        clvalue = Helper.GetTypeCode(Compiler, tlvalue)
+        trvalue = CecilHelper.GetType(Compiler, rvalue)
+        crvalue = Helper.GetTypeCode(Compiler, trvalue)
 
-    Public Overrides ReadOnly Property ConstantValue() As Object
-        Get
-            Dim rvalue, lvalue As Object
-            lvalue = m_LeftExpression.ConstantValue
-            rvalue = m_RightExpression.ConstantValue
-            If lvalue Is Nothing Or rvalue Is Nothing Then
-                Return Nothing
-            Else
-
-                Dim tlvalue, trvalue As Mono.Cecil.TypeReference
-                Dim clvalue, crvalue As TypeCode
-                tlvalue = CecilHelper.GetType(Compiler, lvalue)
-                clvalue = Helper.GetTypeCode(Compiler, tlvalue)
-                trvalue = CecilHelper.GetType(Compiler, rvalue)
-                crvalue = Helper.GetTypeCode(Compiler, trvalue)
+        If clvalue = TypeCode.Boolean AndAlso crvalue = TypeCode.Boolean Then
+            m_ConstantValue = CBool(lvalue) > CBool(rvalue)
+            Return True
+        ElseIf clvalue = TypeCode.DateTime AndAlso crvalue = TypeCode.DateTime Then
+            m_ConstantValue = CDate(lvalue) > CDate(rvalue)
+            Return True
+        ElseIf clvalue = TypeCode.Char AndAlso crvalue = TypeCode.Char Then
+            m_ConstantValue = CChar(lvalue) > CChar(rvalue)
+            Return True
+        ElseIf clvalue = TypeCode.String AndAlso crvalue = TypeCode.String Then
+            m_ConstantValue = CStr(lvalue) > CStr(rvalue)
+            Return True
+        ElseIf clvalue = TypeCode.String AndAlso crvalue = TypeCode.Char OrElse _
+         clvalue = TypeCode.Char AndAlso crvalue = TypeCode.String Then
+            m_ConstantValue = CStr(lvalue) > CStr(rvalue)
+            Return True
+        End If
 
-                If clvalue = TypeCode.Boolean AndAlso crvalue = TypeCode.Boolean Then
-                    Return CBool(lvalue) > CBool(rvalue)
-                ElseIf clvalue = TypeCode.DateTime AndAlso crvalue = TypeCode.DateTime Then
-                    Return CDate(lvalue) > CDate(rvalue)
-                ElseIf clvalue = TypeCode.Char AndAlso crvalue = TypeCode.Char Then
-                    Return CChar(lvalue) > CChar(rvalue)
-                ElseIf clvalue = TypeCode.String AndAlso crvalue = TypeCode.String Then
-                    Return CStr(lvalue) > CStr(rvalue)
-                ElseIf clvalue = TypeCode.String AndAlso crvalue = TypeCode.Char OrElse _
-                 clvalue = TypeCode.Char AndAlso crvalue = TypeCode.String Then
-                    Return CStr(lvalue) > CStr(rvalue)
-                End If
+        Dim smallest As Mono.Cecil.TypeReference
+        Dim csmallest As TypeCode
+        smallest = Compiler.TypeResolution.GetSmallestIntegralType(tlvalue, trvalue)
+        Helper.Assert(smallest IsNot Nothing)
+        csmallest = Helper.GetTypeCode(Compiler, smallest)
 
-                Dim smallest As Mono.Cecil.TypeReference
-                Dim csmallest As TypeCode
-                smallest = Compiler.TypeResolution.GetSmallestIntegralType(tlvalue, trvalue)
-                Helper.Assert(smallest IsNot Nothing)
-                csmallest = Helper.GetTypeCode(Compiler, smallest)
+        Select Case csmallest
+            Case TypeCode.Byte
+                m_ConstantValue = CByte(lvalue) > CByte(rvalue)
+            Case TypeCode.SByte
+                m_ConstantValue = CSByte(lvalue) > CSByte(rvalue)
+            Case TypeCode.Int16
+                m_ConstantValue = CShort(lvalue) > CShort(rvalue)
+            Case TypeCode.UInt16
+                m_ConstantValue = CUShort(lvalue) > CUShort(rvalue)
+            Case TypeCode.Int32
+                m_ConstantValue = CInt(lvalue) > CInt(rvalue)
+            Case TypeCode.UInt32
+                m_ConstantValue = CUInt(lvalue) > CUInt(rvalue)
+            Case TypeCode.Int64
+                m_ConstantValue = CLng(lvalue) > CLng(rvalue)
+            Case TypeCode.UInt64
+                m_ConstantValue = CULng(lvalue) > CULng(rvalue)
+            Case TypeCode.Double
+                m_ConstantValue = CDbl(lvalue) > CDbl(rvalue)
+            Case TypeCode.Single
+                m_ConstantValue = CSng(lvalue) > CSng(rvalue)
+            Case TypeCode.Decimal
+                m_ConstantValue = CDec(lvalue) > CDec(rvalue)
+            Case Else
+                Return False
+        End Select
 
-                Select Case csmallest
-                    Case TypeCode.Byte
-                        Return CByte(lvalue) > CByte(rvalue)
-                    Case TypeCode.SByte
-                        Return CSByte(lvalue) > CSByte(rvalue)
-                    Case TypeCode.Int16
-                        Return CShort(lvalue) > CShort(rvalue)
-                    Case TypeCode.UInt16
-                        Return CUShort(lvalue) > CUShort(rvalue)
-                    Case TypeCode.Int32
-                        Return CInt(lvalue) > CInt(rvalue)
-                    Case TypeCode.UInt32
-                        Return CUInt(lvalue) > CUInt(rvalue)
-                    Case TypeCode.Int64
-                        Return CLng(lvalue) > CLng(rvalue)
-                    Case TypeCode.UInt64
-                        Return CULng(lvalue) > CULng(rvalue)
-                    Case TypeCode.Double
-                        Return CDbl(lvalue) > CDbl(rvalue)
-                    Case TypeCode.Single
-                        Return CSng(lvalue) > CSng(rvalue)
-                    Case TypeCode.Decimal
-                        Return CDec(lvalue) > CDec(rvalue)
-                    Case Else
-                        Throw New InternalException(Me)
-                End Select
-            End If
-        End Get
-    End Property
+        Return True
+    End Function
 End Class
+
diff --git a/vbnc/vbnc/source/Expressions/BinaryExpressions/IntDivisionExpression.vb b/vbnc/vbnc/source/Expressions/BinaryExpressions/IntDivisionExpression.vb
index ef684dd..390ee27 100644
--- a/vbnc/vbnc/source/Expressions/BinaryExpressions/IntDivisionExpression.vb
+++ b/vbnc/vbnc/source/Expressions/BinaryExpressions/IntDivisionExpression.vb
@@ -53,85 +53,73 @@ Public Class IntDivisionExpression
         End Get
     End Property
 
-    Public Overrides ReadOnly Property IsConstant() As Boolean
-        Get
-            Return MyBase.IsConstant 'CHECK: is this true?
-        End Get
-    End Property
+    Public Overrides Function GetConstant(ByRef result As Object, ByVal ShowError As Boolean) As Boolean
+        Dim rvalue As Object = Nothing
+        Dim lvalue As Object = Nothing
 
-    Public Overrides ReadOnly Property ConstantValue() As Object
-        Get
-            Dim rvalue, lvalue As Object
-            lvalue = m_LeftExpression.ConstantValue
-            rvalue = m_RightExpression.ConstantValue
-            If lvalue Is Nothing Or rvalue Is Nothing Then
-                Return Nothing
-            Else
-
-                Dim tlvalue, trvalue As Mono.Cecil.TypeReference
-                Dim clvalue, crvalue As TypeCode
-                tlvalue = CecilHelper.GetType(Compiler, lvalue)
-                clvalue = Helper.GetTypeCode(Compiler, tlvalue)
-                trvalue = CecilHelper.GetType(Compiler, rvalue)
-                crvalue = Helper.GetTypeCode(Compiler, trvalue)
-
-                Dim smallest As Mono.Cecil.TypeReference
-                Dim csmallest As TypeCode
-                smallest = Compiler.TypeResolution.GetSmallestIntegralType(tlvalue, trvalue)
-                Helper.Assert(smallest IsNot Nothing)
-                csmallest = Helper.GetTypeCode(Compiler, smallest)
-                If CDbl(rvalue) = 0 Then
-                    Helper.Stop() 'TODO: Adderror (Divide by zero).
+        If Not m_LeftExpression.GetConstant(lvalue, ShowError) Then Return False
+        If Not m_RightExpression.GetConstant(rvalue, ShowError) Then Return False
+
+        If lvalue Is Nothing Or rvalue Is Nothing Then
+            result = Nothing
+            Return True
+        End If
+
+        Dim tlvalue, trvalue As Mono.Cecil.TypeReference
+        Dim clvalue, crvalue As TypeCode
+        tlvalue = CecilHelper.GetType(Compiler, lvalue)
+        clvalue = Helper.GetTypeCode(Compiler, tlvalue)
+        trvalue = CecilHelper.GetType(Compiler, rvalue)
+        crvalue = Helper.GetTypeCode(Compiler, trvalue)
+
+        Dim smallest As Mono.Cecil.TypeReference
+        Dim csmallest As TypeCode
+        smallest = Compiler.TypeResolution.GetSmallestIntegralType(tlvalue, trvalue)
+        Helper.Assert(smallest IsNot Nothing)
+        csmallest = Helper.GetTypeCode(Compiler, smallest)
+
+        If CDbl(rvalue) = 0 Then
+            result = Helper.AddError(Me, "Divide by zero")
+        End If
+
+        Select Case csmallest
+            Case TypeCode.Byte
+                result = CByte(lvalue) \ CByte(rvalue)
+            Case TypeCode.SByte
+                If CSByte(lvalue) = SByte.MinValue AndAlso CSByte(rvalue) = -1 Then
+                    result = CShort(lvalue) \ CShort(rvalue)
+                Else
+                    result = CSByte(lvalue) \ CSByte(rvalue)
                 End If
+            Case TypeCode.Int16
+                If CShort(lvalue) = Short.MinValue AndAlso CShort(rvalue) = -1 Then
+                    result = CInt(lvalue) \ CInt(rvalue)
+                Else
+                    result = CShort(lvalue) \ CShort(rvalue)
+                End If
+            Case TypeCode.UInt16
+                result = CUShort(lvalue) \ CUShort(rvalue)
+            Case TypeCode.Int32
+                If CInt(lvalue) = Integer.MinValue AndAlso CInt(rvalue) = -1 Then
+                    result = CLng(lvalue) \ CLng(rvalue)
+                Else
+                    result = CInt(lvalue) \ CInt(rvalue)
+                End If
+            Case TypeCode.UInt32
+                result = CUInt(lvalue) / CUInt(rvalue)
+            Case TypeCode.Int64
+                If CLng(lvalue) = Long.MinValue AndAlso CLng(rvalue) = -1 Then
+                    result = MyBase.Show30059
+                Else
+                    result = CLng(lvalue) \ CLng(rvalue)
+                End If
+            Case TypeCode.UInt64
+                result = CULng(lvalue) \ CULng(rvalue)
+            Case Else
+                If ShowError Then Show30059()
+                Return False
+        End Select
 
-                Select Case csmallest
-                    Case TypeCode.Byte
-                        Return CByte(lvalue) \ CByte(rvalue)
-                    Case TypeCode.SByte
-                        If CSByte(lvalue) = SByte.MinValue AndAlso CSByte(rvalue) = -1 Then
-                            Return CShort(lvalue) \ CShort(rvalue)
-                        Else
-                            Return CSByte(lvalue) \ CSByte(rvalue)
-                        End If
-                    Case TypeCode.Int16
-                        If CShort(lvalue) = Short.MinValue AndAlso CShort(rvalue) = -1 Then
-                            Return CInt(lvalue) \ CInt(rvalue)
-                        Else
-                            Return CShort(lvalue) \ CShort(rvalue)
-                        End If
-                    Case TypeCode.UInt16
-                        Return CUShort(lvalue) \ CUShort(rvalue)
-                    Case TypeCode.Int32
-                        If CInt(lvalue) = Integer.MinValue AndAlso CInt(rvalue) = -1 Then
-                            Return CLng(lvalue) \ CLng(rvalue)
-                        Else
-                            Return CInt(lvalue) \ CInt(rvalue)
-                        End If
-                    Case TypeCode.UInt32
-                        Return CUInt(lvalue) / CUInt(rvalue)
-                    Case TypeCode.Int64
-                        If CLng(lvalue) = Long.MinValue AndAlso CLng(rvalue) = -1 Then
-                            'Return CDec(lvalue) \ CDec(rvalue)
-                            Throw New InternalException(Me)
-                        Else
-                            Return CLng(lvalue) \ CLng(rvalue)
-                        End If
-                    Case TypeCode.UInt64
-                        Return CULng(lvalue) \ CULng(rvalue)
-                    Case TypeCode.Double
-                        'Return CDbl(lvalue) \ CDbl(rvalue)
-                        Throw New InternalException(Me)
-                    Case TypeCode.Single
-                        'Return CSng(lvalue) \ CSng(rvalue)
-                        Throw New InternalException(Me)
-                    Case TypeCode.Decimal
-                        'Return CDec(lvalue) \ CDec(rvalue)
-                        Throw New InternalException(Me)
-                    Case Else
-                        Helper.Stop()
-                        Throw New InternalException(Me)
-                End Select
-            End If
-        End Get
-    End Property
+        Return True
+    End Function
 End Class
diff --git a/vbnc/vbnc/source/Expressions/BinaryExpressions/Is_IsNotExpression.vb b/vbnc/vbnc/source/Expressions/BinaryExpressions/Is_IsNotExpression.vb
index e49f0e9..38a2601 100644
--- a/vbnc/vbnc/source/Expressions/BinaryExpressions/Is_IsNotExpression.vb
+++ b/vbnc/vbnc/source/Expressions/BinaryExpressions/Is_IsNotExpression.vb
@@ -33,6 +33,27 @@ Public Class Is_IsNotExpression
     Protected Overrides Function ResolveExpressionInternal(ByVal Info As ResolveInfo) As Boolean
         Dim result As Boolean = True
 
+        result = MyBase.ResolveExpressions(Info) AndAlso result
+
+        If Not result Then Return False
+
+        If CecilHelper.IsValueType(m_LeftExpression.ExpressionType) AndAlso CecilHelper.IsNullable(m_LeftExpression.ExpressionType) = False Then
+            If Keyword = KS.Is Then
+                Compiler.Report.ShowMessage(Messages.VBNC30020, Me.Location, Helper.ToString(Compiler, m_LeftExpression.ExpressionType))
+            Else
+                Compiler.Report.ShowMessage(Messages.VBNC31419, Me.Location, Helper.ToString(Compiler, m_LeftExpression.ExpressionType))
+            End If
+        End If
+        If CecilHelper.IsValueType(m_RightExpression.ExpressionType) AndAlso CecilHelper.IsNullable(m_RightExpression.ExpressionType) = False Then
+            If Keyword = KS.Is Then
+                Compiler.Report.ShowMessage(Messages.VBNC30020, Me.Location, Helper.ToString(Compiler, m_RightExpression.ExpressionType))
+            Else
+                Compiler.Report.ShowMessage(Messages.VBNC31419, Me.Location, Helper.ToString(Compiler, m_RightExpression.ExpressionType))
+            End If
+        End If
+
+        If result = False Then Return False
+
         result = MyBase.ResolveExpressionInternal(Info) AndAlso result
 
         If result AndAlso CecilHelper.IsGenericParameter(m_LeftExpression.ExpressionType) Then
@@ -89,6 +110,22 @@ Public Class Is_IsNotExpression
         Return result
     End Function
 
+    Public Overrides Function GetConstant(ByRef result As Object, ByVal ShowError As Boolean) As Boolean
+        Dim rvalue As Object = Nothing
+        Dim lvalue As Object = Nothing
+
+        If Not m_LeftExpression.GetConstant(lvalue, ShowError) Then Return False
+        If Not m_RightExpression.GetConstant(rvalue, ShowError) Then Return False
+
+        If lvalue Is Nothing Or rvalue Is Nothing Then
+            result = True
+            Return True
+        End If
+
+        If ShowError Then Show30059()
+        Return False
+    End Function
+
     Overrides ReadOnly Property ExpressionType() As Mono.Cecil.TypeReference
         Get
             Return Compiler.TypeCache.System_Boolean
@@ -101,12 +138,6 @@ Public Class Is_IsNotExpression
         Helper.Assert(m_Keyword = KS.Is OrElse m_Keyword = KS.IsNot)
     End Sub
 
-    Public Overrides ReadOnly Property IsConstant() As Boolean
-        Get
-            Return False
-        End Get
-    End Property
-
     Public Overrides ReadOnly Property Keyword() As KS
         Get
             Helper.Assert(m_Keyword = KS.Is OrElse m_Keyword = KS.IsNot)
@@ -114,3 +145,4 @@ Public Class Is_IsNotExpression
         End Get
     End Property
 End Class
+
diff --git a/vbnc/vbnc/source/Expressions/BinaryExpressions/LEExpression.vb b/vbnc/vbnc/source/Expressions/BinaryExpressions/LEExpression.vb
index b77e612..e336ac8 100644
--- a/vbnc/vbnc/source/Expressions/BinaryExpressions/LEExpression.vb
+++ b/vbnc/vbnc/source/Expressions/BinaryExpressions/LEExpression.vb
@@ -48,7 +48,11 @@ Public Class LEExpression
             Case TypeCode.Object
                 Helper.Assert(Helper.CompareType(OperandType, Compiler.TypeCache.System_Object))
                 Emitter.EmitLoadI4Value(Info, Info.IsOptionCompareText)
-                Emitter.EmitCall(Info, Compiler.TypeCache.MS_VB_CS_Operators__ConditionalCompareObjectLessEqual_Object_Object_Boolean)
+                If Helper.CompareType(ExpressionType, Compiler.TypeCache.System_Object) Then
+                    Emitter.EmitCall(Info, Compiler.TypeCache.MS_VB_CS_Operators__CompareObjectLessEqual_Object_Object_Boolean)
+                Else
+                    Emitter.EmitCall(Info, Compiler.TypeCache.MS_VB_CS_Operators__ConditionalCompareObjectLessEqual_Object_Object_Boolean)
+                End If
             Case TypeCode.String
                 Emitter.EmitLoadI4Value(Info, Info.IsOptionCompareText)
                 Emitter.EmitCall(Info, Compiler.TypeCache.MS_VB_CS_Operators__CompareString_String_String_Boolean)
@@ -77,74 +81,67 @@ Public Class LEExpression
         End Get
     End Property
 
-    Public Overrides ReadOnly Property IsConstant() As Boolean
-        Get
-            Return MyBase.IsConstant 'CHECK: is this true?
-        End Get
-    End Property
-
-    Public Overrides ReadOnly Property ConstantValue() As Object
-        Get
-            Dim rvalue, lvalue As Object
-            lvalue = m_LeftExpression.ConstantValue
-            rvalue = m_RightExpression.ConstantValue
-            If lvalue Is Nothing Or rvalue Is Nothing Then
-                Return Nothing
-            Else
-
-                Dim tlvalue, trvalue As Mono.Cecil.TypeReference
-                Dim clvalue, crvalue As TypeCode
-                tlvalue = CecilHelper.GetType(Compiler, lvalue)
-                clvalue = Helper.GetTypeCode(Compiler, tlvalue)
-                trvalue = CecilHelper.GetType(Compiler, rvalue)
-                crvalue = Helper.GetTypeCode(Compiler, trvalue)
-
-                If clvalue = TypeCode.Boolean AndAlso crvalue = TypeCode.Boolean Then
-                    Return CBool(lvalue) <= CBool(rvalue)
-                ElseIf clvalue = TypeCode.DateTime AndAlso crvalue = TypeCode.DateTime Then
-                    Return CDate(lvalue) <= CDate(rvalue)
-                ElseIf clvalue = TypeCode.Char AndAlso crvalue = TypeCode.Char Then
-                    Return CChar(lvalue) <= CChar(rvalue)
-                ElseIf clvalue = TypeCode.String AndAlso crvalue = TypeCode.String Then
-                    Return CStr(lvalue) <= CStr(rvalue)
-                ElseIf clvalue = TypeCode.String AndAlso crvalue = TypeCode.Char OrElse _
-                 clvalue = TypeCode.Char AndAlso crvalue = TypeCode.String Then
-                    Return CStr(lvalue) <= CStr(rvalue)
-                End If
+    Public Overrides Function GetConstant(ByRef m_ConstantValue As Object, ByVal lvalue As Object, ByVal rvalue As Object) As Boolean
+        Dim tlvalue, trvalue As Mono.Cecil.TypeReference
+        Dim clvalue, crvalue As TypeCode
+
+        tlvalue = CecilHelper.GetType(Compiler, lvalue)
+        clvalue = Helper.GetTypeCode(Compiler, tlvalue)
+        trvalue = CecilHelper.GetType(Compiler, rvalue)
+        crvalue = Helper.GetTypeCode(Compiler, trvalue)
+
+        If clvalue = TypeCode.Boolean AndAlso crvalue = TypeCode.Boolean Then
+            m_ConstantValue = CBool(lvalue) <= CBool(rvalue)
+            Return True
+        ElseIf clvalue = TypeCode.DateTime AndAlso crvalue = TypeCode.DateTime Then
+            m_ConstantValue = CDate(lvalue) <= CDate(rvalue)
+            Return True
+        ElseIf clvalue = TypeCode.Char AndAlso crvalue = TypeCode.Char Then
+            m_ConstantValue = CChar(lvalue) <= CChar(rvalue)
+            Return True
+        ElseIf clvalue = TypeCode.String AndAlso crvalue = TypeCode.String Then
+            m_ConstantValue = CStr(lvalue) <= CStr(rvalue)
+            Return True
+        ElseIf clvalue = TypeCode.String AndAlso crvalue = TypeCode.Char OrElse _
+         clvalue = TypeCode.Char AndAlso crvalue = TypeCode.String Then
+            m_ConstantValue = CStr(lvalue) <= CStr(rvalue)
+            Return True
+        End If
+
+        Dim smallest As Mono.Cecil.TypeReference
+        Dim csmallest As TypeCode
+        smallest = Compiler.TypeResolution.GetSmallestIntegralType(tlvalue, trvalue)
+        Helper.Assert(smallest IsNot Nothing)
+        csmallest = Helper.GetTypeCode(Compiler, smallest)
+
+        Select Case csmallest
+            Case TypeCode.Byte
+                m_ConstantValue = CByte(lvalue) <= CByte(rvalue)
+            Case TypeCode.SByte
+                m_ConstantValue = CSByte(lvalue) <= CSByte(rvalue)
+            Case TypeCode.Int16
+                m_ConstantValue = CShort(lvalue) <= CShort(rvalue)
+            Case TypeCode.UInt16
+                m_ConstantValue = CUShort(lvalue) <= CUShort(rvalue)
+            Case TypeCode.Int32
+                m_ConstantValue = CInt(lvalue) <= CInt(rvalue)
+            Case TypeCode.UInt32
+                m_ConstantValue = CUInt(lvalue) <= CUInt(rvalue)
+            Case TypeCode.Int64
+                m_ConstantValue = CLng(lvalue) <= CLng(rvalue)
+            Case TypeCode.UInt64
+                m_ConstantValue = CULng(lvalue) <= CULng(rvalue)
+            Case TypeCode.Double
+                m_ConstantValue = CDbl(lvalue) <= CDbl(rvalue)
+            Case TypeCode.Single
+                m_ConstantValue = CSng(lvalue) <= CSng(rvalue)
+            Case TypeCode.Decimal
+                m_ConstantValue = CDec(lvalue) <= CDec(rvalue)
+            Case Else
+                Return False
+        End Select
 
-                Dim smallest As Mono.Cecil.TypeReference
-                Dim csmallest As TypeCode
-                smallest = Compiler.TypeResolution.GetSmallestIntegralType(tlvalue, trvalue)
-                Helper.Assert(smallest IsNot Nothing)
-                csmallest = Helper.GetTypeCode(Compiler, smallest)
-
-                Select Case csmallest
-                    Case TypeCode.Byte
-                        Return CByte(lvalue) <= CByte(rvalue)
-                    Case TypeCode.SByte
-                        Return CSByte(lvalue) <= CSByte(rvalue)
-                    Case TypeCode.Int16
-                        Return CShort(lvalue) <= CShort(rvalue)
-                    Case TypeCode.UInt16
-                        Return CUShort(lvalue) <= CUShort(rvalue)
-                    Case TypeCode.Int32
-                        Return CInt(lvalue) <= CInt(rvalue)
-                    Case TypeCode.UInt32
-                        Return CUInt(lvalue) <= CUInt(rvalue)
-                    Case TypeCode.Int64
-                        Return CLng(lvalue) <= CLng(rvalue)
-                    Case TypeCode.UInt64
-                        Return CULng(lvalue) <= CULng(rvalue)
-                    Case TypeCode.Double
-                        Return CDbl(lvalue) <= CDbl(rvalue)
-                    Case TypeCode.Single
-                        Return CSng(lvalue) <= CSng(rvalue)
-                    Case TypeCode.Decimal
-                        Return CDec(lvalue) <= CDec(rvalue)
-                    Case Else
-                        Throw New InternalException(Me)
-                End Select
-            End If
-        End Get
-    End Property
+        Return True
+    End Function
 End Class
+
diff --git a/vbnc/vbnc/source/Expressions/BinaryExpressions/LShiftExpression.vb b/vbnc/vbnc/source/Expressions/BinaryExpressions/LShiftExpression.vb
index f63371f..8a06c94 100644
--- a/vbnc/vbnc/source/Expressions/BinaryExpressions/LShiftExpression.vb
+++ b/vbnc/vbnc/source/Expressions/BinaryExpressions/LShiftExpression.vb
@@ -76,61 +76,42 @@ Public Class LShiftExpression
         End Get
     End Property
 
-    Public Overrides ReadOnly Property IsConstant() As Boolean
-        Get
-            Return MyBase.IsConstant 'CHECK: is this true?
-        End Get
-    End Property
+    Public Overrides Function GetConstant(ByRef m_ConstantValue As Object, ByVal lvalue As Object, ByVal rvalue As Object) As Boolean
+        Dim shifts As Integer 'This needs to be an integer.
+        Dim tmpShifts As Object = Nothing
 
-    Public Overrides ReadOnly Property ConstantValue() As Object
-        Get
-            Dim rvalue, lvalue As Object
-            lvalue = m_LeftExpression.ConstantValue
-            rvalue = m_RightExpression.ConstantValue
-            If lvalue Is Nothing Or rvalue Is Nothing Then
-                Return Nothing
-            Else
+        If Compiler.TypeResolution.CheckNumericRange(rvalue, tmpShifts, Compiler.TypeCache.System_Int32) = False Then
+            Return False
+        Else
+            shifts = CInt(tmpShifts)
+        End If
 
-                Dim shifts As Integer 'This needs to be an integer.
-                Dim tmpShifts As Object = Nothing
-                If Compiler.TypeResolution.CheckNumericRange(rvalue, tmpShifts, Compiler.TypeCache.System_Int32) = False Then
-                    Helper.Stop() 'Add error.
-                Else
-                    shifts = CInt(tmpShifts)
-                End If
+        Dim tlvalue As Mono.Cecil.TypeReference
+        Dim clvalue As TypeCode
+        tlvalue = CecilHelper.GetType(Compiler, lvalue)
+        clvalue = Helper.GetTypeCode(Compiler, tlvalue)
 
-                Dim tlvalue As Mono.Cecil.TypeReference
-                Dim clvalue As TypeCode
-                tlvalue = CecilHelper.GetType(Compiler, lvalue)
-                clvalue = Helper.GetTypeCode(Compiler, tlvalue)
+        Select Case clvalue
+            Case TypeCode.Byte
+                m_ConstantValue = CByte(lvalue) << shifts
+            Case TypeCode.SByte
+                m_ConstantValue = CSByte(lvalue) << shifts
+            Case TypeCode.Int16
+                m_ConstantValue = CShort(lvalue) << shifts
+            Case TypeCode.UInt16
+                m_ConstantValue = CUShort(lvalue) << shifts
+            Case TypeCode.Int32
+                m_ConstantValue = CInt(lvalue) << shifts
+            Case TypeCode.UInt32
+                m_ConstantValue = CUInt(lvalue) << shifts
+            Case TypeCode.Int64
+                m_ConstantValue = CLng(lvalue) << shifts
+            Case TypeCode.UInt64
+                m_ConstantValue = CULng(lvalue) << shifts
+            Case Else
+                Return False
+        End Select
 
-                Select Case clvalue
-                    Case TypeCode.Byte
-                        Return CByte(lvalue) << shifts
-                    Case TypeCode.SByte
-                        Return CSByte(lvalue) << shifts
-                    Case TypeCode.Int16
-                        Return CShort(lvalue) << shifts
-                    Case TypeCode.UInt16
-                        Return CUShort(lvalue) << shifts
-                    Case TypeCode.Int32
-                        Return CInt(lvalue) << shifts
-                    Case TypeCode.UInt32
-                        Return CUInt(lvalue) << shifts
-                    Case TypeCode.Int64
-                        Return CLng(lvalue) << shifts
-                    Case TypeCode.UInt64
-                        Return CULng(lvalue) << shifts
-                    Case TypeCode.Double
-                        Throw New InternalException(Me)
-                    Case TypeCode.Single
-                        Throw New InternalException(Me)
-                    Case TypeCode.Decimal
-                        Throw New InternalException(Me)
-                    Case Else
-                        Throw New InternalException(Me)
-                End Select
-            End If
-        End Get
-    End Property
+        Return True
+    End Function
 End Class
diff --git a/vbnc/vbnc/source/Expressions/BinaryExpressions/LTExpression.vb b/vbnc/vbnc/source/Expressions/BinaryExpressions/LTExpression.vb
index 8191eb7..8858a08 100644
--- a/vbnc/vbnc/source/Expressions/BinaryExpressions/LTExpression.vb
+++ b/vbnc/vbnc/source/Expressions/BinaryExpressions/LTExpression.vb
@@ -48,7 +48,11 @@ Public Class LTExpression
             Case TypeCode.Object
                 Helper.Assert(Helper.CompareType(OperandType, Compiler.TypeCache.System_Object))
                 Emitter.EmitLoadI4Value(Info, Info.IsOptionCompareText)
-                Emitter.EmitCall(Info, Compiler.TypeCache.MS_VB_CS_Operators__ConditionalCompareObjectLess_Object_Object_Boolean)
+                If Helper.CompareType(ExpressionType, Compiler.TypeCache.System_Object) Then
+                    Emitter.EmitCall(Info, Compiler.TypeCache.MS_VB_CS_Operators__CompareObjectLess_Object_Object_Boolean)
+                Else
+                    Emitter.EmitCall(Info, Compiler.TypeCache.MS_VB_CS_Operators__ConditionalCompareObjectLess_Object_Object_Boolean)
+                End If
             Case TypeCode.String
                 Emitter.EmitLoadI4Value(Info, Info.IsOptionCompareText)
                 Emitter.EmitCall(Info, Compiler.TypeCache.MS_VB_CS_Operators__CompareString_String_String_Boolean)
@@ -70,75 +74,79 @@ Public Class LTExpression
             Return KS.LT
         End Get
     End Property
+    
+    Public Overrides Function GetConstant(ByRef result As Object, ByVal ShowError As Boolean) As Boolean
+        Dim rvalue As Object = Nothing
+        Dim lvalue As Object = Nothing
 
-    Public Overrides ReadOnly Property IsConstant() As Boolean
-        Get
-            Return MyBase.IsConstant 'CHECK: is this true?
-        End Get
-    End Property
+        If Not m_LeftExpression.GetConstant(lvalue, ShowError) Then Return False
+        If Not m_RightExpression.GetConstant(rvalue, ShowError) Then Return False
 
-    Public Overrides ReadOnly Property ConstantValue() As Object
-        Get
-            Dim rvalue, lvalue As Object
-            lvalue = m_LeftExpression.ConstantValue
-            rvalue = m_RightExpression.ConstantValue
-            If lvalue Is Nothing Or rvalue Is Nothing Then
-                Return Nothing
-            Else
-
-                Dim tlvalue, trvalue As Mono.Cecil.TypeReference
-                Dim clvalue, crvalue As TypeCode
-                tlvalue = CecilHelper.GetType(Compiler, lvalue)
-                clvalue = Helper.GetTypeCode(Compiler, tlvalue)
-                trvalue = CecilHelper.GetType(Compiler, rvalue)
-                crvalue = Helper.GetTypeCode(Compiler, trvalue)
-
-                If clvalue = TypeCode.Boolean AndAlso crvalue = TypeCode.Boolean Then
-                    Return CBool(lvalue) < CBool(rvalue)
-                ElseIf clvalue = TypeCode.DateTime AndAlso crvalue = TypeCode.DateTime Then
-                    Return CDate(lvalue) < CDate(rvalue)
-                ElseIf clvalue = TypeCode.Char AndAlso crvalue = TypeCode.Char Then
-                    Return CChar(lvalue) < CChar(rvalue)
-                ElseIf clvalue = TypeCode.String AndAlso crvalue = TypeCode.String Then
-                    Return CStr(lvalue) < CStr(rvalue)
-                ElseIf clvalue = TypeCode.String AndAlso crvalue = TypeCode.Char OrElse _
-                 clvalue = TypeCode.Char AndAlso crvalue = TypeCode.String Then
-                    Return CStr(lvalue) < CStr(rvalue)
-                End If
+        If lvalue Is Nothing Or rvalue Is Nothing Then
+            result = Nothing
+            Return True
+        End If
 
-                Dim smallest As Mono.Cecil.TypeReference
-                Dim csmallest As TypeCode
-                smallest = Compiler.TypeResolution.GetSmallestIntegralType(tlvalue, trvalue)
-                Helper.Assert(smallest IsNot Nothing)
-                csmallest = Helper.GetTypeCode(Compiler, smallest)
-
-                Select Case csmallest
-                    Case TypeCode.Byte
-                        Return CByte(lvalue) < CByte(rvalue)
-                    Case TypeCode.SByte
-                        Return CSByte(lvalue) < CSByte(rvalue)
-                    Case TypeCode.Int16
-                        Return CShort(lvalue) < CShort(rvalue)
-                    Case TypeCode.UInt16
-                        Return CUShort(lvalue) < CUShort(rvalue)
-                    Case TypeCode.Int32
-                        Return CInt(lvalue) < CInt(rvalue)
-                    Case TypeCode.UInt32
-                        Return CUInt(lvalue) < CUInt(rvalue)
-                    Case TypeCode.Int64
-                        Return CLng(lvalue) < CLng(rvalue)
-                    Case TypeCode.UInt64
-                        Return CULng(lvalue) < CULng(rvalue)
-                    Case TypeCode.Double
-                        Return CDbl(lvalue) < CDbl(rvalue)
-                    Case TypeCode.Single
-                        Return CSng(lvalue) < CSng(rvalue)
-                    Case TypeCode.Decimal
-                        Return CDec(lvalue) < CDec(rvalue)
-                    Case Else
-                        Throw New InternalException(Me)
-                End Select
-            End If
-        End Get
-    End Property
+        Dim tlvalue, trvalue As Mono.Cecil.TypeReference
+        Dim clvalue, crvalue As TypeCode
+        tlvalue = CecilHelper.GetType(Compiler, lvalue)
+        clvalue = Helper.GetTypeCode(Compiler, tlvalue)
+        trvalue = CecilHelper.GetType(Compiler, rvalue)
+        crvalue = Helper.GetTypeCode(Compiler, trvalue)
+
+        If clvalue = TypeCode.Boolean AndAlso crvalue = TypeCode.Boolean Then
+            result = CBool(lvalue) < CBool(rvalue)
+            Return True
+        ElseIf clvalue = TypeCode.DateTime AndAlso crvalue = TypeCode.DateTime Then
+            result = CDate(lvalue) < CDate(rvalue)
+            Return True
+        ElseIf clvalue = TypeCode.Char AndAlso crvalue = TypeCode.Char Then
+            result = CChar(lvalue) < CChar(rvalue)
+            Return True
+        ElseIf clvalue = TypeCode.String AndAlso crvalue = TypeCode.String Then
+            result = CStr(lvalue) < CStr(rvalue)
+            Return True
+        ElseIf clvalue = TypeCode.String AndAlso crvalue = TypeCode.Char OrElse _
+         clvalue = TypeCode.Char AndAlso crvalue = TypeCode.String Then
+            result = CStr(lvalue) < CStr(rvalue)
+            Return True
+        End If
+
+        Dim smallest As Mono.Cecil.TypeReference
+        Dim csmallest As TypeCode
+        smallest = Compiler.TypeResolution.GetSmallestIntegralType(tlvalue, trvalue)
+        Helper.Assert(smallest IsNot Nothing)
+        csmallest = Helper.GetTypeCode(Compiler, smallest)
+
+        Select Case csmallest
+            Case TypeCode.Byte
+                result = CByte(lvalue) < CByte(rvalue)
+            Case TypeCode.SByte
+                result = CSByte(lvalue) < CSByte(rvalue)
+            Case TypeCode.Int16
+                result = CShort(lvalue) < CShort(rvalue)
+            Case TypeCode.UInt16
+                result = CUShort(lvalue) < CUShort(rvalue)
+            Case TypeCode.Int32
+                result = CInt(lvalue) < CInt(rvalue)
+            Case TypeCode.UInt32
+                result = CUInt(lvalue) < CUInt(rvalue)
+            Case TypeCode.Int64
+                result = CLng(lvalue) < CLng(rvalue)
+            Case TypeCode.UInt64
+                result = CULng(lvalue) < CULng(rvalue)
+            Case TypeCode.Double
+                result = CDbl(lvalue) < CDbl(rvalue)
+            Case TypeCode.Single
+                result = CSng(lvalue) < CSng(rvalue)
+            Case TypeCode.Decimal
+                result = CDec(lvalue) < CDec(rvalue)
+            Case Else
+                If ShowError Then Show30059()
+                Return False
+        End Select
+
+        Return True
+    End Function
 End Class
+
diff --git a/vbnc/vbnc/source/Expressions/BinaryExpressions/LikeExpression.vb b/vbnc/vbnc/source/Expressions/BinaryExpressions/LikeExpression.vb
index 73f450b..acfc912 100644
--- a/vbnc/vbnc/source/Expressions/BinaryExpressions/LikeExpression.vb
+++ b/vbnc/vbnc/source/Expressions/BinaryExpressions/LikeExpression.vb
@@ -55,12 +55,6 @@ Public Class LikeExpression
         MyBase.New(Parent, LExp, RExp)
     End Sub
 
-    Public Overrides ReadOnly Property IsConstant() As Boolean
-        Get
-            Return False
-        End Get
-    End Property
-
     Public Overrides ReadOnly Property Keyword() As KS
         Get
             Return KS.Like
diff --git a/vbnc/vbnc/source/Expressions/BinaryExpressions/ModExpression.vb b/vbnc/vbnc/source/Expressions/BinaryExpressions/ModExpression.vb
index fe4cb2e..677404d 100644
--- a/vbnc/vbnc/source/Expressions/BinaryExpressions/ModExpression.vb
+++ b/vbnc/vbnc/source/Expressions/BinaryExpressions/ModExpression.vb
@@ -57,60 +57,57 @@ Public Class ModExpression
         End Get
     End Property
 
-    Public Overrides ReadOnly Property IsConstant() As Boolean
-        Get
-            Return MyBase.IsConstant 'CHECK: is this true?
-        End Get
-    End Property
+    Public Overrides Function GetConstant(ByRef m_ConstantValue As Object, ByVal ShowError As Boolean) As Boolean
+        Dim rvalue As Object = Nothing
+        Dim lvalue As Object = Nothing
 
-    Public Overrides ReadOnly Property ConstantValue() As Object
-        Get
-            Dim rvalue, lvalue As Object
-            lvalue = m_LeftExpression.ConstantValue
-            rvalue = m_RightExpression.ConstantValue
-
-            If lvalue Is Nothing Then lvalue = 0
-            If rvalue Is Nothing Then rvalue = 0
-
-            Dim tlvalue, trvalue As Mono.Cecil.TypeReference
-            Dim clvalue, crvalue As TypeCode
-            tlvalue = CecilHelper.GetType(Compiler, lvalue)
-            clvalue = Helper.GetTypeCode(Compiler, tlvalue)
-            trvalue = CecilHelper.GetType(Compiler, rvalue)
-            crvalue = Helper.GetTypeCode(Compiler, trvalue)
-
-            Dim smallest As Mono.Cecil.TypeReference
-            Dim csmallest As TypeCode
-            smallest = Compiler.TypeResolution.GetSmallestIntegralType(tlvalue, trvalue)
-            Helper.Assert(smallest IsNot Nothing)
-            csmallest = Helper.GetTypeCode(Compiler, smallest)
-
-            Select Case csmallest
-                Case TypeCode.Byte
-                    Return CByte(lvalue) Mod CByte(rvalue)
-                Case TypeCode.SByte
-                    Return CSByte(lvalue) Mod CSByte(rvalue)
-                Case TypeCode.Int16
-                    Return CShort(lvalue) Mod CShort(rvalue)
-                Case TypeCode.UInt16
-                    Return CUShort(lvalue) Mod CUShort(rvalue)
-                Case TypeCode.Int32
-                    Return CInt(lvalue) Mod CInt(rvalue)
-                Case TypeCode.UInt32
-                    Return CUInt(lvalue) Mod CUInt(rvalue)
-                Case TypeCode.Int64
-                    Return CLng(lvalue) Mod CLng(rvalue)
-                Case TypeCode.UInt64
-                    Return CULng(lvalue) Mod CULng(rvalue)
-                Case TypeCode.Double
-                    Return CDbl(lvalue) Mod CDbl(rvalue)
-                Case TypeCode.Single
-                    Return CSng(lvalue) Mod CSng(rvalue)
-                Case TypeCode.Decimal
-                    Return CDec(lvalue) Mod CDec(rvalue)
-                Case Else
-                    Throw New InternalException(Me)
-            End Select
-        End Get
-    End Property
+        If Not m_LeftExpression.GetConstant(lvalue, ShowError) Then Return False
+        If Not m_RightExpression.GetConstant(rvalue, ShowError) Then Return False
+
+        If lvalue Is Nothing Then lvalue = 0
+        If rvalue Is Nothing Then rvalue = 0
+
+        Dim tlvalue, trvalue As Mono.Cecil.TypeReference
+        Dim clvalue, crvalue As TypeCode
+        tlvalue = CecilHelper.GetType(Compiler, lvalue)
+        clvalue = Helper.GetTypeCode(Compiler, tlvalue)
+        trvalue = CecilHelper.GetType(Compiler, rvalue)
+        crvalue = Helper.GetTypeCode(Compiler, trvalue)
+
+        Dim smallest As Mono.Cecil.TypeReference
+        Dim csmallest As TypeCode
+        smallest = Compiler.TypeResolution.GetSmallestIntegralType(tlvalue, trvalue)
+        Helper.Assert(smallest IsNot Nothing)
+        csmallest = Helper.GetTypeCode(Compiler, smallest)
+
+        Select Case csmallest
+            Case TypeCode.Byte
+                m_ConstantValue = CByte(lvalue) Mod CByte(rvalue)
+            Case TypeCode.SByte
+                m_ConstantValue = CSByte(lvalue) Mod CSByte(rvalue)
+            Case TypeCode.Int16
+                m_ConstantValue = CShort(lvalue) Mod CShort(rvalue)
+            Case TypeCode.UInt16
+                m_ConstantValue = CUShort(lvalue) Mod CUShort(rvalue)
+            Case TypeCode.Int32
+                m_ConstantValue = CInt(lvalue) Mod CInt(rvalue)
+            Case TypeCode.UInt32
+                m_ConstantValue = CUInt(lvalue) Mod CUInt(rvalue)
+            Case TypeCode.Int64
+                m_ConstantValue = CLng(lvalue) Mod CLng(rvalue)
+            Case TypeCode.UInt64
+                m_ConstantValue = CULng(lvalue) Mod CULng(rvalue)
+            Case TypeCode.Double
+                m_ConstantValue = CDbl(lvalue) Mod CDbl(rvalue)
+            Case TypeCode.Single
+                m_ConstantValue = CSng(lvalue) Mod CSng(rvalue)
+            Case TypeCode.Decimal
+                m_ConstantValue = CDec(lvalue) Mod CDec(rvalue)
+            Case Else
+                If ShowError Then Show30059()
+                Return False
+        End Select
+
+        Return True
+    End Function
 End Class
diff --git a/vbnc/vbnc/source/Expressions/BinaryExpressions/MultExpression.vb b/vbnc/vbnc/source/Expressions/BinaryExpressions/MultExpression.vb
index 35a1c4f..beb88a5 100644
--- a/vbnc/vbnc/source/Expressions/BinaryExpressions/MultExpression.vb
+++ b/vbnc/vbnc/source/Expressions/BinaryExpressions/MultExpression.vb
@@ -57,102 +57,89 @@ Public Class MultExpression
         End Get
     End Property
 
-    Public Overrides ReadOnly Property IsConstant() As Boolean
-        Get
-            Return MyBase.IsConstant 'This is not quite true...
-        End Get
-    End Property
+    Public Overrides Function GetConstant(ByRef m_ConstantValue As Object, ByVal lvalue As Object, ByVal rvalue As Object) As Boolean
+        Dim tlvalue, trvalue As Mono.Cecil.TypeReference
+        Dim clvalue, crvalue As TypeCode
 
-    Public Overrides ReadOnly Property ConstantValue() As Object
-        Get
-            Dim lvalue, rvalue As Object
-            lvalue = m_LeftExpression.ConstantValue
-            rvalue = m_RightExpression.ConstantValue
-            If lvalue Is Nothing OrElse rvalue Is Nothing Then
-                Return Nothing
-            Else
-                Dim tlvalue, trvalue As Mono.Cecil.TypeReference
-                Dim clvalue, crvalue As TypeCode
-                tlvalue = CecilHelper.GetType(Compiler, lvalue)
-                clvalue = Helper.GetTypeCode(Compiler, tlvalue)
-                trvalue = CecilHelper.GetType(Compiler, rvalue)
-                crvalue = Helper.GetTypeCode(Compiler, trvalue)
+        tlvalue = CecilHelper.GetType(Compiler, lvalue)
+        clvalue = Helper.GetTypeCode(Compiler, tlvalue)
+        trvalue = CecilHelper.GetType(Compiler, rvalue)
+        crvalue = Helper.GetTypeCode(Compiler, trvalue)
 
-                Dim csmallest As TypeCode
-                csmallest = TypeConverter.GetBinaryOperandType(Compiler, Me.Keyword, tlvalue, trvalue)
+        Dim csmallest As TypeCode
+        csmallest = TypeConverter.GetBinaryOperandType(Compiler, Me.Keyword, tlvalue, trvalue)
 
-                Select Case csmallest
-                    Case TypeCode.Byte
-                        Dim tmp As UShort = CUShort(lvalue) * CUShort(rvalue)
-                        If tmp < Byte.MinValue OrElse tmp > Byte.MaxValue Then
-                            Return tmp
-                        Else
-                            Return CByte(lvalue) * CByte(rvalue)
-                        End If
-                    Case TypeCode.SByte
-                        Dim tmp As Short = CShort(lvalue) * CShort(rvalue)
-                        If tmp < SByte.MinValue OrElse tmp > SByte.MaxValue Then
-                            Return tmp
-                        Else
-                            Return CSByte(lvalue) * CSByte(rvalue)
-                        End If
-                    Case TypeCode.Int16
-                        Dim tmp As Integer = CInt(lvalue) * CInt(rvalue)
-                        If tmp > Short.MaxValue OrElse tmp < Short.MinValue Then
-                            Return tmp
-                        Else
-                            Return CShort(lvalue) * CShort(rvalue)
-                        End If
-                    Case TypeCode.UInt16
-                        Dim tmp As UInteger = CUInt(lvalue) * CUInt(rvalue)
-                        If tmp > UShort.MaxValue Then
-                            Return tmp
-                        Else
-                            Return CUShort(lvalue) * CUShort(rvalue)
-                        End If
-                    Case TypeCode.Int32
-                        Dim tmp As Long = CLng(lvalue) * CLng(rvalue)
-                        If tmp > Integer.MaxValue OrElse tmp < Integer.MinValue Then
-                            Return tmp
-                        Else
-                            Return CInt(lvalue) * CInt(rvalue)
-                        End If
-                    Case TypeCode.UInt32
-                        Dim tmp As ULong = CULng(lvalue) * CULng(rvalue)
-                        If tmp > UInteger.MaxValue Then
-                            Return tmp
-                        Else
-                            Return CUInt(lvalue) * CUInt(rvalue)
-                        End If
-                    Case TypeCode.Int64
-                        Dim tmp As Double
-                        If CLng(rvalue) < 0 Then
-                            tmp = Long.MaxValue / -CLng(rvalue)
-                        Else
-                            tmp = Long.MaxValue / CLng(rvalue)
-                        End If
-                        If CLng(lvalue) < 0 AndAlso -CLng(lvalue) > tmp OrElse CLng(lvalue) > tmp Then
-                            Return CDec(lvalue) * CDec(rvalue)
-                        Else
-                            Return CLng(lvalue) * CLng(rvalue)
-                        End If
-                    Case TypeCode.UInt64
-                        If CULng(lvalue) > ULong.MaxValue / CULng(rvalue) Then
-                            Return CDec(lvalue) * CDec(rvalue)
-                        Else
-                            Return CULng(lvalue) * CULng(rvalue)
-                        End If
-                    Case TypeCode.Double
-                        Return CDbl(lvalue) * CDbl(rvalue) 'No overflow possible
-                    Case TypeCode.Single
-                        Return CSng(lvalue) * CSng(rvalue) 'No overflow possible
-                    Case TypeCode.Decimal
-                        Return CDec(lvalue) * CDec(rvalue)
-                    Case Else
-                        Helper.Stop()
-                        Throw New InternalException(Me)
-                End Select
-            End If
-        End Get
-    End Property
+        Select Case csmallest
+            Case TypeCode.Byte
+                Dim tmp As UShort = CUShort(lvalue) * CUShort(rvalue)
+                If tmp < Byte.MinValue OrElse tmp > Byte.MaxValue Then
+                    m_ConstantValue = tmp
+                Else
+                    m_ConstantValue = CByte(lvalue) * CByte(rvalue)
+                End If
+            Case TypeCode.SByte
+                Dim tmp As Short = CShort(lvalue) * CShort(rvalue)
+                If tmp < SByte.MinValue OrElse tmp > SByte.MaxValue Then
+                    m_ConstantValue = tmp
+                Else
+                    m_ConstantValue = CSByte(lvalue) * CSByte(rvalue)
+                End If
+            Case TypeCode.Int16
+                Dim tmp As Integer = CInt(lvalue) * CInt(rvalue)
+                If tmp > Short.MaxValue OrElse tmp < Short.MinValue Then
+                    m_ConstantValue = tmp
+                Else
+                    m_ConstantValue = CShort(lvalue) * CShort(rvalue)
+                End If
+            Case TypeCode.UInt16
+                Dim tmp As UInteger = CUInt(lvalue) * CUInt(rvalue)
+                If tmp > UShort.MaxValue Then
+                    m_ConstantValue = tmp
+                Else
+                    m_ConstantValue = CUShort(lvalue) * CUShort(rvalue)
+                End If
+            Case TypeCode.Int32
+                Dim tmp As Long = CLng(lvalue) * CLng(rvalue)
+                If tmp > Integer.MaxValue OrElse tmp < Integer.MinValue Then
+                    m_ConstantValue = tmp
+                Else
+                    m_ConstantValue = CInt(lvalue) * CInt(rvalue)
+                End If
+            Case TypeCode.UInt32
+                Dim tmp As ULong = CULng(lvalue) * CULng(rvalue)
+                If tmp > UInteger.MaxValue Then
+                    m_ConstantValue = tmp
+                Else
+                    m_ConstantValue = CUInt(lvalue) * CUInt(rvalue)
+                End If
+            Case TypeCode.Int64
+                Dim tmp As Double
+                If CLng(rvalue) < 0 Then
+                    tmp = Long.MaxValue / -CLng(rvalue)
+                Else
+                    tmp = Long.MaxValue / CLng(rvalue)
+                End If
+                If CLng(lvalue) < 0 AndAlso -CLng(lvalue) > tmp OrElse CLng(lvalue) > tmp Then
+                    m_ConstantValue = CDec(lvalue) * CDec(rvalue)
+                Else
+                    m_ConstantValue = CLng(lvalue) * CLng(rvalue)
+                End If
+            Case TypeCode.UInt64
+                If CULng(lvalue) > ULong.MaxValue / CULng(rvalue) Then
+                    m_ConstantValue = CDec(lvalue) * CDec(rvalue)
+                Else
+                    m_ConstantValue = CULng(lvalue) * CULng(rvalue)
+                End If
+            Case TypeCode.Double
+                m_ConstantValue = CDbl(lvalue) * CDbl(rvalue) 'No overflow possible
+            Case TypeCode.Single
+                m_ConstantValue = CSng(lvalue) * CSng(rvalue) 'No overflow possible
+            Case TypeCode.Decimal
+                m_ConstantValue = CDec(lvalue) * CDec(rvalue)
+            Case Else
+                Return False
+        End Select
+
+        Return True
+    End Function
 End Class
diff --git a/vbnc/vbnc/source/Expressions/BinaryExpressions/NotEqualsExpression.vb b/vbnc/vbnc/source/Expressions/BinaryExpressions/NotEqualsExpression.vb
index db342fd..99f5061 100644
--- a/vbnc/vbnc/source/Expressions/BinaryExpressions/NotEqualsExpression.vb
+++ b/vbnc/vbnc/source/Expressions/BinaryExpressions/NotEqualsExpression.vb
@@ -44,7 +44,11 @@ Public Class NotEqualsExpression
             Case TypeCode.Object
                 Helper.Assert(Helper.CompareType(OperandType, Compiler.TypeCache.System_Object))
                 Emitter.EmitLoadI4Value(Info, Info.IsOptionCompareText)
-                Emitter.EmitCall(Info, Compiler.TypeCache.MS_VB_CS_Operators__ConditionalCompareObjectNotEqual_Object_Object_Boolean)
+                If Helper.CompareType(ExpressionType, Compiler.TypeCache.System_Object) Then
+                    Emitter.EmitCall(Info, Compiler.TypeCache.MS_VB_CS_Operators__CompareObjectNotEqual_Object_Object_Boolean)
+                Else
+                    Emitter.EmitCall(Info, Compiler.TypeCache.MS_VB_CS_Operators__ConditionalCompareObjectNotEqual_Object_Object_Boolean)
+                End If
             Case TypeCode.String
                 Emitter.EmitLoadI4Value(Info, Info.IsOptionCompareText)
                 Emitter.EmitCall(Info, Compiler.TypeCache.MS_VB_CS_Operators__CompareString_String_String_Boolean)
@@ -57,7 +61,6 @@ Public Class NotEqualsExpression
         Return result
     End Function
 
-
     Sub New(ByVal Parent As ParsedObject, ByVal LExp As Expression, ByVal RExp As Expression)
         MyBase.New(Parent, LExp, RExp)
     End Sub
@@ -68,71 +71,64 @@ Public Class NotEqualsExpression
         End Get
     End Property
 
-    Public Overrides ReadOnly Property IsConstant() As Boolean
-        Get
-            Return MyBase.IsConstant 'CHECK: is this true?
-        End Get
-    End Property
-
-    Public Overrides ReadOnly Property ConstantValue() As Object
-        Get
-            Dim rvalue, lvalue As Object
-            lvalue = m_LeftExpression.ConstantValue
-            rvalue = m_RightExpression.ConstantValue
-            If lvalue Is Nothing Or rvalue Is Nothing Then
-                Return Nothing
-            Else
-
-                Dim tlvalue, trvalue As Mono.Cecil.TypeReference
-                Dim clvalue, crvalue As TypeCode
-                tlvalue = CecilHelper.GetType(Compiler, lvalue)
-                clvalue = Helper.GetTypeCode(Compiler, tlvalue)
-                trvalue = CecilHelper.GetType(Compiler, rvalue)
-                crvalue = Helper.GetTypeCode(Compiler, trvalue)
-
-                If clvalue = TypeCode.Boolean AndAlso crvalue = TypeCode.Boolean Then
-                    Return CBool(lvalue) <> CBool(rvalue)
-                ElseIf clvalue = TypeCode.DateTime AndAlso crvalue = TypeCode.DateTime Then
-                    Return CDate(lvalue) <> CDate(rvalue)
-                ElseIf clvalue = TypeCode.Char AndAlso crvalue = TypeCode.Char Then
-                    Return CChar(lvalue) <> CChar(rvalue)
-                ElseIf clvalue = TypeCode.String AndAlso crvalue = TypeCode.String Then
-                    Return CStr(lvalue) <> CStr(rvalue)
-                ElseIf clvalue = TypeCode.String AndAlso crvalue = TypeCode.Char OrElse _
-                 clvalue = TypeCode.Char AndAlso crvalue = TypeCode.String Then
-                    Return CStr(lvalue) <> CStr(rvalue)
-                End If
+    Public Overrides Function GetConstant(ByRef m_ConstantValue As Object, ByVal lvalue As Object, ByVal rvalue As Object) As Boolean
+        Dim tlvalue, trvalue As Mono.Cecil.TypeReference
+        Dim clvalue, crvalue As TypeCode
+
+        tlvalue = CecilHelper.GetType(Compiler, lvalue)
+        clvalue = Helper.GetTypeCode(Compiler, tlvalue)
+        trvalue = CecilHelper.GetType(Compiler, rvalue)
+        crvalue = Helper.GetTypeCode(Compiler, trvalue)
+
+        If clvalue = TypeCode.Boolean AndAlso crvalue = TypeCode.Boolean Then
+            m_ConstantValue = CBool(lvalue) <> CBool(rvalue)
+            Return True
+        ElseIf clvalue = TypeCode.DateTime AndAlso crvalue = TypeCode.DateTime Then
+            m_ConstantValue = CDate(lvalue) <> CDate(rvalue)
+            Return True
+        ElseIf clvalue = TypeCode.Char AndAlso crvalue = TypeCode.Char Then
+            m_ConstantValue = CChar(lvalue) <> CChar(rvalue)
+            Return True
+        ElseIf clvalue = TypeCode.String AndAlso crvalue = TypeCode.String Then
+            m_ConstantValue = CStr(lvalue) <> CStr(rvalue)
+            Return True
+        ElseIf clvalue = TypeCode.String AndAlso crvalue = TypeCode.Char OrElse _
+         clvalue = TypeCode.Char AndAlso crvalue = TypeCode.String Then
+            m_ConstantValue = CStr(lvalue) <> CStr(rvalue)
+            Return True
+        End If
+
+        Dim csmallest As TypeCode
+        csmallest = TypeConverter.GetNotEqualsOperandType(clvalue, crvalue)
+
+        Select Case csmallest
+            Case TypeCode.Byte
+                m_ConstantValue = CByte(lvalue) <> CByte(rvalue)
+            Case TypeCode.SByte
+                m_ConstantValue = CSByte(lvalue) <> CSByte(rvalue)
+            Case TypeCode.Int16
+                m_ConstantValue = CShort(lvalue) <> CShort(rvalue)
+            Case TypeCode.UInt16
+                m_ConstantValue = CUShort(lvalue) <> CUShort(rvalue)
+            Case TypeCode.Int32
+                m_ConstantValue = CInt(lvalue) <> CInt(rvalue)
+            Case TypeCode.UInt32
+                m_ConstantValue = CUInt(lvalue) <> CUInt(rvalue)
+            Case TypeCode.Int64
+                m_ConstantValue = CLng(lvalue) <> CLng(rvalue)
+            Case TypeCode.UInt64
+                m_ConstantValue = CULng(lvalue) <> CULng(rvalue)
+            Case TypeCode.Double
+                m_ConstantValue = CDbl(lvalue) <> CDbl(rvalue)
+            Case TypeCode.Single
+                m_ConstantValue = CSng(lvalue) <> CSng(rvalue)
+            Case TypeCode.Decimal
+                m_ConstantValue = CDec(lvalue) <> CDec(rvalue)
+            Case Else
+                Return False
+        End Select
 
-                Dim csmallest As TypeCode
-                csmallest = TypeConverter.GetNotEqualsOperandType(clvalue, crvalue)
-
-                Select Case csmallest
-                    Case TypeCode.Byte
-                        Return CByte(lvalue) <> CByte(rvalue)
-                    Case TypeCode.SByte
-                        Return CSByte(lvalue) <> CSByte(rvalue)
-                    Case TypeCode.Int16
-                        Return CShort(lvalue) <> CShort(rvalue)
-                    Case TypeCode.UInt16
-                        Return CUShort(lvalue) <> CUShort(rvalue)
-                    Case TypeCode.Int32
-                        Return CInt(lvalue) <> CInt(rvalue)
-                    Case TypeCode.UInt32
-                        Return CUInt(lvalue) <> CUInt(rvalue)
-                    Case TypeCode.Int64
-                        Return CLng(lvalue) <> CLng(rvalue)
-                    Case TypeCode.UInt64
-                        Return CULng(lvalue) <> CULng(rvalue)
-                    Case TypeCode.Double
-                        Return CDbl(lvalue) <> CDbl(rvalue)
-                    Case TypeCode.Single
-                        Return CSng(lvalue) <> CSng(rvalue)
-                    Case TypeCode.Decimal
-                        Return CDec(lvalue) <> CDec(rvalue)
-                    Case Else
-                        Throw New InternalException(Me)
-                End Select
-            End If
-        End Get
-    End Property
+        Return True
+    End Function
 End Class
+
diff --git a/vbnc/vbnc/source/Expressions/BinaryExpressions/OrElseExpression.vb b/vbnc/vbnc/source/Expressions/BinaryExpressions/OrElseExpression.vb
index 110d78a..194199a 100644
--- a/vbnc/vbnc/source/Expressions/BinaryExpressions/OrElseExpression.vb
+++ b/vbnc/vbnc/source/Expressions/BinaryExpressions/OrElseExpression.vb
@@ -76,26 +76,15 @@ Public Class OrElseExpression
         End Get
     End Property
 
-    Public Overrides ReadOnly Property IsConstant() As Boolean
-        Get
-            Return MyBase.IsConstant 'CHECK: is this true?
-        End Get
-    End Property
+    Public Overrides Function GetConstant(ByRef m_ConstantValue As Object, ByVal lvalue As Object, ByVal rvalue As Object) As Boolean
+        If TypeOf lvalue Is Boolean = False Then
+            Return False
+        ElseIf TypeOf rvalue Is Boolean = False Then
+            Return False
+        Else
+            m_ConstantValue = CBool(lvalue) OrElse CBool(rvalue)
+        End If
 
-    Public Overrides ReadOnly Property ConstantValue() As Object
-        Get
-            Dim rvalue, lvalue As Object
-            lvalue = m_LeftExpression.ConstantValue
-            rvalue = m_RightExpression.ConstantValue
-            If lvalue Is Nothing Or rvalue Is Nothing Then
-                Return Nothing
-            ElseIf TypeOf lvalue Is Boolean = False Then
-                Throw New InternalException(Me) 'TODO: Add error
-            ElseIf TypeOf rvalue Is Boolean = False Then
-                Throw New InternalException(Me) 'TODO: Add error
-            Else
-                Return CBool(lvalue) OrElse CBool(rvalue)
-            End If
-        End Get
-    End Property
+        Return True
+    End Function
 End Class
diff --git a/vbnc/vbnc/source/Expressions/BinaryExpressions/OrExpression.vb b/vbnc/vbnc/source/Expressions/BinaryExpressions/OrExpression.vb
index 2c2c87b..61a26ea 100644
--- a/vbnc/vbnc/source/Expressions/BinaryExpressions/OrExpression.vb
+++ b/vbnc/vbnc/source/Expressions/BinaryExpressions/OrExpression.vb
@@ -71,67 +71,46 @@ Public Class OrExpression
         End Get
     End Property
 
-    Public Overrides ReadOnly Property IsConstant() As Boolean
-        Get
-            Return MyBase.IsConstant 'CHECK: is this true?
-        End Get
-    End Property
-
-    Public Overrides ReadOnly Property ConstantValue() As Object
-        Get
-            Dim rvalue, lvalue As Object
-            lvalue = m_LeftExpression.ConstantValue
-            rvalue = m_RightExpression.ConstantValue
-            If lvalue Is Nothing Or rvalue Is Nothing Then
-                Return Nothing
-            Else
+    Public Overrides Function GetConstant(ByRef m_ConstantValue As Object, ByVal lvalue As Object, ByVal rvalue As Object) As Boolean
+        Dim tlvalue, trvalue As Mono.Cecil.TypeReference
+        Dim clvalue, crvalue As TypeCode
+
+        tlvalue = CecilHelper.GetType(Compiler, lvalue)
+        clvalue = Helper.GetTypeCode(Compiler, tlvalue)
+        trvalue = CecilHelper.GetType(Compiler, rvalue)
+        crvalue = Helper.GetTypeCode(Compiler, trvalue)
+
+        If clvalue = TypeCode.Boolean AndAlso crvalue = TypeCode.Boolean Then
+            m_ConstantValue = CBool(lvalue) OrElse CBool(rvalue)
+            Return True
+        End If
+
+        Dim smallest As Mono.Cecil.TypeReference
+        Dim csmallest As TypeCode
+        smallest = Compiler.TypeResolution.GetSmallestIntegralType(tlvalue, trvalue)
+        Helper.Assert(smallest IsNot Nothing)
+        csmallest = Helper.GetTypeCode(Compiler, smallest)
+        Select Case csmallest
+            Case TypeCode.Byte
+                m_ConstantValue = CByte(lvalue) Or CByte(rvalue)
+            Case TypeCode.SByte
+                m_ConstantValue = CSByte(lvalue) Or CSByte(rvalue)
+            Case TypeCode.Int16
+                m_ConstantValue = CShort(lvalue) Or CShort(rvalue)
+            Case TypeCode.UInt16
+                m_ConstantValue = CUShort(lvalue) Or CUShort(rvalue)
+            Case TypeCode.Int32
+                m_ConstantValue = CInt(lvalue) Or CInt(rvalue)
+            Case TypeCode.UInt32
+                m_ConstantValue = CUInt(lvalue) Or CUInt(rvalue)
+            Case TypeCode.Int64
+                m_ConstantValue = CLng(lvalue) Or CLng(rvalue)
+            Case TypeCode.UInt64
+                m_ConstantValue = CULng(lvalue) Or CULng(rvalue)
+            Case Else
+                Return False
+        End Select
 
-                Dim tlvalue, trvalue As Mono.Cecil.TypeReference
-                Dim clvalue, crvalue As TypeCode
-                tlvalue = CecilHelper.GetType(Compiler, lvalue)
-                clvalue = Helper.GetTypeCode(Compiler, tlvalue)
-                trvalue = CecilHelper.GetType(Compiler, rvalue)
-                crvalue = Helper.GetTypeCode(Compiler, trvalue)
-
-                If clvalue = TypeCode.Boolean AndAlso crvalue = TypeCode.Boolean Then
-                    Return CBool(lvalue) OrElse CBool(rvalue)
-                End If
-
-                Dim smallest As Mono.Cecil.TypeReference
-                Dim csmallest As TypeCode
-                smallest = Compiler.TypeResolution.GetSmallestIntegralType(tlvalue, trvalue)
-                Helper.Assert(smallest IsNot Nothing)
-                csmallest = Helper.GetTypeCode(Compiler, smallest)
-                Select Case csmallest
-                    Case TypeCode.Byte
-                        Return CByte(lvalue) Or CByte(rvalue)
-                    Case TypeCode.SByte
-                        Return CSByte(lvalue) Or CSByte(rvalue)
-                    Case TypeCode.Int16
-                        Return CShort(lvalue) Or CShort(rvalue)
-                    Case TypeCode.UInt16
-                        Return CUShort(lvalue) Or CUShort(rvalue)
-                    Case TypeCode.Int32
-                        Return CInt(lvalue) Or CInt(rvalue)
-                    Case TypeCode.UInt32
-                        Return CUInt(lvalue) Or CUInt(rvalue)
-                    Case TypeCode.Int64
-                        Return CLng(lvalue) Or CLng(rvalue)
-                    Case TypeCode.UInt64
-                        Return CULng(lvalue) Or CULng(rvalue)
-                    Case TypeCode.Double
-                        'Return CDbl(lvalue) Or CDbl(rvalue)
-                        Throw New InternalException(Me)
-                    Case TypeCode.Single
-                        'Return CSng(lvalue) Or CSng(rvalue)
-                        Throw New InternalException(Me)
-                    Case TypeCode.Decimal
-                        'Return CDec(lvalue) Or CDec(rvalue)
-                        Throw New InternalException(Me)
-                    Case Else
-                        Throw New InternalException(Me)
-                End Select
-            End If
-        End Get
-    End Property
+        Return True
+    End Function
 End Class
diff --git a/vbnc/vbnc/source/Expressions/BinaryExpressions/RShiftExpression.vb b/vbnc/vbnc/source/Expressions/BinaryExpressions/RShiftExpression.vb
index e75fdbc..d533588 100644
--- a/vbnc/vbnc/source/Expressions/BinaryExpressions/RShiftExpression.vb
+++ b/vbnc/vbnc/source/Expressions/BinaryExpressions/RShiftExpression.vb
@@ -77,61 +77,42 @@ Public Class RShiftExpression
         End Get
     End Property
 
-    Public Overrides ReadOnly Property IsConstant() As Boolean
-        Get
-            Return MyBase.IsConstant 'CHECK: is this true?
-        End Get
-    End Property
-
-    Public Overrides ReadOnly Property ConstantValue() As Object
-        Get
-            Dim rvalue, lvalue As Object
-            lvalue = m_LeftExpression.ConstantValue
-            rvalue = m_RightExpression.ConstantValue
-            If lvalue Is Nothing Or rvalue Is Nothing Then
-                Return Nothing
-            Else
+    Public Overrides Function GetConstant(ByRef m_ConstantValue As Object, ByVal lvalue As Object, ByVal rvalue As Object) As Boolean
+        Dim shifts As Integer 'This needs to be an integer.
+        Dim tmpShifts As Object = Nothing
+
+        If Compiler.TypeResolution.CheckNumericRange(rvalue, tmpShifts, Compiler.TypeCache.System_Int32) = False Then
+            Return Helper.AddError(Me, "Invalid numeric range")
+        Else
+            shifts = CInt(tmpShifts)
+        End If
+
+        Dim tlvalue As Mono.Cecil.TypeReference
+        Dim clvalue As TypeCode
+        tlvalue = CecilHelper.GetType(Compiler, lvalue)
+        clvalue = Helper.GetTypeCode(Compiler, tlvalue)
+
+        Select Case clvalue
+            Case TypeCode.Byte
+                m_ConstantValue = CByte(lvalue) >> shifts
+            Case TypeCode.SByte
+                m_ConstantValue = CSByte(lvalue) >> shifts
+            Case TypeCode.Int16
+                m_ConstantValue = CShort(lvalue) >> shifts
+            Case TypeCode.UInt16
+                m_ConstantValue = CUShort(lvalue) >> shifts
+            Case TypeCode.Int32
+                m_ConstantValue = CInt(lvalue) >> shifts
+            Case TypeCode.UInt32
+                m_ConstantValue = CUInt(lvalue) >> shifts
+            Case TypeCode.Int64
+                m_ConstantValue = CLng(lvalue) >> shifts
+            Case TypeCode.UInt64
+                m_ConstantValue = CULng(lvalue) >> shifts
+            Case Else
+                Return False
+        End Select
 
-                Dim shifts As Integer 'This needs to be an integer.
-                Dim tmpShifts As Object = Nothing
-                If Compiler.TypeResolution.CheckNumericRange(rvalue, tmpShifts, Compiler.TypeCache.System_Int32) = False Then
-                    Helper.Stop() 'Add error.
-                Else
-                    shifts = CInt(tmpShifts)
-                End If
-
-                Dim tlvalue As Mono.Cecil.TypeReference
-                Dim clvalue As TypeCode
-                tlvalue = CecilHelper.GetType(Compiler, lvalue)
-                clvalue = Helper.GetTypeCode(Compiler, tlvalue)
-
-                Select Case clvalue
-                    Case TypeCode.Byte
-                        Return CByte(lvalue) >> shifts
-                    Case TypeCode.SByte
-                        Return CSByte(lvalue) >> shifts
-                    Case TypeCode.Int16
-                        Return CShort(lvalue) >> shifts
-                    Case TypeCode.UInt16
-                        Return CUShort(lvalue) >> shifts
-                    Case TypeCode.Int32
-                        Return CInt(lvalue) >> shifts
-                    Case TypeCode.UInt32
-                        Return CUInt(lvalue) >> shifts
-                    Case TypeCode.Int64
-                        Return CLng(lvalue) >> shifts
-                    Case TypeCode.UInt64
-                        Return CULng(lvalue) >> shifts
-                    Case TypeCode.Double
-                        Throw New InternalException(Me)
-                    Case TypeCode.Single
-                        Throw New InternalException(Me)
-                    Case TypeCode.Decimal
-                        Throw New InternalException(Me)
-                    Case Else
-                        Throw New InternalException(Me)
-                End Select
-            End If
-        End Get
-    End Property
+        Return True
+    End Function
 End Class
diff --git a/vbnc/vbnc/source/Expressions/BinaryExpressions/RealDivisionExpression.vb b/vbnc/vbnc/source/Expressions/BinaryExpressions/RealDivisionExpression.vb
index e69f0f5..be44124 100644
--- a/vbnc/vbnc/source/Expressions/BinaryExpressions/RealDivisionExpression.vb
+++ b/vbnc/vbnc/source/Expressions/BinaryExpressions/RealDivisionExpression.vb
@@ -55,80 +55,66 @@ Public Class RealDivisionExpression
         End Get
     End Property
 
-    Public Overrides ReadOnly Property IsConstant() As Boolean
-        Get
-            Return MyBase.IsConstant 'CHECK: is this true?
-        End Get
-    End Property
+    Public Overrides Function GetConstant(ByRef m_ConstantValue As Object, ByVal lvalue As Object, ByVal rvalue As Object) As Boolean
+        Dim tlvalue, trvalue As Mono.Cecil.TypeReference
+        Dim clvalue, crvalue As TypeCode
 
-    Public Overrides ReadOnly Property ConstantValue() As Object
-        Get
-            Dim rvalue, lvalue As Object
-            lvalue = m_LeftExpression.ConstantValue
-            rvalue = m_RightExpression.ConstantValue
-            If lvalue Is Nothing Or rvalue Is Nothing Then
-                Return Nothing
-            Else
+        tlvalue = CecilHelper.GetType(Compiler, lvalue)
+        clvalue = Helper.GetTypeCode(Compiler, tlvalue)
+        trvalue = CecilHelper.GetType(Compiler, rvalue)
+        crvalue = Helper.GetTypeCode(Compiler, trvalue)
 
-                Dim tlvalue, trvalue As Mono.Cecil.TypeReference
-                Dim clvalue, crvalue As TypeCode
-                tlvalue = CecilHelper.GetType(Compiler, lvalue)
-                clvalue = Helper.GetTypeCode(Compiler, tlvalue)
-                trvalue = CecilHelper.GetType(Compiler, rvalue)
-                crvalue = Helper.GetTypeCode(Compiler, trvalue)
+        Dim csmallest As TypeCode
+        csmallest = TypeConverter.GetRealDivResultType(clvalue, crvalue)
 
-                Dim csmallest As TypeCode
-                csmallest = TypeConverter.GetRealDivResultType(clvalue, crvalue)
+        If CDbl(rvalue) = 0 Then
+            m_ConstantValue = Double.NaN
+            Return False
+        End If
 
-                If CDbl(rvalue) = 0 Then
-                    Helper.AddError(Me, "Divide by zero")
-                    Return Double.NaN
+        Select Case csmallest
+            Case TypeCode.Byte
+                m_ConstantValue = CByte(lvalue) / CByte(rvalue)
+            Case TypeCode.SByte
+                If CSByte(lvalue) = SByte.MinValue AndAlso CSByte(rvalue) = -1 Then
+                    m_ConstantValue = CShort(lvalue) / CShort(rvalue)
+                Else
+                    m_ConstantValue = CSByte(lvalue) / CSByte(rvalue)
+                End If
+            Case TypeCode.Int16
+                If CShort(lvalue) = Short.MinValue AndAlso CShort(rvalue) = -1 Then
+                    m_ConstantValue = CInt(lvalue) / CInt(rvalue)
+                Else
+                    m_ConstantValue = CShort(lvalue) / CShort(rvalue)
+                End If
+            Case TypeCode.UInt16
+                m_ConstantValue = CUShort(lvalue) / CUShort(rvalue)
+            Case TypeCode.Int32
+                If CInt(lvalue) = Integer.MinValue AndAlso CInt(rvalue) = -1 Then
+                    m_ConstantValue = CLng(lvalue) / CLng(rvalue)
+                Else
+                    m_ConstantValue = CInt(lvalue) / CInt(rvalue)
+                End If
+            Case TypeCode.UInt32
+                m_ConstantValue = CUInt(lvalue) / CUInt(rvalue)
+            Case TypeCode.Int64
+                If CLng(lvalue) = Long.MinValue AndAlso CLng(rvalue) = -1 Then
+                    m_ConstantValue = CDec(lvalue) / CDec(rvalue)
+                Else
+                    m_ConstantValue = CLng(lvalue) / CLng(rvalue)
                 End If
+            Case TypeCode.UInt64
+                m_ConstantValue = CULng(lvalue) / CULng(rvalue)
+            Case TypeCode.Double
+                m_ConstantValue = CDbl(lvalue) / CDbl(rvalue)
+            Case TypeCode.Single
+                m_ConstantValue = CSng(lvalue) / CSng(rvalue)
+            Case TypeCode.Decimal
+                m_ConstantValue = CDec(lvalue) / CDec(rvalue)
+            Case Else
+                Return False
+        End Select
 
-                Select Case csmallest
-                    Case TypeCode.Byte
-                        Return CByte(lvalue) / CByte(rvalue)
-                    Case TypeCode.SByte
-                        If CSByte(lvalue) = SByte.MinValue AndAlso CSByte(rvalue) = -1 Then
-                            Return CShort(lvalue) / CShort(rvalue)
-                        Else
-                            Return CSByte(lvalue) / CSByte(rvalue)
-                        End If
-                    Case TypeCode.Int16
-                        If CShort(lvalue) = Short.MinValue AndAlso CShort(rvalue) = -1 Then
-                            Return CInt(lvalue) / CInt(rvalue)
-                        Else
-                            Return CShort(lvalue) / CShort(rvalue)
-                        End If
-                    Case TypeCode.UInt16
-                        Return CUShort(lvalue) / CUShort(rvalue)
-                    Case TypeCode.Int32
-                        If CInt(lvalue) = Integer.MinValue AndAlso CInt(rvalue) = -1 Then
-                            Return CLng(lvalue) / CLng(rvalue)
-                        Else
-                            Return CInt(lvalue) / CInt(rvalue)
-                        End If
-                    Case TypeCode.UInt32
-                        Return CUInt(lvalue) / CUInt(rvalue)
-                    Case TypeCode.Int64
-                        If CLng(lvalue) = Long.MinValue AndAlso CLng(rvalue) = -1 Then
-                            Return CDec(lvalue) / CDec(rvalue)
-                        Else
-                            Return CLng(lvalue) / CLng(rvalue)
-                        End If
-                    Case TypeCode.UInt64
-                        Return CULng(lvalue) / CULng(rvalue)
-                    Case TypeCode.Double
-                        Return CDbl(lvalue) / CDbl(rvalue)
-                    Case TypeCode.Single
-                        Return CSng(lvalue) / CSng(rvalue)
-                    Case TypeCode.Decimal
-                        Return CDec(lvalue) / CDec(rvalue)
-                    Case Else
-                        Helper.Stop()
-                        Throw New InternalException(Me)
-                End Select
-            End If
-        End Get
-    End Property
+        Return True
+    End Function
 End Class
diff --git a/vbnc/vbnc/source/Expressions/BinaryExpressions/XorExpression.vb b/vbnc/vbnc/source/Expressions/BinaryExpressions/XorExpression.vb
index 89437ef..c06ac14 100644
--- a/vbnc/vbnc/source/Expressions/BinaryExpressions/XorExpression.vb
+++ b/vbnc/vbnc/source/Expressions/BinaryExpressions/XorExpression.vb
@@ -49,72 +49,50 @@ Public Class XOrExpression
 
     Public Overrides ReadOnly Property Keyword() As KS
         Get
-            Return KS.Or
+            Return KS.Xor
         End Get
     End Property
 
-    Public Overrides ReadOnly Property IsConstant() As Boolean
-        Get
-            Return MyBase.IsConstant 'CHECK: is this true?
-        End Get
-    End Property
-
-    Public Overrides ReadOnly Property ConstantValue() As Object
-        Get
-            Dim rvalue, lvalue As Object
-            lvalue = m_LeftExpression.ConstantValue
-            rvalue = m_RightExpression.ConstantValue
-            If lvalue Is Nothing Or rvalue Is Nothing Then
-                Return Nothing
-            Else
+    Public Overrides Function GetConstant(ByRef m_ConstantValue As Object, ByVal lvalue As Object, ByVal rvalue As Object) As Boolean
+        Dim tlvalue, trvalue As Mono.Cecil.TypeReference
+        Dim clvalue, crvalue As TypeCode
+        tlvalue = CecilHelper.GetType(Compiler, lvalue)
+        clvalue = Helper.GetTypeCode(Compiler, tlvalue)
+        trvalue = CecilHelper.GetType(Compiler, rvalue)
+        crvalue = Helper.GetTypeCode(Compiler, trvalue)
 
-                Dim tlvalue, trvalue As Mono.Cecil.TypeReference
-                Dim clvalue, crvalue As TypeCode
-                tlvalue = CecilHelper.GetType(Compiler, lvalue)
-                clvalue = Helper.GetTypeCode(Compiler, tlvalue)
-                trvalue = CecilHelper.GetType(Compiler, rvalue)
-                crvalue = Helper.GetTypeCode(Compiler, trvalue)
+        If clvalue = TypeCode.Boolean AndAlso crvalue = TypeCode.Boolean Then
+            m_ConstantValue = CBool(lvalue) Xor CBool(rvalue)
+            Return True
+        End If
 
-                If clvalue = TypeCode.Boolean AndAlso crvalue = TypeCode.Boolean Then
-                    Return CBool(lvalue) Xor CBool(rvalue)
-                End If
+        Dim smallest As Mono.Cecil.TypeReference
+        Dim csmallest As TypeCode
+        smallest = Compiler.TypeResolution.GetSmallestIntegralType(tlvalue, trvalue)
+        Helper.Assert(smallest IsNot Nothing)
+        csmallest = Helper.GetTypeCode(Compiler, smallest)
 
-                Dim smallest As Mono.Cecil.TypeReference
-                Dim csmallest As TypeCode
-                smallest = Compiler.TypeResolution.GetSmallestIntegralType(tlvalue, trvalue)
-                Helper.Assert(smallest IsNot Nothing)
-                csmallest = Helper.GetTypeCode(Compiler, smallest)
+        Select Case csmallest
+            Case TypeCode.Byte
+                m_ConstantValue = CByte(lvalue) Xor CByte(rvalue)
+            Case TypeCode.SByte
+                m_ConstantValue = CSByte(lvalue) Xor CSByte(rvalue)
+            Case TypeCode.Int16
+                m_ConstantValue = CShort(lvalue) Xor CShort(rvalue)
+            Case TypeCode.UInt16
+                m_ConstantValue = CUShort(lvalue) Xor CUShort(rvalue)
+            Case TypeCode.Int32
+                m_ConstantValue = CInt(lvalue) Xor CInt(rvalue)
+            Case TypeCode.UInt32
+                m_ConstantValue = CUInt(lvalue) Xor CUInt(rvalue)
+            Case TypeCode.Int64
+                m_ConstantValue = CLng(lvalue) Xor CLng(rvalue)
+            Case TypeCode.UInt64
+                m_ConstantValue = CULng(lvalue) Xor CULng(rvalue)
+            Case Else
+                Return False
+        End Select
 
-                Select Case csmallest
-                    Case TypeCode.Byte
-                        Return CByte(lvalue) Xor CByte(rvalue)
-                    Case TypeCode.SByte
-                        Return CSByte(lvalue) Xor CSByte(rvalue)
-                    Case TypeCode.Int16
-                        Return CShort(lvalue) Xor CShort(rvalue)
-                    Case TypeCode.UInt16
-                        Return CUShort(lvalue) Xor CUShort(rvalue)
-                    Case TypeCode.Int32
-                        Return CInt(lvalue) Xor CInt(rvalue)
-                    Case TypeCode.UInt32
-                        Return CUInt(lvalue) Xor CUInt(rvalue)
-                    Case TypeCode.Int64
-                        Return CLng(lvalue) Xor CLng(rvalue)
-                    Case TypeCode.UInt64
-                        Return CULng(lvalue) Xor CULng(rvalue)
-                    Case TypeCode.Double
-                        'Return CDbl(lvalue) xor CDbl(rvalue)
-                        Throw New InternalException(Me)
-                    Case TypeCode.Single
-                        'Return CSng(lvalue) xor CSng(rvalue)
-                        Throw New InternalException(Me)
-                    Case TypeCode.Decimal
-                        'Return CDec(lvalue) Xor CDec(rvalue)
-                        Throw New InternalException(Me)
-                    Case Else
-                        Throw New InternalException(Me)
-                End Select
-            End If
-        End Get
-    End Property
+        Return True
+    End Function
 End Class
diff --git a/vbnc/vbnc/source/Expressions/BooleanLiteralExpression.vb b/vbnc/vbnc/source/Expressions/BooleanLiteralExpression.vb
index f2df6ea..b71ac57 100644
--- a/vbnc/vbnc/source/Expressions/BooleanLiteralExpression.vb
+++ b/vbnc/vbnc/source/Expressions/BooleanLiteralExpression.vb
@@ -20,33 +20,17 @@
 Public Class BooleanLiteralExpression
     Inherits LiteralExpression
 
-    Private m_Value As Boolean
-
     Sub New(ByVal Parent As ParsedObject)
         MyBase.New(Parent)
     End Sub
 
     Shadows Sub Init(ByVal Value As Boolean)
-        m_Value = Value
+        MyBase.Init(Value, ExpressionType)
     End Sub
 
-    Public Overrides Function Clone(Optional ByVal NewParent As ParsedObject = Nothing) As Expression
-        If NewParent IsNot Nothing Then NewParent = Me.Parent
-        Dim result As New BooleanLiteralExpression(NewParent)
-        result.Init(m_Value)
-        Return result
-    End Function
-
     Overrides ReadOnly Property ExpressionType() As Mono.Cecil.TypeReference
         Get
-
             Return Compiler.TypeCache.System_Boolean
         End Get
     End Property
-
-    Public Overrides ReadOnly Property ConstantValue() As Object
-        Get
-            Return m_Value
-        End Get
-    End Property
 End Class
diff --git a/vbnc/vbnc/source/Expressions/BoxExpression.vb b/vbnc/vbnc/source/Expressions/BoxExpression.vb
index 93064f5..00b0c27 100644
--- a/vbnc/vbnc/source/Expressions/BoxExpression.vb
+++ b/vbnc/vbnc/source/Expressions/BoxExpression.vb
@@ -48,12 +48,6 @@ Public Class BoxExpression
 
     End Sub
 
-    Public Overrides ReadOnly Property IsConstant() As Boolean
-        Get
-            Return False
-        End Get
-    End Property
-
     Protected Overrides Function ResolveExpressionInternal(ByVal Info As ResolveInfo) As Boolean
         Return True
     End Function
diff --git a/vbnc/vbnc/source/Expressions/BuiltInTypeExpression.vb b/vbnc/vbnc/source/Expressions/BuiltInTypeExpression.vb
index 30828e5..5ef03f6 100644
--- a/vbnc/vbnc/source/Expressions/BuiltInTypeExpression.vb
+++ b/vbnc/vbnc/source/Expressions/BuiltInTypeExpression.vb
@@ -41,15 +41,7 @@ Public Class BuiltInTypeExpression
 
     Overrides ReadOnly Property ExpressionType() As Mono.Cecil.TypeReference
         Get
-
-            'Return New TypeDescriptor(TypeResolution.BuiltInTypeToType(m_Type))
             Return Compiler.TypeResolution.BuiltInTypeToType(m_Type)
         End Get
     End Property
-
-    Public Overrides ReadOnly Property IsConstant() As Boolean
-        Get
-            Return False
-        End Get
-    End Property
 End Class
diff --git a/vbnc/vbnc/source/Expressions/CachedExpression.vb b/vbnc/vbnc/source/Expressions/CachedExpression.vb
index 6323506..91db936 100644
--- a/vbnc/vbnc/source/Expressions/CachedExpression.vb
+++ b/vbnc/vbnc/source/Expressions/CachedExpression.vb
@@ -48,12 +48,6 @@ Public Class CachedExpression
         End Get
     End Property
 
-    Public Overrides ReadOnly Property IsConstant() As Boolean
-        Get
-            Return False
-        End Get
-    End Property
-
     Protected Overrides Function ResolveExpressionInternal(ByVal Info As ResolveInfo) As Boolean
         Dim result As Boolean = True
 
diff --git a/vbnc/vbnc/source/Expressions/Classifications/ExpressionClassification.vb b/vbnc/vbnc/source/Expressions/Classifications/ExpressionClassification.vb
index aa3c078..8ab85e1 100644
--- a/vbnc/vbnc/source/Expressions/Classifications/ExpressionClassification.vb
+++ b/vbnc/vbnc/source/Expressions/Classifications/ExpressionClassification.vb
@@ -26,7 +26,6 @@
 ''' </summary>
 ''' <remarks></remarks>
 Public Class ExpressionClassification
-    'Inherits BaseObject
     Private m_Parent As ParsedObject
 
     Private m_Classification As Classifications
@@ -43,28 +42,10 @@ Public Class ExpressionClassification
         End Get
     End Property
 
-    ''' <summary>
-    ''' Base definition returns true if ConstantValue isnot nothing.
-    ''' </summary>
-    ''' <value></value>
-    ''' <returns></returns>
-    ''' <remarks></remarks>
-    Overridable ReadOnly Property IsConstant() As Boolean
-        Get
-            Compiler.Report.ShowMessage(Messages.VBNC99997, m_Parent.Location)
-            Return False
-        End Get
-    End Property
-
-    Overridable ReadOnly Property ConstantValue() As Object
-        Get
-            'IsConstant should have been called before ConstantValue
-            'and if a classification overrides IsConstant to return true,
-            'it should also override ConstantValue
-            Helper.StopIfDebugging()
-            Return Nothing
-        End Get
-    End Property
+    Public Overridable Function GetConstant(ByRef value As Object, ByVal ShowError As Boolean) As Boolean
+        If ShowError Then m_Parent.Show30059()
+        Return False
+    End Function
 
     Overloads Function [GetType](ByVal ThrowIfNoType As Boolean) As Mono.Cecil.TypeReference
         Select Case m_Classification
@@ -280,5 +261,3 @@ Classifications.MethodPointer, Classifications.PropertyAccess, Classifications.V
         Return Compiler.Report.ShowMessage(Messages.VBNC99997, m_Parent.Location)
     End Function
 End Class
-
-
diff --git a/vbnc/vbnc/source/Expressions/Classifications/LateBoundAccessClassification.vb b/vbnc/vbnc/source/Expressions/Classifications/LateBoundAccessClassification.vb
index 52b43e5..2454af2 100644
--- a/vbnc/vbnc/source/Expressions/Classifications/LateBoundAccessClassification.vb
+++ b/vbnc/vbnc/source/Expressions/Classifications/LateBoundAccessClassification.vb
@@ -35,12 +35,6 @@ Public Class LateBoundAccessClassification
     Private m_Arguments As ArgumentList
     Private m_LateBoundType As Mono.Cecil.TypeReference
 
-    Public Overrides ReadOnly Property IsConstant() As Boolean
-        Get
-            Return False
-        End Get
-    End Property
-
     Property Arguments() As ArgumentList
         Get
             Return m_Arguments
diff --git a/vbnc/vbnc/source/Expressions/Classifications/MethodGroupClassification.vb b/vbnc/vbnc/source/Expressions/Classifications/MethodGroupClassification.vb
index bd4842e..4964157 100644
--- a/vbnc/vbnc/source/Expressions/Classifications/MethodGroupClassification.vb
+++ b/vbnc/vbnc/source/Expressions/Classifications/MethodGroupClassification.vb
@@ -64,6 +64,8 @@ Public Class MethodGroupClassification
 
     Private m_FinalArguments As ArgumentList
 
+    Public MethodDeclaration As MethodDeclaration
+
 #If DEBUG Then
 
     Private m_OriginalGroup As Generic.List(Of Mono.Cecil.MemberReference)
@@ -89,11 +91,6 @@ Public Class MethodGroupClassification
         End Get
     End Property
 
-    Public Overrides ReadOnly Property IsConstant() As Boolean
-        Get
-            Return False
-        End Get
-    End Property
     ''' <summary>
     ''' Has ResolveGroup been called?
     ''' </summary>
@@ -370,12 +367,24 @@ Public Class MethodGroupClassification
         End Get
     End Property
 
+    Function VerifyGroup(ByVal Arguments As ArgumentList, ByVal ShowErrors As Boolean) As Boolean
+        Dim result As Boolean = True
+
+        If IsLateBound = False Then
+            result = Arguments.ReplaceAndVerifyArguments(FinalArguments, ResolvedMethod, ShowErrors) AndAlso result
+        End If
+
+        result = VerifyConstraints(ShowErrors) AndAlso result
+
+        Return result
+    End Function
+
     ''' <summary>
     ''' Resolve this group with the specified parameters.
     ''' </summary>
     ''' <param name="SourceParameters"></param>
     ''' <remarks></remarks>
-    Function ResolveGroup(ByVal SourceParameters As ArgumentList, Optional ByVal ShowErrors As Boolean = False) As Boolean
+    Function ResolveGroup(ByVal SourceParameters As ArgumentList, Optional ByVal ShowErrors As Boolean = False, Optional ByVal CanBeLateBound As Boolean = True) As Boolean
         Dim result As Boolean = True
         Dim FinalSourceArguments As ArgumentList = Nothing
 
@@ -388,6 +397,7 @@ Public Class MethodGroupClassification
         Dim resolvedGroup As New Generic.List(Of Mono.Cecil.MemberReference)
 
         If m_Resolver Is Nothing Then m_Resolver = New MethodResolver(Parent)
+        m_Resolver.CanBeLateBound = CanBeLateBound
         m_Resolver.ShowErrors = ShowErrors
         m_Resolver.Init(m_Group, SourceParameters, m_TypeArguments)
         result = m_Resolver.Resolve AndAlso result
@@ -439,6 +449,7 @@ Public Class MethodGroupClassification
         m_Resolved = True
         m_InstanceExpression = InstanceExpression
         m_TypeArguments = TypeArguments
+        Me.MethodDeclaration = Method
     End Sub
 
     Private Sub New(ByVal Parent As ParsedObject, ByVal InstanceExpression As Expression, ByVal TypeArguments As TypeArgumentList, ByVal Parameters() As Expression)
@@ -478,7 +489,7 @@ Public Class MethodGroupClassification
         End Get
     End Property
 
-    Function VerifyConstraints() As Boolean
+    Function VerifyConstraints(ByVal ShowErrors As Boolean) As Boolean
         Dim result As Boolean = True
 
         Dim parameters As Mono.Collections.Generic.Collection(Of GenericParameter)
@@ -494,8 +505,9 @@ Public Class MethodGroupClassification
         parameters = md.GenericParameters
         arguments = mit.GenericArguments
 
-        result = Helper.VerifyConstraints(Me.Parent, parameters, arguments)
+        result = Helper.VerifyConstraints(Me.Parent, parameters, arguments, ShowErrors)
 
         Return result
     End Function
 End Class
+
diff --git a/vbnc/vbnc/source/Expressions/Classifications/MethodPointerClassification.vb b/vbnc/vbnc/source/Expressions/Classifications/MethodPointerClassification.vb
index 9927d42..62c8758 100644
--- a/vbnc/vbnc/source/Expressions/Classifications/MethodPointerClassification.vb
+++ b/vbnc/vbnc/source/Expressions/Classifications/MethodPointerClassification.vb
@@ -42,7 +42,7 @@ Public Class MethodPointerClassification
 
     ReadOnly Property Resolved() As Boolean
         Get
-            Return m_resolved
+            Return m_Resolved
         End Get
     End Property
 
@@ -59,7 +59,7 @@ Public Class MethodPointerClassification
         Helper.Assert(m_ResolvedMethod IsNot Nothing)
         Helper.Assert(m_DelegateType IsNot Nothing)
 
-        If m_MethodGroup.InstanceExpression IsNot Nothing Then
+        If m_MethodGroup.InstanceExpression IsNot Nothing AndAlso CecilHelper.IsStatic(m_ResolvedMethod) = False Then
             result = m_MethodGroup.InstanceExpression.GenerateCode(Info.Clone(Parent, True, False, m_MethodGroup.InstanceExpression.ExpressionType)) AndAlso result
             Emitter.EmitDup(Info)
         Else
@@ -82,7 +82,7 @@ Public Class MethodPointerClassification
     ''' </summary>
     ''' <returns></returns>
     ''' <remarks></remarks>
-    Function Resolve(ByVal DelegateType As Mono.Cecil.TypeReference) As Boolean
+    Function Resolve(ByVal DelegateType As Mono.Cecil.TypeReference, ByVal ShowErrors As Boolean) As Boolean
         Dim result As Boolean = True
 
         Helper.Assert(DelegateType IsNot Nothing)
@@ -93,11 +93,12 @@ Public Class MethodPointerClassification
         End If
 
         If Helper.IsDelegate(Compiler, DelegateType) = False Then
-            result = Compiler.Report.ShowMessage(Messages.VBNC30581, Me.Parent.Location, DelegateType.FullName) AndAlso result
+            If ShowErrors Then
+                Compiler.Report.ShowMessage(Messages.VBNC30581, Me.Parent.Location, DelegateType.FullName)
+            End If
+            Return False
         End If
 
-        If result = False Then Return result
-
         Dim params As Mono.Collections.Generic.Collection(Of ParameterDefinition) = Helper.GetDelegateArguments(Compiler, DelegateType)
         Dim paramtypes() As Mono.Cecil.TypeReference = Helper.GetParameterTypes(params)
 
@@ -105,10 +106,19 @@ Public Class MethodPointerClassification
         m_DelegateType = DelegateType
 
         If m_ResolvedMethod Is Nothing Then
-            For i As Integer = 0 To m_MethodGroup.Group.Count - 1
-                Compiler.Report.ShowMessage(Messages.VBNC30408, Me.Parent.Location, Helper.ToString(Me.Parent, m_MethodGroup.Group(i)), Helper.ToString(Me.Parent, DelegateType))
-            Next
+            If ShowErrors Then
+                For i As Integer = 0 To m_MethodGroup.Group.Count - 1
+                    Compiler.Report.ShowMessage(Messages.VBNC30408, Me.Parent.Location, Helper.ToString(Me.Parent, m_MethodGroup.Group(i)), Helper.ToString(Me.Parent, DelegateType))
+                Next
+            End If
             result = False
+        Else
+            If m_MethodGroup.InstanceExpression Is Nothing AndAlso CecilHelper.IsStatic(m_ResolvedMethod) = False Then
+                If ShowErrors Then
+                    Compiler.Report.ShowMessage(Messages.VBNC30469, Parent.Location)
+                End If
+                Return False
+            End If
         End If
 
         m_Resolved = True
@@ -152,3 +162,4 @@ Public Class MethodPointerClassification
         m_MethodGroup = MethodGroup
     End Sub
 End Class
+
diff --git a/vbnc/vbnc/source/Expressions/Classifications/PropertyAccessClassification.vb b/vbnc/vbnc/source/Expressions/Classifications/PropertyAccessClassification.vb
index 2399b35..88917b5 100644
--- a/vbnc/vbnc/source/Expressions/Classifications/PropertyAccessClassification.vb
+++ b/vbnc/vbnc/source/Expressions/Classifications/PropertyAccessClassification.vb
@@ -38,12 +38,6 @@ Public Class PropertyAccessClassification
     Private m_Property As Mono.Cecil.PropertyReference
     Private m_Classification As PropertyGroupClassification
 
-    Public Overrides ReadOnly Property IsConstant() As Boolean
-        Get
-            Return False
-        End Get
-    End Property
-
     ReadOnly Property Parameters() As ArgumentList
         Get
             If m_Parameters Is Nothing AndAlso m_Classification IsNot Nothing Then
@@ -178,7 +172,6 @@ Public Class PropertyAccessClassification
     Sub New(ByVal Classification As PropertyGroupClassification)
         MyBase.New(Classifications.PropertyAccess, Classification.Parent)
         m_Classification = Classification
-
     End Sub
 
     Sub New(ByVal Expression As LateBoundAccessToPropertyAccessExpression)
diff --git a/vbnc/vbnc/source/Expressions/Classifications/PropertyGroupClassification.vb b/vbnc/vbnc/source/Expressions/Classifications/PropertyGroupClassification.vb
index be2ddc6..5d20060 100644
--- a/vbnc/vbnc/source/Expressions/Classifications/PropertyGroupClassification.vb
+++ b/vbnc/vbnc/source/Expressions/Classifications/PropertyGroupClassification.vb
@@ -51,13 +51,7 @@ Public Class PropertyGroupClassification
         End Get
     End Property
 
-    Public Overrides ReadOnly Property IsConstant() As Boolean
-        Get
-            Return False
-        End Get
-    End Property
-
-    Function ResolveGroup(ByVal SourceParameters As ArgumentList) As Boolean
+    Function ResolveGroup(ByVal SourceParameters As ArgumentList, Optional ByVal ShowErrors As Boolean = False) As Boolean
         Dim result As Boolean = True
         Dim destinationParameterTypes()() As Mono.Cecil.TypeReference
         Dim destinationParameters() As Mono.Collections.Generic.Collection(Of ParameterDefinition)
@@ -79,7 +73,7 @@ Public Class PropertyGroupClassification
         Next
 
         If m_Resolver Is Nothing Then m_Resolver = New MethodResolver(Parent)
-        m_Resolver.ShowErrors = False
+        m_Resolver.ShowErrors = ShowErrors
         m_Resolver.Init(inputGroup, SourceParameters, Nothing)
         result = m_Resolver.Resolve AndAlso result
 
@@ -191,14 +185,6 @@ Public Class PropertyGroupClassification
                 Throw New InternalException(Me)
             End If
         Next
-
-#If DEBUG Then
-        For i As Integer = 0 To Members.Count - 1
-            For j As Integer = i + 1 To Members.Count - 1
-                Helper.Assert(Members(i) IsNot Members(j))
-            Next
-        Next
-#End If
     End Sub
 
     Sub New(ByVal Parent As ParsedObject, ByVal InstanceExpression As Expression, ByVal Members As Mono.Collections.Generic.Collection(Of Mono.Cecil.PropertyReference))
@@ -207,12 +193,16 @@ Public Class PropertyGroupClassification
 
         m_Members = New Mono.Collections.Generic.Collection(Of Mono.Cecil.PropertyReference)()
         m_Members.AddRange(Members)
-#If DEBUG Then
+    End Sub
+
+    Sub New(ByVal Parent As ParsedObject, ByVal InstanceExpression As Expression, ByVal Members As Mono.Collections.Generic.Collection(Of Mono.Cecil.PropertyDefinition))
+        MyBase.New(Classifications.PropertyGroup, Parent)
+        m_InstanceExpression = InstanceExpression
+
+        m_Members = New Mono.Collections.Generic.Collection(Of Mono.Cecil.PropertyReference)(Members.Count)
         For i As Integer = 0 To Members.Count - 1
-            For j As Integer = i + 1 To Members.Count - 1
-                Helper.Assert(Members(i) IsNot Members(j))
-            Next
+            m_Members.Add(Members(i))
         Next
-#End If
     End Sub
 End Class
+
diff --git a/vbnc/vbnc/source/Expressions/Classifications/ValueClassification.vb b/vbnc/vbnc/source/Expressions/Classifications/ValueClassification.vb
index 15d6287..c81c928 100644
--- a/vbnc/vbnc/source/Expressions/Classifications/ValueClassification.vb
+++ b/vbnc/vbnc/source/Expressions/Classifications/ValueClassification.vb
@@ -35,35 +35,15 @@ Public Class ValueClassification
     Private m_Field As Mono.Cecil.FieldReference
     Private m_Classification As ExpressionClassification
 
-    Public Overrides ReadOnly Property IsConstant() As Boolean
-        Get
-            Dim result As Boolean
-            Static recursive As Boolean
-            Helper.Assert(recursive = False)
-            recursive = True
-            If ReclassifiedClassification IsNot Nothing Then
-                result = ReclassifiedClassification.IsConstant
-            ElseIf m_Value IsNot Nothing AndAlso m_Value.IsConstant Then
-                result = True
-            Else
-                result = False
-            End If
-            recursive = False
-            Return result
-        End Get
-    End Property
-
-    Public Overrides ReadOnly Property ConstantValue() As Object
-        Get
-            If ReclassifiedClassification IsNot Nothing Then
-                Return ReclassifiedClassification.ConstantValue
-            ElseIf m_Value IsNot Nothing Then
-                Return m_Value.ConstantValue
-            Else
-                Return MyBase.ConstantValue
-            End If
-        End Get
-    End Property
+    Public Overrides Function GetConstant(ByRef result As Object, ByVal ShowError As Boolean) As Boolean
+        If ReclassifiedClassification IsNot Nothing Then
+            Return ReclassifiedClassification.GetConstant(result, ShowError)
+        ElseIf m_Value IsNot Nothing Then
+            Return m_Value.GetConstant(result, ShowError)
+        Else
+            Return MyBase.GetConstant(result, ShowError)
+        End If
+    End Function
 
     Friend Overrides Function GenerateCode(ByVal Info As EmitInfo) As Boolean
         Dim result As Boolean = True
diff --git a/vbnc/vbnc/source/Expressions/Classifications/VariableClassification.vb b/vbnc/vbnc/source/Expressions/Classifications/VariableClassification.vb
index 7708c11..c7e82b0 100644
--- a/vbnc/vbnc/source/Expressions/Classifications/VariableClassification.vb
+++ b/vbnc/vbnc/source/Expressions/Classifications/VariableClassification.vb
@@ -41,6 +41,12 @@ Public Class VariableClassification
     Private m_ArrayVariable As Expression
     Private m_Arguments As ArgumentList
 
+    ReadOnly Property LocalVariable As LocalVariableDeclaration
+        Get
+            Return m_LocalVariable
+        End Get
+    End Property
+
     ReadOnly Property Method() As IMethod
         Get
             Return m_Method
@@ -65,86 +71,46 @@ Public Class VariableClassification
         End Get
     End Property
 
-    Public Overrides ReadOnly Property ConstantValue() As Object
-        Get
-            Helper.Assert(IsConstant)
-            If Me.FieldInfo IsNot Nothing Then
-                If Me.FieldDefinition.IsLiteral Then
-                    If Me.FieldDefinition.HasConstant = False OrElse Me.FieldDefinition.Constant Is Nothing Then
-                        Dim field As IFieldMember = TryCast(Me.FieldInfo.Annotations(Compiler), IFieldMember)
-                        Dim value As Object = Nothing
-                        If field Is Nothing Then
-                            'A field from an external assembly
-                            Return Me.FieldDefinition.Constant
-                        End If
-                        If field.ResolveAndGetConstantValue(value) Then
-                            Return value
-                        Else
-                            Helper.Stop()
-                            Return Nothing
-                        End If
-                        Helper.Stop() 'Constant value hasn't been set yet
-                        Return Nothing
-                    Else
-                        Return Me.FieldDefinition.Constant
-                    End If
-                ElseIf Me.FieldDefinition.IsInitOnly Then
-                    Dim dec As Decimal, dt As Date
-                    Dim constant As ConstantDeclaration
-                    Dim attrib As Object
-
-                    attrib = FieldDefinition.Annotations(Compiler)
-                    If attrib IsNot Nothing Then
-                        constant = TryCast(attrib, ConstantDeclaration)
-                        Return constant.ConstantValue
-                    End If
+    Public Overrides Function GetConstant(ByRef value As Object, ByVal ShowError As Boolean) As Boolean
+        If Me.FieldInfo IsNot Nothing Then
+            Dim attrib As Object
+            Dim dec As Decimal, dt As Date
+            Dim constant As ConstantDeclaration
+            Dim enumc As EnumMemberDeclaration
 
-                    If ConstantDeclaration.GetDecimalConstant(Compiler, FieldDefinition, dec) Then
-                        Return dec
-                    ElseIf ConstantDeclaration.GetDateConstant(Compiler, FieldDefinition, dt) Then
-                        Return dt
-                    Else
-                        Helper.Stop() 'This shouldn't really happen (IsConstant should return false)
-                        Return Nothing
-                    End If
-                Else
-                    Helper.Stop() 'This shouldn't really happen (IsConstant should return false)
-                    Return Nothing
-                End If
-            Else
-                Helper.Stop() 'This shouldn't really happen (IsConstant should return false)
-                Return Nothing
-            End If
-        End Get
-    End Property
+            attrib = FieldDefinition.Annotations(Compiler)
 
-    Public Overrides ReadOnly Property IsConstant() As Boolean
-        Get
-            If Me.FieldInfo IsNot Nothing Then
-                If FieldDefinition.IsLiteral Then
-                    Return True
-                ElseIf FieldDefinition.IsInitOnly Then
-                    Dim dec As Decimal, dt As Date
-                    Dim attrib As Object
+            If attrib IsNot Nothing Then
+                enumc = TryCast(attrib, EnumMemberDeclaration)
+                If enumc IsNot Nothing Then Return enumc.GetConstantValue(value)
 
-                    attrib = FieldDefinition.Annotations(Compiler)
-                    If attrib IsNot Nothing Then Return TypeOf attrib Is ConstantDeclaration
+                constant = TryCast(attrib, ConstantDeclaration)
+                If constant IsNot Nothing Then Return constant.GetConstant(value, ShowError)
+            End If
 
-                    If ConstantDeclaration.GetDecimalConstant(Compiler, FieldDefinition, dec) Then
-                        Return True
-                    ElseIf ConstantDeclaration.GetDateConstant(Compiler, FieldDefinition, dt) Then
-                        Return True
-                    Else
-                        Return False
-                    End If
+            If Me.FieldDefinition.IsLiteral Then
+                value = Me.FieldDefinition.Constant
+                Return True
+            ElseIf Me.FieldDefinition.IsInitOnly Then
+                If ConstantDeclaration.GetDecimalConstant(Compiler, FieldDefinition, dec) Then
+                    value = dec
+                    Return True
+                ElseIf ConstantDeclaration.GetDateConstant(Compiler, FieldDefinition, dt) Then
+                    value = dt
+                    Return True
                 Else
+                    If ShowError Then Parent.Show30059()
                     Return False
                 End If
             Else
+                If ShowError Then Parent.Show30059()
                 Return False
             End If
-        End Get
-    End Property
+        Else
+            If ShowError Then Parent.Show30059()
+            Return False
+        End If
+    End Function
 
     ReadOnly Property ParameterInfo() As Mono.Cecil.ParameterDefinition
         Get
@@ -431,7 +397,6 @@ Public Class VariableClassification
         m_InstanceExpression = InstanceExpression
         Helper.Assert(m_InstanceExpression Is Nothing OrElse m_InstanceExpression.IsResolved)
         Helper.Assert((Helper.IsShared(variable) AndAlso m_InstanceExpression Is Nothing) OrElse (Helper.IsShared(variable) = False AndAlso m_InstanceExpression IsNot Nothing))
-        Helper.Assert(variable IsNot Nothing AndAlso variable.FieldType IsNot Nothing)
     End Sub
 
     ''' <summary>
@@ -448,7 +413,7 @@ Public Class VariableClassification
         Helper.Assert(Arguments IsNot Nothing)
     End Sub
 
-    ReadOnly Property Type() As Mono.Cecil.TypeReference 'Descriptor
+    ReadOnly Property Type() As Mono.Cecil.TypeReference
         Get
             Dim result As Mono.Cecil.TypeReference
             If m_ExpressionType IsNot Nothing Then
@@ -474,5 +439,5 @@ Public Class VariableClassification
             Return result
         End Get
     End Property
-
 End Class
+
diff --git a/vbnc/vbnc/source/Expressions/ConstantExpression.vb b/vbnc/vbnc/source/Expressions/ConstantExpression.vb
index 809e4ac..f1cb821 100644
--- a/vbnc/vbnc/source/Expressions/ConstantExpression.vb
+++ b/vbnc/vbnc/source/Expressions/ConstantExpression.vb
@@ -49,24 +49,8 @@ Public Class ConstantExpression
         m_ExpressionType = ExpressionType
     End Sub
 
-    Protected Property Value() As Object
-        Get
-            Return m_Value
-        End Get
-        Set(ByVal value As Object)
-            m_Value = value
-        End Set
-    End Property
-
-    Public Overrides ReadOnly Property ConstantValue() As Object
-        Get
-            Return m_Value
-        End Get
-    End Property
-
     Overrides ReadOnly Property ExpressionType() As Mono.Cecil.TypeReference
         Get
-
             Return m_ExpressionType
         End Get
     End Property
@@ -79,12 +63,10 @@ Public Class ConstantExpression
         MyBase.New(Parent)
         m_Value = Constant
         m_ExpressionType = ExpressionType
-
     End Sub
 
-    Public Overrides ReadOnly Property IsConstant() As Boolean
-        Get
-            Return True
-        End Get
-    End Property
+    Public Overrides Function GetConstant(ByRef result As Object, ByVal ShowError As Boolean) As Boolean
+        result = m_Value
+        Return True
+    End Function
 End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/source/Expressions/Conversions/CBoolExpression.vb b/vbnc/vbnc/source/Expressions/Conversions/CBoolExpression.vb
index e0be518..ff006bf 100644
--- a/vbnc/vbnc/source/Expressions/Conversions/CBoolExpression.vb
+++ b/vbnc/vbnc/source/Expressions/Conversions/CBoolExpression.vb
@@ -87,6 +87,11 @@ Public Class CBoolExpression
         Return result
     End Function
 
+    Public Overrides Function GetConstant(ByRef result As Object, ByVal ShowError As Boolean) As Boolean
+        If Not Expression.GetConstant(result, ShowError) Then Return False
+        Return ConvertToBoolean(result, ShowError)
+    End Function
+
     Protected Overrides Function ResolveExpressionInternal(ByVal Info As ResolveInfo) As Boolean
         Dim result As Boolean = True
 
@@ -109,6 +114,8 @@ Public Class CBoolExpression
         
         result = ValidateForNullable(Info, Conversion, expTypeCode, expType) AndAlso result
 
+        If Conversion.GetConstant(Nothing, False) Then Return result
+
         Select Case expTypeCode
             Case TypeCode.Char, TypeCode.DateTime
                 Info.Compiler.Report.ShowMessage(Messages.VBNC30311, Expression.Location, Helper.ToString(Expression, expType), Helper.ToString(Expression, Info.Compiler.TypeCache.System_Boolean))
@@ -121,40 +128,21 @@ Public Class CBoolExpression
                 Else
                     result = Conversion.FindUserDefinedConversionOperator() AndAlso result
                 End If
+            Case TypeCode.Boolean
+                'Implicitly convertible
+            Case Else
+                If Conversion.IsExplicit = False AndAlso Conversion.Location.File(Conversion.Compiler).IsOptionStrictOn Then
+                    result = Conversion.Compiler.Report.ShowMessage(Messages.VBNC30512, Conversion.Location, Helper.ToString(Conversion, expType), Helper.ToString(Conversion, ExpressionType)) AndAlso result
+                End If
         End Select
 
         Return result
     End Function
 
-    Public Overrides ReadOnly Property IsConstant() As Boolean
-        Get
-            'CHECK: Is this true?
-            Return Expression.IsConstant AndAlso Helper.CompareType(Expression.ExpressionType, Compiler.TypeCache.System_String) = False
-        End Get
-    End Property
-
-    Public Overrides ReadOnly Property ConstantValue() As Object
-        Get
-            Dim tpCode As TypeCode
-            Dim originalValue As Object
-            originalValue = Expression.ConstantValue
-            tpCode = Helper.GetTypeCode(Compiler, CecilHelper.GetType(Compiler, originalValue))
-            Select Case tpCode
-                Case TypeCode.Boolean, TypeCode.SByte, TypeCode.Byte, TypeCode.Int16, TypeCode.UInt16, TypeCode.Int32, _
-                  TypeCode.UInt32, TypeCode.UInt64, TypeCode.Int64, TypeCode.Single, TypeCode.Double, TypeCode.Decimal
-                    Return CBool(originalValue) 'No range checking needed.
-                Case TypeCode.DBNull
-                    Return CBool(Nothing)
-                Case Else
-                    Compiler.Report.ShowMessage(Messages.VBNC30060, Location, originalValue.ToString, Helper.ToString(Expression, ExpressionType))
-                    Return False
-            End Select
-        End Get
-    End Property
-
     Overrides ReadOnly Property ExpressionType() As Mono.Cecil.TypeReference
         Get
             Return Compiler.TypeCache.System_Boolean
         End Get
     End Property
 End Class
+
diff --git a/vbnc/vbnc/source/Expressions/Conversions/CByteExpression.vb b/vbnc/vbnc/source/Expressions/Conversions/CByteExpression.vb
index 053bebb..89ca50e 100644
--- a/vbnc/vbnc/source/Expressions/Conversions/CByteExpression.vb
+++ b/vbnc/vbnc/source/Expressions/Conversions/CByteExpression.vb
@@ -32,6 +32,11 @@ Public Class CByteExpression
         Return GenerateCode(Me, Info)
     End Function
 
+    Public Overrides Function GetConstant(ByRef result As Object, ByVal ShowError As Boolean) As Boolean
+        If Not Expression.GetConstant(result, ShowError) Then Return False
+        Return ConvertToByte(result, ShowError)
+    End Function
+
     Protected Overrides Function ResolveExpressionInternal(ByVal Info As ResolveInfo) As Boolean
         Dim result As Boolean = True
 
@@ -51,6 +56,9 @@ Public Class CByteExpression
         Dim ExpressionType As TypeReference = Conversion.ExpressionType
 
         result = ValidateForNullable(Info, Conversion, expTypeCode, expType) AndAlso result
+
+        If Conversion.GetConstant(Nothing, False) Then Return result
+
         Select Case expTypeCode
             Case TypeCode.Char
                 Info.Compiler.Report.ShowMessage(Messages.VBNC32006, Expression.Location, Helper.ToString(Expression, expType))
@@ -66,6 +74,12 @@ Public Class CByteExpression
                 Else
                     result = Conversion.FindUserDefinedConversionOperator() AndAlso result
                 End If
+            Case TypeCode.Byte
+                'Implicitly convertible
+            Case Else
+                If Conversion.IsExplicit = False AndAlso Conversion.Location.File(Conversion.Compiler).IsOptionStrictOn Then
+                    result = Conversion.Compiler.Report.ShowMessage(Messages.VBNC30512, Conversion.Location, Helper.ToString(Conversion, expType), Helper.ToString(Conversion, ExpressionType)) AndAlso result
+                End If
         End Select
 
         Return result
@@ -123,38 +137,10 @@ Public Class CByteExpression
         Return result
     End Function
 
-    Public Overrides ReadOnly Property ConstantValue() As Object
-        Get
-            Dim tpCode As TypeCode
-            Dim originalValue As Object
-            originalValue = Expression.ConstantValue
-            tpCode = Helper.GetTypeCode(Compiler, CecilHelper.GetType(Compiler, originalValue))
-            Select Case tpCode
-                Case TypeCode.Boolean, TypeCode.Byte
-                    Return CByte(originalValue) 'No range checking needed.
-                Case TypeCode.SByte, TypeCode.Int16, TypeCode.UInt16, TypeCode.Int32, TypeCode.UInt32, TypeCode.UInt64, TypeCode.Int64, TypeCode.Single, TypeCode.Double, TypeCode.Decimal
-                    Dim resultvalue As Object = 0
-                    If Compiler.TypeResolution.CheckNumericRange(originalValue, resultvalue, ExpressionType) Then
-                        Return resultvalue
-                    Else
-                        Compiler.Report.ShowMessage(Messages.VBNC30439, Location, Helper.ToString(Expression, ExpressionType))
-                        Return CByte(0)
-                    End If
-                Case TypeCode.DBNull
-                    Return CByte(0)
-                Case Else
-                    Compiler.Report.ShowMessage(Messages.VBNC30060, Location, originalValue.ToString, Helper.ToString(Expression, ExpressionType))
-                    Return CByte(0)
-            End Select
-        End Get
-    End Property
-
-
     Overrides ReadOnly Property ExpressionType() As Mono.Cecil.TypeReference
         Get
-
             Return Compiler.TypeCache.System_Byte
         End Get
     End Property
-
 End Class
+
diff --git a/vbnc/vbnc/source/Expressions/Conversions/CCharExpression.vb b/vbnc/vbnc/source/Expressions/Conversions/CCharExpression.vb
index d1c4511..229eee1 100644
--- a/vbnc/vbnc/source/Expressions/Conversions/CCharExpression.vb
+++ b/vbnc/vbnc/source/Expressions/Conversions/CCharExpression.vb
@@ -76,6 +76,11 @@ Public Class CCharExpression
         Return result
     End Function
 
+    Public Overrides Function GetConstant(ByRef result As Object, ByVal ShowError As Boolean) As Boolean
+        If Not Expression.GetConstant(result, ShowError) Then Return False
+        Return ConvertToChar(result, ShowError)
+    End Function
+
     Shared Function Validate(ByVal Info As ResolveInfo, ByVal Conversion As ConversionExpression) As Boolean
         Dim result As Boolean = True
 
@@ -108,41 +113,8 @@ Public Class CCharExpression
         Return result
     End Function
 
-    Public Overrides ReadOnly Property IsConstant() As Boolean
-        Get
-            If Helper.CompareType(Compiler.TypeCache.Nothing, Me.Expression.ExpressionType) Then Return True
-            Return Expression.IsConstant AndAlso (TypeOf Expression.ConstantValue Is Char OrElse (TypeOf Expression.ConstantValue Is String AndAlso CStr(Expression.ConstantValue).Length = 1))
-        End Get
-    End Property
-
-    Public Overrides ReadOnly Property ConstantValue() As Object
-        Get
-            Dim tpCode As TypeCode
-            Dim originalValue As Object
-            originalValue = Expression.ConstantValue
-            tpCode = Helper.GetTypeCode(Compiler, CecilHelper.GetType(Compiler, originalValue))
-            Select Case tpCode
-                Case TypeCode.String
-                    If CStr(originalValue).Length = 1 Then
-                        Return CChar(originalValue)
-                    Else
-                        Compiler.Report.ShowMessage(Messages.VBNC30060, Location, originalValue.ToString, ExpressionType.ToString)
-                        Return New Char
-                    End If
-                Case TypeCode.Char
-                    Return CChar(originalValue)
-                Case TypeCode.DBNull
-                    Return VB.ChrW(0)
-                Case Else
-                    Compiler.Report.ShowMessage(Messages.VBNC30060, Location, originalValue.ToString, ExpressionType.ToString)
-                    Return New Char
-            End Select
-        End Get
-    End Property
-
     Overrides ReadOnly Property ExpressionType() As Mono.Cecil.TypeReference
         Get
-
             Return Compiler.TypeCache.System_Char
         End Get
     End Property
diff --git a/vbnc/vbnc/source/Expressions/Conversions/CDateExpression.vb b/vbnc/vbnc/source/Expressions/Conversions/CDateExpression.vb
index 1598da6..36aad5c 100644
--- a/vbnc/vbnc/source/Expressions/Conversions/CDateExpression.vb
+++ b/vbnc/vbnc/source/Expressions/Conversions/CDateExpression.vb
@@ -78,6 +78,11 @@ Public Class CDateExpression
 
         Return result
     End Function
+
+    Public Overrides Function GetConstant(ByRef result As Object, ByVal ShowError As Boolean) As Boolean
+        If Not Expression.GetConstant(result, ShowError) Then Return False
+        Return ConvertToDate(result, ShowError)
+    End Function
     
     Shared Function Validate(ByVal Info As ResolveInfo, ByVal Conversion As ConversionExpression) As Boolean
         Dim result As Boolean = True
@@ -109,25 +114,9 @@ Public Class CDateExpression
                 End If
         End Select
 
-
         Return result
     End Function
 
-    Public Overrides ReadOnly Property IsConstant() As Boolean
-        Get
-            Return Expression.IsConstant AndAlso Helper.CompareType(Expression.ExpressionType, Compiler.TypeCache.System_DateTime)
-        End Get
-    End Property
-
-    Public Overrides ReadOnly Property ConstantValue() As Object
-        Get
-            Dim originalValue As Object
-            originalValue = Expression.ConstantValue
-            Helper.Assert(TypeOf originalValue Is Date)
-            Return originalValue
-        End Get
-    End Property
-
     Overrides ReadOnly Property ExpressionType() As Mono.Cecil.TypeReference
         Get
 
diff --git a/vbnc/vbnc/source/Expressions/Conversions/CDblExpression.vb b/vbnc/vbnc/source/Expressions/Conversions/CDblExpression.vb
index d1d0e11..55c20e2 100644
--- a/vbnc/vbnc/source/Expressions/Conversions/CDblExpression.vb
+++ b/vbnc/vbnc/source/Expressions/Conversions/CDblExpression.vb
@@ -52,6 +52,8 @@ Public Class CDblExpression
 
         result = ValidateForNullable(Info, Conversion, expTypeCode, expType) AndAlso result
 
+        If Conversion.GetConstant(Nothing, False) Then Return result
+
         Select Case expTypeCode
             Case TypeCode.DateTime
                 Info.Compiler.Report.ShowMessage(Messages.VBNC30532, Expression.Location, Helper.ToString(Expression, expType))
@@ -67,11 +69,22 @@ Public Class CDblExpression
                 Else
                     result = Conversion.FindUserDefinedConversionOperator() AndAlso result
                 End If
+            Case TypeCode.Single, TypeCode.Double, TypeCode.Decimal, TypeCode.UInt64, TypeCode.Int64, TypeCode.UInt32, TypeCode.Int32, TypeCode.Int16, TypeCode.Byte, TypeCode.SByte, TypeCode.UInt16
+                'Implicitly convertible
+            Case Else
+                If Conversion.IsExplicit = False AndAlso Conversion.Location.File(Conversion.Compiler).IsOptionStrictOn Then
+                    result = Conversion.Compiler.Report.ShowMessage(Messages.VBNC30512, Conversion.Location, Helper.ToString(Conversion, expType), Helper.ToString(Conversion, ExpressionType)) AndAlso result
+                End If
         End Select
 
         Return result
     End Function
-    
+
+    Public Overrides Function GetConstant(ByRef result As Object, ByVal ShowError As Boolean) As Boolean
+        If Not Expression.GetConstant(result, ShowError) Then Return False
+        Return ConvertToDouble(result, ShowError)
+    End Function
+
     Overloads Shared Function GenerateCode(ByVal Conversion As ConversionExpression, ByVal Info As EmitInfo) As Boolean
         Dim result As Boolean = True
         Dim expType As Mono.Cecil.TypeReference = Nothing
@@ -119,34 +132,10 @@ Public Class CDblExpression
         Return result
     End Function
 
-    Public Overrides ReadOnly Property IsConstant() As Boolean
-        Get
-            Return Expression.IsConstant AndAlso Helper.CompareType(Expression.ExpressionType, Compiler.TypeCache.System_String) = False
-        End Get
-    End Property
-
-    Public Overrides ReadOnly Property ConstantValue() As Object
-        Get
-            Dim tpCode As TypeCode
-            Dim originalValue As Object
-            originalValue = Expression.ConstantValue
-            tpCode = Helper.GetTypeCode(Compiler, CecilHelper.GetType(Compiler, originalValue))
-            Select Case tpCode
-                Case TypeCode.Boolean, TypeCode.SByte, TypeCode.Byte, TypeCode.Int16, TypeCode.UInt16, TypeCode.Int32, _
-                TypeCode.UInt32, TypeCode.UInt64, TypeCode.Int64, TypeCode.Single, TypeCode.Double, TypeCode.Decimal
-                    Return CDbl(originalValue) 'No range checking needed.
-                Case TypeCode.DBNull
-                    Return CDbl(0)
-                Case Else
-                    Compiler.Report.ShowMessage(Messages.VBNC30060, Location, originalValue.ToString, Helper.ToString(Expression, ExpressionType))
-                    Return New Double
-            End Select
-        End Get
-    End Property
-
     Overrides ReadOnly Property ExpressionType() As Mono.Cecil.TypeReference
         Get
             Return Compiler.TypeCache.System_Double
         End Get
     End Property
 End Class
+
diff --git a/vbnc/vbnc/source/Expressions/Conversions/CDecExpression.vb b/vbnc/vbnc/source/Expressions/Conversions/CDecExpression.vb
index d4162a9..8d59238 100644
--- a/vbnc/vbnc/source/Expressions/Conversions/CDecExpression.vb
+++ b/vbnc/vbnc/source/Expressions/Conversions/CDecExpression.vb
@@ -41,7 +41,12 @@ Public Class CDecExpression
 
         Return result
     End Function
-    
+
+    Public Overrides Function GetConstant(ByRef result As Object, ByVal ShowError As Boolean) As Boolean
+        If Not Expression.GetConstant(result, ShowError) Then Return False
+        Return ConvertToDecimal(result, ShowError)
+    End Function
+
     Shared Function Validate(ByVal Info As ResolveInfo, ByVal Conversion As ConversionExpression) As Boolean
         Dim result As Boolean = True
 
@@ -52,6 +57,8 @@ Public Class CDecExpression
 
         result = ValidateForNullable(Info, Conversion, expTypeCode, expType) AndAlso result
 
+        If Conversion.GetConstant(Nothing, False) Then Return result
+
         Select Case expTypeCode
             Case TypeCode.DateTime, TypeCode.Char
                 Info.Compiler.Report.ShowMessage(Messages.VBNC30311, Expression.Location, Helper.ToString(Expression, expType), Helper.ToString(Expression, ExpressionType))
@@ -64,6 +71,12 @@ Public Class CDecExpression
                 Else
                     result = Conversion.FindUserDefinedConversionOperator() AndAlso result
                 End If
+            Case TypeCode.Single, TypeCode.Decimal, TypeCode.Double, TypeCode.UInt64, TypeCode.Int64, TypeCode.UInt32, TypeCode.Int32, TypeCode.Int16, TypeCode.Byte, TypeCode.SByte, TypeCode.UInt16
+                'Implicitly convertible
+            Case Else
+                If Conversion.IsExplicit = False AndAlso Conversion.Location.File(Conversion.Compiler).IsOptionStrictOn Then
+                    result = Conversion.Compiler.Report.ShowMessage(Messages.VBNC30512, Conversion.Location, Helper.ToString(Conversion, expType), Helper.ToString(Conversion, ExpressionType)) AndAlso result
+                End If
         End Select
 
         Return result
@@ -98,9 +111,10 @@ Public Class CDecExpression
             Case TypeCode.Double
                 Emitter.EmitNew(Info, Info.Compiler.TypeCache.System_Decimal__ctor_Double)
             Case TypeCode.Single
-                If Expression.IsConstant Then
+                Dim constant As Object = Nothing
+                If Expression.GetConstant(constant, False) Then
                     'VBC BUG? This seems to be a bug in vbc.exe.
-                    Emitter.EmitLoadDecimalValue(Info, New Decimal(CDbl(Expression.ConstantValue)))
+                    Emitter.EmitLoadDecimalValue(Info, New Decimal(CDbl(constant)))
                 Else
                     'CORRECT CODE.
                     Emitter.EmitNew(Info, Info.Compiler.TypeCache.System_Decimal__ctor_Single)
@@ -122,33 +136,10 @@ Public Class CDecExpression
         Return result
     End Function
 
-    Public Overrides ReadOnly Property ConstantValue() As Object
-        Get
-            Dim tpCode As TypeCode
-            Dim originalValue As Object
-            originalValue = Expression.ConstantValue
-            tpCode = Helper.GetTypeCode(Compiler, CecilHelper.GetType(Compiler, originalValue))
-            Select Case tpCode
-                Case TypeCode.Boolean, TypeCode.SByte, TypeCode.Byte, TypeCode.Int16, TypeCode.UInt16, TypeCode.Int32, TypeCode.UInt32, TypeCode.UInt64, TypeCode.Int64, TypeCode.Decimal
-                    Return CDec(originalValue) 'No range checking needed.
-                Case TypeCode.Single, TypeCode.Double, TypeCode.DBNull
-                    Dim resultvalue As Object = 0
-                    If Compiler.TypeResolution.CheckNumericRange(originalValue, resultvalue, ExpressionType) Then
-                        Return resultvalue
-                    Else
-                        Compiler.Report.ShowMessage(Messages.VBNC30439, Expression.Location, ExpressionType.ToString)
-                        Return New Decimal
-                    End If
-                Case Else
-                    Compiler.Report.ShowMessage(Messages.VBNC30060, Expression.Location, originalValue.ToString, ExpressionType.ToString)
-                    Return New Decimal
-            End Select
-        End Get
-    End Property
-
     Overrides ReadOnly Property ExpressionType() As Mono.Cecil.TypeReference
         Get
             Return Compiler.TypeCache.System_Decimal
         End Get
     End Property
 End Class
+
diff --git a/vbnc/vbnc/source/Expressions/Conversions/CIntExpression.vb b/vbnc/vbnc/source/Expressions/Conversions/CIntExpression.vb
index b5c7838..8c412ff 100644
--- a/vbnc/vbnc/source/Expressions/Conversions/CIntExpression.vb
+++ b/vbnc/vbnc/source/Expressions/Conversions/CIntExpression.vb
@@ -32,6 +32,11 @@ Public Class CIntExpression
         Return GenerateCode(Me, Info)
     End Function
 
+    Public Overrides Function GetConstant(ByRef result As Object, ByVal ShowError As Boolean) As Boolean
+        If Not Expression.GetConstant(result, ShowError) Then Return False
+        Return ConvertToInt32(result, ShowError)
+    End Function
+
     Protected Overrides Function ResolveExpressionInternal(ByVal Info As ResolveInfo) As Boolean
         Dim result As Boolean = True
 
@@ -52,6 +57,8 @@ Public Class CIntExpression
 
         result = ValidateForNullable(Info, Conversion, expTypeCode, expType) AndAlso result
 
+        If Conversion.GetConstant(Nothing, False) Then Return result
+
         Select Case expTypeCode
             Case TypeCode.Char
                 Info.Compiler.Report.ShowMessage(Messages.VBNC32006, Expression.Location, Helper.ToString(Expression, expType))
@@ -67,6 +74,12 @@ Public Class CIntExpression
                 Else
                     result = Conversion.FindUserDefinedConversionOperator() AndAlso result
                 End If
+            Case TypeCode.Int32, TypeCode.Int16, TypeCode.Byte, TypeCode.SByte, TypeCode.UInt16
+                'Implicitly convertible
+            Case Else
+                If Conversion.IsExplicit = False AndAlso Conversion.Location.File(Conversion.Compiler).IsOptionStrictOn Then
+                    result = Conversion.Compiler.Report.ShowMessage(Messages.VBNC30512, Conversion.Location, Helper.ToString(Conversion, expType), Helper.ToString(Conversion, ExpressionType)) AndAlso result
+                End If
         End Select
 
         Return result
@@ -124,33 +137,10 @@ Public Class CIntExpression
         Return result
     End Function
 
-    Public Overrides ReadOnly Property ConstantValue() As Object
-        Get
-            Dim tpCode As TypeCode
-            Dim originalValue As Object
-            originalValue = Expression.ConstantValue
-            tpCode = Helper.GetTypeCode(Compiler, CecilHelper.GetType(Compiler, originalValue))
-            Select Case tpCode
-                Case TypeCode.Boolean, TypeCode.SByte, TypeCode.Byte, TypeCode.Int16, TypeCode.UInt16, TypeCode.Int32
-                    Return CInt(originalValue) 'No range checking needed.
-                Case TypeCode.UInt32, TypeCode.UInt64, TypeCode.Int64, TypeCode.Single, TypeCode.Double, TypeCode.Decimal, TypeCode.DBNull
-                    Dim resultvalue As Object = 0
-                    If Compiler.TypeResolution.CheckNumericRange(originalValue, resultvalue, ExpressionType) Then
-                        Return resultvalue
-                    Else
-                        Compiler.Report.ShowMessage(Messages.VBNC30439, Location, Helper.ToString(Expression, ExpressionType))
-                        Return CInt(0)
-                    End If
-                Case Else
-                    Compiler.Report.ShowMessage(Messages.VBNC30060, Location, originalValue.ToString, Helper.ToString(Expression, ExpressionType))
-                    Return CInt(0)
-            End Select
-        End Get
-    End Property
-
     Overrides ReadOnly Property ExpressionType() As Mono.Cecil.TypeReference
         Get
             Return Compiler.TypeCache.System_Int32
         End Get
     End Property
 End Class
+
diff --git a/vbnc/vbnc/source/Expressions/Conversions/CLngExpression.vb b/vbnc/vbnc/source/Expressions/Conversions/CLngExpression.vb
index b456fa9..20ffe84 100644
--- a/vbnc/vbnc/source/Expressions/Conversions/CLngExpression.vb
+++ b/vbnc/vbnc/source/Expressions/Conversions/CLngExpression.vb
@@ -32,6 +32,11 @@ Public Class CLngExpression
         Return GenerateCode(Me, Info)
     End Function
 
+    Public Overrides Function GetConstant(ByRef result As Object, ByVal ShowError As Boolean) As Boolean
+        If Not Expression.GetConstant(result, ShowError) Then Return False
+        Return ConvertToLong(result, ShowError)
+    End Function
+
     Protected Overrides Function ResolveExpressionInternal(ByVal Info As ResolveInfo) As Boolean
         Dim result As Boolean = True
 
@@ -52,6 +57,8 @@ Public Class CLngExpression
 
         result = ValidateForNullable(Info, Conversion, expTypeCode, expType) AndAlso result
 
+        If Conversion.GetConstant(Nothing, False) Then Return result
+
         Select Case expTypeCode
             Case TypeCode.Char
                 Info.Compiler.Report.ShowMessage(Messages.VBNC32006, Expression.Location, Helper.ToString(Expression, expType))
@@ -67,6 +74,12 @@ Public Class CLngExpression
                 Else
                     result = Conversion.FindUserDefinedConversionOperator() AndAlso result
                 End If
+            Case TypeCode.Int64, TypeCode.UInt32, TypeCode.Int32, TypeCode.Int16, TypeCode.Byte, TypeCode.SByte, TypeCode.UInt16
+                'Implicitly convertible
+            Case Else
+                If Conversion.IsExplicit = False AndAlso Conversion.Location.File(Conversion.Compiler).IsOptionStrictOn Then
+                    result = Conversion.Compiler.Report.ShowMessage(Messages.VBNC30512, Conversion.Location, Helper.ToString(Conversion, expType), Helper.ToString(Conversion, ExpressionType)) AndAlso result
+                End If
         End Select
 
         Return result
@@ -124,33 +137,10 @@ Public Class CLngExpression
         Return result
     End Function
 
-    Public Overrides ReadOnly Property ConstantValue() As Object
-        Get
-            Dim tpCode As TypeCode
-            Dim originalValue As Object
-            originalValue = Expression.ConstantValue
-            tpCode = Helper.GetTypeCode(Compiler, CecilHelper.GetType(Compiler, originalValue))
-            Select Case tpCode
-                Case TypeCode.Boolean, TypeCode.SByte, TypeCode.Byte, TypeCode.Int16, TypeCode.UInt16, TypeCode.Int32, TypeCode.Int64, TypeCode.UInt32
-                    Return CLng(originalValue) 'No range checking needed.
-                Case TypeCode.UInt64, TypeCode.Single, TypeCode.Double, TypeCode.Decimal, TypeCode.DBNull
-                    Dim resultvalue As Object = 0
-                    If Compiler.TypeResolution.CheckNumericRange(originalValue, resultvalue, ExpressionType) Then
-                        Return resultvalue
-                    Else
-                        Compiler.Report.ShowMessage(Messages.VBNC30439, Location, Helper.ToString(Expression, ExpressionType))
-                        Return New Long
-                    End If
-                Case Else
-                    Compiler.Report.ShowMessage(Messages.VBNC30060, Location, originalValue.ToString, Helper.ToString(Expression, ExpressionType))
-                    Return New Long
-            End Select
-        End Get
-    End Property
-
     Overrides ReadOnly Property ExpressionType() As Mono.Cecil.TypeReference
         Get
             Return Compiler.TypeCache.System_Int64
         End Get
     End Property
 End Class
+
diff --git a/vbnc/vbnc/source/Expressions/Conversions/CObjExpression.vb b/vbnc/vbnc/source/Expressions/Conversions/CObjExpression.vb
index fcd1d93..31237f0 100644
--- a/vbnc/vbnc/source/Expressions/Conversions/CObjExpression.vb
+++ b/vbnc/vbnc/source/Expressions/Conversions/CObjExpression.vb
@@ -62,12 +62,6 @@ Public Class CObjExpression
         Return GenerateCode(Me.Expression, Info)
     End Function
 
-    Public Overrides ReadOnly Property IsConstant() As Boolean
-        Get
-            Return False
-        End Get
-    End Property
-
     Overrides ReadOnly Property ExpressionType() As Mono.Cecil.TypeReference
         Get
             Return Compiler.TypeCache.System_Object
diff --git a/vbnc/vbnc/source/Expressions/Conversions/CSByteExpression.vb b/vbnc/vbnc/source/Expressions/Conversions/CSByteExpression.vb
index 7e53e6a..4bd8c3d 100644
--- a/vbnc/vbnc/source/Expressions/Conversions/CSByteExpression.vb
+++ b/vbnc/vbnc/source/Expressions/Conversions/CSByteExpression.vb
@@ -32,6 +32,11 @@ Public Class CSByteExpression
         Return GenerateCode(Me, Info)
     End Function
 
+    Public Overrides Function GetConstant(ByRef result As Object, ByVal ShowError As Boolean) As Boolean
+        If Not Expression.GetConstant(result, ShowError) Then Return False
+        Return ConvertToSByte(result, ShowError)
+    End Function
+
     Protected Overrides Function ResolveExpressionInternal(ByVal Info As ResolveInfo) As Boolean
         Dim result As Boolean = True
 
@@ -52,6 +57,8 @@ Public Class CSByteExpression
 
         result = ValidateForNullable(Info, Conversion, expTypeCode, expType) AndAlso result
 
+        If Conversion.GetConstant(Nothing, False) Then Return result
+
         Select Case expTypeCode
             Case TypeCode.Char
                 Info.Compiler.Report.ShowMessage(Messages.VBNC32006, Expression.Location, Helper.ToString(Expression, expType))
@@ -67,6 +74,12 @@ Public Class CSByteExpression
                 Else
                     result = Conversion.FindUserDefinedConversionOperator() AndAlso result
                 End If
+            Case TypeCode.SByte
+                'Implicitly convertible
+            Case Else
+                If Conversion.IsExplicit = False AndAlso Conversion.Location.File(Conversion.Compiler).IsOptionStrictOn Then
+                    result = Conversion.Compiler.Report.ShowMessage(Messages.VBNC30512, Conversion.Location, Helper.ToString(Conversion, expType), Helper.ToString(Conversion, ExpressionType)) AndAlso result
+                End If
         End Select
 
         Return result
@@ -124,33 +137,10 @@ Public Class CSByteExpression
         Return result
     End Function
 
-    Public Overrides ReadOnly Property ConstantValue() As Object
-        Get
-            Dim tpCode As TypeCode
-            Dim originalValue As Object
-            originalValue = Expression.ConstantValue
-            tpCode = Helper.GetTypeCode(Compiler, CecilHelper.GetType(Compiler, originalValue))
-            Select Case tpCode
-                Case TypeCode.SByte
-                    Return CSByte(originalValue) 'No range checking needed.
-                Case TypeCode.Boolean, TypeCode.Byte, TypeCode.Int16, TypeCode.UInt16, TypeCode.Int32, TypeCode.UInt32, TypeCode.UInt64, TypeCode.Int64, TypeCode.Single, TypeCode.Double, TypeCode.Decimal, TypeCode.DBNull
-                    Dim resultvalue As Object = 0
-                    If Compiler.TypeResolution.CheckNumericRange(originalValue, resultvalue, ExpressionType) Then
-                        Return resultvalue
-                    Else
-                        Compiler.Report.ShowMessage(Messages.VBNC30439, Location, Helper.ToString(Expression, ExpressionType))
-                        Return New SByte
-                    End If
-                Case Else
-                    Compiler.Report.ShowMessage(Messages.VBNC30060, Location, originalValue.ToString, Helper.ToString(Expression, ExpressionType))
-                    Return CSByte(0)
-            End Select
-        End Get
-    End Property
-
     Overrides ReadOnly Property ExpressionType() As Mono.Cecil.TypeReference
         Get
             Return Compiler.TypeCache.System_SByte
         End Get
     End Property
 End Class
+
diff --git a/vbnc/vbnc/source/Expressions/Conversions/CShortExpression.vb b/vbnc/vbnc/source/Expressions/Conversions/CShortExpression.vb
index 57a98f3..7029397 100644
--- a/vbnc/vbnc/source/Expressions/Conversions/CShortExpression.vb
+++ b/vbnc/vbnc/source/Expressions/Conversions/CShortExpression.vb
@@ -32,6 +32,11 @@ Public Class CShortExpression
         Return GenerateCode(Me, Info)
     End Function
 
+    Public Overrides Function GetConstant(ByRef result As Object, ByVal ShowError As Boolean) As Boolean
+        If Not Expression.GetConstant(result, ShowError) Then Return False
+        Return ConvertToShort(result, ShowError)
+    End Function
+
     Protected Overrides Function ResolveExpressionInternal(ByVal Info As ResolveInfo) As Boolean
         Dim result As Boolean = True
 
@@ -52,6 +57,8 @@ Public Class CShortExpression
 
         result = ValidateForNullable(Info, Conversion, expTypeCode, expType) AndAlso result
 
+        If Conversion.GetConstant(Nothing, False) Then Return result
+
         Select Case expTypeCode
             Case TypeCode.Char
                 Info.Compiler.Report.ShowMessage(Messages.VBNC32006, Expression.Location, Helper.ToString(Expression, expType))
@@ -67,6 +74,12 @@ Public Class CShortExpression
                 Else
                     result = Conversion.FindUserDefinedConversionOperator() AndAlso result
                 End If
+            Case TypeCode.Int16, TypeCode.Byte, TypeCode.SByte
+                'Implicitly convertible
+            Case Else
+                If Conversion.IsExplicit = False AndAlso Conversion.Location.File(Conversion.Compiler).IsOptionStrictOn Then
+                    result = Conversion.Compiler.Report.ShowMessage(Messages.VBNC30512, Conversion.Location, Helper.ToString(Conversion, expType), Helper.ToString(Conversion, ExpressionType)) AndAlso result
+                End If
         End Select
 
         Return result
@@ -124,33 +137,10 @@ Public Class CShortExpression
         Return result
     End Function
 
-    Public Overrides ReadOnly Property ConstantValue() As Object
-        Get
-            Dim tpCode As TypeCode
-            Dim originalValue As Object
-            originalValue = Expression.ConstantValue
-            tpCode = Helper.GetTypeCode(Compiler, CecilHelper.GetType(Compiler, originalValue))
-            Select Case tpCode
-                Case TypeCode.Boolean, TypeCode.SByte, TypeCode.Byte, TypeCode.Int16
-                    Return CShort(originalValue) 'No range checking needed.
-                Case TypeCode.UInt16, TypeCode.Int32, TypeCode.UInt32, TypeCode.UInt64, TypeCode.Int64, TypeCode.Single, TypeCode.Double, TypeCode.Decimal, TypeCode.DBNull
-                    Dim resultvalue As Object = 0
-                    If Compiler.TypeResolution.CheckNumericRange(originalValue, resultvalue, ExpressionType) Then
-                        Return resultvalue
-                    Else
-                        Compiler.Report.ShowMessage(Messages.VBNC30439, Location, Helper.ToString(Expression, ExpressionType))
-                        Return New Short
-                    End If
-                Case Else
-                    Compiler.Report.ShowMessage(Messages.VBNC30060, Location, originalValue.ToString, Helper.ToString(Expression, ExpressionType))
-                    Return New Short
-            End Select
-        End Get
-    End Property
-
     Overrides ReadOnly Property ExpressionType() As Mono.Cecil.TypeReference
         Get
             Return Compiler.TypeCache.System_Int16
         End Get
     End Property
 End Class
+
diff --git a/vbnc/vbnc/source/Expressions/Conversions/CSngExpression.vb b/vbnc/vbnc/source/Expressions/Conversions/CSngExpression.vb
index 3a84946..6cd7a8a 100644
--- a/vbnc/vbnc/source/Expressions/Conversions/CSngExpression.vb
+++ b/vbnc/vbnc/source/Expressions/Conversions/CSngExpression.vb
@@ -32,6 +32,11 @@ Public Class CSngExpression
         Return GenerateCode(Me, Info)
     End Function
 
+    Public Overrides Function GetConstant(ByRef result As Object, ByVal ShowError As Boolean) As Boolean
+        If Not Expression.GetConstant(result, ShowError) Then Return False
+        Return ConvertToSingle(result, ShowError)
+    End Function
+
     Protected Overrides Function ResolveExpressionInternal(ByVal Info As ResolveInfo) As Boolean
         Dim result As Boolean = True
 
@@ -52,6 +57,8 @@ Public Class CSngExpression
 
         result = ValidateForNullable(Info, Conversion, expTypeCode, expType) AndAlso result
 
+        If Conversion.GetConstant(Nothing, False) Then Return result
+
         Select Case expTypeCode
             Case TypeCode.Char, TypeCode.DateTime
                 Info.Compiler.Report.ShowMessage(Messages.VBNC30311, Expression.Location, Helper.ToString(Expression, expType), Helper.ToString(Expression, ExpressionType))
@@ -64,11 +71,17 @@ Public Class CSngExpression
                 Else
                     result = Conversion.FindUserDefinedConversionOperator() AndAlso result
                 End If
+            Case TypeCode.Single, TypeCode.Decimal, TypeCode.UInt64, TypeCode.Int64, TypeCode.UInt32, TypeCode.Int32, TypeCode.Int16, TypeCode.Byte, TypeCode.SByte, TypeCode.UInt16
+                'Implicitly convertible
+            Case Else
+                If Conversion.IsExplicit = False AndAlso Conversion.Location.File(Conversion.Compiler).IsOptionStrictOn Then
+                    result = Conversion.Compiler.Report.ShowMessage(Messages.VBNC30512, Conversion.Location, Helper.ToString(Conversion, expType), Helper.ToString(Conversion, ExpressionType)) AndAlso result
+                End If
         End Select
 
         Return result
     End Function
-    
+
     Overloads Shared Function GenerateCode(ByVal Conversion As ConversionExpression, ByVal Info As EmitInfo) As Boolean
         Dim result As Boolean = True
         Dim expType As Mono.Cecil.TypeReference = Nothing
@@ -113,33 +126,10 @@ Public Class CSngExpression
         Return result
     End Function
 
-    Public Overrides ReadOnly Property ConstantValue() As Object
-        Get
-            Dim tpCode As TypeCode
-            Dim originalValue As Object
-            originalValue = Expression.ConstantValue
-            tpCode = Helper.GetTypeCode(Compiler, CecilHelper.GetType(Compiler, originalValue))
-            Select Case tpCode
-                Case TypeCode.Boolean, TypeCode.SByte, TypeCode.Byte, TypeCode.Int16, TypeCode.UInt16, TypeCode.Int32, TypeCode.UInt32, TypeCode.UInt64, TypeCode.Int64, TypeCode.Single, TypeCode.Decimal
-                    Return CSng(originalValue) 'No range checking needed.
-                Case TypeCode.Double, TypeCode.DBNull
-                    Dim resultvalue As Object = 0
-                    If Compiler.TypeResolution.CheckNumericRange(originalValue, resultvalue, ExpressionType) Then
-                        Return resultvalue
-                    Else
-                        Compiler.Report.ShowMessage(Messages.VBNC30439, Location, Helper.ToString(Expression, ExpressionType))
-                        Return New Single
-                    End If
-                Case Else
-                    Compiler.Report.ShowMessage(Messages.VBNC30060, Location, originalValue.ToString, Helper.ToString(Expression, ExpressionType))
-                    Return New Single
-            End Select
-        End Get
-    End Property
-
     Overrides ReadOnly Property ExpressionType() As Mono.Cecil.TypeReference
         Get
             Return Compiler.TypeCache.System_Single
         End Get
     End Property
 End Class
+
diff --git a/vbnc/vbnc/source/Expressions/Conversions/CStrExpression.vb b/vbnc/vbnc/source/Expressions/Conversions/CStrExpression.vb
index 4d6f329..4595a58 100644
--- a/vbnc/vbnc/source/Expressions/Conversions/CStrExpression.vb
+++ b/vbnc/vbnc/source/Expressions/Conversions/CStrExpression.vb
@@ -32,6 +32,11 @@ Public Class CStrExpression
         Return GenerateCode(Me, Info)
     End Function
 
+    Public Overrides Function GetConstant(ByRef result As Object, ByVal ShowError As Boolean) As Boolean
+        If Not Expression.GetConstant(result, ShowError) Then Return False
+        Return ConvertToString(result, ShowError)
+    End Function
+
     Protected Overrides Function ResolveExpressionInternal(ByVal Info As ResolveInfo) As Boolean
         Dim result As Boolean = True
 
@@ -121,31 +126,6 @@ Public Class CStrExpression
         Return result
     End Function
 
-    Public Overrides ReadOnly Property IsConstant() As Boolean
-        Get
-            Return Expression.IsConstant AndAlso (Helper.CompareType(Expression.ExpressionType, Compiler.TypeCache.System_String) OrElse Helper.CompareType(Expression.ExpressionType, Compiler.TypeCache.System_Char) OrElse Helper.CompareType(Expression.ExpressionType, Compiler.TypeCache.Nothing))
-        End Get
-    End Property
-
-    Public Overrides ReadOnly Property ConstantValue() As Object
-        Get
-            Dim tpCode As TypeCode
-            Dim originalValue As Object
-
-            originalValue = Expression.ConstantValue
-            tpCode = Helper.GetTypeCode(Compiler, CecilHelper.GetType(Compiler, originalValue))
-            Select Case tpCode
-                Case TypeCode.Char, TypeCode.String
-                    Return CStr(originalValue)
-                Case TypeCode.DBNull
-                    Return DBNull.Value
-                Case Else
-                    Compiler.Report.ShowMessage(Messages.VBNC30060, Location, originalValue.ToString, Helper.ToString(Expression, ExpressionType))
-                    Return False
-            End Select
-        End Get
-    End Property
-
     Overrides ReadOnly Property ExpressionType() As Mono.Cecil.TypeReference
         Get
             Return Compiler.TypeCache.System_String
diff --git a/vbnc/vbnc/source/Expressions/Conversions/CTypeExpression.vb b/vbnc/vbnc/source/Expressions/Conversions/CTypeExpression.vb
index dbb0bbd..05c33a6 100755
--- a/vbnc/vbnc/source/Expressions/Conversions/CTypeExpression.vb
+++ b/vbnc/vbnc/source/Expressions/Conversions/CTypeExpression.vb
@@ -22,6 +22,7 @@ Public Class CTypeExpression
     Private m_DestinationType As TypeName
     Private m_ResolvedDestinationType As Mono.Cecil.TypeReference
     Private m_IsStringToCharArray As Boolean
+    Private m_ConversionType As CTypeConversionType
 
     Public Overrides Function ResolveTypeReferences() As Boolean
         Dim result As Boolean = True
@@ -47,6 +48,12 @@ Public Class CTypeExpression
         Helper.Assert(CecilHelper.IsByRef(m_ResolvedDestinationType) = False, "Can't create TypeConversion to byref type (trying to convert from " & Expression.ExpressionType.FullName & " to " & DestinationType.FullName)
     End Sub
 
+    Sub New(ByVal Parent As ParsedObject, ByVal Expression As Expression, ByVal DestinationType As TypeReference, ByVal ConversionType As CTypeConversionType)
+        MyBase.New(Parent, Expression)
+        m_ResolvedDestinationType = DestinationType
+        m_ConversionType = ConversionType
+    End Sub
+
     Shadows Sub Init(ByVal Expression As Expression, ByVal DestinationType As TypeName)
         MyBase.Init(Expression)
         m_DestinationType = DestinationType
@@ -63,6 +70,125 @@ Public Class CTypeExpression
         Dim expType As Mono.Cecil.TypeReference = Me.ExpressionType
         Dim expTypeCode As TypeCode = Helper.GetTypeCode(Compiler, expType)
 
+        If m_ConversionType <> CTypeConversionType.Undetermined AndAlso m_ConversionType <> CTypeConversionType.Intrinsic Then
+            result = Expression.Classification.GenerateCode(Info.Clone(Me, ExpressionType)) AndAlso result
+        End If
+
+        Select Case m_ConversionType
+            Case CTypeConversionType.FromNullable
+                Dim nullable_dst_type As GenericInstanceType
+                Dim explicit_op As MethodReference
+                Dim git As GenericInstanceType
+
+                nullable_dst_type = New GenericInstanceType(Helper.GetTypeOrTypeReference(Compiler, Compiler.TypeCache.System_Nullable1))
+                nullable_dst_type.GenericArguments.Add(Helper.GetTypeOrTypeReference(Compiler, CecilHelper.GetNulledType(Expression.ExpressionType)))
+                git = New GenericInstanceType(Helper.GetTypeOrTypeReference(Compiler, Compiler.TypeCache.System_Nullable1))
+                git.GenericArguments.Add(Compiler.TypeCache.System_Nullable1.GenericParameters(0))
+                explicit_op = New MethodReference("op_Explicit", nullable_dst_type, ExpressionType, False, False, MethodCallingConvention.Default)
+                explicit_op.Parameters.Add(New ParameterDefinition(git))
+                Emitter.EmitCall(Info, explicit_op)
+                Return True
+            Case CTypeConversionType.ToNullable
+                Dim nullable_dst_type As GenericInstanceType
+                Dim implicit_op As MethodReference
+
+                nullable_dst_type = New GenericInstanceType(Helper.GetTypeOrTypeReference(Compiler, Compiler.TypeCache.System_Nullable1))
+                nullable_dst_type.GenericArguments.Add(Helper.GetTypeOrTypeReference(Compiler, CecilHelper.GetNulledType(ExpressionType)))
+                implicit_op = New MethodReference("op_Implicit", nullable_dst_type, nullable_dst_type, False, False, MethodCallingConvention.Default)
+                implicit_op.Parameters.Add(New ParameterDefinition(Compiler.TypeCache.System_Nullable1.GenericParameters(0)))
+                Emitter.EmitCall(Info, implicit_op)
+                Return True
+            Case CTypeConversionType.Castclass
+                Emitter.EmitCastClass(Info, ExpressionType)
+                Return True
+            Case CTypeConversionType.Identity
+                'There is nothing to do here
+                Return True
+            Case CTypeConversionType.Box
+                Emitter.EmitBox(Info, Expression.ExpressionType)
+                Return True
+            Case CTypeConversionType.Box_CastClass
+                Emitter.EmitBox(Info, Expression.ExpressionType)
+                Emitter.EmitCastClass(Info, ExpressionType)
+                Return True
+            Case CTypeConversionType.Unbox
+                Emitter.EmitUnbox(Info, ExpressionType)
+                Return True
+            Case CTypeConversionType.Unbox_Ldobj
+                Emitter.EmitUnbox(Info, ExpressionType)
+                Emitter.EmitLdobj(Info, ExpressionType)
+                Return True
+            Case CTypeConversionType.Unbox_Any
+                Emitter.EmitUnbox_Any(Info, ExpressionType)
+                Return True
+            Case CTypeConversionType.MS_VB_CS_Conversions_ToGenericParameter
+                Dim gim As New GenericInstanceMethod(Compiler.TypeCache.MS_VB_CS_Conversions__ToGenericParameter_Object)
+                gim.GenericArguments.Add(ExpressionType)
+                Emitter.EmitCall(Info, gim)
+                Return True
+            Case CTypeConversionType.UserDefinedOperator
+                Emitter.EmitCall(Info, ConversionMethod)
+                Return True
+            Case CTypeConversionType.NullableToNullable
+                Dim SourceType As TypeReference = Expression.ExpressionType
+                Dim DestinationType As TypeReference = ExpressionType
+                Dim nullable_src_type As GenericInstanceType
+                Dim nullable_dst_type As GenericInstanceType
+                Dim get_value As MethodReference
+                Dim has_value As MethodReference
+                Dim ctor As MethodReference
+                Dim localsrc, localdst As Mono.Cecil.Cil.VariableDefinition
+                Dim falseLabel As Label = Emitter.DefineLabel(Info)
+                Dim endLabel As Label = Emitter.DefineLabel(Info)
+                Dim vose As ValueOnStackExpression
+                Dim type_conversion As Expression
+
+                nullable_src_type = New GenericInstanceType(Helper.GetTypeOrTypeReference(Compiler, Compiler.TypeCache.System_Nullable1))
+                nullable_src_type.GenericArguments.Add(Helper.GetTypeOrTypeReference(Compiler, CecilHelper.GetNulledType(SourceType)))
+                has_value = New MethodReference("get_HasValue", nullable_src_type, Helper.GetTypeOrTypeReference(Compiler, Compiler.TypeCache.System_Boolean), True, False, MethodCallingConvention.Default)
+                get_value = New MethodReference("GetValueOrDefault", nullable_src_type, Compiler.TypeCache.System_Nullable1.GenericParameters(0), True, False, MethodCallingConvention.Default)
+
+                nullable_dst_type = New GenericInstanceType(Helper.GetTypeOrTypeReference(Compiler, Compiler.TypeCache.System_Nullable1))
+                nullable_dst_type.GenericArguments.Add(Helper.GetTypeOrTypeReference(Compiler, CecilHelper.GetNulledType(DestinationType)))
+                ctor = New MethodReference(".ctor", nullable_dst_type, Helper.GetTypeOrTypeReference(Compiler, Compiler.TypeCache.System_Void), True, False, MethodCallingConvention.Default)
+                ctor.Parameters.Add(New ParameterDefinition(Compiler.TypeCache.System_Nullable1.GenericParameters(0)))
+
+                'store in local
+                localsrc = Emitter.DeclareLocal(Info, SourceType)
+                Emitter.EmitStoreVariable(Info, localsrc)
+
+                'call Nullable`1.HasValue to check the condition
+                Emitter.EmitLoadVariableLocation(Info, localsrc)
+                Emitter.EmitCall(Info, has_value)
+                Emitter.EmitBranchIfFalse(Info, falseLabel)
+
+                localdst = Emitter.DeclareLocal(Info, DestinationType)
+
+                'true branch: we have a value, get it to create a new nullable with the right value
+                Emitter.EmitLoadVariableLocation(Info, localdst)
+                Emitter.EmitLoadVariableLocation(Info, localsrc)
+                Emitter.EmitCall(Info, get_value)
+
+                'convert value
+                vose = New ValueOnStackExpression(Me, CecilHelper.GetNulledType(SourceType))
+                type_conversion = Helper.CreateTypeConversion(Me, vose, CecilHelper.GetNulledType(DestinationType), result)
+                result = type_conversion.GenerateCode(Info) AndAlso result
+
+                Emitter.EmitCall(Info, ctor)
+                Emitter.EmitLoadVariable(Info, localdst)
+                Emitter.EmitBranch(Info, endLabel)
+
+                'false branch: no value
+                Emitter.MarkLabel(Info, falseLabel)
+                Emitter.EmitLoadVariableLocation(Info, localdst)
+                Emitter.EmitInitObj(Info, localdst.VariableType)
+                Emitter.EmitLoadVariable(Info, localdst)
+
+                'end
+                Emitter.MarkLabel(Info, endLabel)
+                Return True
+        End Select
+
         Select Case expTypeCode
             Case TypeCode.Boolean
                 CBoolExpression.GenerateCode(Me, Info)
@@ -137,7 +263,7 @@ Public Class CTypeExpression
                 If Helper.IsTypeConvertibleToAny(Helper.GetGenericParameterConstraints(Me, SourceType), DestinationType) Then
                     'Emitter.EmitUnbox_Any(Info, DestinationType)
                     Emitter.EmitBox(Info, SourceType)
-                    Emitter.EmitCastClass(Info, SourceType, DestinationType)
+                    Emitter.EmitCastClass(Info, DestinationType)
                 Else
                     Helper.AddError(Me)
                 End If
@@ -145,24 +271,24 @@ Public Class CTypeExpression
                 Return Compiler.Report.ShowMessage(Messages.VBNC99997, Location)
             ElseIf Helper.IsInterface(Compiler, DestinationType) Then
                 Emitter.EmitBox(Info, SourceType)
-                Emitter.EmitCastClass(Info, SourceType, DestinationType)
+                Emitter.EmitCastClass(Info, DestinationType)
             Else
                 Throw New InternalException(Me)
             End If
         ElseIf CecilHelper.IsArray(SourceType) Then
             If CecilHelper.IsInterface(DestinationType) Then
                 If Helper.DoesTypeImplementInterface(Me, SourceType, DestinationType) Then
-                    Emitter.EmitCastClass(Info, SourceType, DestinationType)
+                    Emitter.EmitCastClass(Info, DestinationType)
                 ElseIf Helper.CompareType(SourceType, Compiler.TypeCache.System_Object_Array) Then
-                    Emitter.EmitCastClass(Info, SourceType, DestinationType)
+                    Emitter.EmitCastClass(Info, DestinationType)
                 ElseIf CecilHelper.IsArray(DestinationType) AndAlso Helper.DoesTypeImplementInterface(Me, CecilHelper.GetElementType(SourceType), CecilHelper.GetElementType(DestinationType)) Then
-                    Emitter.EmitCastClass(Info, SourceType, DestinationType)
+                    Emitter.EmitCastClass(Info, DestinationType)
                 Else
                     Info.Compiler.Report.ShowMessage(Messages.VBNC30311, Location, Helper.ToString(Expression, SourceType), Helper.ToString(Expression, DestinationType))
                     result = False
                 End If
             ElseIf Helper.CompareType(DestinationType, Compiler.TypeCache.System_Array) Then
-                Emitter.EmitCastClass(Info, SourceType, DestinationType)
+                Emitter.EmitCastClass(Info, DestinationType)
             ElseIf CecilHelper.IsArray(DestinationType) = False Then
                 Info.Compiler.Report.ShowMessage(Messages.VBNC30311, Location, Helper.ToString(Expression, SourceType), Helper.ToString(Expression, DestinationType))
                 result = False
@@ -180,20 +306,20 @@ Public Class CTypeExpression
                 'may actually be an element of an array whose element type is A, 
                 'provided that both A and B are reference types and that B is a base type of A or is implemented by A. 
                 If Helper.CompareType(Compiler.TypeCache.System_Object, SourceElementType) Then
-                    Emitter.EmitCastClass(Info, SourceType, DestinationType)
+                    Emitter.EmitCastClass(Info, DestinationType)
                 ElseIf Helper.CompareType(SourceElementType, DestinationElementType) OrElse Helper.IsSubclassOf(DestinationElementType, SourceElementType) OrElse Helper.IsSubclassOf(SourceElementType, DestinationElementType) Then
-                    Emitter.EmitCastClass(Info, SourceType, DestinationType)
+                    Emitter.EmitCastClass(Info, DestinationType)
                 ElseIf Helper.DoesTypeImplementInterface(Me, SourceElementType, DestinationElementType) Then
-                    Emitter.EmitCastClass(Info, SourceType, DestinationType)
+                    Emitter.EmitCastClass(Info, DestinationType)
                 ElseIf Helper.IsInterface(Info.Compiler, DestinationElementType) AndAlso Helper.CompareType(Compiler.TypeCache.System_Object, SourceElementType) Then
-                    Emitter.EmitCastClass(Info, SourceType, DestinationType)
-                ElseIf helper.IsEnum(compiler, sourceelementtype)AndAlso Helper.CompareType(Helper.GetEnumType(Compiler, SourceElementType), DestinationElementType) Then
+                    Emitter.EmitCastClass(Info, DestinationType)
+                ElseIf Helper.IsEnum(Compiler, SourceElementType) AndAlso Helper.CompareType(Helper.GetEnumType(Compiler, SourceElementType), DestinationElementType) Then
                     'Conversions also exist between an array of an enumerated type and an array of the enumerated type's underlying type of the same rank.
-                    Emitter.EmitCastClass(Info, SourceType, DestinationType)
+                    Emitter.EmitCastClass(Info, DestinationType)
                 ElseIf CecilHelper.IsGenericParameter(SourceElementType) AndAlso Helper.IsTypeConvertibleToAny(Helper.GetGenericParameterConstraints(Me, SourceElementType), DestinationElementType) Then
-                    Emitter.EmitCastClass(Info, SourceType, DestinationType)
+                    Emitter.EmitCastClass(Info, DestinationType)
                 ElseIf CecilHelper.IsGenericParameter(DestinationElementType) AndAlso Helper.IsTypeConvertibleToAny(SourceElementType, Helper.GetGenericParameterConstraints(Me, DestinationElementType)) Then
-                    Emitter.EmitCastClass(Info, SourceType, DestinationType)
+                    Emitter.EmitCastClass(Info, DestinationType)
                 Else
                     Info.Compiler.Report.ShowMessage(Messages.VBNC30311, Me.Location, SourceType.Name, DestinationType.Name)
                     result = False
@@ -209,9 +335,9 @@ Public Class CTypeExpression
                 Emitter.EmitCall(Info, Compiler.TypeCache.System_Runtime_CompilerServices_RuntimeHelpers__GetObjectValue_Object)
                 Emitter.EmitCall(Info, methodD)
             ElseIf CecilHelper.IsClass(DestinationType) Then
-                Emitter.EmitCastClass(Info, SourceType, DestinationType)
+                Emitter.EmitCastClass(Info, DestinationType)
             ElseIf CecilHelper.IsInterface(DestinationType) Then
-                Emitter.EmitCastClass(Info, SourceType, DestinationType)
+                Emitter.EmitCastClass(Info, DestinationType)
             ElseIf CecilHelper.IsValueType(DestinationType) Then
                 Emitter.EmitUnbox(Info, DestinationType)
                 Emitter.EmitLdobj(Info, DestinationType)
@@ -315,7 +441,7 @@ Public Class CTypeExpression
                 Throw New InternalException(Me) 'This is an elemental conversion already covered. 'Emitter.EmitBox(Info)
             ElseIf Helper.DoesTypeImplementInterface(Me, SourceType, DestinationType) Then
                 Emitter.EmitBox(Info, SourceType)
-                Emitter.EmitCastClass(Info, Compiler.TypeCache.System_Object, DestinationType)
+                Emitter.EmitCastClass(Info, DestinationType)
             ElseIf Helper.CompareType(DestinationType, Compiler.TypeCache.System_ValueType) Then
                 Emitter.EmitBox(Info, SourceType)
             ElseIf Helper.CompareType(CecilHelper.FindDefinition(SourceType).BaseType, DestinationType) Then
@@ -334,7 +460,7 @@ Public Class CTypeExpression
                         result = Compiler.Report.ShowMessage(Messages.VBNC30311, Me.Location, Expression.ExpressionType.FullName, ExpressionType.FullName) AndAlso result
                     End If
                 Else
-                    result = Compiler.Report.ShowMessage(Messages.VBNC30311, Me.Location, Expression.ExpressionType.FullName, ExpressionType.FullName) AndAlso result
+                    result = Compiler.Report.ShowMessage(Messages.VBNC30311, Me.Location, Helper.ToString(Compiler, Expression.ExpressionType), Helper.ToString(Compiler, ExpressionType)) AndAlso result
                 End If
             End If
         ElseIf Helper.IsInterface(Compiler, SourceType) Then
@@ -345,11 +471,11 @@ Public Class CTypeExpression
                     Emitter.EmitUnbox(Info, DestinationType)
                     Emitter.EmitLdobj(Info, DestinationType)
                 Else
-                    Emitter.EmitCastClass(Info, SourceType, DestinationType)
+                    Emitter.EmitCastClass(Info, DestinationType)
                 End If
 
             ElseIf CecilHelper.IsClass(DestinationType) OrElse CecilHelper.IsInterface(DestinationType) Then
-                Emitter.EmitCastClass(Info, SourceType, DestinationType)
+                Emitter.EmitCastClass(Info, DestinationType)
             Else
                 'However, classes that represent COM classes may have interface implementations that are not known until run time. Consequently, a class type may also be converted to an interface type that it does not implement, an interface type may be converted to a class type that does not implement it, and an interface type may be converted to another interface type with which it has no inheritance relationship
                 Return Compiler.Report.ShowMessage(Messages.VBNC99997, Location)
@@ -361,6 +487,95 @@ Public Class CTypeExpression
         Return result
     End Function
 
+    Public Overrides Function GetConstant(ByRef result As Object, ByVal ShowError As Boolean) As Boolean
+        If Helper.CompareType(Compiler.TypeCache.Nothing, Expression.ExpressionType) Then
+            Select Case Helper.GetTypeCode(Compiler, Me.ExpressionType)
+                Case TypeCode.Boolean
+                    result = CBool(Nothing)
+                Case TypeCode.Byte
+                    result = CByte(Nothing)
+                Case TypeCode.Char
+                    result = CChar(Nothing)
+                Case TypeCode.DateTime
+                    result = CDate(Nothing)
+                Case TypeCode.Decimal
+                    result = CDec(Nothing)
+                Case TypeCode.Double
+                    result = CDbl(Nothing)
+                Case TypeCode.Int16
+                    result = CShort(Nothing)
+                Case TypeCode.Int32
+                    result = CInt(Nothing)
+                Case TypeCode.Int64
+                    result = CLng(Nothing)
+                Case TypeCode.SByte
+                    result = CSByte(Nothing)
+                Case TypeCode.Single
+                    result = CSng(Nothing)
+                Case TypeCode.UInt16
+                    result = CUShort(Nothing)
+                Case TypeCode.UInt32
+                    result = CUInt(Nothing)
+                Case TypeCode.UInt64
+                    result = CULng(Nothing)
+                Case Else
+                    result = Nothing
+            End Select
+            Return True
+        End If
+
+        If Not Expression.GetConstant(result, ShowError) Then Return False
+
+        Select Case Helper.GetTypeCode(Compiler, Me.ExpressionType)
+            Case TypeCode.String
+                Select Case Helper.GetTypeCode(Compiler, Me.Expression.ExpressionType)
+                    Case TypeCode.Char
+                        result = CStr(result)
+                        Return True
+                    Case TypeCode.String
+                        Return True
+                    Case Else
+                        If ShowError Then Show30059()
+                        Return False
+                End Select
+            Case TypeCode.Byte
+                Return ConvertToByte(result, ShowError)
+            Case TypeCode.SByte
+                Return ConvertToSByte(result, ShowError)
+            Case TypeCode.Int16
+                Return ConvertToShort(result, ShowError)
+            Case TypeCode.UInt16
+                Return ConvertToUShort(result, ShowError)
+            Case TypeCode.Int32
+                Return ConvertToInt32(result, ShowError)
+            Case TypeCode.UInt32
+                Return ConvertToUInt32(result, ShowError)
+            Case TypeCode.Int64
+                Return ConvertToLong(result, ShowError)
+            Case TypeCode.UInt64
+                Return ConvertToULong(result, ShowError)
+            Case TypeCode.Single
+                Return ConvertToSingle(result, ShowError)
+            Case TypeCode.Double
+                Return ConvertToDouble(result, ShowError)
+            Case TypeCode.Decimal
+                Return ConvertToDecimal(result, ShowError)
+            Case TypeCode.DateTime
+                Return ConvertToDate(result, ShowError)
+            Case TypeCode.Char
+                Return ConvertToChar(result, ShowError)
+            Case TypeCode.String
+                Return ConvertToString(result, ShowError)
+            Case TypeCode.Boolean
+                Return ConvertToBoolean(result, ShowError)
+            Case Else
+                If ShowError Then Show30059()
+                Return False
+        End Select
+
+        Return False
+    End Function
+
     Protected Overrides Function ResolveExpressionInternal(ByVal Info As ResolveInfo) As Boolean
         Dim result As Boolean = True
 
@@ -371,6 +586,8 @@ Public Class CTypeExpression
 
         result = MyBase.ResolveExpressionInternal(Info) AndAlso result
 
+        If m_ConversionType <> CTypeConversionType.Undetermined Then Return result
+
         Select Case Helper.GetTypeCode(Compiler, Me.ExpressionType)
             Case TypeCode.Boolean
                 result = CBoolExpression.Validate(Info, Me) AndAlso result
@@ -439,78 +656,10 @@ Public Class CTypeExpression
         End Get
     End Property
 
-    Public Overrides ReadOnly Property ConstantValue() As Object
-        Get
-            If Helper.CompareType(Compiler.TypeCache.Nothing, Expression.ExpressionType) Then
-                Select Case Helper.GetTypeCode(Compiler, Me.ExpressionType)
-                    Case TypeCode.Boolean
-                        Return CBool(Nothing)
-                    Case TypeCode.Byte
-                        Return CByte(Nothing)
-                    Case TypeCode.Char
-                        Return CChar(Nothing)
-                    Case TypeCode.DateTime
-                        Return CDate(Nothing)
-                    Case TypeCode.Decimal
-                        Return CDec(Nothing)
-                    Case TypeCode.Double
-                        Return CDbl(Nothing)
-                    Case TypeCode.Int16
-                        Return CShort(Nothing)
-                    Case TypeCode.Int32
-                        Return CInt(Nothing)
-                    Case TypeCode.Int64
-                        Return CLng(Nothing)
-                    Case TypeCode.SByte
-                        Return CSByte(Nothing)
-                    Case TypeCode.Single
-                        Return CSng(Nothing)
-                    Case TypeCode.UInt16
-                        Return CUShort(Nothing)
-                    Case TypeCode.UInt32
-                        Return CUInt(Nothing)
-                    Case TypeCode.UInt64
-                        Return CULng(Nothing)
-                    Case Else
-                        Return Nothing
-                End Select
-            End If
-
-            Select Case Helper.GetTypeCode(Compiler, Me.ExpressionType)
-                Case TypeCode.String
-                    Select Case Helper.GetTypeCode(Compiler, Me.Expression.ExpressionType)
-                        Case TypeCode.Char
-                            Return CStr(Expression.ConstantValue)
-                        Case Else
-                            Return Compiler.Report.ShowMessage(Messages.VBNC99997, Location)
-                    End Select
-                Case Else
-                    Return Compiler.Report.ShowMessage(Messages.VBNC99997, Location)
-            End Select
-        End Get
-    End Property
-
-    Public Overrides ReadOnly Property IsConstant() As Boolean
-        Get
-            If Expression.IsConstant Then
-                If m_ResolvedDestinationType IsNot Nothing AndAlso Helper.CompareType(m_ResolvedDestinationType, Compiler.TypeCache.System_String) AndAlso Helper.CompareType(Expression.ExpressionType, Compiler.TypeCache.System_Char) Then
-                    Return True
-                ElseIf Helper.CompareType(Compiler.TypeCache.Nothing, Expression.ExpressionType) Then
-                    Return True
-                Else
-                    Return False
-                End If
-            Else
-                Return False
-            End If
-            Return False 'TODO: This isn't true.
-        End Get
-    End Property
-
     Protected Overridable ReadOnly Property GetKeyword() As KS
         Get
             Return KS.CType
         End Get
     End Property
-
 End Class
+
diff --git a/vbnc/vbnc/source/Expressions/Conversions/CUIntExpression.vb b/vbnc/vbnc/source/Expressions/Conversions/CUIntExpression.vb
index 2598a69..f45a298 100644
--- a/vbnc/vbnc/source/Expressions/Conversions/CUIntExpression.vb
+++ b/vbnc/vbnc/source/Expressions/Conversions/CUIntExpression.vb
@@ -32,6 +32,11 @@ Public Class CUIntExpression
         Return GenerateCode(Me, Info)
     End Function
 
+    Public Overrides Function GetConstant(ByRef result As Object, ByVal ShowError As Boolean) As Boolean
+        If Not Expression.GetConstant(result, ShowError) Then Return False
+        Return ConvertToUInt32(result, ShowError)
+    End Function
+
     Protected Overrides Function ResolveExpressionInternal(ByVal Info As ResolveInfo) As Boolean
         Dim result As Boolean = True
 
@@ -52,6 +57,8 @@ Public Class CUIntExpression
 
         result = ValidateForNullable(Info, Conversion, expTypeCode, expType) AndAlso result
 
+        If Conversion.GetConstant(Nothing, False) Then Return result
+
         Select Case expTypeCode
             Case TypeCode.Char
                 Info.Compiler.Report.ShowMessage(Messages.VBNC32006, Expression.Location, Helper.ToString(Expression, expType))
@@ -67,9 +74,14 @@ Public Class CUIntExpression
                 Else
                     result = Conversion.FindUserDefinedConversionOperator() AndAlso result
                 End If
+            Case TypeCode.UInt32, TypeCode.Int32, TypeCode.Int16, TypeCode.Byte, TypeCode.SByte, TypeCode.UInt16
+                'Implicitly convertible
+            Case Else
+                If Conversion.IsExplicit = False AndAlso Conversion.Location.File(Conversion.Compiler).IsOptionStrictOn Then
+                    result = Conversion.Compiler.Report.ShowMessage(Messages.VBNC30512, Conversion.Location, Helper.ToString(Conversion, expType), Helper.ToString(Conversion, ExpressionType)) AndAlso result
+                End If
         End Select
 
-
         Return result
     End Function
 
@@ -131,33 +143,10 @@ Public Class CUIntExpression
         Return result
     End Function
 
-    Public Overrides ReadOnly Property ConstantValue() As Object
-        Get
-            Dim tpCode As TypeCode
-            Dim originalValue As Object
-            originalValue = Expression.ConstantValue
-            tpCode = Helper.GetTypeCode(Compiler, CecilHelper.GetType(Compiler, originalValue))
-            Select Case tpCode
-                Case TypeCode.Boolean, TypeCode.Byte, TypeCode.UInt16, TypeCode.UInt32
-                    Return CUInt(originalValue) 'No range checking needed.
-                Case TypeCode.SByte, TypeCode.Int16, TypeCode.Int32, TypeCode.UInt64, TypeCode.Int64, TypeCode.Single, TypeCode.Double, TypeCode.Decimal, TypeCode.DBNull
-                    Dim resultvalue As Object = 0
-                    If Compiler.TypeResolution.CheckNumericRange(originalValue, resultvalue, ExpressionType) Then
-                        Return resultvalue
-                    Else
-                        Compiler.Report.ShowMessage(Messages.VBNC30439, Location, Helper.ToString(Expression, ExpressionType))
-                        Return New UInteger
-                    End If
-                Case Else
-                    Compiler.Report.ShowMessage(Messages.VBNC30060, Location, originalValue.ToString, Helper.ToString(Expression, ExpressionType))
-                    Return New UInteger
-            End Select
-        End Get
-    End Property
-
     Overrides ReadOnly Property ExpressionType() As Mono.Cecil.TypeReference
         Get
             Return Compiler.TypeCache.System_UInt32
         End Get
     End Property
 End Class
+
diff --git a/vbnc/vbnc/source/Expressions/Conversions/CULngExpression.vb b/vbnc/vbnc/source/Expressions/Conversions/CULngExpression.vb
index 6fcb3f4..2597997 100644
--- a/vbnc/vbnc/source/Expressions/Conversions/CULngExpression.vb
+++ b/vbnc/vbnc/source/Expressions/Conversions/CULngExpression.vb
@@ -32,6 +32,11 @@ Public Class CULngExpression
         Return GenerateCode(Me, Info)
     End Function
 
+    Public Overrides Function GetConstant(ByRef result As Object, ByVal ShowError As Boolean) As Boolean
+        If Not Expression.GetConstant(result, ShowError) Then Return False
+        Return ConvertToULong(result, ShowError)
+    End Function
+
     Protected Overrides Function ResolveExpressionInternal(ByVal Info As ResolveInfo) As Boolean
         Dim result As Boolean = True
 
@@ -52,6 +57,8 @@ Public Class CULngExpression
 
         result = ValidateForNullable(Info, Conversion, expTypeCode, expType) AndAlso result
 
+        If Conversion.GetConstant(Nothing, False) Then Return result
+
         Select Case expTypeCode
             Case TypeCode.Char
                 Info.Compiler.Report.ShowMessage(Messages.VBNC32006, Expression.Location, Helper.ToString(Expression, expType))
@@ -67,6 +74,12 @@ Public Class CULngExpression
                 Else
                     result = Conversion.FindUserDefinedConversionOperator() AndAlso result
                 End If
+            Case TypeCode.UInt64, TypeCode.UInt32, TypeCode.Int32, TypeCode.Int16, TypeCode.Byte, TypeCode.SByte, TypeCode.UInt16
+                'Implicitly convertible
+            Case Else
+                If Conversion.IsExplicit = False AndAlso Conversion.Location.File(Conversion.Compiler).IsOptionStrictOn Then
+                    result = Conversion.Compiler.Report.ShowMessage(Messages.VBNC30512, Conversion.Location, Helper.ToString(Conversion, expType), Helper.ToString(Conversion, ExpressionType)) AndAlso result
+                End If
         End Select
 
         Return result
@@ -124,33 +137,10 @@ Public Class CULngExpression
         Return result
     End Function
 
-    Public Overrides ReadOnly Property ConstantValue() As Object
-        Get
-            Dim tpCode As TypeCode
-            Dim originalValue As Object
-            originalValue = Expression.ConstantValue
-            tpCode = Helper.GetTypeCode(Compiler, CecilHelper.GetType(Compiler, originalValue))
-            Select Case tpCode
-                Case TypeCode.Boolean, TypeCode.Byte, TypeCode.UInt16, TypeCode.UInt32, TypeCode.UInt64
-                    Return CULng(originalValue) 'No range checking needed.
-                Case TypeCode.Int16, TypeCode.Int32, TypeCode.SByte, TypeCode.Int64, TypeCode.Single, TypeCode.Double, TypeCode.Decimal, TypeCode.DBNull
-                    Dim resultvalue As Object = 0
-                    If Compiler.TypeResolution.CheckNumericRange(originalValue, resultvalue, ExpressionType) Then
-                        Return resultvalue
-                    Else
-                        Compiler.Report.ShowMessage(Messages.VBNC30439, Location, Helper.ToString(Expression, ExpressionType))
-                        Return New ULong
-                    End If
-                Case Else
-                    Compiler.Report.ShowMessage(Messages.VBNC30060, Location, originalValue.ToString, Helper.ToString(Expression, ExpressionType))
-                    Return New ULong
-            End Select
-        End Get
-    End Property
-
     Overrides ReadOnly Property ExpressionType() As Mono.Cecil.TypeReference
         Get
             Return Compiler.TypeCache.System_UInt64
         End Get
     End Property
 End Class
+
diff --git a/vbnc/vbnc/source/Expressions/Conversions/CUShortExpression.vb b/vbnc/vbnc/source/Expressions/Conversions/CUShortExpression.vb
index a40f3e5..a139362 100644
--- a/vbnc/vbnc/source/Expressions/Conversions/CUShortExpression.vb
+++ b/vbnc/vbnc/source/Expressions/Conversions/CUShortExpression.vb
@@ -32,6 +32,11 @@ Public Class CUShortExpression
         Return GenerateCode(Me, Info)
     End Function
 
+    Public Overrides Function GetConstant(ByRef result As Object, ByVal ShowError As Boolean) As Boolean
+        If Not Expression.GetConstant(result, ShowError) Then Return False
+        Return ConvertToUShort(result, ShowError)
+    End Function
+
     Protected Overrides Function ResolveExpressionInternal(ByVal Info As ResolveInfo) As Boolean
         Dim result As Boolean = True
 
@@ -52,6 +57,8 @@ Public Class CUShortExpression
 
         result = ValidateForNullable(Info, Conversion, expTypeCode, expType) AndAlso result
 
+        If Conversion.GetConstant(Nothing, False) Then Return result
+
         Select Case expTypeCode
             Case TypeCode.Char
                 Info.Compiler.Report.ShowMessage(Messages.VBNC32006, Expression.Location, Helper.ToString(Expression, expType))
@@ -67,6 +74,12 @@ Public Class CUShortExpression
                 Else
                     result = Conversion.FindUserDefinedConversionOperator() AndAlso result
                 End If
+            Case TypeCode.Int16, TypeCode.Byte, TypeCode.SByte, TypeCode.UInt16
+                'Implicitly convertible
+            Case Else
+                If Conversion.IsExplicit = False AndAlso Conversion.Location.File(Conversion.Compiler).IsOptionStrictOn Then
+                    result = Conversion.Compiler.Report.ShowMessage(Messages.VBNC30512, Conversion.Location, Helper.ToString(Conversion, expType), Helper.ToString(Conversion, ExpressionType)) AndAlso result
+                End If
         End Select
 
         Return result
@@ -124,33 +137,10 @@ Public Class CUShortExpression
         Return result
     End Function
 
-    Public Overrides ReadOnly Property ConstantValue() As Object
-        Get
-            Dim tpCode As TypeCode
-            Dim originalValue As Object
-            originalValue = Expression.ConstantValue
-            tpCode = Helper.GetTypeCode(Compiler, CecilHelper.GetType(Compiler, originalValue))
-            Select Case tpCode
-                Case TypeCode.Boolean, TypeCode.Byte, TypeCode.UInt16
-                    Return CUShort(originalValue) 'No range checking needed.
-                Case TypeCode.Int16, TypeCode.Int32, TypeCode.SByte, TypeCode.UInt32, TypeCode.UInt64, TypeCode.Int64, TypeCode.Single, TypeCode.Double, TypeCode.Decimal, TypeCode.DBNull
-                    Dim resultvalue As Object = 0
-                    If Compiler.TypeResolution.CheckNumericRange(originalValue, resultvalue, ExpressionType) Then
-                        Return resultvalue
-                    Else
-                        Compiler.Report.ShowMessage(Messages.VBNC30439, Location, Helper.ToString(Expression, ExpressionType))
-                        Return New UShort
-                    End If
-                Case Else
-                    Compiler.Report.ShowMessage(Messages.VBNC30060, Location, originalValue.ToString, Helper.ToString(Expression, ExpressionType))
-                    Return New UShort
-            End Select
-        End Get
-    End Property
-
     Overrides ReadOnly Property ExpressionType() As Mono.Cecil.TypeReference
         Get
             Return Compiler.TypeCache.System_UInt16
         End Get
     End Property
 End Class
+
diff --git a/vbnc/vbnc/source/Expressions/Conversions/ConversionExpression.vb b/vbnc/vbnc/source/Expressions/Conversions/ConversionExpression.vb
index 33d62b4..40d2a83 100644
--- a/vbnc/vbnc/source/Expressions/Conversions/ConversionExpression.vb
+++ b/vbnc/vbnc/source/Expressions/Conversions/ConversionExpression.vb
@@ -30,7 +30,313 @@ Public MustInherit Class ConversionExpression
         End Get
     End Property
 
-    Shared Function GetTypeConversion(ByVal Parent As ParsedObject, ByVal fromExpr As Expression, ByVal DestinationType As Mono.Cecil.TypeReference) As Expression
+    Public Function ConvertToByte(ByRef result As Object, ByVal ShowError As Boolean) As Boolean
+        Dim tpCode As TypeCode
+
+        tpCode = Helper.GetTypeCode(Compiler, CecilHelper.GetType(Compiler, result))
+
+        Select Case tpCode
+            Case TypeCode.Boolean, TypeCode.Byte
+                result = CByte(result) 'No range checking needed.
+            Case TypeCode.SByte, TypeCode.Int16, TypeCode.UInt16, TypeCode.Int32, TypeCode.UInt32, TypeCode.UInt64, TypeCode.Int64, TypeCode.Single, TypeCode.Double, TypeCode.Decimal
+                If Compiler.TypeResolution.CheckNumericRange(result, result, ExpressionType) = False Then
+                    If ShowError Then Compiler.Report.ShowMessage(Messages.VBNC30439, Location, Helper.ToString(Expression, ExpressionType))
+                    Return False
+                End If
+            Case TypeCode.DBNull
+                result = CByte(0)
+            Case Else
+                If ShowError Then Compiler.Report.ShowMessage(Messages.VBNC30060, Location, result.ToString, Helper.ToString(Expression, ExpressionType))
+                Return False
+        End Select
+
+        Return True
+    End Function
+
+    Public Function ConvertToSByte(ByRef result As Object, ByVal ShowError As Boolean) As Boolean
+        Dim tpCode As TypeCode
+
+        tpCode = Helper.GetTypeCode(Compiler, CecilHelper.GetType(Compiler, result))
+
+        Select Case tpCode
+            Case TypeCode.SByte
+                result = CSByte(result) 'No range checking needed.
+            Case TypeCode.Boolean, TypeCode.Byte, TypeCode.Int16, TypeCode.UInt16, TypeCode.Int32, TypeCode.UInt32, TypeCode.UInt64, TypeCode.Int64, TypeCode.Single, TypeCode.Double, TypeCode.Decimal, TypeCode.DBNull
+                If Compiler.TypeResolution.CheckNumericRange(result, result, ExpressionType) = False Then
+                    If ShowError Then Compiler.Report.ShowMessage(Messages.VBNC30439, Location, Helper.ToString(Expression, ExpressionType))
+                    Return False
+                End If
+            Case Else
+                If ShowError Then Compiler.Report.ShowMessage(Messages.VBNC30060, Location, result.ToString, Helper.ToString(Expression, ExpressionType))
+                Return False
+        End Select
+
+        Return True
+    End Function
+
+    Public Function ConvertToShort(ByRef result As Object, ByVal ShowError As Boolean) As Boolean
+        Dim tpCode As TypeCode
+
+        tpCode = Helper.GetTypeCode(Compiler, CecilHelper.GetType(Compiler, result))
+
+        Select Case tpCode
+            Case TypeCode.Boolean, TypeCode.SByte, TypeCode.Byte, TypeCode.Int16
+                result = CShort(result) 'No range checking needed.
+            Case TypeCode.UInt16, TypeCode.Int32, TypeCode.UInt32, TypeCode.UInt64, TypeCode.Int64, TypeCode.Single, TypeCode.Double, TypeCode.Decimal, TypeCode.DBNull
+                If Compiler.TypeResolution.CheckNumericRange(result, result, ExpressionType) = False Then
+                    If ShowError Then Compiler.Report.ShowMessage(Messages.VBNC30439, Location, Helper.ToString(Expression, ExpressionType))
+                    Return False
+                End If
+            Case Else
+                If ShowError Then Compiler.Report.ShowMessage(Messages.VBNC30060, Location, result.ToString, Helper.ToString(Expression, ExpressionType))
+                Return False
+        End Select
+
+        Return True
+    End Function
+
+    Public Function ConvertToUShort(ByRef result As Object, ByVal ShowError As Boolean) As Boolean
+        Dim tpCode As TypeCode
+
+        tpCode = Helper.GetTypeCode(Compiler, CecilHelper.GetType(Compiler, result))
+
+        Select Case tpCode
+            Case TypeCode.Boolean, TypeCode.Byte, TypeCode.UInt16
+                result = CUShort(result) 'No range checking needed.
+            Case TypeCode.Int16, TypeCode.Int32, TypeCode.SByte, TypeCode.UInt32, TypeCode.UInt64, TypeCode.Int64, TypeCode.Single, TypeCode.Double, TypeCode.Decimal, TypeCode.DBNull
+                If Compiler.TypeResolution.CheckNumericRange(result, result, ExpressionType) = False Then
+                    If ShowError Then Compiler.Report.ShowMessage(Messages.VBNC30439, Location, Helper.ToString(Expression, ExpressionType))
+                    Return False
+                End If
+            Case Else
+                If ShowError Then Compiler.Report.ShowMessage(Messages.VBNC30060, Location, result.ToString, Helper.ToString(Expression, ExpressionType))
+                Return False
+        End Select
+
+        Return True
+    End Function
+
+    Public Function ConvertToInt32(ByRef originalValue As Object, ByVal ShowError As Boolean) As Boolean
+        Dim tpCode As TypeCode
+
+        tpCode = Helper.GetTypeCode(Compiler, CecilHelper.GetType(Compiler, originalValue))
+        Select Case tpCode
+            Case TypeCode.Boolean, TypeCode.SByte, TypeCode.Byte, TypeCode.Int16, TypeCode.UInt16, TypeCode.Int32
+                originalValue = CInt(originalValue) 'No range checking needed.
+            Case TypeCode.UInt32, TypeCode.UInt64, TypeCode.Int64, TypeCode.Single, TypeCode.Double, TypeCode.Decimal, TypeCode.DBNull
+                If Compiler.TypeResolution.CheckNumericRange(originalValue, originalValue, ExpressionType) = False Then
+                    If ShowError Then Compiler.Report.ShowMessage(Messages.VBNC30439, Location, Helper.ToString(Expression, ExpressionType))
+                    Return False
+                End If
+            Case Else
+                If ShowError Then Compiler.Report.ShowMessage(Messages.VBNC30060, Location, originalValue.ToString, Helper.ToString(Expression, ExpressionType))
+                Return False
+        End Select
+
+        Return True
+    End Function
+
+    Public Function ConvertToUInt32(ByRef result As Object, ByVal ShowError As Boolean) As Boolean
+        Dim tpCode As TypeCode
+
+        tpCode = Helper.GetTypeCode(Compiler, CecilHelper.GetType(Compiler, result))
+        Select Case tpCode
+            Case TypeCode.Boolean, TypeCode.Byte, TypeCode.UInt16, TypeCode.UInt32
+                result = CUInt(result) 'No range checking needed.
+            Case TypeCode.SByte, TypeCode.Int16, TypeCode.Int32, TypeCode.UInt64, TypeCode.Int64, TypeCode.Single, TypeCode.Double, TypeCode.Decimal, TypeCode.DBNull
+                If Compiler.TypeResolution.CheckNumericRange(result, result, ExpressionType) = False Then
+                    If ShowError Then Compiler.Report.ShowMessage(Messages.VBNC30439, Location, Helper.ToString(Expression, ExpressionType))
+                    Return False
+                End If
+            Case Else
+                If ShowError Then Compiler.Report.ShowMessage(Messages.VBNC30060, Location, result.ToString, Helper.ToString(Expression, ExpressionType))
+                Return False
+        End Select
+
+        Return True
+    End Function
+
+    Public Function ConvertToLong(ByRef result As Object, ByVal ShowError As Boolean) As Boolean
+        Dim tpCode As TypeCode
+
+        tpCode = Helper.GetTypeCode(Compiler, CecilHelper.GetType(Compiler, result))
+
+        Select Case tpCode
+            Case TypeCode.Boolean, TypeCode.SByte, TypeCode.Byte, TypeCode.Int16, TypeCode.UInt16, TypeCode.Int32, TypeCode.Int64, TypeCode.UInt32
+                result = CLng(result) 'No range checking needed.
+            Case TypeCode.UInt64, TypeCode.Single, TypeCode.Double, TypeCode.Decimal, TypeCode.DBNull
+                If Compiler.TypeResolution.CheckNumericRange(result, result, ExpressionType) = False Then
+                    If ShowError Then Compiler.Report.ShowMessage(Messages.VBNC30439, Location, Helper.ToString(Expression, ExpressionType))
+                    Return False
+                End If
+            Case Else
+                If ShowError Then Compiler.Report.ShowMessage(Messages.VBNC30060, Location, result.ToString, Helper.ToString(Expression, ExpressionType))
+                Return False
+        End Select
+
+        Return True
+    End Function
+
+    Public Function ConvertToULong(ByRef result As Object, ByVal ShowError As Boolean) As Boolean
+        Dim tpCode As TypeCode
+
+        tpCode = Helper.GetTypeCode(Compiler, CecilHelper.GetType(Compiler, result))
+        Select Case tpCode
+            Case TypeCode.Boolean, TypeCode.Byte, TypeCode.UInt16, TypeCode.UInt32, TypeCode.UInt64
+                result = CULng(result) 'No range checking needed.
+            Case TypeCode.Int16, TypeCode.Int32, TypeCode.SByte, TypeCode.Int64, TypeCode.Single, TypeCode.Double, TypeCode.Decimal, TypeCode.DBNull
+                If Compiler.TypeResolution.CheckNumericRange(result, result, ExpressionType) = False Then
+                    If ShowError Then Compiler.Report.ShowMessage(Messages.VBNC30439, Location, Helper.ToString(Expression, ExpressionType))
+                    Return False
+                End If
+            Case Else
+                If ShowError Then Compiler.Report.ShowMessage(Messages.VBNC30060, Location, result.ToString, Helper.ToString(Expression, ExpressionType))
+                Return False
+        End Select
+
+        Return True
+    End Function
+
+    Public Function ConvertToSingle(ByRef result As Object, ByVal ShowError As Boolean) As Boolean
+        Dim tpCode As TypeCode
+
+        tpCode = Helper.GetTypeCode(Compiler, CecilHelper.GetType(Compiler, result))
+
+        Select Case tpCode
+            Case TypeCode.Boolean, TypeCode.SByte, TypeCode.Byte, TypeCode.Int16, TypeCode.UInt16, TypeCode.Int32, TypeCode.UInt32, TypeCode.UInt64, TypeCode.Int64, TypeCode.Single, TypeCode.Decimal
+                result = CSng(result) 'No range checking needed.
+            Case TypeCode.Double, TypeCode.DBNull
+                If Compiler.TypeResolution.CheckNumericRange(result, result, ExpressionType) = False Then
+                    If ShowError Then Compiler.Report.ShowMessage(Messages.VBNC30439, Location, Helper.ToString(Expression, ExpressionType))
+                    Return False
+                End If
+            Case Else
+                If ShowError Then Compiler.Report.ShowMessage(Messages.VBNC30060, Location, result.ToString, Helper.ToString(Expression, ExpressionType))
+                Return False
+        End Select
+
+        Return True
+    End Function
+
+    Public Function ConvertToDouble(ByRef result As Object, ByVal ShowError As Boolean) As Boolean
+        Dim tpCode As TypeCode
+
+        tpCode = Helper.GetTypeCode(Compiler, CecilHelper.GetType(Compiler, result))
+
+        Select Case tpCode
+            Case TypeCode.Boolean, TypeCode.SByte, TypeCode.Byte, TypeCode.Int16, TypeCode.UInt16, TypeCode.Int32, _
+            TypeCode.UInt32, TypeCode.UInt64, TypeCode.Int64, TypeCode.Single, TypeCode.Double, TypeCode.Decimal
+                result = CDbl(result) 'No range checking needed.
+            Case TypeCode.DBNull
+                result = CDbl(0)
+            Case Else
+                If ShowError Then Compiler.Report.ShowMessage(Messages.VBNC30060, Location, result.ToString, Helper.ToString(Expression, ExpressionType))
+                Return False
+        End Select
+
+        Return True
+    End Function
+
+    Public Function ConvertToDecimal(ByRef result As Object, ByVal ShowError As Boolean) As Boolean
+        Dim tpCode As TypeCode
+
+        tpCode = Helper.GetTypeCode(Compiler, CecilHelper.GetType(Compiler, result))
+
+        Select Case tpCode
+            Case TypeCode.Boolean, TypeCode.SByte, TypeCode.Byte, TypeCode.Int16, TypeCode.UInt16, TypeCode.Int32, TypeCode.UInt32, TypeCode.UInt64, TypeCode.Int64, TypeCode.Decimal
+                result = CDec(result) 'No range checking needed.
+            Case TypeCode.Single, TypeCode.Double, TypeCode.DBNull
+                If Compiler.TypeResolution.CheckNumericRange(result, result, ExpressionType) = False Then
+                    If ShowError Then Compiler.Report.ShowMessage(Messages.VBNC30439, Expression.Location, ExpressionType.ToString)
+                    Return False
+                End If
+            Case Else
+                If ShowError Then Compiler.Report.ShowMessage(Messages.VBNC30060, Expression.Location, result.ToString, ExpressionType.ToString)
+                Return False
+        End Select
+
+        Return True
+    End Function
+
+    Public Function ConvertToDate(ByRef result As Object, ByVal ShowError As Boolean) As Boolean
+        Dim tpCode As TypeCode
+
+        tpCode = Helper.GetTypeCode(Compiler, CecilHelper.GetType(Compiler, result))
+
+        If Not TypeOf result Is Date Then
+            If ShowError Then Show30059()
+            Return False
+        End If
+
+        Return True
+    End Function
+
+    Public Function ConvertToChar(ByRef result As Object, ByVal ShowError As Boolean) As Boolean
+        Dim tpCode As TypeCode
+
+        tpCode = Helper.GetTypeCode(Compiler, CecilHelper.GetType(Compiler, result))
+
+        Select Case tpCode
+            Case TypeCode.String
+                If CStr(result).Length = 1 Then
+                    result = CChar(result)
+                Else
+                    If ShowError Then Compiler.Report.ShowMessage(Messages.VBNC30060, Location, result.ToString, ExpressionType.ToString)
+                    Return False
+                End If
+            Case TypeCode.Char
+                result = CChar(result)
+            Case TypeCode.DBNull
+                result = VB.ChrW(0)
+            Case Else
+                If ShowError Then Compiler.Report.ShowMessage(Messages.VBNC30060, Location, result.ToString, ExpressionType.ToString)
+                Return False
+        End Select
+
+        Return True
+    End Function
+
+    Public Function ConvertToString(ByRef result As Object, ByVal ShowError As Boolean) As Boolean
+        Dim tpCode As TypeCode
+
+        If result Is Nothing Then Return True
+
+        tpCode = Helper.GetTypeCode(Compiler, CecilHelper.GetType(Compiler, result))
+
+        Select Case tpCode
+            Case TypeCode.Char, TypeCode.String
+                result = CStr(result)
+            Case TypeCode.DBNull
+                result = DBNull.Value
+            Case Else
+                If ShowError Then Compiler.Report.ShowMessage(Messages.VBNC30060, Location, result.ToString, Helper.ToString(Expression, ExpressionType))
+                Return False
+        End Select
+
+        Return True
+    End Function
+
+    Public Function ConvertToBoolean(ByRef result As Object, ByVal ShowError As Boolean) As Boolean
+        Dim tpCode As TypeCode
+
+        tpCode = Helper.GetTypeCode(Compiler, CecilHelper.GetType(Compiler, result))
+
+        Select Case tpCode
+            Case TypeCode.Boolean, TypeCode.SByte, TypeCode.Byte, TypeCode.Int16, TypeCode.UInt16, TypeCode.Int32, _
+              TypeCode.UInt32, TypeCode.UInt64, TypeCode.Int64, TypeCode.Single, TypeCode.Double, TypeCode.Decimal
+                result = CBool(result) 'No range checking needed.
+            Case TypeCode.DBNull
+                result = CBool(Nothing)
+            Case Else
+                If ShowError Then Compiler.Report.ShowMessage(Messages.VBNC30060, Location, result.ToString, Helper.ToString(Expression, ExpressionType))
+                Return False
+        End Select
+
+        Return True
+    End Function
+
+    Shared Function GetTypeConversion(ByVal Parent As ParsedObject, ByVal fromExpr As Expression, ByVal DestinationType As Mono.Cecil.TypeReference, Optional ByVal IsExplicit As Boolean = False) As Expression
+        Dim convExp As ConversionExpression
 
         If Helper.CompareType(fromExpr.ExpressionType, DestinationType) Then
             Return fromExpr
@@ -38,35 +344,35 @@ Public MustInherit Class ConversionExpression
 
         Select Case Helper.GetTypeCode(Parent.Compiler, DestinationType)
             Case TypeCode.Boolean
-                Return New CBoolExpression(Parent, fromExpr)
+                convExp = New CBoolExpression(Parent, fromExpr)
             Case TypeCode.Byte
-                Return New CByteExpression(Parent, fromExpr)
+                convExp = New CByteExpression(Parent, fromExpr)
             Case TypeCode.Char
-                Return New CCharExpression(Parent, fromExpr)
+                convExp = New CCharExpression(Parent, fromExpr)
             Case TypeCode.DateTime
-                Return New CDateExpression(Parent, fromExpr)
+                convExp = New CDateExpression(Parent, fromExpr)
             Case TypeCode.Decimal
-                Return New CDecExpression(Parent, fromExpr)
+                convExp = New CDecExpression(Parent, fromExpr)
             Case TypeCode.Double
-                Return New CDblExpression(Parent, fromExpr)
+                convExp = New CDblExpression(Parent, fromExpr)
             Case TypeCode.Int16
-                Return New CShortExpression(Parent, fromExpr)
+                convExp = New CShortExpression(Parent, fromExpr)
             Case TypeCode.Int32
-                Return New CIntExpression(Parent, fromExpr)
+                convExp = New CIntExpression(Parent, fromExpr)
             Case TypeCode.Int64
-                Return New CLngExpression(Parent, fromExpr)
+                convExp = New CLngExpression(Parent, fromExpr)
             Case TypeCode.SByte
-                Return New CSByteExpression(Parent, fromExpr)
+                convExp = New CSByteExpression(Parent, fromExpr)
             Case TypeCode.Single
-                Return New CSngExpression(Parent, fromExpr)
+                convExp = New CSngExpression(Parent, fromExpr)
             Case TypeCode.String
-                Return New CStrExpression(Parent, fromExpr)
+                convExp = New CStrExpression(Parent, fromExpr)
             Case TypeCode.UInt16
-                Return New CUShortExpression(Parent, fromExpr)
+                convExp = New CUShortExpression(Parent, fromExpr)
             Case TypeCode.UInt32
-                Return New CUIntExpression(Parent, fromExpr)
+                convExp = New CUIntExpression(Parent, fromExpr)
             Case TypeCode.UInt64
-                Return New CULngExpression(Parent, fromExpr)
+                convExp = New CULngExpression(Parent, fromExpr)
             Case Else
                 If CecilHelper.IsByRef(DestinationType) AndAlso CecilHelper.IsByRef(fromExpr.ExpressionType) = False Then
                     Dim elementType As Mono.Cecil.TypeReference = CecilHelper.GetElementType(DestinationType)
@@ -79,9 +385,11 @@ Public MustInherit Class ConversionExpression
                     If result = False Then Throw New InternalException
                     Return tmp
                 Else
-                    Return New CTypeExpression(Parent, fromExpr, DestinationType)
+                    convExp = New CTypeExpression(Parent, fromExpr, DestinationType)
                 End If
         End Select
+        convExp.IsExplicit = IsExplicit
+        Return convExp
     End Function
 
     Public Overrides Function ResolveTypeReferences() As Boolean
@@ -108,23 +416,6 @@ Public MustInherit Class ConversionExpression
         m_Expression = Expression
     End Sub
 
-    Public Overrides ReadOnly Property IsConstant() As Boolean
-        Get
-            If m_Expression.IsConstant = False Then
-                Return False
-            Else
-                Dim value As Object
-                value = m_Expression.ConstantValue
-                Dim result As Object = Nothing
-                If Compiler.TypeResolution.CheckNumericRange(value, result, ExpressionType) Then
-                    Return True
-                Else
-                    Return False
-                End If
-            End If
-        End Get
-    End Property
-
     Protected Overrides Function ResolveExpressionInternal(ByVal Info As ResolveInfo) As Boolean
         Dim result As Boolean = True
 
@@ -218,5 +509,5 @@ Public MustInherit Class ConversionExpression
 
         Return result
     End Function
-
 End Class
+
diff --git a/vbnc/vbnc/source/Expressions/Conversions/ConversionType.vb b/vbnc/vbnc/source/Expressions/Conversions/ConversionType.vb
new file mode 100644
index 0000000..6e4f6e9
--- /dev/null
+++ b/vbnc/vbnc/source/Expressions/Conversions/ConversionType.vb
@@ -0,0 +1,36 @@
+' 
+' Visual Basic.Net Compiler
+' Copyright (C) 2011 Rolf Bjarne Kvinge, RKvinge at novell.com
+' 
+' This library is free software; you can redistribute it and/or
+' modify it under the terms of the GNU Lesser General Public
+' License as published by the Free Software Foundation; either
+' version 2.1 of the License, or (at your option) any later version.
+' 
+' This library is distributed in the hope that it will be useful,
+' but WITHOUT ANY WARRANTY; without even the implied warranty of
+' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+' Lesser General Public License for more details.
+' 
+' You should have received a copy of the GNU Lesser General Public
+' License along with this library; if not, write to the Free Software
+' Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+' 
+
+Public Enum CTypeConversionType
+    Undetermined
+    Identity
+    Intrinsic
+    ToNullable
+    FromNullable
+    NullableToNullable
+    Castclass
+    Unbox
+    Unbox_Ldobj
+    Unbox_Any
+    Box
+    Box_CastClass
+    MS_VB_CS_Conversions_ToGenericParameter
+    UserDefinedOperator
+End Enum
+
diff --git a/vbnc/vbnc/source/Expressions/Conversions/DirectCastExpression.vb b/vbnc/vbnc/source/Expressions/Conversions/DirectCastExpression.vb
index a04bdb9..8bf59b2 100644
--- a/vbnc/vbnc/source/Expressions/Conversions/DirectCastExpression.vb
+++ b/vbnc/vbnc/source/Expressions/Conversions/DirectCastExpression.vb
@@ -57,12 +57,12 @@ Public Class DirectCastExpression
                 result = Expression.GenerateCode(Info.Clone(Me, True, False, Expression.ExpressionType)) AndAlso result
                 If Helper.CompareType(Expression.ExpressionType, ExpressionType) = False Then
                     Emitter.EmitBox(Info, Expression.ExpressionType)
-                    Emitter.EmitCastClass(Info, Expression.ExpressionType, ExpressionType)
+                    Emitter.EmitCastClass(Info, ExpressionType)
                 End If
             Else
                 result = Expression.GenerateCode(Info.Clone(Me, True, False, Expression.ExpressionType)) AndAlso result
                 If Helper.CompareType(Expression.ExpressionType, ExpressionType) = False Then
-                    Emitter.EmitCastClass(Info, Expression.ExpressionType, ExpressionType)
+                    Emitter.EmitCastClass(Info, ExpressionType)
                 End If
             End If
         End If
diff --git a/vbnc/vbnc/source/Expressions/DelegateOrObjectCreationExpression.vb b/vbnc/vbnc/source/Expressions/DelegateOrObjectCreationExpression.vb
index c73d2ce..5301258 100644
--- a/vbnc/vbnc/source/Expressions/DelegateOrObjectCreationExpression.vb
+++ b/vbnc/vbnc/source/Expressions/DelegateOrObjectCreationExpression.vb
@@ -161,7 +161,7 @@ Public Class DelegateOrObjectCreationExpression
                 result = Compiler.Report.ShowMessage(Messages.VBNC32008, Me.Location, type.FullName) AndAlso result
             End If
             If result Then
-                result = m_ArgumentList(0).Expression.ResolveAddressOfExpression(type) AndAlso result
+                result = m_ArgumentList(0).Expression.ResolveAddressOfExpression(type, True) AndAlso result
                 Classification = New ValueClassification(Me, type)
             End If
         Else
@@ -205,12 +205,12 @@ Public Class DelegateOrObjectCreationExpression
 
                 ctors = CecilHelper.GetConstructors(resolvedType)
                 m_MethodClassification = New MethodGroupClassification(Me, Nothing, Nothing, Nothing, ctors)
-                result = m_MethodClassification.AsMethodGroupClassification.ResolveGroup(m_ArgumentList) AndAlso result
+                result = m_MethodClassification.AsMethodGroupClassification.ResolveGroup(m_ArgumentList, , False) AndAlso result
                 If result = False Then
                     'Show the error
-                    result = m_MethodClassification.AsMethodGroupClassification.ResolveGroup(m_ArgumentList, True) AndAlso result
+                    result = m_MethodClassification.AsMethodGroupClassification.ResolveGroup(m_ArgumentList, True, False) AndAlso result
                 Else
-                    result = m_ArgumentList.ReplaceAndVerifyArguments(m_MethodClassification.FinalArguments, m_MethodClassification.ResolvedMethod) AndAlso result
+                    result = m_ArgumentList.ReplaceAndVerifyArguments(m_MethodClassification.FinalArguments, m_MethodClassification.ResolvedMethod, True) AndAlso result
                 End If
             Else
                 Compiler.Report.ShowMessage(Messages.VBNC99999, Me.Location, String.Format("Delegate type {0} is neither ValueType, GenericParameter nor Class. This is a problem in the compiler, please file a bug report here: http://bugzilla.novell.com", resolvedType.FullName))
@@ -222,3 +222,4 @@ Public Class DelegateOrObjectCreationExpression
         Return result
     End Function
 End Class
+
diff --git a/vbnc/vbnc/source/Expressions/DictionaryAccessExpression.vb b/vbnc/vbnc/source/Expressions/DictionaryAccessExpression.vb
index b6190ef..521c754 100644
--- a/vbnc/vbnc/source/Expressions/DictionaryAccessExpression.vb
+++ b/vbnc/vbnc/source/Expressions/DictionaryAccessExpression.vb
@@ -30,6 +30,7 @@ Public Class DictionaryAccessExpression
     ''' <remarks></remarks>
     Private m_FirstPart As Expression
     Private m_SecondPart As IdentifierOrKeyword
+    Private m_SecondExpression As Expression
 
     Private m_DefaultProperty As Mono.Cecil.PropertyReference
     Private m_WithStatement As WithStatement
@@ -80,7 +81,7 @@ Public Class DictionaryAccessExpression
             Else
                 Emitter.EmitLoadVariable(Info, m_WithStatement.WithVariable)
             End If
-            Emitter.EmitLoadValue(Info, m_SecondPart.Identifier)
+            result = m_SecondExpression.GenerateCode(Info) AndAlso result
             If Info.IsRHS Then
                 Emitter.EmitCallOrCallVirt(Info, CecilHelper.FindDefinition(m_DefaultProperty).GetMethod)
             ElseIf Info.IsLHS Then
@@ -115,19 +116,36 @@ Public Class DictionaryAccessExpression
             Return True
         End If
         Dim attr As Mono.Cecil.CustomAttribute = Helper.GetDefaultMemberAttribute(Compiler, firsttp)
-        If attr IsNot Nothing Then
-            Dim name As String = DirectCast(attr.ConstructorArguments(0).Value, String)
-            Dim props As Mono.Collections.Generic.Collection(Of PropertyDefinition) = CecilHelper.FindProperties(CecilHelper.FindDefinition(firsttp).Properties, name)
-            If props IsNot Nothing AndAlso props.Count = 1 Then
-                m_DefaultProperty = props(0)
-            End If
-            If m_DefaultProperty IsNot Nothing Then
-                Classification = New ValueClassification(Me, m_DefaultProperty.PropertyType)
-            Else
-                result = Helper.AddError(Me) AndAlso result
-            End If
+        If attr Is Nothing Then Return Compiler.Report.ShowMessage(Messages.VBNC30367, Me.Location, firsttp.Name)
+
+        Dim name As String = DirectCast(attr.ConstructorArguments(0).Value, String)
+        Dim props As Mono.Collections.Generic.Collection(Of PropertyDefinition)
+        Dim pgc As PropertyGroupClassification
+        Dim arguments As New ArgumentList(Me)
+        Dim instanceExpression As Expression
+
+        If m_FirstPart IsNot Nothing Then
+            instanceExpression = m_FirstPart
         Else
-            Return Compiler.Report.ShowMessage(Messages.VBNC99997, Me.Location)
+            instanceExpression = m_WithStatement.WithVariableExpression
+        End If
+
+        m_SecondExpression = New ConstantExpression(Me, m_SecondPart.Identifier, Compiler.TypeCache.System_String)
+
+        props = CecilHelper.FindProperties(CecilHelper.FindDefinition(firsttp).Properties, name)
+        pgc = New PropertyGroupClassification(Me, instanceExpression, props)
+        arguments.Arguments.Add(New PositionalArgument(arguments, 0, m_SecondExpression))
+        If Not pgc.ResolveGroup(arguments) Then
+            pgc.ResolveGroup(arguments, True)
+            Return False
+        End If
+
+        m_DefaultProperty = pgc.ResolvedProperty
+        Classification = pgc
+
+        result = Helper.IsConvertible(Me, m_SecondExpression, m_SecondExpression.ExpressionType, m_DefaultProperty.Parameters(0).ParameterType, True, m_SecondExpression, True, Nothing) AndAlso result
+        If result Then
+            arguments.Arguments(0).Expression = m_SecondExpression
         End If
 
         Return result
@@ -145,3 +163,4 @@ Public Class DictionaryAccessExpression
         Return result.Compiler.Report.ShowMessage(Messages.VBNC99997, result.Location)
     End Function
 End Class
+
diff --git a/vbnc/vbnc/source/Expressions/Expression.vb b/vbnc/vbnc/source/Expressions/Expression.vb
index 0902796..e627ff4 100644
--- a/vbnc/vbnc/source/Expressions/Expression.vb
+++ b/vbnc/vbnc/source/Expressions/Expression.vb
@@ -116,6 +116,23 @@ Public MustInherit Class Expression
         End If
     End Function
 
+    Function IsSharedContext() As Boolean
+        Dim p As ParsedObject
+        Dim td As TypeDeclaration
+        Dim md As MethodDeclaration
+
+        p = Parent
+        While p IsNot Nothing
+            md = TryCast(p, MethodDeclaration)
+            If md IsNot Nothing Then Return md.IsShared
+            td = TryCast(p, TypeDeclaration)
+            If td IsNot Nothing Then Return td.IsShared
+            p = p.Parent
+        End While
+
+        Return False
+    End Function
+
     ''' <summary>
     ''' The classification of this expression
     ''' </summary>
@@ -145,40 +162,23 @@ Public MustInherit Class Expression
         MyBase.New(Parent)
     End Sub
 
-    ''' <summary>
-    ''' The default implementation returns false.
-    ''' </summary>
-    ''' <value></value>
-    ''' <remarks></remarks>
-    Overridable ReadOnly Property IsConstant() As Boolean
-        Get
-            Return False 'm_Classification.IsConstant
-        End Get
-    End Property
-
-    ''' <summary>
-    ''' The default implementation throws an internal exception.
-    ''' </summary>
-    ''' <value></value>
-    ''' <remarks></remarks>
-    Overridable ReadOnly Property ConstantValue() As Object
-        Get
-            Helper.Assert(m_Classification IsNot Nothing)
-            Return m_Classification.ConstantValue
-        End Get
-    End Property
+    Overridable Function GetConstant(ByRef result As Object, ByVal ShowError As Boolean) As Boolean
+        If ShowError Then Show30059()
+        Return False
+    End Function
 
     Friend NotOverridable Overrides Function GenerateCode(ByVal Info As EmitInfo) As Boolean
         Dim result As Boolean = True
+        Dim constant As Object = Nothing
 
         Try
-            If Me.IsConstant Then
+            If GetConstant(constant, False) Then
                 If Helper.CompareType(Me.ExpressionType, Compiler.TypeCache.Nothing) Then
-                    Emitter.EmitLoadValue(Info, Me.ConstantValue)
+                    Emitter.EmitLoadValue(Info, constant)
                 ElseIf Info.DesiredType IsNot Nothing AndAlso CecilHelper.IsByRef(Info.DesiredType) Then
-                    Emitter.EmitLoadValueAddress(Info, Me.ConstantValue)
+                    Emitter.EmitLoadValueAddress(Info, constant)
                 Else
-                    Emitter.EmitLoadValue(Info.Clone(Me, Me.ExpressionType), Me.ConstantValue)
+                    Emitter.EmitLoadValue(Info.Clone(Me, Me.ExpressionType), constant)
                 End If
             ElseIf TypeOf Me.Classification Is MethodGroupClassification Then
                 result = Me.Classification.AsMethodGroupClassification.GenerateCode(Info) AndAlso result
@@ -300,23 +300,18 @@ Public MustInherit Class Expression
         Return ResolveExpression(Info)
     End Function
 
-    Overridable Function Clone(Optional ByVal NewParent As ParsedObject = Nothing) As Expression
-        Compiler.Report.ShowMessage(Messages.VBNC99997, Me.Location)
-        Return Nothing
-    End Function
-
     Protected Overridable Function ResolveExpressionInternal(ByVal Info As ResolveInfo) As Boolean
         Return Compiler.Report.ShowMessage(Messages.VBNC99997, Me.Location)
     End Function
 
-    Function ResolveAddressOfExpression(ByVal DelegateType As Mono.Cecil.TypeReference) As Boolean
+    Function ResolveAddressOfExpression(ByVal DelegateType As Mono.Cecil.TypeReference, ByVal ShowErrors As Boolean) As Boolean
         Dim result As Boolean = True
         Dim aoe As AddressOfExpression = TryCast(Me, AddressOfExpression)
 
         If aoe Is Nothing Then
             result = False
         Else
-            result = aoe.Resolve(DelegateType) AndAlso result
+            result = aoe.Resolve(DelegateType, ShowErrors) AndAlso result
         End If
 
         Return result
@@ -444,7 +439,8 @@ Public MustInherit Class Expression
             Case ExpressionClassification.Classifications.EventAccess
                 Throw New InternalException(Me)
             Case ExpressionClassification.Classifications.Void
-                Throw New InternalException(Me)
+                Compiler.Report.ShowMessage(Messages.VBNC30491, Me.Location)
+                Return Nothing
             Case ExpressionClassification.Classifications.Type
                 Dim exp As Expression = Nothing
                 If m_Classification.AsTypeClassification.CreateAliasExpression(Me, exp) = False Then
@@ -487,3 +483,4 @@ Public MustInherit Class Expression
         End Get
     End Property
 End Class
+
diff --git a/vbnc/vbnc/source/Expressions/GetTypeExpression.vb b/vbnc/vbnc/source/Expressions/GetTypeExpression.vb
index 150fce2..000aae7 100644
--- a/vbnc/vbnc/source/Expressions/GetTypeExpression.vb
+++ b/vbnc/vbnc/source/Expressions/GetTypeExpression.vb
@@ -47,29 +47,26 @@ Public Class GetTypeExpression
         Return result
     End Function
 
+    Public Overrides Function GetConstant(ByRef result As Object, ByVal ShowError As Boolean) As Boolean
+        Dim attrib As Attribute = Me.FindFirstParent(Of Attribute)()
+        If attrib Is Nothing Then
+            If ShowError Then Show30059()
+            Return False
+        End If
+
+        result = m_TypeName.ResolvedType
+        Return True
+    End Function
+
     Protected Overrides Function ResolveExpressionInternal(ByVal Info As ResolveInfo) As Boolean
         Dim result As Boolean = True
 
-        result = m_TypeName.ResolveCode(info) AndAlso result
+        result = m_TypeName.ResolveCode(Info) AndAlso result
         Classification = New ValueClassification(Me)
 
         Return result
     End Function
 
-    Public Overrides ReadOnly Property ConstantValue() As Object
-        Get
-            Return m_TypeName.ResolvedType
-        End Get
-    End Property
-
-
-    Public Overrides ReadOnly Property IsConstant() As Boolean
-        Get
-            Dim attrib As Attribute = Me.FindFirstParent(Of Attribute)()
-            Return attrib IsNot Nothing
-        End Get
-    End Property
-
     Overrides ReadOnly Property ExpressionType() As Mono.Cecil.TypeReference
         Get
             Return Compiler.TypeCache.System_Type
diff --git a/vbnc/vbnc/source/Expressions/GlobalExpression.vb b/vbnc/vbnc/source/Expressions/GlobalExpression.vb
index 9cef29a..890a6f1 100644
--- a/vbnc/vbnc/source/Expressions/GlobalExpression.vb
+++ b/vbnc/vbnc/source/Expressions/GlobalExpression.vb
@@ -30,14 +30,8 @@ Public Class GlobalExpression
         MyBase.New(Parent)
     End Sub
 
-    Shadows Function Clone(Optional ByVal NewParent As ParsedObject = Nothing) As GlobalExpression
-        Return New GlobalExpression(NewParent)
-    End Function
-
     Protected Overrides Function ResolveExpressionInternal(ByVal Info As ResolveInfo) As Boolean
-
         Classification = New NamespaceClassification(Me, New GlobalNamespace(Me))
-
         Return True
     End Function
 
diff --git a/vbnc/vbnc/source/Expressions/IfExpression.vb b/vbnc/vbnc/source/Expressions/IfExpression.vb
index 041ab0d..0dc475a 100644
--- a/vbnc/vbnc/source/Expressions/IfExpression.vb
+++ b/vbnc/vbnc/source/Expressions/IfExpression.vb
@@ -1,4 +1,4 @@
-' 
+' 
 ' Visual Basic.Net Compiler
 ' Copyright (C) 2010 Rolf Bjarne Kvinge, RKvinge at novell.com
 ' 
@@ -29,21 +29,46 @@ Public Class IfExpression
     Public ThirdPart As Expression
 
     Private m_ExpressionType As TypeReference
-    Private m_ConstantValue As Object
 
     Sub New(ByVal Parent As ParsedObject)
         MyBase.New(Parent)
     End Sub
 
-    Public Overrides ReadOnly Property IsConstant() As Boolean
-        Get
-            If ThirdPart Is Nothing AndAlso TypeOf Condition Is NothingConstantExpression AndAlso TypeOf SecondPart Is NothingConstantExpression Then Return True
-            If Not Condition.IsConstant Then Return False
-            If Not SecondPart.IsConstant Then Return False
-            If ThirdPart IsNot Nothing AndAlso Not ThirdPart.IsConstant Then Return False
-            Return True
-        End Get
-    End Property
+    Public Overrides Function GetConstant(ByRef result As Object, ByVal ShowError As Boolean) As Boolean
+        Dim first As Object = Nothing
+        Dim second As Object = Nothing
+        Dim third As Object = Nothing
+
+        If ThirdPart IsNot Nothing Then
+            If Not Condition.GetConstant(first, ShowError) Then Return False
+            If Not SecondPart.GetConstant(second, ShowError) Then Return False
+            If Not ThirdPart.GetConstant(third, ShowError) Then Return False
+
+            result = If(CBool(first), second, third)
+            Return TypeConverter.ConvertTo(Me, result, m_ExpressionType, result, ShowError)
+        End If
+
+        If TypeOf SecondPart Is NothingConstantExpression Then
+            If TypeOf Condition Is NothingConstantExpression Then
+                result = Nothing
+                Return True
+            Else
+                If ShowError Then Show30059()
+                Return False
+            End If
+        ElseIf TypeOf Condition Is NothingConstantExpression Then
+            If ShowError Then Show30059()
+            Return False
+        Else
+            If Not Condition.GetConstant(first, ShowError) Then Return False
+            If Not SecondPart.GetConstant(second, ShowError) Then Return False
+
+            Return TypeConverter.ConvertTo(Me, result, m_ExpressionType, result, ShowError)
+        End If
+
+        If ShowError Then Show30059()
+        Return False
+    End Function
 
     Protected Overrides Function ResolveExpressionInternal(ByVal Info As ResolveInfo) As Boolean
         Dim result As Boolean = True
@@ -77,12 +102,6 @@ Public Class IfExpression
             Else
                 m_ExpressionType = SecondPart.ExpressionType
             End If
-
-            If Condition.IsConstant AndAlso SecondPart.IsConstant AndAlso ThirdPart.IsConstant Then
-                m_ConstantValue = If(CBool(Condition.ConstantValue), SecondPart.ConstantValue, ThirdPart.ConstantValue)
-                'We checked that the conversion is possible above
-                result = TypeConverter.ConvertTo(Me, m_ConstantValue, m_ExpressionType, m_ConstantValue) AndAlso result
-            End If
         Else
             If Condition.ExpressionType.IsValueType AndAlso CecilHelper.IsNullable(Condition.ExpressionType) = False Then
                 Return Compiler.Report.ShowMessage(Messages.VBNC33107, Condition.Location) AndAlso result
@@ -90,7 +109,6 @@ Public Class IfExpression
 
             If TypeOf SecondPart Is NothingConstantExpression Then
                 If TypeOf Condition Is NothingConstantExpression Then
-                    m_ConstantValue = Nothing
                     m_ExpressionType = Compiler.TypeCache.System_Object
                 Else
                     Return Compiler.Report.ShowMessage(Messages.VBNC30512, Condition.Location, Condition.ExpressionType.Name, "Integer")
@@ -120,12 +138,6 @@ Public Class IfExpression
                 Else
                     m_ExpressionType = SecondPart.ExpressionType
                 End If
-
-                If Condition.IsConstant AndAlso SecondPart.IsConstant Then
-                    m_ConstantValue = If(Condition.ConstantValue, SecondPart.ConstantValue)
-                    'We checked that the conversion is possible above
-                    result = TypeConverter.ConvertTo(Me, m_ConstantValue, m_ExpressionType, m_ConstantValue) AndAlso result
-                End If
             End If
         End If
 
@@ -146,7 +158,7 @@ Public Class IfExpression
         Dim nullable_type As GenericInstanceType = Nothing
         Dim has_value As MethodReference
         Dim get_value As MethodReference
-        
+
         If ThirdPart IsNot Nothing Then
             result = Condition.GenerateCode(Info) AndAlso result
             Emitter.EmitBranchIfFalse(Info, falseLabel)
@@ -229,12 +241,6 @@ Public Class IfExpression
         Return result
     End Function
 
-    Public Overrides ReadOnly Property ConstantValue() As Object
-        Get
-            Return m_ConstantValue
-        End Get
-    End Property
-
     Public Overrides ReadOnly Property ExpressionType() As Mono.Cecil.TypeReference
         Get
             Return m_ExpressionType
diff --git a/vbnc/vbnc/source/Expressions/InvocationOrIndexExpression.vb b/vbnc/vbnc/source/Expressions/InvocationOrIndexExpression.vb
index 5e0f113..2e12ad0 100644
--- a/vbnc/vbnc/source/Expressions/InvocationOrIndexExpression.vb
+++ b/vbnc/vbnc/source/Expressions/InvocationOrIndexExpression.vb
@@ -45,7 +45,6 @@ Public Class InvocationOrIndexExpression
     Private m_Expression As Expression
     Private m_ArgumentList As ArgumentList
 
-    Private m_ConstantValue As Object
     Private m_ExpressionType As Mono.Cecil.TypeReference
 
     ' AscW is replaced with the first parameter casted to Integer when:
@@ -84,49 +83,6 @@ Public Class InvocationOrIndexExpression
         m_ArgumentList = ArgumentList
     End Sub
 
-
-    Public Overrides ReadOnly Property IsConstant() As Boolean
-        Get
-            If m_ConstantValue IsNot Nothing Then Return True
-            If m_AscWExpression IsNot Nothing Then
-                If m_AscWExpression.IsConstant Then
-                    m_ConstantValue = Microsoft.VisualBasic.AscW(CChar(m_AscWExpression.ConstantValue))
-                    Return True
-                Else
-                    Return False
-                End If
-            End If
-            If m_ArgumentList.Count <> 1 Then Return False
-            If m_Expression.Classification.IsMethodGroupClassification Then
-                Dim param As Object
-                Dim mgc As MethodGroupClassification = m_Expression.Classification.AsMethodGroupClassification
-                If mgc.IsLateBound Then Return False
-
-                Dim mi As Mono.Cecil.MethodReference = mgc.ResolvedMethodInfo
-
-                If mi Is Nothing Then Return False
-                If Not (m_ArgumentList(0).Expression IsNot Nothing AndAlso m_ArgumentList(0).Expression.IsConstant) Then Return False
-
-                param = m_ArgumentList(0).Expression.ConstantValue
-                If Compiler.NameResolver.IsConstantMethod(mi, param, m_ConstantValue) = False Then Return False
-
-                Return True
-            Else
-                Return False
-            End If
-        End Get
-    End Property
-
-    Public Overrides ReadOnly Property ConstantValue() As Object
-        Get
-            If Me.IsConstant Then 'Necessary, since the property loads the constant value if it is a constant.
-                Return m_ConstantValue
-            Else
-                Throw New InternalException(Me)
-            End If
-        End Get
-    End Property
-
     ReadOnly Property Expression() As Expression
         Get
             Return m_Expression
@@ -145,7 +101,7 @@ Public Class InvocationOrIndexExpression
 
         If m_AscWExpression IsNot Nothing Then
             result = m_AscWExpression.GenerateCode(Info.Clone(Me, True, False, Compiler.TypeCache.System_Char)) AndAlso result
-         
+
             Return result
         End If
 
@@ -330,6 +286,36 @@ Public Class InvocationOrIndexExpression
         Return result
     End Function
 
+    Public Overrides Function GetConstant(ByRef result As Object, ByVal ShowError As Boolean) As Boolean
+        'Check for constant expression
+        If m_AscWExpression IsNot Nothing Then
+            If m_AscWExpression.GetConstant(result, False) Then
+                result = Microsoft.VisualBasic.AscW(CChar(result))
+                Return True
+            End If
+        ElseIf m_ArgumentList.Count = 1 AndAlso m_Expression.Classification.IsMethodGroupClassification Then
+            Dim param As Object = Nothing
+            Dim mgc As MethodGroupClassification = m_Expression.Classification.AsMethodGroupClassification
+
+            If mgc.IsLateBound = False Then
+                Dim mi As Mono.Cecil.MethodReference = mgc.ResolvedMethodInfo
+                If mi IsNot Nothing Then
+                    If m_ArgumentList(0).Expression IsNot Nothing Then
+                        If m_ArgumentList(0).Expression.GetConstant(param, False) Then
+                            If Compiler.NameResolver.IsConstantMethod(mi, param, param) Then
+                                result = param
+                                Return True
+                            End If
+                        End If
+                    End If
+                End If
+            End If
+        End If
+
+        If ShowError Then Show30059()
+        Return False
+    End Function
+
     Private Function ResolveIndexInvocation(ByVal Context As ParsedObject, ByVal VariableType As Mono.Cecil.TypeReference) As Boolean
         Dim result As Boolean = True
         Dim Compiler As Compiler = Context.Compiler
@@ -339,7 +325,7 @@ Public Class InvocationOrIndexExpression
         If CecilHelper.IsArray(VariableType) Then
             result = ResolveArrayInvocation(Context, VariableType) AndAlso result
         ElseIf Helper.CompareType(VariableType, Compiler.TypeCache.System_Array) Then
-            result = ResolveLateboundArrayInvocation(Context) AndAlso result
+            result = ResolveLateBoundArrayInvocation(Context) AndAlso result
         ElseIf Helper.IsDelegate(Compiler, VariableType) Then
             'This is an invocation expression (the classification can be reclassified as value and the expression is a delegate expression)
             result = ResolveDelegateInvocation(Context, VariableType)
@@ -347,7 +333,7 @@ Public Class InvocationOrIndexExpression
             Dim propGroup As New PropertyGroupClassification(Me, m_Expression, defaultProperties)
             result = propGroup.ResolveGroup(m_ArgumentList)
             If result Then
-                m_ArgumentList.ReplaceAndVerifyArguments(propGroup.FinalArguments, propGroup.ResolvedProperty)
+                m_ArgumentList.ReplaceAndVerifyArguments(propGroup.FinalArguments, propGroup.ResolvedProperty, True)
             End If
             Classification = New PropertyAccessClassification(propGroup)
             'Classification = propGroup
@@ -382,8 +368,13 @@ Public Class InvocationOrIndexExpression
             Return False
         End If
 
-        If CecilHelper.GetArrayRank(ArrayType) <> m_ArgumentList.Count Then
-            Helper.AddError(Me, "Array dimensions are not correct.")
+        Dim arrayRank As Integer = CecilHelper.GetArrayRank(ArrayType)
+
+        If m_ArgumentList.Count > arrayRank Then
+            Compiler.Report.ShowMessage(Messages.VBNC30106, Location)
+            Return False
+        ElseIf m_ArgumentList.Count < arrayRank Then
+            Compiler.Report.ShowMessage(Messages.VBNC30105, Location)
             Return False
         End If
 
@@ -468,7 +459,7 @@ Public Class InvocationOrIndexExpression
 
             Return tmpResult
         Else
-            result = m_ArgumentList.ReplaceAndVerifyArguments(propGroup.FinalArguments, propGroup.ResolvedProperty) AndAlso result
+            result = m_ArgumentList.ReplaceAndVerifyArguments(propGroup.FinalArguments, propGroup.ResolvedProperty, True) AndAlso result
         End If
 
         Classification = New PropertyAccessClassification(propGroup)
@@ -522,11 +513,7 @@ Public Class InvocationOrIndexExpression
         Else
             result = mgc.ResolveGroup(m_ArgumentList)
             If result Then
-                If mgc.IsLateBound = False Then
-                    m_ArgumentList.ReplaceAndVerifyArguments(mgc.FinalArguments, mgc.ResolvedMethod)
-                End If
-                result = mgc.VerifyConstraints AndAlso result
-                If result = False Then Return False
+                If Not mgc.VerifyGroup(m_ArgumentList, True) Then Return False
             Else
                 mgc.ResolveGroup(m_ArgumentList, True)
                 Return False
@@ -561,6 +548,8 @@ Public Class InvocationOrIndexExpression
                     Dim exp As Expression = Nothing
                     result = mae.FirstExpression.Classification.AsTypeClassification.CreateAliasExpression(mae.FirstExpression, exp) AndAlso result
                     mgc.InstanceExpression = exp
+                Else
+                    result = Report.ShowMessage(Messages.VBNC30469, Me.Location)
                 End If
             End If
 
@@ -589,3 +578,4 @@ Public Class InvocationOrIndexExpression
         End Get
     End Property
 End Class
+
diff --git a/vbnc/vbnc/source/Expressions/LateBoundAccessToExpression.vb b/vbnc/vbnc/source/Expressions/LateBoundAccessToExpression.vb
index 34caadc..cc0f51c 100644
--- a/vbnc/vbnc/source/Expressions/LateBoundAccessToExpression.vb
+++ b/vbnc/vbnc/source/Expressions/LateBoundAccessToExpression.vb
@@ -28,18 +28,6 @@ Public MustInherit Class LateBoundAccessToExpression
         End Get
     End Property
 
-    Public Overrides ReadOnly Property IsConstant() As Boolean
-        Get
-            Return False
-        End Get
-    End Property
-
-    Public Overrides ReadOnly Property ConstantValue() As Object
-        Get
-            Throw New InternalException("A late bound expression does not have a constant value.")
-        End Get
-    End Property
-
     Sub New(ByVal Parent As ParsedObject, ByVal LateBoundAccessClassification As LateBoundAccessClassification)
         MyBase.new(Parent)
         m_LateBoundAccess = LateBoundAccessClassification
@@ -160,7 +148,6 @@ Public MustInherit Class LateBoundAccessToExpression
             Emitter.EmitLoadNull(Info.Clone(Info.Context, Info.Compiler.TypeCache.System_String_Array))
         End If
 
-
         Return result
     End Function
 
diff --git a/vbnc/vbnc/source/Expressions/LiteralExpression.vb b/vbnc/vbnc/source/Expressions/LiteralExpression.vb
index 12f23c8..2e4c9d7 100644
--- a/vbnc/vbnc/source/Expressions/LiteralExpression.vb
+++ b/vbnc/vbnc/source/Expressions/LiteralExpression.vb
@@ -52,6 +52,10 @@ Public Class LiteralExpression
         m_Value = Value
     End Sub
 
+    Shadows Sub Init(ByVal Value As Object, ByVal ExpressionType As TypeReference)
+        MyBase.Init(Value, ExpressionType)
+    End Sub
+
     Protected Overrides Function GenerateCodeInternal(ByVal Info As EmitInfo) As Boolean
         Dim result As Boolean = True
 
@@ -78,15 +82,11 @@ Public Class LiteralExpression
     End Function
 
     Protected Overrides Function ResolveExpressionInternal(ByVal Info As ResolveInfo) As Boolean
-        Helper.Assert(ConstantValue IsNot Nothing)
-        Classification = New ValueClassification(Me, ExpressionType, ConstantValue)
-        Return True
-    End Function
+        Dim constant As Object = Nothing
 
-    Public Overrides Function Clone(Optional ByVal NewParent As ParsedObject = Nothing) As Expression
-        If NewParent IsNot Nothing Then NewParent = Me.Parent
-        Dim result As New LiteralExpression(NewParent)
-        result.Init(m_Value)
-        Return result
+        If Not GetConstant(constant, True) Then Return False
+
+        Classification = New ValueClassification(Me, ExpressionType, constant)
+        Return True
     End Function
 End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/source/Expressions/MemberAccessExpression.vb b/vbnc/vbnc/source/Expressions/MemberAccessExpression.vb
index b2af7a7..279f948 100644
--- a/vbnc/vbnc/source/Expressions/MemberAccessExpression.vb
+++ b/vbnc/vbnc/source/Expressions/MemberAccessExpression.vb
@@ -45,18 +45,6 @@ Public Class MemberAccessExpression
         End Get
     End Property
 
-    Public Overrides ReadOnly Property IsConstant() As Boolean
-        Get
-            Return Classification.IsConstant
-        End Get
-    End Property
-
-    Public Overrides ReadOnly Property ConstantValue() As Object
-        Get
-            Return Classification.ConstantValue
-        End Get
-    End Property
-
     Public Overrides Function ResolveTypeReferences() As Boolean
         Dim result As Boolean = True
 
@@ -77,23 +65,6 @@ Public Class MemberAccessExpression
         m_Second = Second
     End Sub
 
-    Public Overrides Function Clone(Optional ByVal NewParent As ParsedObject = Nothing) As Expression
-        If NewParent Is Nothing Then NewParent = Me.Parent
-        Dim result As New MemberAccessExpression(NewParent)
-
-        Dim m_First As Expression = Nothing
-        Dim m_Second As IdentifierOrKeyword = Nothing
-        '  Dim m_TypeArguments As TypeParameters
-
-        If Me.m_First IsNot Nothing Then m_First = Me.m_First.Clone(result)
-        If Me.m_Second IsNot Nothing Then m_Second = Me.m_Second.Clone(result)
-        '  If Me.m_TypeArguments IsNot Nothing Then m_TypeArguments = Me.m_TypeArguments.Clone(result)
-
-        result.Init(m_First, m_Second)
-
-        Return result
-    End Function
-
     Protected Overrides Function GenerateCodeInternal(ByVal Info As EmitInfo) As Boolean
         Dim result As Boolean = True
 
@@ -155,6 +126,10 @@ Public Class MemberAccessExpression
         End Get
     End Property
 
+    Public Overrides Function GetConstant(ByRef result As Object, ByVal ShowError As Boolean) As Boolean
+        Return Me.Classification.GetConstant(result, ShowError)
+    End Function
+
     Protected Overrides Function ResolveExpressionInternal(ByVal Info As ResolveInfo) As Boolean
         Dim result As Boolean = True
 
@@ -227,7 +202,7 @@ Public Class MemberAccessExpression
         If iokwta IsNot Nothing Then
             typeArguments = iokwta.TypeArguments
         End If
-        
+
         Helper.Assert(Name IsNot Nothing AndAlso Name <> "")
 
         If m_First IsNot Nothing Then
@@ -352,7 +327,7 @@ Public Class MemberAccessExpression
             If entry Is Nothing Then
                 Compiler.Report.ShowMessage(Messages.VBNC30456, Me.Location, Name, m_First.Classification.AsTypeClassification.Type.FullName)
                 Return False
-            End If			
+            End If
 
             If entry IsNot Nothing Then
                 members = entry.Members
@@ -421,6 +396,9 @@ Public Class MemberAccessExpression
                         Classification = New ValueClassification(Me, fld, Nothing)
                         Return True
                     Else
+                        If instanceExpression Is Nothing AndAlso CecilHelper.IsStatic(fld) = False Then
+                            Return Report.ShowMessage(Messages.VBNC30469, Me.Location)
+                        End If
                         Classification = New VariableClassification(Me, fld, instanceExpression)
                         Return True
                     End If
@@ -765,3 +743,4 @@ Public Class MemberAccessExpression
         End Get
     End Property
 End Class
+
diff --git a/vbnc/vbnc/source/Expressions/MethodGroupToValueExpression.vb b/vbnc/vbnc/source/Expressions/MethodGroupToValueExpression.vb
index 7f2505a..10e39e2 100644
--- a/vbnc/vbnc/source/Expressions/MethodGroupToValueExpression.vb
+++ b/vbnc/vbnc/source/Expressions/MethodGroupToValueExpression.vb
@@ -28,17 +28,9 @@ Public Class MethodGroupToValueExpression
         m_MethodGroup = MethodGroupClassification
     End Sub
 
-    Public Overrides ReadOnly Property IsConstant() As Boolean
-        Get
-            Return m_MethodGroup.IsConstant
-        End Get
-    End Property
-
-    Public Overrides ReadOnly Property ConstantValue() As Object
-        Get
-            Return m_MethodGroup.ConstantValue
-        End Get
-    End Property
+    Public Overrides Function GetConstant(ByRef result As Object, ByVal ShowError As Boolean) As Boolean
+        Return m_MethodGroup.GetConstant(result, ShowError)
+    End Function
 
     Protected Overrides Function ResolveExpressionInternal(ByVal Info As ResolveInfo) As Boolean
         Dim result As Boolean = True
diff --git a/vbnc/vbnc/source/Expressions/NothingConstantExpression.vb b/vbnc/vbnc/source/Expressions/NothingConstantExpression.vb
index 79dc003..b493905 100644
--- a/vbnc/vbnc/source/Expressions/NothingConstantExpression.vb
+++ b/vbnc/vbnc/source/Expressions/NothingConstantExpression.vb
@@ -30,7 +30,7 @@ Public Class NothingConstantExpression
     End Function
 
     Sub New(ByVal Parent As ParsedObject)
-        MyBase.new(Parent, Nothing, Nothing)
+        MyBase.new(Parent, System.DBNull.Value, Nothing)
     End Sub
 
     Protected Overrides Function ResolveExpressionInternal(ByVal Info As ResolveInfo) As Boolean
@@ -43,15 +43,4 @@ Public Class NothingConstantExpression
             Return Compiler.TypeCache.Nothing
         End Get
     End Property
-
-    Public Overrides ReadOnly Property ConstantValue() As Object
-        Get
-            Return System.DBNull.Value
-        End Get
-    End Property
-
-    Public Overrides Function Clone(Optional ByVal NewParent As ParsedObject = Nothing) As Expression
-        If NewParent IsNot Nothing Then NewParent = Me.Parent
-        Return New NothingConstantExpression(NewParent)
-    End Function
 End Class
diff --git a/vbnc/vbnc/source/Expressions/ParenthesizedExpression.vb b/vbnc/vbnc/source/Expressions/ParenthesizedExpression.vb
index 995be6f..24c1c3b 100644
--- a/vbnc/vbnc/source/Expressions/ParenthesizedExpression.vb
+++ b/vbnc/vbnc/source/Expressions/ParenthesizedExpression.vb
@@ -92,15 +92,7 @@ Public Class ParenthesizedExpression
         End Get
     End Property
 
-    Public Overrides ReadOnly Property ConstantValue() As Object
-        Get
-            Return m_Expression.ConstantValue
-        End Get
-    End Property
-
-    Public Overrides ReadOnly Property IsConstant() As Boolean
-        Get
-            Return m_Expression.IsConstant
-        End Get
-    End Property
+    Public Overrides Function GetConstant(ByRef result As Object, ByVal ShowError As Boolean) As Boolean
+        Return m_Expression.GetConstant(result, ShowError)
+    End Function
 End Class
diff --git a/vbnc/vbnc/source/Expressions/PropertyAccessToValueExpression.vb b/vbnc/vbnc/source/Expressions/PropertyAccessToValueExpression.vb
index d2f5584..c4512ed 100644
--- a/vbnc/vbnc/source/Expressions/PropertyAccessToValueExpression.vb
+++ b/vbnc/vbnc/source/Expressions/PropertyAccessToValueExpression.vb
@@ -35,17 +35,9 @@ Public Class PropertyAccessToValueExpression
         End Get
     End Property
 
-    Public Overrides ReadOnly Property IsConstant() As Boolean
-        Get
-            Return m_PropertyAccess.IsConstant
-        End Get
-    End Property
-
-    Public Overrides ReadOnly Property ConstantValue() As Object
-        Get
-            Return m_PropertyAccess.ConstantValue
-        End Get
-    End Property
+    Public Overrides Function GetConstant(ByRef result As Object, ByVal ShowError As Boolean) As Boolean
+        Return m_PropertyAccess.GetConstant(result, ShowError)
+    End Function
 
     Sub New(ByVal Parent As ParsedObject, ByVal PropertyAccess As PropertyAccessClassification)
         MyBase.new(Parent)
diff --git a/vbnc/vbnc/source/Expressions/PropertyGroupToPropertyAccessExpression.vb b/vbnc/vbnc/source/Expressions/PropertyGroupToPropertyAccessExpression.vb
index 6130999..36d85f4 100644
--- a/vbnc/vbnc/source/Expressions/PropertyGroupToPropertyAccessExpression.vb
+++ b/vbnc/vbnc/source/Expressions/PropertyGroupToPropertyAccessExpression.vb
@@ -23,18 +23,6 @@ Public Class PropertyGroupToPropertyAccessExpression
     Private m_PropertyGroup As PropertyGroupClassification
     Private m_ExpressionType As Mono.Cecil.TypeReference
 
-    Public Overrides ReadOnly Property IsConstant() As Boolean
-        Get
-            Return m_PropertyGroup.IsConstant
-        End Get
-    End Property
-
-    Public Overrides ReadOnly Property ConstantValue() As Object
-        Get
-            Return m_PropertyGroup.ConstantValue
-        End Get
-    End Property
-
     Sub New(ByVal Parent As ParsedObject, ByVal PropertyGroupClassification As PropertyGroupClassification)
         MyBase.new(Parent)
         m_PropertyGroup = PropertyGroupClassification
@@ -54,6 +42,10 @@ Public Class PropertyGroupToPropertyAccessExpression
                 m_PropertyGroup.ResolveGroup(New ArgumentList(Me))
                 Return Helper.AddError(Me, "Failed to resolve property group.")
             End If
+
+            If m_PropertyGroup.InstanceExpression Is Nothing AndAlso CecilHelper.IsStatic(m_PropertyGroup.ResolvedProperty) = False Then
+                Return Report.ShowMessage(Messages.VBNC30469, Me.Location)
+            End If
         End If
 
         Helper.Assert(m_PropertyGroup.ResolvedProperty IsNot Nothing, "m_PropertyGroup.ResolvedProperty Is Nothing")
@@ -80,3 +72,4 @@ Public Class PropertyGroupToPropertyAccessExpression
         End Get
     End Property
 End Class
+
diff --git a/vbnc/vbnc/source/Expressions/PropertyGroupToValueExpression.vb b/vbnc/vbnc/source/Expressions/PropertyGroupToValueExpression.vb
index 1a03f89..ed86d1c 100644
--- a/vbnc/vbnc/source/Expressions/PropertyGroupToValueExpression.vb
+++ b/vbnc/vbnc/source/Expressions/PropertyGroupToValueExpression.vb
@@ -33,18 +33,10 @@ Public Class PropertyGroupToValueExpression
             Return result
         End Get
     End Property
-
-    Public Overrides ReadOnly Property IsConstant() As Boolean
-        Get
-            Return m_PropertyGroup.IsConstant
-        End Get
-    End Property
-
-    Public Overrides ReadOnly Property ConstantValue() As Object
-        Get
-            Return m_PropertyGroup.ConstantValue
-        End Get
-    End Property
+    
+    Public Overrides Function GetConstant(ByRef result As Object, ByVal ShowError As Boolean) As Boolean
+        Return m_PropertyGroup.GetConstant(result, ShowError)
+    End Function
 
     Sub New(ByVal Parent As ParsedObject, ByVal PropertyGroupClassification As PropertyGroupClassification)
         MyBase.new(Parent)
diff --git a/vbnc/vbnc/source/Expressions/SimpleNameExpression.vb b/vbnc/vbnc/source/Expressions/SimpleNameExpression.vb
index 65a3682..ace3edc 100755
--- a/vbnc/vbnc/source/Expressions/SimpleNameExpression.vb
+++ b/vbnc/vbnc/source/Expressions/SimpleNameExpression.vb
@@ -61,18 +61,6 @@ Public Class SimpleNameExpression
         End Get
     End Property
 
-    Public Overrides Function Clone(Optional ByVal NewParent As ParsedObject = Nothing) As Expression
-        If NewParent Is Nothing Then NewParent = Me.Parent
-        Dim result As New SimpleNameExpression(NewParent)
-        If m_TypeArgumentList Is Nothing Then
-            result.Init(m_Identifier, Nothing)
-        Else
-            result.Init(m_Identifier, m_TypeArgumentList.Clone(result))
-        End If
-
-        Return result
-    End Function
-
     Property Identifier() As Identifier
         Get
             Return m_Identifier
@@ -182,17 +170,9 @@ Public Class SimpleNameExpression
         Return result
     End Function
 
-    Public Overrides ReadOnly Property IsConstant() As Boolean
-        Get
-            Return Classification.IsConstant
-        End Get
-    End Property
-
-    Public Overrides ReadOnly Property ConstantValue() As Object
-        Get
-            Return Classification.ConstantValue
-        End Get
-    End Property
+    Public Overrides Function GetConstant(ByRef result As Object, ByVal ShowError As Boolean) As Boolean
+        Return Classification.GetConstant(result, ShowError)
+    End Function
 
     Shared Function IsMe(ByVal tm As tm) As Boolean
         Return tm.CurrentToken.IsIdentifier
@@ -201,10 +181,6 @@ Public Class SimpleNameExpression
     Protected Overrides Function ResolveExpressionInternal(ByVal Info As ResolveInfo) As Boolean
         Dim Name As String = m_Identifier.Identifier
 
-        If False Then
-            Helper.Stop()
-        End If
-
         '---------------------------------------------------------------------------------------------------------
         'A simple name expression consists of a single identifier followed by an optional type argument list. 
         'The name is resolved and classified as follows:
@@ -305,6 +281,7 @@ Public Class SimpleNameExpression
                 'The expression is classified as a variable if it is a local variable, static variable (...)
                 Dim varDecl As VariableDeclaration
                 varDecl = DirectCast(var, VariableDeclaration)
+                varDecl.IsReferenced = True
                 If varDecl.Modifiers.Is(ModifierMasks.Static) AndAlso varDecl.DeclaringMethod.IsShared = False Then
                     Classification = New VariableClassification(Me, varDecl, CreateMeExpression)
                 ElseIf varDecl.Modifiers.Is(ModifierMasks.Const) Then
@@ -312,6 +289,11 @@ Public Class SimpleNameExpression
                 Else
                     Classification = New VariableClassification(Me, varDecl)
                 End If
+
+                If var.Location > Me.Location Then
+                    Return Compiler.Report.ShowMessage(Messages.VBNC32000, Me.Location, var.Name)
+                End If
+
                 Return True
             ElseIf var IsNot Nothing Then
                 Throw New InternalException(Me)
@@ -414,24 +396,43 @@ Public Class SimpleNameExpression
                 '(it can resolve to a method group with several methods, some shared, some not. 
                 'So we create a classification with an instance expression, if the member is 
                 'shared, the instance expression should not be used.
-                Dim hasInstanceExpression As Boolean
-                Dim hasNotInstanceExpression As Boolean
+                Dim instanceCount As Integer
 
                 For i As Integer = 0 To members.Count - 1
                     Dim member As Mono.Cecil.MemberReference = members(i)
                     If CecilHelper.GetMemberType(member) = MemberTypes.TypeInfo OrElse CecilHelper.GetMemberType(member) = MemberTypes.NestedType Then
-                        hasNotInstanceExpression = True
+                        '
                     ElseIf Helper.IsShared(member) Then
-                        hasNotInstanceExpression = True
+                        '
                     Else
-                        hasInstanceExpression = True
+                        instanceCount += 1
                     End If
                 Next
 
-                If container Is firstcontainer AndAlso hasInstanceExpression Then
+                If container Is firstcontainer AndAlso instanceCount > 0 Then
                     'Otherwise, if the type is the immediately enclosing type and the lookup identifies a non-shared 
                     'type member, then the result is the same as a member access of the form Me.E, where E is 
                     'the identifier.
+                    If instanceCount = members.Count AndAlso IsSharedContext() Then
+                        Dim show30369 As Boolean = True
+
+                        If instanceCount = 1 Then
+                            Dim fd As FieldReference
+                            Dim pd As PropertyReference
+
+                            'this is allowed: 11.6.1 Identical Type and Member Names
+                            fd = TryCast(members(0), FieldReference)
+                            If fd IsNot Nothing Then
+                                show30369 = Helper.CompareName(fd.Name, fd.FieldType.Name) = False
+                            Else
+                                pd = TryCast(members(0), PropertyReference)
+                                If pd IsNot Nothing Then
+                                    show30369 = Helper.CompareName(pd.Name, pd.PropertyType.Name) = False
+                                End If
+                            End If
+                            If show30369 Then Return Report.ShowMessage(Messages.VBNC30369, Me.Location)
+                        End If
+                    End If
                     Classification = GetMeClassification(members, firstcontainer)
                     Return True
                 Else
@@ -439,7 +440,7 @@ Public Class SimpleNameExpression
                     'type containing the matching member and E is the identifier. In this case, it is an error for the                    
                     'identifier to refer to a non-shared member.
                     Classification = GetTypeClassification(members, firstcontainer)
-                    Return True
+                    Return Classification IsNot Nothing
                 End If
             End If
             container = DirectCast(container, BaseObject).FindFirstParent(Of IType)()
@@ -604,6 +605,9 @@ Public Class SimpleNameExpression
             If varD.IsStatic AndAlso varD.IsInitOnly AndAlso _
              (constructor Is Nothing OrElse constructor.Modifiers.Is(ModifierMasks.Shared) = False) Then
                 Return New ValueClassification(Me, var, Nothing)
+            ElseIf Not varD.IsStatic Then
+                Compiler.Report.ShowMessage(Messages.VBNC30469, Me.Location)
+                Return Nothing
             Else
                 Return New VariableClassification(Me, var, Nothing)
             End If
@@ -928,3 +932,4 @@ Public Class SimpleNameExpression
         Return True
     End Function
 End Class
+
diff --git a/vbnc/vbnc/source/Expressions/TypeOfExpression.vb b/vbnc/vbnc/source/Expressions/TypeOfExpression.vb
index e060a3f..41e05a2 100644
--- a/vbnc/vbnc/source/Expressions/TypeOfExpression.vb
+++ b/vbnc/vbnc/source/Expressions/TypeOfExpression.vb
@@ -90,12 +90,6 @@ Public Class TypeOfExpression
         Return result
     End Function
 
-    Public Overrides ReadOnly Property IsConstant() As Boolean
-        Get
-            Return False
-        End Get
-    End Property
-
     Overrides ReadOnly Property ExpressionType() As Mono.Cecil.TypeReference
         Get
             Return Compiler.TypeCache.System_Boolean
diff --git a/vbnc/vbnc/source/Expressions/UnaryExpressions/UnaryExpression.vb b/vbnc/vbnc/source/Expressions/UnaryExpressions/UnaryExpression.vb
index e5849d5..39c8a68 100644
--- a/vbnc/vbnc/source/Expressions/UnaryExpressions/UnaryExpression.vb
+++ b/vbnc/vbnc/source/Expressions/UnaryExpressions/UnaryExpression.vb
@@ -60,12 +60,6 @@ Public MustInherit Class UnaryExpression
         Return tm.CurrentToken.Equals(Enums.UnaryOperators)
     End Function
 
-    Public Overrides ReadOnly Property IsConstant() As Boolean
-        Get
-            Return m_Expression.IsConstant
-        End Get
-    End Property
-
     Protected Overrides Function ResolveExpressionInternal(ByVal Info As ResolveInfo) As Boolean
         Dim result As Boolean = True
         Dim operandType As TypeCode
@@ -116,6 +110,10 @@ Public MustInherit Class UnaryExpression
                 m_ExpressionType = methodClassification.ResolvedMethodInfo.ReturnType
                 Classification = methodClassification
             End If
+
+            If Location.File(Compiler).IsOptionStrictOn AndAlso Helper.CompareType(m_Expression.ExpressionType, Compiler.TypeCache.System_Object) Then
+                result = Compiler.Report.ShowMessage(Messages.VBNC30038, Me.Location, Enums.strSpecial(Keyword))
+            End If
         End If
 
         Return result
@@ -145,3 +143,4 @@ Public MustInherit Class UnaryExpression
         End Get
     End Property
 End Class
+
diff --git a/vbnc/vbnc/source/Expressions/UnaryExpressions/UnaryMinusExpression.vb b/vbnc/vbnc/source/Expressions/UnaryExpressions/UnaryMinusExpression.vb
index 7ccd163..abc88ef 100644
--- a/vbnc/vbnc/source/Expressions/UnaryExpressions/UnaryMinusExpression.vb
+++ b/vbnc/vbnc/source/Expressions/UnaryExpressions/UnaryMinusExpression.vb
@@ -62,38 +62,36 @@ Public Class UnaryMinusExpression
         Return result
     End Function
 
-    Public Overrides ReadOnly Property ConstantValue() As Object
-        Get
-            Helper.Assert(IsConstant)
-            Dim value As Object = Expression.ConstantValue
-            Helper.Assert(value IsNot Nothing)
-            Select Case Helper.GetTypeCode(Compiler, CecilHelper.GetType(Compiler, value))
-                Case TypeCode.SByte
-                    Return -CSByte(value)
-                Case TypeCode.Int16
-                    Return -CShort(value)
-                Case TypeCode.Int32
-                    Return -CInt(value)
-                Case TypeCode.Int64
-                    Return -CLng(value)
-                Case TypeCode.Byte
-                Case TypeCode.UInt16
-                Case TypeCode.UInt32
-                Case TypeCode.UInt64
-                    Return -CULng(value)
-                Case TypeCode.Decimal
-                    Return -CDec(value)
-                Case TypeCode.Double
-                    Return -CDbl(value)
-                Case TypeCode.Single
-                    Return -CSng(value)
-                Case Else
-                    Helper.Stop()
-            End Select
-            Helper.Stop()
-            Return Nothing
-        End Get
-    End Property
+    Public Overrides Function GetConstant(ByRef result As Object, ByVal ShowError As Boolean) As Boolean
+        If Not Expression.GetConstant(result, ShowError) Then Return False
+
+        Select Case Helper.GetTypeCode(Compiler, CecilHelper.GetType(Compiler, result))
+            Case TypeCode.SByte
+                result = -CSByte(result)
+            Case TypeCode.Int16
+                result = -CShort(result)
+            Case TypeCode.Int32
+                result = -CInt(result)
+            Case TypeCode.Int64
+                result = -CLng(result)
+            Case TypeCode.Byte
+            Case TypeCode.UInt16
+            Case TypeCode.UInt32
+            Case TypeCode.UInt64
+                result = -CULng(result)
+            Case TypeCode.Decimal
+                result = -CDec(result)
+            Case TypeCode.Double
+                result = -CDbl(result)
+            Case TypeCode.Single
+                result = -CSng(result)
+            Case Else
+                If ShowError Then Show30059()
+                Return False
+        End Select
+
+        Return True
+    End Function
 
     Public Overrides ReadOnly Property Keyword() As KS
         Get
diff --git a/vbnc/vbnc/source/Expressions/UnaryExpressions/UnaryNotExpression.vb b/vbnc/vbnc/source/Expressions/UnaryExpressions/UnaryNotExpression.vb
index a05482e..231245f 100644
--- a/vbnc/vbnc/source/Expressions/UnaryExpressions/UnaryNotExpression.vb
+++ b/vbnc/vbnc/source/Expressions/UnaryExpressions/UnaryNotExpression.vb
@@ -28,6 +28,23 @@ Public Class UnaryNotExpression
         MyBase.Init(Expression)
     End Sub
 
+    Overrides ReadOnly Property ExpressionType() As Mono.Cecil.TypeReference
+        Get
+            Dim result As Mono.Cecil.TypeReference
+            Dim lType As Mono.Cecil.TypeReference
+
+            lType = Me.Expression.ExpressionType
+
+            If Helper.IsEnum(Compiler, lType) Then
+                result = lType
+            Else
+                result = MyBase.ExpressionType()
+            End If
+
+            Return result
+        End Get
+    End Property
+
     Protected Overrides Function GenerateCodeInternal(ByVal Info As EmitInfo) As Boolean
         Dim result As Boolean = True
 
@@ -52,47 +69,37 @@ Public Class UnaryNotExpression
         Return result
     End Function
 
-    Public Overrides ReadOnly Property IsConstant() As Boolean
-        Get
-            Return Expression.IsConstant AndAlso Compiler.TypeResolution.IsIntegralType(Expression.ExpressionType)
-        End Get
-    End Property
+    Public Overrides Function GetConstant(ByRef result As Object, ByVal ShowError As Boolean) As Boolean
+        If Not Expression.GetConstant(result, ShowError) Then Return False
 
-    Public Overrides ReadOnly Property ConstantValue() As Object
-        Get
-            Helper.Assert(IsConstant)
-            Dim value As Object = Expression.ConstantValue
-            Helper.Assert(value IsNot Nothing)
-            Select Case Helper.GetTypeCode(Compiler, CecilHelper.GetType(Compiler, value))
-                Case TypeCode.SByte
-                    Return Not CSByte(value)
-                Case TypeCode.Byte
-                    Return Not CByte(value)
-                Case TypeCode.Int16
-                    Return Not CShort(value)
-                Case TypeCode.Int32
-                    Return Not CInt(value)
-                Case TypeCode.Int64
-                    Return Not CLng(value)
-                Case TypeCode.UInt16
-                    Return Not CUShort(value)
-                Case TypeCode.UInt32
-                    Return Not CUInt(value)
-                Case TypeCode.UInt64
-                    Return Not CULng(value)
-                Case TypeCode.Decimal, TypeCode.Double, TypeCode.Single
-                    Throw New InternalException(Me)
-                Case Else
-                    Throw New InternalException(Me)
-            End Select
-            Helper.Stop()
-            Return Nothing
-        End Get
-    End Property
+        Select Case Helper.GetTypeCode(Compiler, CecilHelper.GetType(Compiler, result))
+            Case TypeCode.SByte
+                result = Not CSByte(result)
+            Case TypeCode.Byte
+                result = Not CByte(result)
+            Case TypeCode.Int16
+                result = Not CShort(result)
+            Case TypeCode.Int32
+                result = Not CInt(result)
+            Case TypeCode.Int64
+                result = Not CLng(result)
+            Case TypeCode.UInt16
+                result = Not CUShort(result)
+            Case TypeCode.UInt32
+                result = Not CUInt(result)
+            Case TypeCode.UInt64
+                result = Not CULng(result)
+            Case Else
+                If ShowError Then Show30059()
+                Return False
+        End Select
+
+        Return True
+    End Function
 
     Public Overrides ReadOnly Property Keyword() As KS
         Get
             Return KS.Not
         End Get
     End Property
-End Class
\ No newline at end of file
+End Class
diff --git a/vbnc/vbnc/source/Expressions/UnaryExpressions/UnaryPlusExpression.vb b/vbnc/vbnc/source/Expressions/UnaryExpressions/UnaryPlusExpression.vb
index 9588299..23b2fbf 100644
--- a/vbnc/vbnc/source/Expressions/UnaryExpressions/UnaryPlusExpression.vb
+++ b/vbnc/vbnc/source/Expressions/UnaryExpressions/UnaryPlusExpression.vb
@@ -28,6 +28,10 @@ Public Class UnaryPlusExpression
         MyBase.Init(Expression)
     End Sub
 
+    Public Overrides Function GetConstant(ByRef result As Object, ByVal ShowError As Boolean) As Boolean
+        Return Expression.GetConstant(result, ShowError)
+    End Function
+
     Protected Overrides Function GenerateCodeInternal(ByVal Info As EmitInfo) As Boolean
         Dim result As Boolean = True
 
@@ -51,14 +55,6 @@ Public Class UnaryPlusExpression
         Return result
     End Function
 
-    Public Overrides ReadOnly Property ConstantValue() As Object
-        Get
-            Helper.Assert(IsConstant)
-            Dim value As Object = Expression.ConstantValue
-            Return value
-        End Get
-    End Property
-
     Public Overrides ReadOnly Property Keyword() As KS
         Get
             Return KS.Add
diff --git a/vbnc/vbnc/source/Expressions/VariableToValueExpression.vb b/vbnc/vbnc/source/Expressions/VariableToValueExpression.vb
index 667ce00..690ccf2 100644
--- a/vbnc/vbnc/source/Expressions/VariableToValueExpression.vb
+++ b/vbnc/vbnc/source/Expressions/VariableToValueExpression.vb
@@ -28,18 +28,6 @@ Public Class VariableToValueExpression
         m_Variable = VariableClassification
     End Sub
 
-    Public Overrides ReadOnly Property IsConstant() As Boolean
-        Get
-            Return m_Variable.IsConstant
-        End Get
-    End Property
-
-    Public Overrides ReadOnly Property ConstantValue() As Object
-        Get
-            Return m_Variable.ConstantValue
-        End Get
-    End Property
-
     Protected Overrides Function ResolveExpressionInternal(ByVal Info As ResolveInfo) As Boolean
         Dim result As Boolean = True
 
@@ -56,6 +44,10 @@ Public Class VariableToValueExpression
         Return result
     End Function
 
+    Public Overrides Function GetConstant(ByRef result As Object, ByVal ShowError As Boolean) As Boolean
+        Return m_Variable.GetConstant(result, ShowError)
+    End Function
+
     Protected Overrides Function GenerateCodeInternal(ByVal Info As EmitInfo) As Boolean
         Dim result As Boolean = True
         Dim isByRef As Boolean = CecilHelper.IsByRef(Info.DesiredType)
diff --git a/vbnc/vbnc/source/General/BaseObject.vb b/vbnc/vbnc/source/General/BaseObject.vb
index 419a278..e299f82 100644
--- a/vbnc/vbnc/source/General/BaseObject.vb
+++ b/vbnc/vbnc/source/General/BaseObject.vb
@@ -87,18 +87,8 @@ Public MustInherit Class BaseObject
 #End If
     End Sub
 
-    Public Initialized As Boolean
-    Public Overridable Sub Initialize(ByVal Parent As BaseObject)
-        If Parent Is Nothing Then Throw New InternalException(Me.Location.AsString(Compiler))
-        If Initialized Then
-            'Throw New InternalException(Me.Location.AsString(Compiler))
-        End If
-        m_Parent = Parent
-        Initialized = True
-    End Sub
-
     Public Shared Sub ClearCache()
-        m_compiler = Nothing
+        m_Compiler = Nothing
     End Sub
 
     ''' <summary>
diff --git a/vbnc/vbnc/source/General/BaseObjects`1.vb b/vbnc/vbnc/source/General/BaseObjects`1.vb
index 8e65e1c..56e3ee1 100644
--- a/vbnc/vbnc/source/General/BaseObjects`1.vb
+++ b/vbnc/vbnc/source/General/BaseObjects`1.vb
@@ -26,12 +26,6 @@ Public Class BaseObjects(Of T)
 
     Private m_Parent As BaseObject
 
-    Sub SetParent(ByVal Parent As ParsedObject)
-        For Each item As IBaseObject In Me
-            item.Parent = Parent
-        Next
-    End Sub
-
     ''' <summary>
     ''' Get the compiler compiling right now.
     ''' </summary>
@@ -84,9 +78,4 @@ Public Class BaseObjects(Of T)
     Function ResolveTypeReferences() As Boolean
         Return Helper.ResolveTypeReferencesCollection(Me)
     End Function
-
-    Sub Initialize(ByVal Parent As BaseObject)
-        Helper.InitializeCollection(Me, Parent)
-    End Sub
-
-End Class
\ No newline at end of file
+End Class
diff --git a/vbnc/vbnc/source/General/CecilHelper.vb b/vbnc/vbnc/source/General/CecilHelper.vb
index 4d50cb1..4258e3c 100755
--- a/vbnc/vbnc/source/General/CecilHelper.vb
+++ b/vbnc/vbnc/source/General/CecilHelper.vb
@@ -515,6 +515,9 @@ Public Class CecilHelper
 
         If mD IsNot Nothing Then Return GetCorrectMember(mD, Type, Emittable)
 
+        mD = FindDefinition(Member)
+        If mD IsNot Nothing Then Return GetCorrectMember(mD, Type, Emittable)
+
         Throw New NotImplementedException
     End Function
 
@@ -749,7 +752,8 @@ Public Class CecilHelper
         For i As Integer = 0 To tD.NestedTypes.Count - 1
             If Helper.CompareName(tD.NestedTypes(i).Name, Name) Then Return tD.NestedTypes(i)
         Next
-        Return Nothing
+        If tD.BaseType Is Nothing Then Return Nothing
+        Return GetNestedType(tD.BaseType, Name)
     End Function
 
     Public Shared Function GetNestedTypes(ByVal Type As TypeReference) As Mono.Collections.Generic.Collection(Of TypeDefinition)
@@ -779,6 +783,15 @@ Public Class CecilHelper
         Return FindDefinition(Method).IsStatic
     End Function
 
+    Public Shared Function IsStatic(ByVal [Property] As PropertyReference) As Boolean
+        Dim pd As PropertyDefinition = FindDefinition([Property])
+
+        If pd.GetMethod IsNot Nothing Then Return IsStatic(pd.GetMethod)
+        If pd.SetMethod IsNot Nothing Then Return IsStatic(pd.SetMethod)
+
+        Return False
+    End Function
+
     Public Shared Function MakeArrayType(ByVal Type As Mono.Cecil.TypeReference, Optional ByVal Ranks As Integer = 1) As Mono.Cecil.ArrayType
         Dim result As ArrayType
         result = New Mono.Cecil.ArrayType(Type, Ranks)
@@ -952,6 +965,20 @@ Public Class CecilHelper
         Return Type.IsValueType
     End Function
 
+    Public Shared Function CreateNullableType(ByVal Context As BaseObject, ByVal Type As TypeReference, ByRef result As TypeReference) As Boolean
+        If CecilHelper.IsValueType(Type) = False Then
+            Dim gp As GenericParameter = TryCast(Type, GenericParameter)
+            If gp Is Nothing OrElse gp.HasNotNullableValueTypeConstraint = False Then
+                Return Context.Compiler.Report.ShowMessage(Messages.VBNC33101, Context.Location, Helper.ToString(Context.Compiler, Type))
+            End If
+        End If
+
+        Dim git As New GenericInstanceType(Context.Compiler.TypeCache.System_Nullable1)
+        git.GenericArguments.Add(Type)
+        result = git
+        Return True
+    End Function
+
     Public Shared Function IsNullable(ByVal Type As TypeReference) As Boolean
         Dim git As GenericInstanceType
 
@@ -1104,6 +1131,19 @@ Public Class CecilHelper
         Return tD.IsClass
     End Function
 
+    Public Shared Function IsReferenceTypeOrGenericReferenceTypeParameter(ByVal Type As TypeReference) As Boolean
+        Dim tg As GenericParameter = TryCast(Type, GenericParameter)
+        Dim td As TypeDefinition
+
+        If tg IsNot Nothing Then
+            If tg.HasReferenceTypeConstraint Then Return True
+            Return False
+        End If
+
+        td = FindDefinition(Type)
+        Return (td.IsInterface OrElse td.IsClass) AndAlso td.IsValueType = False
+    End Function
+
     Public Shared Function GetGenericParameterAttributes(ByVal Type As TypeReference) As GenericParameterAttributes
         Dim gt As Mono.Cecil.GenericParameter
 
@@ -1252,15 +1292,14 @@ Public Class CecilHelper
         If method Is Nothing Then Return Nothing
         Dim pD As PropertyDefinition
 
+        pD = TryCast(method, PropertyDefinition)
+        If pD IsNot Nothing Then Return pD
+
         If method.Annotations.Contains("OriginalProperty") Then
             pD = DirectCast(method.Annotations("OriginalProperty"), PropertyDefinition)
             Return pD
         End If
 
-        pD = TryCast(method, PropertyDefinition)
-
-        If pD IsNot Nothing Then Return pD
-
         Dim type As TypeDefinition = FindDefinition(method.DeclaringType)
         'method = method.GetOriginalMethod
         'If Helper.CompareNameOrdinal(method.Name, MethodDefinition.Cctor) OrElse Helper.CompareNameOrdinal(method.Name, MethodDefinition.Ctor) Then
@@ -1360,5 +1399,5 @@ Public Class CecilHelper
         End If
         Return Helper.CompareNameOrdinal(a.FullName, b.FullName)
     End Function
-
 End Class
+
diff --git a/vbnc/vbnc/source/General/CommandLine.vb b/vbnc/vbnc/source/General/CommandLine.vb
old mode 100644
new mode 100755
index 1b2c38d..5755e62
--- a/vbnc/vbnc/source/General/CommandLine.vb
+++ b/vbnc/vbnc/source/General/CommandLine.vb
@@ -225,13 +225,20 @@ Public Class CommandLine
 
     ''' <summary>
     ''' /nowarn                 Disable warnings.
+    ''' /nowarn:<number_list>   Disable a list of individual warnings.
     ''' </summary>
     Private m_bNoWarn As Boolean
+    Private m_NoWarnings As Generic.HashSet(Of Integer)
 
     ''' <summary>
     ''' /warnaserror[+|-]       Treat warnings as errors.
     ''' </summary>
-    Private m_bWarnAsError As Boolean
+    Private m_bWarnAsError As Boolean?
+
+    ''' <summary>
+    ''' /warnaserror:list       Treat the specified warnings as errors.
+    ''' </summary>
+    Private m_WarningsAsError As Generic.HashSet(Of Integer)
 
     ' - LANGUAGE -
 
@@ -300,6 +307,12 @@ Public Class CommandLine
     Private m_bNoConfig As Boolean
 
     ''' <summary>
+    ''' /nostdlib               Do not reference standard libraries (System.dll and vbnc.rsp)
+    ''' </summary>
+    ''' <remarks></remarks>
+    Private m_bNoStdLib As Boolean
+
+    ''' <summary>
     ''' /trace                  Output trace messages (vbnc extension)
     ''' </summary>
     ''' <remarks></remarks>
@@ -503,14 +516,32 @@ Public Class CommandLine
     ''' </summary>
     ReadOnly Property NoWarn() As Boolean
         Get
-            Return m_bNoLogo
+            Return m_bNoWarn
+        End Get
+    End Property
+
+    ''' <summary>
+    ''' /nowarn:<number_list>  Disable a list of individual warnings.
+    ''' </summary>
+    ReadOnly Property NoWarnings As Generic.HashSet(Of Integer)
+        Get
+            Return m_NoWarnings
+        End Get
+    End Property
+
+    ''' <summary>
+    ''' /warnaserror:list       Treat the specified warnings as errors.
+    ''' </summary>
+    ReadOnly Property WarningsAsError As Generic.HashSet(Of Integer)
+        Get
+            Return m_WarningsAsError
         End Get
     End Property
 
     ''' <summary>
     ''' /warnaserror[+|-]       Treat warnings as errors.
     ''' </summary>
-    ReadOnly Property WarnAsError() As Boolean
+    ReadOnly Property WarnAsError() As Boolean?
         Get
             Return m_bWarnAsError
         End Get
@@ -631,6 +662,15 @@ Public Class CommandLine
     End Property
 
     ''' <summary>
+    ''' /nostdlib               Do not reference the standard libraries (vbnc.rsp and System.dll)
+    ''' </summary>
+    ReadOnly Property NoStdLib As Boolean
+        Get
+            Return m_bNoStdLib
+        End Get
+    End Property
+
+    ''' <summary>
     ''' /trace                  Output trace messages (vbnc extension)
     ''' </summary>
     ''' <value></value>
@@ -805,7 +845,7 @@ Public Class CommandLine
         Try
             result = ParseInternal(CommandLine) AndAlso result
 
-            If m_bNoConfig = False Then
+            If m_bNoConfig = False AndAlso m_bNoStdLib = False Then
                 Dim defaultrspfile As String = Nothing
                 Dim compiler_path As String = System.Reflection.Assembly.GetExecutingAssembly.Location
                 If compiler_path = String.Empty Then
@@ -845,7 +885,7 @@ Public Class CommandLine
     ''' </summary>
     Private Function ParseResponseFile(ByVal Filename As String) As Boolean
         If m_lstResponseFiles.Contains(Filename) Then
-            Compiler.Report.ShowMessage(Messages.VBNC2014, Span.CommandLineSpan, Filename)
+            Compiler.Report.SaveMessage(Messages.VBNC2003, Span.CommandLineSpan, IO.Path.GetFullPath(Filename))
             Return False
         Else
             m_lstResponseFiles.Add(Filename)
@@ -986,11 +1026,47 @@ Public Class CommandLine
                 End Select
                 ' - ERRORS AND WARNINGS -
             Case "nowarn"
+                If strValue <> String.Empty Then
+                    For Each number As String In strValue.Split(New Char() {","c}, StringSplitOptions.RemoveEmptyEntries)
+                        Dim n As Integer
+                        If Integer.TryParse(number, Globalization.NumberStyles.AllowLeadingWhite Or Globalization.NumberStyles.AllowTrailingWhite, System.Globalization.CultureInfo.InvariantCulture.NumberFormat, n) Then
+                            If m_NoWarnings Is Nothing Then m_NoWarnings = New Generic.HashSet(Of Integer)
+                            m_NoWarnings.Add(n)
+                        Else
+                            Compiler.Report.SaveMessage(Messages.VBNC2014, Span.CommandLineSpan, number, "nowarn")
+                        End If
+                    Next
+                End If
                 m_bNoWarn = True
             Case "warnaserror+", "warnaserror"
-                m_bWarnAsError = True
+                If strValue <> String.Empty Then
+                    For Each number As String In strValue.Split(New Char() {","c}, StringSplitOptions.RemoveEmptyEntries)
+                        Dim n As Integer
+                        If Integer.TryParse(number, Globalization.NumberStyles.AllowLeadingWhite Or Globalization.NumberStyles.AllowTrailingWhite, System.Globalization.CultureInfo.InvariantCulture.NumberFormat, n) Then
+                            If m_WarningsAsError Is Nothing Then m_WarningsAsError = New Generic.HashSet(Of Integer)
+                            m_WarningsAsError.Add(n)
+                        Else
+                            Compiler.Report.SaveMessage(Messages.VBNC2014, Span.CommandLineSpan, number, "warnaserror")
+                        End If
+                    Next
+                Else
+                    m_bWarnAsError = True
+                End If
             Case "warnaserror-"
-                m_bWarnAsError = False
+                If strValue <> String.Empty Then
+                    If m_WarningsAsError IsNot Nothing Then
+                        For Each number As String In strValue.Split(New Char() {","c}, StringSplitOptions.RemoveEmptyEntries)
+                            Dim n As Integer
+                            If Integer.TryParse(number, Globalization.NumberStyles.AllowLeadingWhite Or Globalization.NumberStyles.AllowTrailingWhite, System.Globalization.CultureInfo.InvariantCulture.NumberFormat, n) Then
+                                m_WarningsAsError.Remove(n)
+                            Else
+                                Compiler.Report.SaveMessage(Messages.VBNC2014, Span.CommandLineSpan, number, "warnaserror")
+                            End If
+                        Next
+                    End If
+                Else
+                    m_bWarnAsError = False
+                End If
                 ' - LANGUAGE -
             Case "define", "d"
                 'FIXME: This does not work with commas inside strings.
@@ -1017,10 +1093,15 @@ Public Class CommandLine
                 m_eOptionExplicit = OptionExplicitTypes.On
             Case "optionexplicit-"
                 m_eOptionExplicit = OptionExplicitTypes.Off
-            Case "optionstrict+", "optionstrict"
+            Case "optionstrict+"
                 m_eOptionStrict = OptionStrictTypes.On
+            Case "optionstrict"
+                If strValue = "custom" Then
+                    m_eOptionStrict = OptionStrictTypes.Off
+                Else
+                    m_eOptionStrict = OptionStrictTypes.On
+                End If
             Case "optionstrict-"
-                Console.WriteLine("Warning: Option Strict Off will probably fail.")
                 m_eOptionStrict = OptionStrictTypes.Off
             Case "optioninfer+", "optioninfer"
                 m_eOptionInfer = OptionInferTypes.On
@@ -1052,6 +1133,8 @@ Public Class CommandLine
                 m_bVerbose = False
             Case "noconfig"
                 m_bNoConfig = True
+            Case "nostdlib"
+                m_bNoStdLib = True
             Case "trace"
                 m_bTrace = True
                 ' - ADVANCED -
@@ -1267,3 +1350,4 @@ Partial Public Class CommandLine
         V8
     End Enum
 End Class
+
diff --git a/vbnc/vbnc/source/General/Compiler.vb b/vbnc/vbnc/source/General/Compiler.vb
index ba7f8af..b4e93d4 100755
--- a/vbnc/vbnc/source/General/Compiler.vb
+++ b/vbnc/vbnc/source/General/Compiler.vb
@@ -308,6 +308,7 @@ Public Class Compiler
             Case vbnc.CommandLine.Targets.Module
                 Report.ShowMessage(Messages.VBNC99999, Span.CommandLineSpan, "Compiling modules (-target:module) hasn't been implemented yet.")
                 kind = Mono.Cecil.ModuleKind.NetModule
+                Return False
             Case vbnc.CommandLine.Targets.Winexe
                 kind = Mono.Cecil.ModuleKind.Windows
             Case Else
@@ -343,7 +344,6 @@ Public Class Compiler
         Try
             theAss = New AssemblyDeclaration(Me)
             result = Parser.Parse(RootNamespace, theAss) AndAlso result
-            theAss.Initialize(Me)
         Catch ex As TooManyErrorsException
             Throw
         Catch ex As vbncException
@@ -377,21 +377,46 @@ Public Class Compiler
         VerifyConsistency(result, "CreateImplicitTypes")
         If result = False Then Return result
 
+        result = theAss.ResolveBaseTypes AndAlso result
+        VerifyConsistency(result, "ResolveBaseTypes")
+        If result = False Then Return result
+
         result = theAss.ResolveTypeReferences AndAlso result
         VerifyConsistency(result, "ResolveTypeReferences")
         If result = False Then Return result
 
         m_TypeCache.InitInternalVBMembers()
 
+        result = theAss.CreateMyGroupMembers AndAlso result
+        VerifyConsistency(result, "CreateMyGroupMembers")
+        If result = False Then Return result
+
         result = theAss.CreateImplicitMembers AndAlso result
         VerifyConsistency(result, "CreateImplicitMembers")
         If result = False Then Return result
 
         result = theAss.ResolveMembers AndAlso result
         VerifyConsistency(result, "ResolveMembers")
+        If result = False Then Return result
+
+        result = theAss.DefineConstants AndAlso result
+        VerifyConsistency(result, "DefineConstants")
+        If result = False Then Return result
+
+        result = theAss.DefineOptionalParameters AndAlso result
+        VerifyConsistency(result, "DefineOptionalParameters")
+        If result = False Then Return result
+
+        result = theAss.CreateImplicitSharedConstructors AndAlso result
+        VerifyConsistency(result, "CreateImplicitSharedConstructors")
+        If result = False Then Return result
+
         result = theAss.ResolveCode(ResolveInfo.Default(Me)) AndAlso result
+        VerifyConsistency(result, "ResovleCode")
 
-        VerifyConsistency(result, "FinishedResolve")
+        result = theAss.DefineSecurityDeclarations AndAlso result
+        VerifyConsistency(result, "DefineSecurityDeclarations")
+        If result = False Then Return result
 
         Return result
     End Function
@@ -445,13 +470,15 @@ Public Class Compiler
             If Not CommandLine.References.Contains("mscorlib.dll") Then
                 CommandLine.References.Add("mscorlib.dll")
             End If
+            If CommandLine.NoStdLib = False AndAlso Not CommandLine.References.Contains("System.dll") Then
+                CommandLine.References.Add("System.dll")
+            End If
 
             If Not String.IsNullOrEmpty(CommandLine.VBRuntime) Then
                 CommandLine.References.Add(CommandLine.VBRuntime)
             End If
 
             m_Helper = New Helper(Me)
-            m_Helper = New Helper(Me)
 
             'Calculate the output filename
             result = Compile_CalculateOutputFilename() AndAlso result
@@ -474,6 +501,26 @@ Public Class Compiler
             result = Compile_Parse() AndAlso result
             If Report.Errors > 0 Then GoTo ShowErrors
 
+            'Create definitions
+            result = theAss.CreateDefinitions AndAlso result
+            If Report.Errors > 0 Then GoTo ShowErrors
+
+            'Create implicit constructors
+            result = theAss.CreateImplicitInstanceConstructors AndAlso result
+            If Report.Errors > 0 Then GoTo ShowErrors
+
+            'Create implicit constructors
+            result = theAss.CreateDelegateMembers AndAlso result
+            If Report.Errors > 0 Then GoTo ShowErrors
+
+            'Create withevents members
+            result = theAss.CreateWithEventsMembers AndAlso result
+            If Report.Errors > 0 Then GoTo ShowErrors
+
+            'Create regular events members
+            result = theAss.CreateRegularEventMembers AndAlso result
+            If Report.Errors > 0 Then GoTo ShowErrors
+
             m_TypeManager.LoadCompiledTypes()
 
             If String.IsNullOrEmpty(CommandLine.VBRuntime) Then
@@ -490,15 +537,9 @@ Public Class Compiler
 
             'Passed this step no errors should be found...
 
-            result = theAss.DefineTypes AndAlso result
-            VerifyConsistency(result, "DefineTypes")
-
             result = theAss.DefineTypeHierarchy AndAlso result
             VerifyConsistency(result, "DefineTypeHierarchy")
 
-            result = theAss.DefineMembers AndAlso result
-            VerifyConsistency(result, "DefineMembers")
-
             result = theAss.Emit AndAlso result
             VerifyConsistency(result, "Emit")
 
@@ -513,9 +554,15 @@ Public Class Compiler
 
             Dim writerParameters As New WriterParameters()
             writerParameters.WriteSymbols = EmittingDebugInfo
-            AssemblyBuilderCecil.Write(m_OutFilename, writerParameters)
 
-            Compiler.Report.WriteLine(vbnc.Report.ReportLevels.Debug, String.Format("Assembly '{0}' saved successfully to '{1}'.", AssemblyBuilderCecil.Name.FullName, m_OutFilename))
+            Try
+                AssemblyBuilderCecil.Write(m_OutFilename, writerParameters)
+                Compiler.Report.WriteLine(vbnc.Report.ReportLevels.Debug, String.Format("Assembly '{0}' saved successfully to '{1}'.", AssemblyBuilderCecil.Name.FullName, m_OutFilename))
+            Catch uae As UnauthorizedAccessException
+                Compiler.Report.ShowMessageNoLocation(Messages.VBNC31019, m_OutFilename, uae.Message)
+            Catch dnfe As IO.DirectoryNotFoundException
+                Compiler.Report.ShowMessage(Messages.VBNC2012, Span.CommandLineSpan, m_OutFilename)
+            End Try
 
 ShowErrors:
             VerifyConsistency(result, "ShowErrors")
@@ -715,6 +762,7 @@ EndOfCompilation:
             result.AppendLine("/quiet                 Specifies a quiet mode - only errors will be shown.")
             result.AppendLine("/verbose               Show verbose messages.")
             result.AppendLine("/noconfig              Disable the automatic inclusion of the vbnc.rsp response file.")
+            result.AppendLine("/nostdlib              Do not include the standard libraries (System.dll and vbnc.rsp.)")
             result.AppendLine("")
             result.AppendLine("                       >>> Advanced options >>>")
             result.AppendLine("/baseaddress:<number>  Specifies the base address of the library or module (in hex).")
diff --git a/vbnc/vbnc/source/General/Helper.vb b/vbnc/vbnc/source/General/Helper.vb
index 8971859..f547aee 100755
--- a/vbnc/vbnc/source/General/Helper.vb
+++ b/vbnc/vbnc/source/General/Helper.vb
@@ -131,21 +131,21 @@ Public Class Helper
 
         'LAMESPEC: shared constructors have implicit public access.
         'VBC: shared constructors defaults to private.
-        If m_Declaration.Modifiers.IsAny(ModifierMasks.AccessModifiers) = False AndAlso m_Declaration.IsShared Then
-            flags = flags Or Mono.Cecil.MethodAttributes.Private
+        'VBC: errors if shared constructors aren't private
+        If m_Declaration.IsShared Then
+            flags = flags Or Mono.Cecil.MethodAttributes.Private Or Mono.Cecil.MethodAttributes.Static
         Else
             flags = flags Or m_Declaration.Modifiers.GetMethodAttributeScope
         End If
 
-        If m_Declaration.IsShared Then
-            flags = flags Or Mono.Cecil.MethodAttributes.Static
-        End If
-
         Return flags
     End Function
 
     Public Shared Function GetAttributes(ByVal m_Declaration As MethodBaseDeclaration) As Mono.Cecil.MethodAttributes
         Dim result As Mono.Cecil.MethodAttributes
+        Dim cd As ConstructorDeclaration = TryCast(m_Declaration, ConstructorDeclaration)
+
+        If cd IsNot Nothing Then Return GetAttributes(cd)
 
         result = m_Declaration.Modifiers.GetMethodAttributeScope
 
@@ -498,6 +498,7 @@ Public Class Helper
     Shared Function IsEnum(ByVal Compiler As Compiler, ByVal Type As Mono.Cecil.TypeReference) As Boolean
         If TypeOf Type Is Mono.Cecil.GenericParameter Then Return False
         If TypeOf Type Is Mono.Cecil.ArrayType Then Return False
+        If TypeOf Type Is ByReferenceType Then Return False
         Return CecilHelper.FindDefinition(Type).IsEnum
     End Function
 
@@ -1352,6 +1353,13 @@ Public Class Helper
         Return attrib
     End Function
 
+    Shared Function IsDefaultProperty(ByVal Compiler As Compiler, ByVal P As PropertyDefinition) As Boolean
+        Dim ca As CustomAttribute = GetDefaultMemberAttribute(Compiler, P.DeclaringType)
+        If ca Is Nothing Then Return False
+        Return Helper.CompareName(DirectCast(ca.ConstructorArguments(0).Value, String), P.Name)
+    End Function
+
+
     Shared Function IsShadows(ByVal Context As BaseObject, ByVal Member As Mono.Cecil.MemberReference) As Boolean
         Dim result As Boolean = True
         Select Case CecilHelper.GetMemberType(Member)
@@ -1380,7 +1388,7 @@ Public Class Helper
                 Return CecilHelper.FindDefinition(DirectCast(Member, Mono.Cecil.MethodReference)).IsStatic
             Case MemberTypes.Property
                 Dim pInfo As Mono.Cecil.PropertyDefinition = CecilHelper.FindDefinition(DirectCast(Member, Mono.Cecil.PropertyReference))
-                Return CBool(Helper.GetPropertyAttributes(pInfo) And Mono.Cecil.MethodAttributes.Static)
+                Return CecilHelper.IsStatic(pInfo)
             Case MemberTypes.Field
                 Dim fInfo As Mono.Cecil.FieldDefinition = CecilHelper.FindDefinition(DirectCast(Member, Mono.Cecil.FieldReference))
                 Return fInfo.IsStatic
@@ -2043,7 +2051,6 @@ Public Class Helper
         Return False
     End Function
 
-
     Shared Function IsNothing(Of T)(ByVal Value As T) As Boolean
         Return Value Is Nothing
     End Function
@@ -2062,20 +2069,6 @@ Public Class Helper
         Return result
     End Function
 
-    Shared Function DefineMembersCollection(ByVal Collection As Generic.IEnumerable(Of IDefinableMember)) As Boolean
-        Dim result As Boolean = True
-        For Each obj As IDefinableMember In Collection
-            result = obj.DefineMember AndAlso result
-        Next
-        Return result
-    End Function
-
-    Shared Sub InitializeCollection(ByVal Collection As IEnumerable, ByVal Parent As BaseObject)
-        For Each obj As BaseObject In Collection
-            obj.Initialize(Parent)
-        Next
-    End Sub
-
     Shared Function ResolveTypeReferencesCollection(ByVal Collection As IEnumerable) As Boolean
         Dim result As Boolean = True
         For Each obj As ParsedObject In Collection
@@ -2118,16 +2111,6 @@ Public Class Helper
         Return result
     End Function
 
-    Shared Function CloneExpressionArray(ByVal Expressions() As Expression, ByVal NewParent As ParsedObject) As Expression()
-        Dim result(Expressions.GetUpperBound(0)) As Expression
-        For i As Integer = 0 To result.GetUpperBound(0)
-            If Expressions(i) IsNot Nothing Then
-                result(i) = Expressions(i).Clone(NewParent)
-            End If
-        Next
-        Return result
-    End Function
-
     ReadOnly Property Compiler() As Compiler
         Get
             Return m_Compiler
@@ -2240,6 +2223,7 @@ Public Class Helper
     Shared Sub ErrorRecoveryNotImplemented(ByVal Location As Span)
         Console.WriteLine("{0}: Compiler error around this location, the compiler hasn't implemented the error message, nor error recovery, so the compiler will probably crash soon.", Location.AsString(BaseObject.m_Compiler))
         Console.WriteLine(New System.Diagnostics.StackTrace().ToString())
+        Helper.StopIfDebugging()
     End Sub
 
     <Diagnostics.DebuggerHidden()> Private Shared Sub IndirectedStop()
@@ -2778,6 +2762,10 @@ Public Class Helper
 
     Shared Function IsSubclassOf(ByVal BaseClass As Mono.Cecil.TypeReference, ByVal DerivedClass As Mono.Cecil.TypeReference) As Boolean
         If TypeOf BaseClass Is Mono.Cecil.GenericParameter Xor TypeOf DerivedClass Is Mono.Cecil.GenericParameter Then Return False
+        If TypeOf DerivedClass Is ArrayType Then
+            If Helper.CompareType(BaseClass, Compiler.CurrentCompiler.TypeCache.System_Array) Then Return True
+            Return False
+        End If
         If TypeOf BaseClass Is Mono.Cecil.ArrayType Or TypeOf DerivedClass Is Mono.Cecil.ArrayType Then Return False
         Dim base As Mono.Cecil.TypeDefinition = CecilHelper.FindDefinition(BaseClass)
         Dim derived As Mono.Cecil.TypeDefinition = CecilHelper.FindDefinition(DerivedClass)
@@ -2794,10 +2782,11 @@ Public Class Helper
         Dim ifaces As Mono.Collections.Generic.Collection(Of TypeReference)
         ifaces = CecilHelper.GetInterfaces(Type, True)
         For Each iface As Mono.Cecil.TypeReference In ifaces
-            If Helper.IsAssignable(Context, iface, [Interface]) Then Return True
+            'If Helper.IsAssignable(Context, iface, [Interface]) Then Return True
+            If Helper.CompareType(iface, [Interface]) Then Return True
+            If DoesTypeImplementInterface(Context, iface, [Interface]) Then Return True
         Next
         Return False
-        '        Return Array.IndexOf(CecilHelper.GetInterfaces(Type), [Interface]) >= 0
     End Function
 
     Shared Function GetEnumType(ByVal Compiler As Compiler, ByVal EnumType As Mono.Cecil.TypeReference) As Mono.Cecil.TypeReference
@@ -2814,6 +2803,7 @@ Public Class Helper
         Return fInfo.FieldType
     End Function
 
+
     ''' <summary>
     ''' Creates a CType expression containing the specified FromExpression if necessary.
     ''' </summary>
@@ -2824,88 +2814,916 @@ Public Class Helper
     ''' <returns></returns>
     ''' <remarks></remarks>
     Shared Function CreateTypeConversion(ByVal Parent As ParsedObject, ByVal FromExpression As Expression, ByVal DestinationType As Mono.Cecil.TypeReference, ByRef result As Boolean) As Expression
-        Dim fromExpr As Expression
+        Dim res As Expression = Nothing
+        result = IsConvertible(Parent, FromExpression, FromExpression.ExpressionType, DestinationType, True, res, True, Nothing)
+        Return res
+    End Function
+
+    Shared Function IsConvertible(ByVal Parent As ParsedObject, ByVal FromExpression As Expression, ByVal FromType As TypeReference, ByVal DestinationType As TypeReference, ByVal CreateConversionExpression As Boolean, ByRef convExpr As Expression, ByVal ShowError As Boolean, ByVal isStrict As Boolean?, Optional ByVal considerConstantExpressions As Boolean = True) As Boolean
+        Dim Compiler As Compiler = Parent.Compiler
+        Dim TypeCache As CecilTypeCache = Compiler.TypeCache
+        Dim toArray As ArrayType
+        Dim fromArray As ArrayType
+        Dim fromTD As TypeDefinition
+        Dim toTD As TypeDefinition
+        Dim fromElement As TypeReference
+        Dim toElement As TypeReference
+        Dim isFromReference As Boolean
+        Dim fromTG As GenericParameter
+        Dim toTG As GenericParameter
+        Dim fromTC As TypeCode
+        Dim toTC As TypeCode
+        Dim isFromNullable As Boolean
+        Dim isToNullable As Boolean
+        Dim isFromEnum As Boolean
+        Dim isToEnum As Boolean
+        Dim byrefTo As ByReferenceType = TryCast(DestinationType, ByReferenceType)
+        Dim byrefFrom As ByReferenceType = TryCast(FromType, ByReferenceType)
+
+        Dim constant As Object = Nothing
+
+        If Not isStrict.HasValue Then
+            isStrict = Parent.Location.File(Compiler).IsOptionStrictOn
+        End If
 
-        Helper.Assert(FromExpression IsNot Nothing)
+        convExpr = FromExpression
 
-        fromExpr = FromExpression
+        If byrefTo IsNot Nothing AndAlso byrefFrom Is Nothing Then
+            If IsConvertible(Parent, FromExpression, FromType, byrefTo.ElementType, CreateConversionExpression, convExpr, ShowError, isStrict) Then
+                'If CreateConversionExpression Then
+                '    convExpr = New GetRefExpression(Parent, convExpr)
+                '    If convExpr.ResolveExpression(ResolveInfo.Default(Parent.Compiler)) = False Then Return False
+                'End If
+                Return True
+            End If
+            Return False
+        ElseIf byrefFrom IsNot Nothing AndAlso byrefTo Is Nothing Then
+            If IsConvertible(Parent, FromExpression, byrefFrom.ElementType, DestinationType, False, convExpr, ShowError, isStrict) Then
+                If CreateConversionExpression Then
+                    convExpr = New DeRefExpression(Parent, convExpr)
+                    If convExpr.ResolveExpression(ResolveInfo.Default(Parent.Compiler)) = False Then Return False
+                    If Not IsConvertible(Parent, convExpr, byrefFrom.ElementType, DestinationType, True, convExpr, ShowError, isStrict) Then Return False
+                End If
+                Return True
+            End If
+            Return False
+        End If
 
-        Dim fromType As Mono.Cecil.TypeReference
-        fromType = FromExpression.ExpressionType
+        'Identity/Default conversions
+        '•	From a type to itself.
+        If Helper.CompareType(FromType, DestinationType) Then
+            'no conversion required
+            Return True
+        End If
+        '•	From an anonymous delegate type generated for a lambda method reclassification to any delegate type with an identical signature.
+        'TODO
+        '•	From the literal Nothing to a type.
+        If Helper.CompareType(FromType, Compiler.TypeCache.Nothing) Then
+            'not sure if a conversion is required here
+            If CreateConversionExpression Then
+                convExpr = New CTypeExpression(Parent, convExpr, DestinationType)
+                If Not convExpr.ResolveExpression(ResolveInfo.Default(Compiler)) Then Return False
+            End If
+            Return True
+        End If
 
-#If EXTENDEDDEBUG Then
-        Parent.Compiler.Report.WriteLine("Creating type conversion, from " & fromType.FullName & " to " & DestinationType.FullName)
-        If DestinationType.IsByRef Then
-            Parent.Compiler.Report.WriteLine(">DestinationType.ElementType = " & DestinationType.GetElementType.FullName)
-            Parent.Compiler.Report.WriteLine(">IsAssignable to DestinationType.ElementType = " & IsAssignable(Parent.Compiler, fromType, DestinationType.GetElementType))
+        toTD = CecilHelper.FindDefinition(DestinationType)
+        fromTD = CecilHelper.FindDefinition(FromType)
+        toArray = TryCast(DestinationType, ArrayType)
+        fromArray = TryCast(FromType, ArrayType)
+        isFromReference = fromTD IsNot Nothing AndAlso ((fromTD.IsInterface OrElse fromTD.IsClass) AndAlso (fromTD.IsValueType = False OrElse fromArray IsNot Nothing))
+        isFromNullable = Helper.IsNullableType(Compiler, FromType)
+        isToNullable = Helper.IsNullableType(Compiler, DestinationType)
+        isFromEnum = Helper.IsEnum(Compiler, FromType)
+        isToEnum = Helper.IsEnum(Compiler, DestinationType)
+        fromTC = Helper.GetTypeCode(Compiler, FromType)
+        toTC = Helper.GetTypeCode(Compiler, DestinationType)
+
+        'Numeric conversions
+        'Widening conversions:
+        '•	From Byte to UShort, Short, UInteger, Integer, ULong, Long, Decimal, Single, or Double.
+        '•	From SByte to Short, Integer, Long, Decimal, Single, or Double.
+        '•	From UShort to UInteger, Integer, ULong, Long, Decimal, Single, or Double.
+        '•	From Short to Integer, Long, Decimal, Single or Double.
+        '•	From UInteger to ULong, Long, Decimal, Single, or Double.
+        '•	From Integer to Long, Decimal, Single or Double.
+        '•	From ULong to Decimal, Single, or Double.
+        '•	From Long to Decimal, Single or Double.
+        '•	From Decimal to Single or Double.
+        '•	From Single to Double.
+        If isFromNullable = False AndAlso isToNullable = False AndAlso isFromEnum = False AndAlso isToEnum = False Then
+            Select Case fromTC
+                Case TypeCode.Byte, TypeCode.SByte, TypeCode.UInt16, TypeCode.Int16, TypeCode.UInt32, TypeCode.Int32, TypeCode.UInt64, TypeCode.Int64, TypeCode.Decimal, TypeCode.Single
+                    If (toTC <> TypeCode.Object OrElse Helper.CompareType(DestinationType, TypeCache.System_Object)) AndAlso Compiler.TypeResolution.IsImplicitlyConvertible(Compiler, fromTC, toTC) Then
+                        If CreateConversionExpression Then
+                            convExpr = New CTypeExpression(Parent, FromExpression, DestinationType)
+                            If Not convExpr.ResolveExpression(ResolveInfo.Default(Compiler)) Then Return False
+                        End If
+                        Return True
+                    End If
+            End Select
+        End If
+        '•	From the literal 0 to an enumerated type. (widening)
+        If considerConstantExpressions AndAlso Helper.IsEnum(Compiler, DestinationType) AndAlso Helper.IsLiteral0Expression(Compiler, FromExpression) Then
+            If CreateConversionExpression Then
+                convExpr = New CTypeExpression(Parent, FromExpression, DestinationType)
+                If Not convExpr.ResolveExpression(ResolveInfo.Default(Compiler)) Then Return False
+            End If
+            Return True
+        End If
+        '•	From an enumerated type to its underlying numeric type, or to a numeric type that its underlying numeric type has a widening conversion to.
+        If Helper.IsEnum(Compiler, FromType) AndAlso toTC <> TypeCode.Object AndAlso Helper.IsEnum(Compiler, DestinationType) = False Then
+            Dim enumType As TypeReference = Helper.GetEnumType(Compiler, FromType)
+            If Compiler.TypeResolution.IsImplicitlyConvertible(Compiler, Helper.GetTypeCode(Compiler, enumType), toTC) Then
+                convExpr = New CTypeExpression(Parent, FromExpression, DestinationType, CTypeConversionType.Intrinsic)
+                If Not convExpr.ResolveExpression(ResolveInfo.Default(Compiler)) Then Return False
+                Return True
+            End If
+        End If
+        '•	From a constant expression of type ULong, Long, UInteger, Integer, UShort, Short, Byte, or SByte to a narrower type, provided the value of the constant expression is within the range of the destination type.
+        'SPECBUG: this doesn't include the other numeric types, Single, Double and Decimal
+        If considerConstantExpressions AndAlso (fromTC = TypeCode.UInt64 OrElse fromTC = TypeCode.Int64 OrElse fromTC = TypeCode.UInt32 OrElse fromTC = TypeCode.Int32 OrElse fromTC = TypeCode.UInt16 OrElse fromTC = TypeCode.Int16 OrElse fromTC = TypeCode.Byte OrElse fromTC = TypeCode.SByte OrElse fromTC = TypeCode.Single OrElse fromTC = TypeCode.Double OrElse fromTC = TypeCode.Decimal) Then
+            If FromExpression.GetConstant(constant, False) Then
+                If Helper.CompareType(DestinationType, TypeCache.System_DBNull) = False AndAlso Compiler.TypeResolution.CheckNumericRange(constant, constant, DestinationType) Then
+                    'No conversion should be required here
+                    convExpr = New CTypeExpression(Parent, FromExpression, DestinationType)
+                    If Not convExpr.ResolveExpression(ResolveInfo.Default(Compiler)) Then Return False
+                    Return True
+                End If
+            End If
         End If
-#End If
 
-        Helper.Assert(fromType IsNot Nothing)
+        '•	From a numeric type to an enumerated type.
+        If Helper.IsEnum(Compiler, DestinationType) AndAlso Compiler.TypeResolution.IsNumericType(FromType) Then
+            If isStrict Then
+                If ShowError Then Compiler.Report.ShowMessage(Messages.VBNC30512, Parent.Location, Helper.ToString(Compiler, FromType), Helper.ToString(Compiler, DestinationType))
+                Return False
+            End If
+            If CreateConversionExpression Then
+                convExpr = New CTypeExpression(Parent, FromExpression, DestinationType)
+                If Not convExpr.ResolveExpression(ResolveInfo.Default(Compiler)) Then Return False
+            End If
+            Return True
+        End If
+        '•	From an enumerated type to a numeric type its underlying numeric type has a narrowing conversion to.
+        If Helper.IsEnum(Compiler, FromType) AndAlso Compiler.TypeResolution.IsNumericType(DestinationType) Then
+            'if DestinationType is a numeric type the enum's type has a widening conversion to, we'll hit a widening conversion case above
+            If isStrict Then
+                If ShowError Then Compiler.Report.ShowMessage(Messages.VBNC30512, Parent.Location, Helper.ToString(Compiler, FromType), Helper.ToString(Compiler, DestinationType))
+                Return False
+            End If
+            If CreateConversionExpression Then
+                convExpr = New CTypeExpression(Parent, FromExpression, DestinationType)
+                If Not convExpr.ResolveExpression(ResolveInfo.Default(Compiler)) Then Return False
+            End If
+            Return True
+        End If
+        '•	From an enumerated type to another enumerated type. 
+        If Helper.IsEnum(Compiler, DestinationType) Then
+            If Helper.IsEnum(Compiler, FromType) Then
+                If isStrict Then
+                    If ShowError Then Compiler.Report.ShowMessage(Messages.VBNC30512, Parent.Location, Helper.ToString(Compiler, FromType), Helper.ToString(Compiler, DestinationType))
+                    Return False
+                End If
+                If CreateConversionExpression Then
+                    convExpr = New CTypeExpression(Parent, FromExpression, Helper.GetEnumType(Compiler, DestinationType), CTypeConversionType.Intrinsic)
+                    If Not convExpr.ResolveExpression(ResolveInfo.Default(Compiler)) Then Return False
+                End If
+                Return True
+            ElseIf Helper.CompareType(FromType, TypeCache.System_Enum) Then
+                If isStrict Then
+                    If ShowError Then Compiler.Report.ShowMessage(Messages.VBNC30512, Parent.Location, Helper.ToString(Compiler, FromType), Helper.ToString(Compiler, DestinationType))
+                    Return False
+                End If
+                If CreateConversionExpression Then
+                    convExpr = New CTypeExpression(Parent, FromExpression, DestinationType, CTypeConversionType.Unbox_Ldobj)
+                    If Not convExpr.ResolveExpression(ResolveInfo.Default(Compiler)) Then Return False
+                End If
+                Return True
+            End If
+        End If
+
+        'Reference conversions
+        '•	From a reference type to a base type.
+        If isFromReference AndAlso Helper.IsSubclassOf(DestinationType, FromType) Then
+            'no conversion required
+            Return True
+        End If
+
+        If isFromReference AndAlso Helper.CompareType(DestinationType, TypeCache.System_Object) Then
+            'no conversion required.
+            'this case is required for at least arrays (since arrays don't explicitly inherit from object)
+            Return True
+        End If
 
-        If Helper.CompareType(fromType, DestinationType) Then
-            'do nothing
-        ElseIf CecilHelper.IsByRef(fromExpr.ExpressionType) AndAlso IsAssignable(Parent, CecilHelper.GetElementType(fromType), DestinationType) Then
-            'do nothing
-            If CecilHelper.IsValueType(CecilHelper.GetElementType(fromType)) AndAlso CecilHelper.IsValueType(DestinationType) = False Then
-                fromExpr = New BoxExpression(Parent, fromExpr, DestinationType)
+        '•	From a reference type to an interface type, provided that the type implements the interface or a variant compatible interface.
+        If isFromReference AndAlso toTD IsNot Nothing AndAlso toTD.IsInterface Then
+            If Helper.DoesTypeImplementInterface(Parent, FromType, DestinationType) Then
+                'no conversion required
+                Return True
+            End If
+        End If
+        If CecilHelper.IsArray(FromType) AndAlso toTD IsNot Nothing AndAlso toTD.IsInterface Then
+            If Helper.DoesTypeImplementInterface(Parent, FromType, DestinationType) Then
+                'no conversion required
+                Return True
             End If
-        ElseIf CecilHelper.IsByRef(DestinationType) AndAlso IsAssignable(Parent, fromExpr.ExpressionType, CecilHelper.GetElementType(DestinationType)) Then
-#If EXTENDEDDEBUG Then
-            Parent.Compiler.Report.WriteLine(">3")
-#End If
-            If CecilHelper.IsByRef(fromExpr.ExpressionType) = False AndAlso Helper.CompareType(fromExpr.ExpressionType, CecilHelper.GetElementType(DestinationType)) = False Then
-                fromExpr = New CTypeExpression(Parent, fromExpr, CecilHelper.GetElementType(DestinationType))
-                result = fromExpr.ResolveExpression(ResolveInfo.Default(Parent.Compiler)) AndAlso result
-            End If
-            'do nothing
-        ElseIf CecilHelper.IsByRef(DestinationType) AndAlso Parent.Compiler.TypeResolution.IsImplicitlyConvertible(Parent, fromExpr.ExpressionType, CecilHelper.GetElementType(DestinationType)) Then
-            Dim tmpExp As Expression
-            tmpExp = CreateTypeConversion(Parent, fromExpr, CecilHelper.GetElementType(DestinationType), result)
-            If result = False Then Return fromExpr
-
-            fromExpr = tmpExp
-        ElseIf CompareType(fromExpr.ExpressionType, Parent.Compiler.TypeCache.Nothing) Then
-            'do nothing
-        ElseIf CompareType(DestinationType, Parent.Compiler.TypeCache.System_Enum) AndAlso Helper.IsEnum(Parent.Compiler, fromExpr.ExpressionType) Then
-            fromExpr = New BoxExpression(Parent, fromExpr, DestinationType)
-        ElseIf CompareType(fromExpr.ExpressionType, DestinationType) = False AndAlso IsAssignable(Parent, fromExpr.ExpressionType, DestinationType) = False Then
-            Dim CTypeExp As Expression
-
-            If CecilHelper.IsByRef(fromExpr.ExpressionType) Then
-                fromExpr = New DeRefExpression(fromExpr, fromExpr)
-            End If
-
-            CTypeExp = ConversionExpression.GetTypeConversion(Parent, fromExpr, DestinationType)
-            result = CTypeExp.ResolveExpression(ResolveInfo.Default(Parent.Compiler)) AndAlso result
-            fromExpr = CTypeExp
-        ElseIf CompareType(DestinationType, Parent.Compiler.TypeCache.System_Object) AndAlso CecilHelper.IsValueType(fromExpr.ExpressionType) Then
-            fromExpr = New BoxExpression(Parent, fromExpr, DestinationType)
-        ElseIf CompareType(DestinationType, Parent.Compiler.TypeCache.System_Object) AndAlso CecilHelper.IsGenericParameter(fromExpr.ExpressionType) Then
-            fromExpr = New BoxExpression(Parent, fromExpr, DestinationType)
-        ElseIf CecilHelper.IsGenericType(fromExpr.ExpressionType) Then
-            'fromExpr = New BoxExpression(Parent, fromExpr, fromExpr.ExpressionType)
-            fromExpr = New CTypeExpression(Parent, fromExpr, DestinationType)
-            result = fromExpr.ResolveExpression(ResolveInfo.Default(Parent.Compiler)) AndAlso result
-        ElseIf fromExpr.Compiler.TypeResolution.IsImplicitlyConvertible(fromExpr, fromExpr.ExpressionType, DestinationType) AndAlso DestinationType.IsValueType AndAlso fromExpr.ExpressionType.IsValueType Then
-            Dim CTypeExp As Expression
-
-            CTypeExp = ConversionExpression.GetTypeConversion(Parent, fromExpr, DestinationType)
-            result = CTypeExp.ResolveExpression(ResolveInfo.Default(Parent.Compiler)) AndAlso result
-            fromExpr = CTypeExp
-        ElseIf CompareType(DestinationType, Parent.Compiler.TypeCache.System_ValueType) AndAlso fromExpr.ExpressionType.IsValueType Then
-            fromExpr = New BoxExpression(Parent, fromExpr, fromExpr.ExpressionType)
-        ElseIf TypeOf fromExpr.ExpressionType Is GenericParameter Then
-            fromExpr = New CTypeExpression(Parent, fromExpr, DestinationType)
         End If
 
-#If EXTENDEDDEBUG Then
-        If fromType IsNot FromExpression Then
-            Parent.Compiler.Report.WriteLine(Report.ReportLevels.Debug, "Created type conversion from '" & FromExpression.ExpressionType.Name & "' to '" & DestinationType.Name & "'")
+        '•	From an interface type to Object.
+        If isFromReference AndAlso toTD IsNot Nothing AndAlso fromTD.IsInterface AndAlso Helper.Compare(Parent.Compiler.TypeCache.System_Object, DestinationType) Then
+            'No conversion required
+            Return True
         End If
-#End If
+        '•	From an interface type to a variant compatible interface type.
+        '•	From a delegate type to a variant compatible delegate type.
+
+        'https://connect.microsoft.com/VisualStudio/feedback/details/649909/vb-10-specification-does-not-cover-conversion-from-array-type-derived-to-ilist-of-base
+        'This is from C#'s ECMA-334:
+        '•	From a one-dimensional array-type S[] to System.Collections.Generic.IList<T> and base interfaces of this interface, provided there is an implicit reference conversion from S to T.
+        If fromArray IsNot Nothing AndAlso fromArray.Rank = 1 AndAlso toTD IsNot Nothing AndAlso toTD.IsInterface AndAlso toTD.GenericParameters.Count = 1 Then
+            Dim isIList As Boolean = Helper.CompareType(toTD, TypeCache.System_Collections_Generic_IList1)
+            isIList = isIList OrElse Helper.CompareType(toTD, TypeCache.System_Collections_Generic_IEnumerable1)
+            isIList = isIList OrElse Helper.CompareType(toTD, TypeCache.System_Collections_Generic_ICollection1)
+            If isIList Then
+                Dim git As GenericInstanceType = TryCast(DestinationType, GenericInstanceType)
+                If git IsNot Nothing AndAlso git.GenericArguments.Count = 1 AndAlso IsConvertible(Parent, FromExpression, fromArray.GetElementType(), git.GenericArguments(0), False, Nothing, False, True) Then
+                    'No conversion expression is required I think
+                    Return True
+                End If
+            End If
+        End If
+
+        'Narrowing conversions for reference conversions are done at the end of the widening conversions
+
+        'Anonymous Delegate conversions
+        '•	From an anonymous delegate type generated for a lambda method reclassification to any wider delegate type. (widening)
+        '•	From an anonymous delegate type generated for a lambda method reclassification to any narrower delegate type. (narrowing)
+        'TODO
+
+        'Array conversions
+        If toArray IsNot Nothing AndAlso fromArray IsNot Nothing Then
+            toElement = toArray.ElementType
+            fromElement = fromArray.ElementType
+
+            '•	From an array type S with an element type SE to an array type T with an element type TE, provided all of the following are true:
+            '   •	S and T differ only in element type.
+            If toArray.Rank <> fromArray.Rank Then
+                If ShowError Then
+                    Compiler.Report.ShowMessage(Messages.VBNC30414, Parent.Location, Helper.ToString(Compiler, FromType), Helper.ToString(Compiler, DestinationType))
+                End If
+                Return False
+            End If
+            If toArray.Dimensions.Count <> fromArray.Dimensions.Count Then
+                If ShowError Then
+                    Compiler.Report.ShowMessage(Messages.VBNC30414, Parent.Location, Helper.ToString(Compiler, FromType), Helper.ToString(Compiler, DestinationType))
+                End If
+                Return False
+            End If
+            '   •	Both SE and TE are reference types or are type parameters known to be a reference type.
+            '   •	A widening reference, array, or type parameter conversion exists from SE to TE.
+            If CecilHelper.IsReferenceTypeOrGenericReferenceTypeParameter(toElement) AndAlso CecilHelper.IsReferenceTypeOrGenericReferenceTypeParameter(fromElement) Then
+                If IsConvertible(Parent, FromExpression, fromElement, toElement, False, Nothing, False, True) Then
+                    If CreateConversionExpression Then
+                        convExpr = New CTypeExpression(Parent, FromExpression, DestinationType, CTypeConversionType.Castclass)
+                        If Not convExpr.ResolveExpression(ResolveInfo.Default(Compiler)) Then Return False
+                    End If
+                    Return True
+                End If
+            End If
+
+            '•	From an array type S with an enumerated element type SE to an array type T with an element type TE, provided all of the following are true:
+            If Helper.IsEnum(Parent.Compiler, fromElement) Then
+                '   •	S and T differ only in element type.
+                'This has been checked above
+
+                '   •	TE is the underlying type of SE.
+                Dim enumT As TypeReference = Helper.GetEnumType(Parent.Compiler, fromElement)
+                If Helper.CompareType(enumT, toElement) Then
+                    'Not sure if a conversion is required here
+                    Return True
+                End If
+            End If
+
+            'Narrowing conversions:
+            '•	From an array type S with an element type SE, to an array type T with an element type TE, provided that all of the following are true:
+            '   •	S and T differ only in element type.
+            '   •	Both SE and TE are reference types or are type parameters not known to be value types.
+            '   •	A narrowing reference, array, or type parameter conversion exists from SE to TE.
+            If CecilHelper.IsValueType(toElement) = False AndAlso CecilHelper.IsValueType(fromElement) = False Then
+                If IsConvertible(Parent, FromExpression, fromElement, toElement, False, Nothing, False, False) Then
+                    If isStrict Then
+                        If ShowError Then Compiler.Report.ShowMessage(Messages.VBNC30512, Parent.Location, Helper.ToString(Compiler, FromType), Helper.ToString(Compiler, DestinationType))
+                        Return False
+                    End If
+                    If CreateConversionExpression Then
+                        convExpr = New CTypeExpression(Parent, FromExpression, DestinationType, CTypeConversionType.Castclass)
+                        If Not convExpr.ResolveExpression(ResolveInfo.Default(Compiler)) Then Return False
+                    End If
+                    Return True
+                End If
+            End If
+
+            '•	From an array type S with an element type SE to an array type T with an enumerated element type TE, provided all of the following are true:
+            If Helper.IsEnum(Parent.Compiler, toElement) Then
+                '   •	S and T differ only in element type.
+                'This has been checked above
+
+                '   •	SE is the underlying type of TE.
+                Dim enumT As TypeReference = Helper.GetEnumType(Parent.Compiler, toElement)
+                If Helper.CompareType(enumT, fromElement) Then
+                    If isStrict Then
+                        If ShowError Then Compiler.Report.ShowMessage(Messages.VBNC30512, Parent.Location, Helper.ToString(Compiler, FromType), Helper.ToString(Compiler, DestinationType))
+                        Return False
+                    End If
+                    If CreateConversionExpression Then
+                        'Not sure if this is the right conversion
+                        convExpr = New CTypeExpression(Parent, FromExpression, DestinationType, CTypeConversionType.Castclass)
+                        If Not convExpr.ResolveExpression(ResolveInfo.Default(Compiler)) Then Return False
+                    End If
+                    Return True
+                End If
+            End If
+
+            If ShowError Then
+                If Helper.IsEnum(Compiler, fromElement) = False AndAlso CecilHelper.IsValueType(fromElement) AndAlso CecilHelper.IsValueType(toElement) = False Then
+                    Compiler.Report.ShowMessage(Messages.VBNC30333, Parent.Location, Helper.ToString(Compiler, FromType), Helper.ToString(Compiler, DestinationType), Helper.ToString(Compiler, fromElement), Helper.ToString(Compiler, toElement))
+                Else
+                    Compiler.Report.ShowMessage(Messages.VBNC30332, Parent.Location, Helper.ToString(Compiler, FromType), Helper.ToString(Compiler, DestinationType), Helper.ToString(Compiler, fromElement), Helper.ToString(Compiler, toElement))
+                End If
+            End If
+            Return False
+        End If
+
+        'Value Type conversions
+        If fromTD IsNot Nothing AndAlso fromTD.IsValueType Then
+            '•	From a value type to a base type.
+            If Helper.CompareType(DestinationType, Parent.Compiler.TypeCache.System_Object) OrElse Helper.CompareType(DestinationType, Parent.Compiler.TypeCache.System_ValueType) Then
+                If CreateConversionExpression Then
+                    convExpr = New BoxExpression(Parent, convExpr, DestinationType)
+                    If Not convExpr.ResolveExpression(ResolveInfo.Default(Compiler)) Then Return False
+                End If
+                Return True
+            End If
+
+            If Helper.IsEnum(Compiler, FromType) AndAlso Helper.CompareType(DestinationType, TypeCache.System_Enum) Then
+                If CreateConversionExpression Then
+                    convExpr = New CTypeExpression(Parent, convExpr, DestinationType, CTypeConversionType.Box)
+                    If Not convExpr.ResolveExpression(ResolveInfo.Default(Compiler)) Then Return False
+                End If
+                Return True
+            End If
+
+            '•	From a value type to an interface type that the type implements.
+            If fromTD.HasInterfaces Then
+                Dim interfaces As Mono.Collections.Generic.Collection(Of TypeReference)
+                interfaces = CecilHelper.GetInterfaces(FromType, True)
+                For i As Integer = 0 To interfaces.Count - 1
+                    If Helper.CompareType(DestinationType, interfaces(i)) Then
+                        If CreateConversionExpression Then
+                            convExpr = New BoxExpression(Parent, convExpr, DestinationType)
+                            If Not convExpr.ResolveExpression(ResolveInfo.Default(Compiler)) Then Return False
+                        End If
+                        Return True
+                    End If
+
+                    If Helper.DoesTypeImplementInterface(Parent, interfaces(i), DestinationType) Then
+                        If CreateConversionExpression Then
+                            convExpr = New BoxExpression(Parent, convExpr, DestinationType)
+                            If Not convExpr.ResolveExpression(ResolveInfo.Default(Compiler)) Then Return False
+                        End If
+                        Return True
+                    End If
+                Next
+            End If
+        End If
+
+        'Narrowing conversions:
+        '•	From Boolean to Byte, SByte, UShort, Short, UInteger, Integer, ULong, Long, Decimal, Single, or Double.
+        '•	From Byte, SByte, UShort, Short, UInteger, Integer, ULong, Long, Decimal, Single, or Double to Boolean.
+        '•	From Byte to SByte.
+        '•	From SByte to Byte, UShort, UInteger, or ULong.
+        '•	From UShort to Byte, SByte, or Short.
+        '•	From Short to Byte, SByte, UShort, UInteger, or ULong.
+        '•	From UInteger to Byte, SByte, UShort, Short, or Integer.
+        '•	From Integer to Byte, SByte, UShort, Short, UInteger, or ULong.
+        '•	From ULong to Byte, SByte, UShort, Short, UInteger, Integer, or Long.
+        '•	From Long to Byte, SByte, UShort, Short, UInteger, Integer, or ULong.
+        '•	From Decimal to Byte, SByte, UShort, Short, UInteger, Integer, ULong, or Long.
+        '•	From Single to Byte, SByte, UShort, Short, UInteger, Integer, ULong, Long, or Decimal.
+        '•	From Double to Byte, SByte, UShort, Short, UInteger, Integer, ULong, Long, Decimal, or Single.
+        If isFromNullable = False AndAlso isToNullable = False Then
+            Select Case fromTC
+                Case TypeCode.Byte, TypeCode.SByte, TypeCode.UInt16, TypeCode.Int16, TypeCode.UInt32, TypeCode.Int32, TypeCode.UInt64, TypeCode.Int64, TypeCode.Decimal, TypeCode.Single
+                    If toTC <> TypeCode.Object AndAlso Compiler.TypeResolution.IsExplicitlyConvertible(Compiler, fromTC, toTC) Then
+                        If isStrict Then
+                            If ShowError Then
+                                If Helper.CompareType(TypeCache.System_Char, DestinationType) Then
+                                    If Helper.CompareType(TypeCache.System_Decimal, FromType) OrElse Helper.CompareType(TypeCache.System_Double, FromType) OrElse Helper.CompareType(TypeCache.System_Single, FromType) OrElse Helper.CompareType(TypeCache.System_DBNull, FromType) OrElse Helper.CompareType(TypeCache.System_DateTime, FromType) Then
+                                        Compiler.Report.ShowMessage(Messages.VBNC30311, Parent.Location, Helper.ToString(Compiler, FromType), Helper.ToString(Compiler, DestinationType))
+                                    Else
+                                        Compiler.Report.ShowMessage(Messages.VBNC32007, Parent.Location, Helper.ToString(Compiler, FromType))
+                                    End If
+                                ElseIf Helper.CompareType(TypeCache.System_DateTime, DestinationType) Then
+                                    Compiler.Report.ShowMessage(Messages.VBNC30311, Parent.Location, Helper.ToString(Compiler, FromType), Helper.ToString(Compiler, DestinationType))
+                                ElseIf Helper.CompareType(TypeCache.System_DBNull, DestinationType) Then
+                                    Compiler.Report.ShowMessage(Messages.VBNC30311, Parent.Location, Helper.ToString(Compiler, FromType), Helper.ToString(Compiler, DestinationType))
+                                Else
+                                    Compiler.Report.ShowMessage(Messages.VBNC30512, Parent.Location, Helper.ToString(Compiler, FromType), Helper.ToString(Compiler, DestinationType))
+                                End If
+                            End If
+                            Return False
+                        End If
+                        If CreateConversionExpression Then
+                            convExpr = New CTypeExpression(Parent, FromExpression, DestinationType, CTypeConversionType.Intrinsic)
+                            If Not convExpr.ResolveExpression(ResolveInfo.Default(Compiler)) Then Return False
+                        End If
+                        Return True
+                    End If
+                Case TypeCode.Boolean, TypeCode.Double
+                    If toTC <> TypeCode.Object AndAlso Compiler.TypeResolution.IsExplicitlyConvertible(Compiler, fromTC, toTC) Then
+                        If isStrict Then
+                            If ShowError Then
+                                If Helper.CompareType(TypeCache.System_Char, DestinationType) Then
+                                    Compiler.Report.ShowMessage(Messages.VBNC30311, Parent.Location, Helper.ToString(Compiler, FromType), Helper.ToString(Compiler, DestinationType))
+                                ElseIf Helper.CompareType(TypeCache.System_DateTime, DestinationType) Then
+                                    If Helper.CompareType(TypeCache.System_Double, FromType) Then
+                                        Compiler.Report.ShowMessage(Messages.VBNC30533, Parent.Location)
+                                    Else
+                                        Compiler.Report.ShowMessage(Messages.VBNC30311, Parent.Location, Helper.ToString(Compiler, FromType), Helper.ToString(Compiler, DestinationType))
+                                    End If
+                                ElseIf Helper.CompareType(TypeCache.System_DBNull, DestinationType) Then
+                                    Compiler.Report.ShowMessage(Messages.VBNC30311, Parent.Location, Helper.ToString(Compiler, FromType), Helper.ToString(Compiler, DestinationType))
+                                Else
+                                    Compiler.Report.ShowMessage(Messages.VBNC30512, Parent.Location, Helper.ToString(Compiler, FromType), Helper.ToString(Compiler, DestinationType))
+                                End If
+                            End If
+                            Return False
+                        End If
+                        If CreateConversionExpression Then
+                            convExpr = New CTypeExpression(Parent, FromExpression, DestinationType)
+                            If Not convExpr.ResolveExpression(ResolveInfo.Default(Compiler)) Then Return False
+                        End If
+                        Return True
+                    End If
+            End Select
+        End If
+
+        'Reference conversions
+        If toTD IsNot Nothing AndAlso toTD.IsValueType Then
+            '•	From a reference type to a more derived value type.
+            If Helper.CompareType(FromType, Parent.Compiler.TypeCache.System_Object) OrElse Helper.CompareType(FromType, Parent.Compiler.TypeCache.System_ValueType) Then
+                If isStrict Then
+                    If ShowError Then Compiler.Report.ShowMessage(Messages.VBNC30512, Parent.Location, Helper.ToString(Compiler, FromType), Helper.ToString(Compiler, DestinationType))
+                    Return False
+                End If
+                If CreateConversionExpression Then
+                    If Helper.IsIntrinsicType(Compiler, DestinationType) Then
+                        convExpr = New CTypeExpression(Parent, convExpr, DestinationType)
+                    Else
+                        convExpr = New CTypeExpression(Parent, convExpr, DestinationType, CTypeConversionType.Unbox_Ldobj)
+                    End If
+                    If Not convExpr.ResolveExpression(ResolveInfo.Default(Compiler)) Then Return False
+                End If
+                Return True
+            End If
+            '•	From an interface type to a value type, provided the value type implements the interface type
+            If fromTD.IsInterface AndAlso Helper.DoesTypeImplementInterface(Parent, DestinationType, FromType) Then
+                If isStrict Then
+                    If ShowError Then Compiler.Report.ShowMessage(Messages.VBNC30512, Parent.Location, Helper.ToString(Compiler, FromType), Helper.ToString(Compiler, DestinationType))
+                    Return False
+                End If
+                If CreateConversionExpression Then
+                    convExpr = New CTypeExpression(Parent, convExpr, DestinationType, CTypeConversionType.Unbox_Ldobj)
+                    If Not convExpr.ResolveExpression(ResolveInfo.Default(Compiler)) Then Return False
+                End If
+                Return True
+            End If
+        End If
+
+        'Nullable Value Type conversions
+        If fromTD IsNot Nothing AndAlso fromTD.IsValueType Then
+            Dim nulledTo As TypeReference = Nothing
+            Dim nulledFrom As TypeReference = Nothing
+
+            If isFromNullable Then nulledFrom = CecilHelper.GetNulledType(FromType)
+            If isToNullable Then nulledTo = CecilHelper.GetNulledType(DestinationType)
+
+            '•	From a type T to the type T?.
+            If isFromNullable = False AndAlso isToNullable AndAlso Helper.CompareType(nulledTo, FromType) Then
+                If CreateConversionExpression Then
+                    convExpr = New CTypeExpression(Parent, convExpr, DestinationType, CTypeConversionType.ToNullable)
+                    If Not convExpr.ResolveExpression(ResolveInfo.Default(Compiler)) Then Return False
+                End If
+                Return True
+            End If
+
+            '•	From a type T? to a type S?, where there is a widening conversion from the type T to the type S.
+            If isFromNullable AndAlso isToNullable AndAlso IsConvertible(Parent, FromExpression, nulledFrom, nulledTo, False, Nothing, False, True) Then
+                If CreateConversionExpression Then
+                    convExpr = New CTypeExpression(Parent, convExpr, DestinationType, CTypeConversionType.NullableToNullable)
+                    If Not convExpr.ResolveExpression(ResolveInfo.Default(Compiler)) Then Return False
+                End If
+                Return True
+            End If
+
+            '•	From a type T to a type S?, where there is a widening conversion from the type T to the type S.
+            If isFromNullable = False AndAlso isToNullable AndAlso IsConvertible(Parent, FromExpression, FromType, nulledTo, False, Nothing, False, True) Then
+                If CreateConversionExpression Then
+                    convExpr = New CTypeExpression(Parent, convExpr, nulledTo, CTypeConversionType.Intrinsic)
+                    If Not convExpr.ResolveExpression(ResolveInfo.Default(Compiler)) Then Return False
+                    convExpr = New CTypeExpression(Parent, convExpr, DestinationType, CTypeConversionType.ToNullable)
+                    If Not convExpr.ResolveExpression(ResolveInfo.Default(Compiler)) Then Return False
+                End If
+                Return True
+            End If
+
+            '•	From a type T? to an interface type that the type T implements.
+            If isFromNullable AndAlso toTD.IsInterface AndAlso Helper.DoesTypeImplementInterface(Parent, nulledFrom, DestinationType) Then
+                If CreateConversionExpression Then
+                    convExpr = New BoxExpression(Parent, convExpr, FromType)
+                    If Not convExpr.ResolveExpression(ResolveInfo.Default(Compiler)) Then Return False
+                    convExpr = New CTypeExpression(Parent, convExpr, DestinationType, CTypeConversionType.Castclass)
+                    If Not convExpr.ResolveExpression(ResolveInfo.Default(Compiler)) Then Return False
+                End If
+                Return True
+            End If
+
+            'narrowing conversions
+            '•	From a type T? to a type T.
+            If isFromNullable AndAlso isToNullable = False AndAlso Helper.CompareType(nulledFrom, DestinationType) Then
+                If isStrict Then
+                    If ShowError Then Compiler.Report.ShowMessage(Messages.VBNC30512, Parent.Location, Helper.ToString(Compiler, FromType), Helper.ToString(Compiler, DestinationType))
+                    Return False
+                End If
+                If CreateConversionExpression Then
+                    convExpr = New CTypeExpression(Parent, convExpr, DestinationType, CTypeConversionType.FromNullable)
+                    If Not convExpr.ResolveExpression(ResolveInfo.Default(Compiler)) Then Return False
+                End If
+                Return True
+            End If
+            '•	From a type T? to a type S?, where there is a narrowing conversion from the type T to the type S.
+            If isFromNullable AndAlso isToNullable AndAlso IsConvertible(Parent, FromExpression, nulledFrom, nulledTo, False, Nothing, False, False) Then
+                If isStrict Then
+                    If ShowError Then Compiler.Report.ShowMessage(Messages.VBNC30512, Parent.Location, Helper.ToString(Compiler, FromType), Helper.ToString(Compiler, DestinationType))
+                    Return False
+                End If
+                If CreateConversionExpression Then
+                    'denullify
+                    convExpr = New CTypeExpression(Parent, convExpr, nulledFrom, CTypeConversionType.FromNullable)
+                    If Not convExpr.ResolveExpression(ResolveInfo.Default(Compiler)) Then Return False
+                    'convert
+                    If Not IsConvertible(Parent, convExpr, nulledFrom, nulledTo, True, convExpr, True, isStrict) Then Return False
+                    'renullify
+                    convExpr = New CTypeExpression(Parent, convExpr, DestinationType, CTypeConversionType.ToNullable)
+                    If Not convExpr.ResolveExpression(ResolveInfo.Default(Compiler)) Then Return False
+                End If
+                Return True
+            End If
+            '•	From a type T to a type S?, where there is a narrowing conversion from the type T to the type S.
+            If isFromNullable = False AndAlso isToNullable AndAlso IsConvertible(Parent, FromExpression, FromType, nulledTo, False, Nothing, False, False) Then
+                If isStrict Then
+                    If ShowError Then Compiler.Report.ShowMessage(Messages.VBNC30512, Parent.Location, Helper.ToString(Compiler, FromType), Helper.ToString(Compiler, DestinationType))
+                    Return False
+                End If
+                If CreateConversionExpression Then
+                    'convert
+                    If Not IsConvertible(Parent, convExpr, FromType, nulledTo, True, convExpr, True, isStrict) Then Return False
+                    'renullify
+                    convExpr = New CTypeExpression(Parent, convExpr, DestinationType, CTypeConversionType.ToNullable)
+                    If Not convExpr.ResolveExpression(ResolveInfo.Default(Compiler)) Then Return False
+                End If
+                Return True
+            End If
+            '•	From a type S? to a type T, where there is a conversion from the type S to the type T.
+            If isFromNullable AndAlso isToNullable = False AndAlso IsConvertible(Parent, FromExpression, nulledFrom, DestinationType, False, Nothing, False, False) Then
+                If isStrict Then
+                    If ShowError Then Compiler.Report.ShowMessage(Messages.VBNC30512, Parent.Location, Helper.ToString(Compiler, FromType), Helper.ToString(Compiler, DestinationType))
+                    Return False
+                End If
+                If CreateConversionExpression Then
+                    'denullify
+                    convExpr = New CTypeExpression(Parent, convExpr, nulledFrom, CTypeConversionType.FromNullable)
+                    If Not convExpr.ResolveExpression(ResolveInfo.Default(Compiler)) Then Return False
+                    'convert
+                    If Not IsConvertible(Parent, convExpr, nulledFrom, DestinationType, True, convExpr, True, Nothing) Then Return False
+                End If
+                Return True
+            End If
+        End If
+
+        'String conversions
+        If Helper.CompareType(DestinationType, Compiler.TypeCache.System_String) Then
+            '•	From Char to String.
+            '•	From Char() to String.
+            If Helper.CompareType(FromType, Compiler.TypeCache.System_Char) OrElse Helper.CompareType(FromType, Compiler.TypeCache.System_Char_Array) Then
+                If CreateConversionExpression Then
+                    convExpr = New CStrExpression(Parent, FromExpression)
+                    If Not convExpr.ResolveExpression(ResolveInfo.Default(Compiler)) Then Return False
+                End If
+                Return True
+            End If
+            If fromTC <> TypeCode.DBNull AndAlso (fromTC <> TypeCode.Object OrElse Helper.CompareType(TypeCache.System_Object, FromType)) Then
+                If isStrict Then
+                    If ShowError Then
+                        If Helper.CompareType(TypeCache.System_DBNull, FromType) Then
+                            Compiler.Report.ShowMessage(Messages.VBNC30311, Parent.Location, Helper.ToString(Compiler, FromType), Helper.ToString(Compiler, DestinationType))
+                        Else
+                            Compiler.Report.ShowMessage(Messages.VBNC30512, Parent.Location, Helper.ToString(Compiler, FromType), Helper.ToString(Compiler, DestinationType))
+                        End If
+                    End If
+                    Return False
+                End If
+                If CreateConversionExpression Then
+                    convExpr = New CTypeExpression(Parent, FromExpression, DestinationType)
+                    If Not convExpr.ResolveExpression(ResolveInfo.Default(Compiler)) Then Return False
+                End If
+                Return True
+            End If
+        ElseIf Helper.CompareType(FromType, TypeCache.System_String) Then
+            '•	From String to Char.
+            If Helper.CompareType(DestinationType, Compiler.TypeCache.System_Char) Then
+                If isStrict Then
+                    If ShowError Then Compiler.Report.ShowMessage(Messages.VBNC30512, Parent.Location, Helper.ToString(Compiler, FromType), Helper.ToString(Compiler, DestinationType))
+                    Return False
+                End If
+                If CreateConversionExpression Then
+                    convExpr = New CCharExpression(Parent, FromExpression)
+                    If Not convExpr.ResolveExpression(ResolveInfo.Default(Compiler)) Then Return False
+                End If
+                Return True
+            End If
+            '•	From String to Char().
+            If Helper.CompareType(DestinationType, Compiler.TypeCache.System_Char_Array) Then
+                If isStrict Then
+                    If ShowError Then Compiler.Report.ShowMessage(Messages.VBNC30512, Parent.Location, Helper.ToString(Compiler, FromType), Helper.ToString(Compiler, DestinationType))
+                    Return False
+                End If
+                If CreateConversionExpression Then
+                    convExpr = New CTypeExpression(Parent, FromExpression, Compiler.TypeCache.System_Char_Array)
+                    If Not convExpr.ResolveExpression(ResolveInfo.Default(Compiler)) Then Return False
+                End If
+                Return True
+            End If
+            '•	From String to Boolean and from Boolean to String.
+            '•	Conversions between String and Byte, SByte, UShort, Short, UInteger, Integer, ULong, Long, Decimal, Single, or Double.
+            '•	From String to Date and from Date to String.
+            'from boolean is handled in the numeric conversion code
+            If toTC <> TypeCode.Object Then
+                If isStrict Then
+                    If ShowError Then
+                        If Helper.CompareType(TypeCache.System_DBNull, DestinationType) Then
+                            Compiler.Report.ShowMessage(Messages.VBNC30311, Parent.Location, Helper.ToString(Compiler, FromType), Helper.ToString(Compiler, DestinationType))
+                        Else
+                            Compiler.Report.ShowMessage(Messages.VBNC30512, Parent.Location, Helper.ToString(Compiler, FromType), Helper.ToString(Compiler, DestinationType))
+                        End If
+                    End If
+                    Return False
+                End If
+                If CreateConversionExpression Then
+                    convExpr = New CTypeExpression(Parent, FromExpression, DestinationType)
+                    If Not convExpr.ResolveExpression(ResolveInfo.Default(Compiler)) Then Return False
+                End If
+                Return True
+            End If
+        End If
+
+        'Type Parameter conversions
+        fromTG = TryCast(FromType, GenericParameter)
+        If fromTG IsNot Nothing Then
+            '•	From a type parameter to Object.
+            If Helper.CompareType(DestinationType, Parent.Compiler.TypeCache.System_Object) Then
+                If CreateConversionExpression Then
+                    convExpr = New BoxExpression(Parent, convExpr, DestinationType)
+                    If Not convExpr.ResolveExpression(ResolveInfo.Default(Compiler)) Then Return False
+                End If
+                Return True
+            End If
 
-        Return fromExpr
+            If fromTG.HasConstraints Then
+                For i As Integer = 0 To fromTG.Constraints.Count - 1
+                    Dim constraint As TypeReference = fromTG.Constraints(i)
+
+                    '•	From a type parameter to an interface type constraint or any interface variant compatible with an interface type constraint.
+                    ' Same implementation as "From a type parameter to a class constraint, or a base type of the class constraint." below
+
+                    '•	From a type parameter to an interface implemented by a class constraint.
+                    If toTD IsNot Nothing AndAlso toTD.IsInterface Then
+                        If Helper.DoesTypeImplementInterface(Parent, constraint, DestinationType) Then
+                            If CreateConversionExpression Then
+                                convExpr = New CTypeExpression(Parent, convExpr, DestinationType, CTypeConversionType.Box)
+                                If Not convExpr.ResolveExpression(ResolveInfo.Default(Compiler)) Then Return False
+                                convExpr = New CTypeExpression(Parent, convExpr, DestinationType, CTypeConversionType.Castclass)
+                                If Not convExpr.ResolveExpression(ResolveInfo.Default(Compiler)) Then Return False
+                            End If
+                            Return True
+                        End If
+                    End If
+
+                    '•	From a type parameter to an interface variant compatible with an interface implemented by a class constraint.
+                    'TODO
+
+                    '•	From a type parameter to a class constraint, or a base type of the class constraint.
+                    If Helper.CompareType(constraint, DestinationType) Then
+                        If CreateConversionExpression Then
+                            convExpr = New CTypeExpression(Parent, convExpr, DestinationType, CTypeConversionType.Box)
+                            If Not convExpr.ResolveExpression(ResolveInfo.Default(Compiler)) Then Return False
+                            convExpr = New CTypeExpression(Parent, convExpr, DestinationType, CTypeConversionType.Castclass)
+                            If Not convExpr.ResolveExpression(ResolveInfo.Default(Compiler)) Then Return False
+                        End If
+                        Return True
+                    End If
+                    If Helper.IsSubclassOf(DestinationType, fromTG.Constraints(i)) Then
+                        If CreateConversionExpression Then
+                            convExpr = New CTypeExpression(Parent, convExpr, DestinationType, CTypeConversionType.Box)
+                            If Not convExpr.ResolveExpression(ResolveInfo.Default(Compiler)) Then Return False
+                            convExpr = New CTypeExpression(Parent, convExpr, DestinationType, CTypeConversionType.Castclass)
+                            If Not convExpr.ResolveExpression(ResolveInfo.Default(Compiler)) Then Return False
+                        End If
+                        Return True
+                    End If
+
+                    '•	From a type parameter T to a type parameter constraint TX, or anything TX has a widening conversion to.
+                    'TODO
+
+                Next
+            End If
+
+            'narrowing conversions
+            '•	From Object to a type parameter (handled below)
+            '•	From a type parameter to an interface type, provided the type parameter is not constrained to that interface or constrained to a class that implements that interface.
+            If toTD IsNot Nothing AndAlso toTD.IsInterface Then
+                If isStrict Then
+                    If ShowError Then Compiler.Report.ShowMessage(Messages.VBNC30512, Parent.Location, Helper.ToString(Compiler, FromType), Helper.ToString(Compiler, DestinationType))
+                    Return False
+                End If
+                If CreateConversionExpression Then
+                    convExpr = New CTypeExpression(Parent, FromExpression, DestinationType, CTypeConversionType.Castclass)
+                    If Not convExpr.ResolveExpression(ResolveInfo.Default(Compiler)) Then Return False
+                End If
+                Return True
+            End If
+            '•	From an interface type to a type parameter (handled below)
+            If fromTG.HasConstraints Then
+                For i As Integer = 0 To fromTG.Constraints.Count - 1
+                    Dim constraint As TypeReference = fromTG.Constraints(i)
+
+                    '•	From a type parameter to a derived type of a class constraint.
+                    If CecilHelper.IsClass(constraint) Then 'A bit more is needed here
+                        If isStrict Then
+                            If ShowError Then Compiler.Report.ShowMessage(Messages.VBNC30311, Parent.Location, Helper.ToString(Compiler, FromType), Helper.ToString(Compiler, DestinationType))
+                            Return False
+                        End If
+                        If CreateConversionExpression Then
+                            convExpr = New CTypeExpression(Parent, FromExpression, DestinationType, CTypeConversionType.Box_CastClass)
+                            If Not convExpr.ResolveExpression(ResolveInfo.Default(Compiler)) Then Return False
+                        End If
+                        Return True
+                    End If
+
+                    '•	From a type parameter T to anything a type parameter constraint TX has a narrowing conversion to.
+                    If IsConvertible(Parent, convExpr, constraint, DestinationType, False, Nothing, False, Nothing) Then
+                        If isStrict Then
+                            If ShowError Then Compiler.Report.ShowMessage(Messages.VBNC30512, Parent.Location, Helper.ToString(Compiler, FromType), Helper.ToString(Compiler, DestinationType))
+                            Return False
+                        End If
+                        If CreateConversionExpression Then
+                            convExpr = New CTypeExpression(Parent, convExpr, constraint, CTypeConversionType.Box_CastClass)
+                            If Not convExpr.ResolveExpression(ResolveInfo.Default(Compiler)) Then Return False
+                            If Not IsConvertible(Parent, convExpr, constraint, DestinationType, True, convExpr, True, Nothing) Then Return True
+                        End If
+                        Return True
+                    End If
+                Next
+            End If
+
+            If ShowError Then
+                Compiler.Report.ShowMessage(Messages.VBNC30311, Parent.Location, Helper.ToString(Compiler, FromType), Helper.ToString(Compiler, DestinationType))
+            End If
+            Return False
+        End If
+
+        toTG = TryCast(DestinationType, GenericParameter)
+        If toTG IsNot Nothing Then
+            '•	From Object to a type parameter.
+            '•	From an interface type to a type parameter.
+            If Helper.CompareType(FromType, TypeCache.System_Object) OrElse (fromTD IsNot Nothing AndAlso fromTD.IsInterface) Then
+                If isStrict Then
+                    If ShowError Then Compiler.Report.ShowMessage(Messages.VBNC30512, Parent.Location, Helper.ToString(Compiler, FromType), Helper.ToString(Compiler, DestinationType))
+                    Return False
+                End If
+                If CreateConversionExpression Then
+                    convExpr = New CTypeExpression(Parent, FromExpression, DestinationType, CTypeConversionType.MS_VB_CS_Conversions_ToGenericParameter)
+                    If Not convExpr.ResolveExpression(ResolveInfo.Default(Compiler)) Then Return False
+                End If
+                Return True
+            End If
+        End If
+
+        'Reference (narrowing) conversions
+        If fromTD IsNot Nothing AndAlso toTD IsNot Nothing Then
+            If ((fromTD.IsInterface OrElse fromTD.IsClass) AndAlso fromTD.IsValueType = False) AndAlso (toTD.IsInterface OrElse toTD.IsClass) AndAlso toTD.IsValueType = False Then
+                '•	From a reference type to a more derived type.
+                If Helper.IsSubclassOf(FromType, DestinationType) Then
+                    If isStrict Then
+                        If ShowError Then Compiler.Report.ShowMessage(Messages.VBNC30512, Parent.Location, Helper.ToString(Compiler, FromType), Helper.ToString(Compiler, DestinationType))
+                        Return False
+                    End If
+                    convExpr = New CTypeExpression(Parent, FromExpression, DestinationType, CTypeConversionType.Castclass)
+                    If Not convExpr.ResolveExpression(ResolveInfo.Default(Compiler)) Then Return False
+                    Return True
+                End If
+                '•	From a class type to an interface type, provided the class type does not implement the interface type or an interface type variant compatible with it.
+                '•	From an interface type to a class type. 
+                '•	From an interface type to another interface type, provided there is no inheritance relationship between the two types and provided they are not variant compatible.
+                'Put those 3 conditions in one bug chunk here
+                If fromTD.IsInterface OrElse toTD.IsInterface Then
+                    If isStrict Then
+                        If ShowError Then Compiler.Report.ShowMessage(Messages.VBNC30512, Parent.Location, Helper.ToString(Compiler, FromType), Helper.ToString(Compiler, DestinationType))
+                        Return False
+                    End If
+                    If CreateConversionExpression Then
+                        convExpr = New CTypeExpression(Parent, FromExpression, DestinationType, CTypeConversionType.Castclass)
+                        If Not convExpr.ResolveExpression(ResolveInfo.Default(Compiler)) Then Return False
+                    End If
+                    Return True
+                End If
+            End If
+        End If
+
+        'Check user defined operators
+        If fromTD IsNot Nothing AndAlso toTD IsNot Nothing AndAlso _
+            ((fromTC = TypeCode.Object AndAlso Helper.CompareType(TypeCache.System_Object, DestinationType) = False) OrElse _
+                (toTC = TypeCode.Object AndAlso Helper.CompareType(TypeCache.System_Object, DestinationType) = False)) Then
+            'user-defined operators can only exist if either the from or to type aren't intrinsic types
+
+            Dim ops As Generic.List(Of MethodReference)
+            Dim isNarrowing As Boolean
+            ops = Helper.GetWideningConversionOperators(Compiler, FromType, DestinationType)
+
+            If ops Is Nothing OrElse ops.Count = 0 Then
+                ops = Helper.GetNarrowingConversionOperators(Compiler, FromType, DestinationType)
+                isNarrowing = True
+            End If
+
+            If ops Is Nothing OrElse ops.Count = 0 Then
+                If ShowError Then
+                    If isFromNullable AndAlso isToNullable AndAlso Compiler.TypeResolver.IsExplicitlyConvertible(Compiler, Helper.GetTypeCode(Compiler, CecilHelper.GetNulledType(FromType)), Helper.GetTypeCode(Compiler, CecilHelper.GetNulledType(DestinationType))) Then
+                        Compiler.Report.ShowMessage(Messages.VBNC30512, FromExpression.Location, Helper.ToString(FromExpression, FromType), Helper.ToString(FromExpression, DestinationType))
+                    Else
+                        Compiler.Report.ShowMessage(Messages.VBNC30311, FromExpression.Location, Helper.ToString(FromExpression, FromType), Helper.ToString(FromExpression, DestinationType))
+                    End If
+                End If
+                Return False
+            End If
+
+            If ops.Count > 1 Then
+                If ShowError Then
+                    Return Compiler.Report.ShowMessage(Messages.VBNC30311, FromExpression.Location, Helper.ToString(Compiler, FromType), Helper.ToString(Compiler, DestinationType))
+                End If
+                Return False
+            End If
+
+            If isNarrowing AndAlso isStrict.Value Then
+                If ShowError Then
+                    Return Compiler.Report.ShowMessage(Messages.VBNC30512, FromExpression.Location, Helper.ToString(Compiler, FromType), Helper.ToString(Compiler, DestinationType))
+                End If
+                Return False
+            End If
+
+            If CreateConversionExpression Then
+                convExpr = New CTypeExpression(Parent, FromExpression, DestinationType, CTypeConversionType.UserDefinedOperator)
+                DirectCast(convExpr, CTypeExpression).ConversionMethod = ops(0)
+                If Not convExpr.ResolveExpression(ResolveInfo.Default(Compiler)) Then Return False
+            End If
+            Return True
+        End If
+
+
+        If ShowError Then
+            If Helper.CompareType(TypeCache.System_DBNull, DestinationType) Then
+                Compiler.Report.ShowMessage(Messages.VBNC30311, Parent.Location, Helper.ToString(Compiler, FromType), Helper.ToString(Compiler, DestinationType))
+            ElseIf Helper.CompareType(TypeCache.System_Char, FromType) Then
+                If Helper.CompareType(TypeCache.System_DateTime, DestinationType) OrElse Helper.CompareType(TypeCache.System_Double, DestinationType) OrElse Helper.CompareType(TypeCache.System_Single, DestinationType) OrElse Helper.CompareType(TypeCache.System_Decimal, DestinationType) OrElse Helper.Compare(TypeCache.System_Boolean, DestinationType) Then
+                    Compiler.Report.ShowMessage(Messages.VBNC30311, Parent.Location, Helper.ToString(Compiler, FromType), Helper.ToString(Compiler, DestinationType))
+                Else
+                    Compiler.Report.ShowMessage(Messages.VBNC32006, Parent.Location, Helper.ToString(Compiler, DestinationType))
+                End If
+            ElseIf Helper.CompareType(TypeCache.System_Char, DestinationType) Then
+                If Helper.CompareType(TypeCache.System_Decimal, FromType) OrElse Helper.CompareType(TypeCache.System_Double, FromType) OrElse Helper.CompareType(TypeCache.System_Single, FromType) OrElse Helper.CompareType(TypeCache.System_DBNull, FromType) OrElse Helper.CompareType(TypeCache.System_DateTime, FromType) OrElse Helper.CompareType(TypeCache.System_Boolean, FromType) Then
+                    Compiler.Report.ShowMessage(Messages.VBNC30311, Parent.Location, Helper.ToString(Compiler, FromType), Helper.ToString(Compiler, DestinationType))
+                Else
+                    Compiler.Report.ShowMessage(Messages.VBNC32007, Parent.Location, Helper.ToString(Compiler, FromType))
+                End If
+            ElseIf Helper.CompareType(TypeCache.System_DateTime, FromType) AndAlso Helper.CompareType(TypeCache.System_Double, DestinationType) Then
+                Compiler.Report.ShowMessage(Messages.VBNC30532, Parent.Location)
+            ElseIf Helper.CompareType(TypeCache.System_DateTime, DestinationType) AndAlso Helper.CompareType(TypeCache.System_Double, FromType) Then
+                Compiler.Report.ShowMessage(Messages.VBNC30533, Parent.Location)
+            Else
+                Compiler.Report.ShowMessage(Messages.VBNC30311, Parent.Location, Helper.ToString(Compiler, FromType), Helper.ToString(Compiler, DestinationType))
+            End If
+        End If
+        Return False
     End Function
 
     ''' <summary>
@@ -3059,29 +3877,37 @@ Public Class Helper
     ''' <returns></returns>
     ''' <remarks></remarks>
     Overloads Shared Function ToString(ByVal Context As BaseObject, ByVal Params As Mono.Collections.Generic.Collection(Of ParameterDefinition)) As String
-        Dim result As String = ""
-        Dim sep As String = ""
+        Dim result As New Text.StringBuilder()
 
+        result.Append("(")
         For i As Integer = 0 To Params.Count - 1
             Dim t As Mono.Cecil.ParameterDefinition = Params(i)
-            Dim tmp As String
-            If CecilHelper.IsByRef(t.ParameterType) Then
-                tmp = "ByRef " & CecilHelper.GetElementType(t.ParameterType).ToString
-            Else
-                tmp = t.ParameterType.ToString
+            Dim tmp As String = String.Empty
+            Dim tp As TypeReference
+
+            tp = t.ParameterType
+            If CecilHelper.IsByRef(tp) Then
+                result.Append("ByRef ")
+                tp = CecilHelper.GetElementType(tp)
             End If
             If t.IsOptional Then
-                tmp = "Optional " & tmp
+                result.Append("Optional ")
             End If
             If Helper.IsParamArrayParameter(Context, t) Then
-                tmp = "ParamArray " & tmp
+                result.Append("ParamArray ")
             End If
-            result = result & sep & tmp
-            sep = ", "
+            result.Append(t.Name)
+            If CecilHelper.IsArray(tp) AndAlso CecilHelper.GetArrayRank(tp) = 1 Then
+                result.Append("()")
+                tp = CecilHelper.GetElementType(tp)
+            End If
+            result.Append(" As ")
+            result.Append(ToString(Context, tp))
+            If i < Params.Count - 1 Then result.Append(", ")
         Next
+        result.Append(")")
 
-        Return "(" & result & ")"
-
+        Return result.ToString()
     End Function
 
     Shared Function IsParamArrayParameter(ByVal Context As BaseObject, ByVal Parameter As Mono.Cecil.ParameterReference) As Boolean
@@ -3092,6 +3918,63 @@ Public Class Helper
         Return result
     End Function
 
+    Shared Function GetMemberName(ByVal Member As MemberReference) As String
+        Dim mr As MethodReference = TryCast(Member, MethodReference)
+        If mr IsNot Nothing Then Return GetMethodName(mr)
+        Return Member.Name
+    End Function
+
+    Shared Function GetMethodName(ByVal Method As MethodReference) As String
+        Select Case Method.Name
+            Case "op_BitwiseAnd", "op_LogicalAnd"
+                Return "And"
+            Case "op_Like"
+                Return "Like"
+            Case "op_Modulus"
+                Return "Mod"
+            Case "op_BitwiseOr", "op_LogicalOr"
+                Return "Or"
+            Case "op_ExclusiveOr"
+                Return "XOr"
+            Case "op_LessThan"
+                Return "<"
+            Case "op_GreaterThan"
+                Return ">"
+            Case "op_Equality"
+                Return "="
+            Case "op_Inequality"
+                Return "<>"
+            Case "op_LessThanOrEqual"
+                Return "<="
+            Case "op_GreaterThanOrEqual"
+                Return ">="
+            Case "op_Concatenate"
+                Return "&"
+            Case "op_Multiply"
+                Return "*"
+            Case "op_Addition"
+                Return "+"
+            Case "op_Subtraction"
+                Return "-"
+            Case "op_Exponent"
+                Return "^"
+            Case "op_Division"
+                Return "/"
+            Case "op_IntegerDivision"
+                Return "\"
+            Case "op_LeftShift", "op_SignedRightShift"
+                Return "<<"
+            Case "op_RightShift", "op_UnsignedRightShift"
+                Return ">>"
+            Case "op_True"
+                Return "IsTrue"
+            Case "op_False"
+                Return "IsFalse"
+            Case Else
+                Return Method.Name
+        End Select
+    End Function
+
     Overloads Shared Function ToString(ByVal Types As Mono.Cecil.TypeReference()) As String
         Dim result As String = ""
         Dim sep As String = ""
@@ -3137,7 +4020,6 @@ Public Class Helper
         End Select
     End Function
 
-
     Overloads Shared Function ToString(ByVal Accessibility As Mono.Cecil.FieldAttributes) As String
         Select Case Accessibility
             Case Mono.Cecil.FieldAttributes.FamANDAssem
@@ -3199,6 +4081,8 @@ Public Class Helper
         Dim builder As New Text.StringBuilder()
         Dim isSub As Boolean = Helper.CompareType(Member.ReturnType, Context.Compiler.TypeCache.System_Void)
 
+        builder.Append(ToString(GetAccessibility(Member)))
+        builder.Append(" ")
         If Helper.CompareNameOrdinal(Member.Name, ".ctor") Then
             builder.Append("Sub New(")
             builder.Append(Helper.ToString(Context, Helper.GetParameters(Context, Member)))
@@ -3250,16 +4134,17 @@ Public Class Helper
                 Next
                 builder.Append(")")
             End If
-            builder.Append("(")
-            For i As Integer = 0 To Member.Parameters.Count - 1
-                If i > 0 Then builder.Append(", ")
-                Dim param As ParameterDefinition = Member.Parameters(i)
-                If CecilHelper.IsByRef(param.ParameterType) Then builder.Append("ByRef ")
-                builder.Append(param.Name)
-                builder.Append(" As ")
-                builder.Append(Helper.ToString(Context, param.ParameterType))
-            Next
-            builder.Append(")")
+            'builder.Append("(")
+            'For i As Integer = 0 To Member.Parameters.Count - 1
+            'If i > 0 Then builder.Append(", ")
+            'Dim param As ParameterDefinition = Member.Parameters(i)
+            'If CecilHelper.IsByRef(param.ParameterType) Then builder.Append("ByRef ")
+            'builder.Append(param.Name)
+            'builder.Append(" As ")
+            'builder.Append(Helper.ToString(Context, param.ParameterType))
+            builder.Append(Helper.ToString(Context, Member.Parameters))
+            'Next
+            'builder.Append(")")
             If isSub = False Then
                 builder.Append(" As ")
                 builder.Append(Helper.ToString(Context, Member.ReturnType))
@@ -3300,7 +4185,7 @@ Public Class Helper
             ElseIf Helper.CompareType(Member, Context.Compiler.TypeCache.System_DateTime) Then
                 Return "Date"
             ElseIf Helper.CompareType(Member, Context.Compiler.TypeCache.System_DBNull) Then
-                Return "DBNull"
+                Return "System.DBNull"
             ElseIf Helper.CompareType(Member, Context.Compiler.TypeCache.System_Decimal) Then
                 Return "Decimal"
             ElseIf Helper.CompareType(Member, Context.Compiler.TypeCache.System_Double) Then
@@ -3323,12 +4208,37 @@ Public Class Helper
                 Return "UInteger"
             ElseIf Helper.CompareType(Member, Context.Compiler.TypeCache.System_UInt64) Then
                 Return "ULong"
+            ElseIf Helper.CompareType(Member, Context.Compiler.TypeCache.System_Object) Then
+                Return "Object"
             Else
                 Return Member.ToString()
             End If
         End If
     End Function
 
+    Overloads Shared Function ToString(ByVal Context As BaseObject, ByVal Member As PropertyReference) As String
+        Dim builder As New Text.StringBuilder()
+        Dim pd As PropertyDefinition = CecilHelper.FindDefinition(Member)
+
+        builder.Append(ToString(GetAccessibility(pd)))
+        builder.Append(" ")
+        If pd.GetMethod Is Nothing Then
+            builder.Append("WriteOnly ")
+        ElseIf pd.SetMethod Is Nothing Then
+            builder.Append("ReadOnly ")
+        End If
+        If IsDefaultProperty(Context.Compiler, pd) Then
+            builder.Append("Default ")
+        End If
+        builder.Append("Property ")
+        builder.Append(Member.Name)
+        builder.Append(Helper.ToString(Context, Helper.GetParameters(Context, Member)))
+        builder.Append(" As ")
+        builder.Append(Helper.ToString(Context, pd.PropertyType))
+
+        Return builder.ToString()
+    End Function
+
     Overloads Shared Function ToString(ByVal Context As BaseObject, ByVal Member As Mono.Cecil.MemberReference) As String
         Dim methodReference As MethodReference
         Dim propertyReference As PropertyReference
@@ -3338,7 +4248,7 @@ Public Class Helper
         If methodReference IsNot Nothing Then Return ToString(Context, methodReference)
 
         propertyReference = TryCast(Member, PropertyReference)
-        If propertyReference IsNot Nothing Then Return Member.Name & "(" & Helper.ToString(Context, Helper.GetParameters(Context, Member)) & ")"
+        If propertyReference IsNot Nothing Then Return ToString(Context, propertyReference)
 
         typeReference = TryCast(Member, TypeReference)
         If typeReference IsNot Nothing Then Return ToString(Context, DirectCast(Member, TypeReference))
@@ -3448,7 +4358,8 @@ Public Class Helper
             isEqual = Helper.CompareType(MTypes(i), NTypes(i))
 
             '*	There exists a widening conversion from the type of Mj to the type Nj, or
-            isWidening = Compiler.TypeResolution.IsImplicitlyConvertible(Context, MTypes(i), NTypes(i))
+            'isWidening = Compiler.TypeResolution.IsImplicitlyConvertible(Context, MTypes(i), NTypes(i))
+            isWidening = Helper.IsConvertible(Arguments(i), Arguments(i).Expression, MTypes(i), NTypes(i), False, Nothing, False, True, False)
 
             '*	Aj is the literal 0, Mj is a numeric type and Nj is an enumerated type, or
             isLiteral0 = IsLiteral0Expression(Compiler, Arguments(i).Expression) AndAlso Compiler.TypeResolution.IsNumericType(MTypes(i)) AndAlso Helper.IsEnum(Compiler, NTypes(i))
@@ -3487,12 +4398,14 @@ Public Class Helper
     End Function
 
     Shared Function IsLiteral0Expression(ByVal Compiler As Compiler, ByVal exp As Expression) As Boolean
+        Dim constant As Object = Nothing
+
         If exp Is Nothing Then Return False
         Dim litExp As LiteralExpression = TryCast(exp, LiteralExpression)
         If litExp Is Nothing Then Return False
-        If litExp.ConstantValue Is Nothing Then Return False
-        If Compiler.TypeResolution.IsIntegralType(CecilHelper.GetType(Compiler, litExp.ConstantValue)) = False Then Return False
-        If CDbl(litExp.ConstantValue) = 0.0 Then Return True
+        If litExp.GetConstant(constant, False) = False Then Return False
+        If Compiler.TypeResolution.IsIntegralType(CecilHelper.GetType(Compiler, constant)) = False Then Return False
+        If CDbl(constant) = 0.0 Then Return True
         Return False
     End Function
 
@@ -3880,7 +4793,6 @@ Public Class Helper
         Return CType(CInt(tp1) << TypeCombinations.SHIFT Or CInt(tp2), TypeCombinations)
     End Function
 
-
     Shared Function ShowClassificationError(ByVal Compiler As Compiler, ByVal Location As Span, ByVal ActualClassification As ExpressionClassification, ByVal Expected As String) As Boolean
         Select Case ActualClassification.Classification
             Case ExpressionClassification.Classifications.Type
@@ -3888,7 +4800,8 @@ Public Class Helper
                 Return Compiler.Report.ShowMessage(Messages.VBNC30691, Location, tp.Name, tp.Namespace)
             Case ExpressionClassification.Classifications.Value
                 Dim vC As ValueClassification = ActualClassification.AsValueClassification
-                If vC.IsConstant Then
+                Dim constant As Object = Nothing
+                If vC.GetConstant(constant, False) Then
                     Return Compiler.Report.ShowMessage(Messages.VBNC30074, Location)
                 Else
                     Helper.AddError(Compiler, Location, "Expected " & Expected & " got " & ActualClassification.Classification.ToString())
@@ -3961,7 +4874,7 @@ Public Class Helper
         Return GetMostEncompassedType(Compiler, types)
     End Function
 
-    Public Shared Function VerifyConstraints(ByVal Context As ParsedObject, ByVal parameters As Mono.Collections.Generic.Collection(Of GenericParameter), ByVal arguments As Mono.Collections.Generic.Collection(Of TypeReference)) As Boolean
+    Public Shared Function VerifyConstraints(ByVal Context As ParsedObject, ByVal parameters As Mono.Collections.Generic.Collection(Of GenericParameter), ByVal arguments As Mono.Collections.Generic.Collection(Of TypeReference), ByVal ShowErrors As Boolean) As Boolean
         Dim result As Boolean = True
 
         For i As Integer = 0 To Math.Min(parameters.Count, arguments.Count) - 1
@@ -3973,17 +4886,21 @@ Public Class Helper
                 If gt IsNot Nothing Then
                     If gt.HasDefaultConstructorConstraint = False AndAlso gt.HasNotNullableValueTypeConstraint = False Then
                         Dim tr As TypeReference = TryCast(param.Owner, TypeReference)
-                        If Helper.CompareType(tr, Context.Compiler.TypeCache.System_Nullable1) Then
-                            result = Context.Compiler.Report.ShowMessage(Messages.VBNC33101, Context.Location, Helper.ToString(Context, arg))
-                        Else
-                            result = Context.Compiler.Report.ShowMessage(Messages.VBNC32084, Context.Location, Helper.ToString(Context, arg), param.Name)
+                        If ShowErrors Then
+                            If Helper.CompareType(tr, Context.Compiler.TypeCache.System_Nullable1) Then
+                                result = Context.Compiler.Report.ShowMessage(Messages.VBNC33101, Context.Location, Helper.ToString(Context, arg))
+                            Else
+                                result = Context.Compiler.Report.ShowMessage(Messages.VBNC32084, Context.Location, Helper.ToString(Context, arg), param.Name)
+                            End If
                         End If
+                        result = False
                         Continue For
                     End If
                 Else
                     Dim ctor As MethodReference = Helper.GetDefaultConstructor(arg)
                     If (ctor Is Nothing OrElse Helper.IsPublic(ctor) = False) AndAlso CecilHelper.IsValueType(arg) = False Then
-                        result = Context.Compiler.Report.ShowMessage(Messages.VBNC32083, Context.Location, Helper.ToString(Context, arg), param.Name)
+                        If ShowErrors Then Context.Compiler.Report.ShowMessage(Messages.VBNC32083, Context.Location, Helper.ToString(Context, arg), param.Name)
+                        result = False
                         Continue For
                     End If
                 End If
@@ -3992,11 +4909,13 @@ Public Class Helper
             If param.HasNotNullableValueTypeConstraint Then
                 If gt Is Nothing Then
                     If CecilHelper.IsValueType(arg) = False Then
-                        result = Context.Compiler.Report.ShowMessage(Messages.VBNC32105, Context.Location, Helper.ToString(Context, arg), param.Name)
+                        If ShowErrors Then Context.Compiler.Report.ShowMessage(Messages.VBNC32105, Context.Location, Helper.ToString(Context, arg), param.Name)
+                        result = False
                     End If
                 Else
                     If gt.HasNotNullableValueTypeConstraint = False Then
-                        result = Context.Compiler.Report.ShowMessage(Messages.VBNC32105, Context.Location, Helper.ToString(Context, arg), param.Name)
+                        If ShowErrors Then Context.Compiler.Report.ShowMessage(Messages.VBNC32105, Context.Location, Helper.ToString(Context, arg), param.Name)
+                        result = False
                     End If
                 End If
             End If
@@ -4004,11 +4923,13 @@ Public Class Helper
             If param.HasReferenceTypeConstraint Then
                 If gt IsNot Nothing Then
                     If gt.HasReferenceTypeConstraint = False Then
-                        result = Context.Compiler.Report.ShowMessage(Messages.VBNC32106, Context.Location, Helper.ToString(Context, arg), param.Name)
+                        If ShowErrors Then Context.Compiler.Report.ShowMessage(Messages.VBNC32106, Context.Location, Helper.ToString(Context, arg), param.Name)
+                        result = False
                     End If
                 Else
                     If CecilHelper.IsClass(arg) = False Then
-                        result = Context.Compiler.Report.ShowMessage(Messages.VBNC32106, Context.Location, Helper.ToString(Context, arg), param.Name)
+                        If ShowErrors Then Context.Compiler.Report.ShowMessage(Messages.VBNC32106, Context.Location, Helper.ToString(Context, arg), param.Name)
+                        result = False
                     End If
                 End If
             End If
@@ -4023,11 +4944,13 @@ Public Class Helper
                     If gt Is Nothing Then
                         If Helper.IsInterface(Context, constr) Then
                             If Helper.DoesTypeImplementInterface(Context, arg, constr) = False Then
-                                result = Context.Compiler.Report.ShowMessage(Messages.VBNC32044, Context.Location, Helper.ToString(Context, arg), Helper.ToString(Context, constr))
+                                If ShowErrors Then Context.Compiler.Report.ShowMessage(Messages.VBNC32044, Context.Location, Helper.ToString(Context, arg), Helper.ToString(Context, constr))
+                                result = False
                             End If
                         Else
                             If Helper.IsSubclassOf(constr, arg) = False Then
-                                result = Context.Compiler.Report.ShowMessage(Messages.VBNC32044, Context.Location, Helper.ToString(Context, arg), Helper.ToString(Context, constr))
+                                If ShowErrors Then Context.Compiler.Report.ShowMessage(Messages.VBNC32044, Context.Location, Helper.ToString(Context, arg), Helper.ToString(Context, constr))
+                                result = False
                             End If
                         End If
                     Else
@@ -4044,7 +4967,8 @@ Public Class Helper
                             End If
                         Next
                         If found = False Then
-                            result = Context.Compiler.Report.ShowMessage(Messages.VBNC32044, Context.Location, Helper.ToString(Context, arg), Helper.ToString(Context, constr))
+                            If ShowErrors Then Context.Compiler.Report.ShowMessage(Messages.VBNC32044, Context.Location, Helper.ToString(Context, arg), Helper.ToString(Context, constr))
+                            result = False
                         End If
                     End If
                 Next
@@ -4054,4 +4978,3 @@ Public Class Helper
     End Function
 End Class
 
-
diff --git a/vbnc/vbnc/source/General/MemberCache.vb b/vbnc/vbnc/source/General/MemberCache.vb
index b987d2e..c4994ba 100644
--- a/vbnc/vbnc/source/General/MemberCache.vb
+++ b/vbnc/vbnc/source/General/MemberCache.vb
@@ -50,14 +50,14 @@ End Enum
 Public Class MemberCache
     Private m_Compiler As Compiler
 
-    Private m_CacheInsensitive(MemberVisibility.All) As MemberCacheEntries
-    Private m_FlattenedCacheInsensitive(MemberVisibility.All) As MemberCacheEntries
+    Public m_CacheInsensitive(MemberVisibility.All) As MemberCacheEntries
+    Public m_FlattenedCacheInsensitive(MemberVisibility.All) As MemberCacheEntries
     Private m_ShadowedInterfaceMembers As Generic.List(Of Mono.Cecil.MemberReference)
     Private m_Type As Mono.Cecil.TypeReference
     Private m_Types As List(Of Mono.Cecil.TypeReference)
     Private m_Members As List(Of Mono.Collections.Generic.Collection(Of MemberReference))
     Private m_Bases As List(Of MemberCache)
-    Private m_LoadedNames(MemberVisibility.All) As System.Collections.Generic.Dictionary(Of String, String)
+    Private m_LoadedNames(MemberVisibility.All) As System.Collections.Generic.HashSet(Of String)
     Private m_LoadedAll(MemberVisibility.All) As Boolean
 
     Sub New(ByVal Compiler As Compiler, ByVal Type As Mono.Cecil.TypeReference)
@@ -124,6 +124,7 @@ Public Class MemberCache
         For i As Integer = 0 To MemberVisibility.All - 1
             Clear(CType(i, MemberVisibility))
         Next
+        m_Bases = Nothing
     End Sub
 
     Public Sub Clear(ByVal Visibility As MemberVisibility)
@@ -164,14 +165,14 @@ Public Class MemberCache
         If m_LoadedAll(Visibility) Then
             Return
         ElseIf m_LoadedNames(Visibility) Is Nothing Then
-            m_LoadedNames(Visibility) = New Dictionary(Of String, String)(Helper.StringComparer)
-        ElseIf Name IsNot Nothing AndAlso m_LoadedNames(Visibility).ContainsKey(Name) Then
+            m_LoadedNames(Visibility) = New HashSet(Of String)(Helper.StringComparer)
+        ElseIf Name IsNot Nothing AndAlso m_LoadedNames(Visibility).Contains(Name) Then
             Return
         End If
 
         If Name Is Nothing Then Clear(Visibility)
 
-        If Name IsNot Nothing Then m_LoadedNames(Visibility).Add(Name, Name)
+        If Name IsNot Nothing Then m_LoadedNames(Visibility).Add(Name)
 
         For i As Integer = 0 To m_Types.Count - 1
             Load(m_Types(i), m_Members(i), Name, Visibility)
@@ -327,7 +328,7 @@ Public Class MemberCache
             isHidden = False
             If m_ShadowedInterfaceMembers IsNot Nothing AndAlso m_ShadowedInterfaceMembers.Contains(member) Then
                 isHidden = True
-            ElseIf Me.IsHidden(member, Visibility) Then
+            ElseIf Me.IsHidden(member, Visibility, cache.Members) Then
                 isHidden = True
                 If m_ShadowedInterfaceMembers IsNot Nothing Then m_ShadowedInterfaceMembers.Add(member)
             End If
@@ -409,7 +410,7 @@ Public Class MemberCache
         End If
     End Sub
 
-    Private Function IsHidden(ByVal baseMember As Mono.Cecil.MemberReference, ByVal Visibility As MemberVisibility) As Boolean
+    Private Function IsHidden(ByVal baseMember As Mono.Cecil.MemberReference, ByVal Visibility As MemberVisibility, ByVal exclude As Mono.Collections.Generic.Collection(Of MemberReference)) As Boolean
         Dim current As MemberCacheEntry
         Dim memberParameterTypes As Mono.Cecil.TypeReference() = Nothing
 
@@ -425,6 +426,8 @@ Public Class MemberCache
                 Return True
             End If
 
+            If exclude.Contains(thisMember) Then Continue For
+
             Select Case CecilHelper.GetMemberType(thisMember)
                 Case MemberTypes.Constructor, MemberTypes.Event, MemberTypes.Field, MemberTypes.NestedType, MemberTypes.TypeInfo
                     Return True
diff --git a/vbnc/vbnc/source/General/Message.vb b/vbnc/vbnc/source/General/Message.vb
index 96c64d9..bf10b73 100644
--- a/vbnc/vbnc/source/General/Message.vb
+++ b/vbnc/vbnc/source/General/Message.vb
@@ -35,7 +35,7 @@ Public Class Message
     ''' The location of the code corresponding to the the message.
     ''' </summary>
     ''' <remarks></remarks>
-    Private m_Location As Span
+    Private m_Location As Nullable(Of Span)
 
     ''' <summary>
     ''' The parameters of the message(s)
@@ -49,22 +49,55 @@ Public Class Message
     Private Const MESSAGEFORMATWITHLOCATION As String = "%LOCATION% : %MESSAGELEVEL% %MESSAGE%"
 
     ''' <summary>
+    ''' Format of messages without a location.
+    ''' </summary>
+    ''' <remarks></remarks>
+    Private Const MESSAGEFORMATNOLOCATION As String = "vbnc : %MESSAGELEVEL% %MESSAGE%"
+
+    ''' <summary>
     ''' The format of the message
     ''' </summary>
     ''' <remarks></remarks>
-    Private Const MESSAGEFORMAT As String = "%MESSAGELEVEL% : %MESSAGE%"
+    Private Const MESSAGEFORMAT As String = "vbnc : %MESSAGELEVEL% : %MESSAGE%"
 
     ''' <summary>
     ''' Get the severity level of this message.
     ''' </summary>
-    ReadOnly Property Level() As MessageLevel
+    Function GetLevel() As MessageLevel
+        If IsWarningAsError() Then Return MessageLevel.Error
+        Return Level
+    End Function
+
+    ReadOnly Property Level As MessageLevel
         Get
-            Dim attr As MessageAttribute
-            attr = DirectCast(System.Attribute.GetCustomAttribute(GetType(Messages).GetField(m_Message(0).ToString), GetType(MessageAttribute)), MessageAttribute)
-            Return attr.Level
+            Return DirectCast(System.Attribute.GetCustomAttribute(GetType(Messages).GetField(m_Message(0).ToString), GetType(MessageAttribute)), MessageAttribute).Level
         End Get
     End Property
 
+    Function IsWarningAsError() As Boolean
+        If Level <> MessageLevel.Warning Then Return False
+
+        If Compiler.CommandLine.WarnAsError.HasValue AndAlso Compiler.CommandLine.WarnAsError.Value Then
+            Return True
+        ElseIf Compiler.CommandLine.WarningsAsError IsNot Nothing AndAlso Compiler.CommandLine.WarningsAsError.Contains(CInt(m_Message(0))) Then
+            Return True
+        Else
+            Return False
+        End If
+    End Function
+
+    Function IsSuppressedWarning() As Boolean
+        If Level <> MessageLevel.Warning Then Return False
+
+        If IsWarningAsError() Then Return False
+
+        If Compiler.CommandLine.NoWarn Then Return True
+
+        If Compiler.CommandLine.NoWarnings Is Nothing Then Return False
+
+        Return Compiler.CommandLine.NoWarnings.Contains((CInt(m_Message(0))))
+    End Function
+
     ''' <summary>
     ''' The actual message itself.
     ''' Might be several messages if this is a multiline message.
@@ -82,7 +115,7 @@ Public Class Message
     ''' <remarks></remarks>
     ReadOnly Property Location() As Span
         Get
-            Return m_Location
+            Return m_Location.GetValueOrDefault()
         End Get
     End Property
 
@@ -131,48 +164,72 @@ Public Class Message
         End If
     End Sub
 
+    ''' <summary>
+    ''' Create a new message with the specified data.
+    ''' </summary>
+    Sub New(ByVal Compiler As Compiler, ByVal Message As Messages, ByVal Parameters() As String)
+        Me.m_Compiler = Compiler
+        Me.m_Message = New Messages() {Message}
+        Me.m_Location = Nothing
+        If Parameters Is Nothing Then
+            Me.m_Parameters = New String()() {New String() {}}
+        Else
+            Me.m_Parameters = New String()() {Parameters}
+        End If
+    End Sub
+
     ReadOnly Property Compiler() As Compiler
         Get
             Return m_Compiler
         End Get
     End Property
 
-    ''' <summary>
-    ''' Formats the message to a string.
-    ''' The returned string might have several lines.
-    ''' </summary>
-    Overrides Function ToString() As String
-        Dim strMessages(), strMessage, strLocation As String
-        Dim result As String
+    Function GetText(IncludeNumber As Boolean) As String
+        Dim strMessages() As String
 
         Helper.Assert(m_Message IsNot Nothing, "m_Message Is Nothing")
         Helper.Assert(m_Parameters IsNot Nothing, "m_Parameters Is Nothing")
 
         'Get the message string and format it with the message parameters.
+
         ReDim strMessages(m_Message.GetUpperBound(0))
         For i As Integer = 0 To m_Message.GetUpperBound(0)
             strMessages(i) = Report.LookupErrorCode(m_Message(i))
             Helper.Assert(m_Parameters(i) IsNot Nothing, "m_Parameters(" & i.ToString & ") Is Nothing")
-			If m_Parameters IsNot Nothing AndAlso m_Parameters.Length > i Then
-            	strMessages(i) = String.Format(strMessages(i), m_Parameters(i))
-			End If
-            If i = 0 Then strMessages(i) = m_Message(i).ToString & ": " & strMessages(i)
+            If m_Parameters IsNot Nothing AndAlso m_Parameters.Length > i Then
+                strMessages(i) = String.Format(strMessages(i), m_Parameters(i))
+            End If
+            If IncludeNumber AndAlso i = 0 Then strMessages(i) = m_Message(i).ToString & ": " & strMessages(i)
         Next
-        strMessage = Microsoft.VisualBasic.Join(strMessages, Microsoft.VisualBasic.vbNewLine)
+        Return Microsoft.VisualBasic.Join(strMessages, Microsoft.VisualBasic.vbNewLine)
+    End Function
+
+    ''' <summary>
+    ''' Formats the message to a string.
+    ''' The returned string might have several lines.
+    ''' </summary>
+    Overrides Function ToString() As String
+        Dim strMessage, strLocation As String
+        Dim result As String
+
+        strMessage = GetText(True)
 
         'Get the location string
         If Location.HasFile Then
             strLocation = Location.ToString(Compiler)
             result = MESSAGEFORMATWITHLOCATION
+        ElseIf m_Location.HasValue Then
+            strLocation = "vbnc : Command line"
+            result = MESSAGEFORMATWITHLOCATION
         Else
-            strLocation = ""
-            result = MESSAGEFORMAT
+            strLocation = String.Empty
+            result = MESSAGEFORMATNOLOCATION
         End If
 
         'Format the entire message.
         result = result.Replace("%LOCATION%", strLocation)
         result = result.Replace("%MESSAGE%", strMessage)
-        result = result.Replace("%MESSAGELEVEL%", Level.ToString)
+        result = result.Replace("%MESSAGELEVEL%", GetLevel().ToString.ToLower())
 
         Return result
     End Function
diff --git a/vbnc/vbnc/source/General/Messages.vb b/vbnc/vbnc/source/General/Messages.vb
index 88d40f8..ad53de2 100644
--- a/vbnc/vbnc/source/General/Messages.vb
+++ b/vbnc/vbnc/source/General/Messages.vb
@@ -30,6 +30,13 @@ Public Enum Messages
     <Message(MessageLevel.Error)> VBNC2001 = 2001
 
     ''' <summary>
+    ''' VBNC = "response file '{0}' included multiple times"
+    ''' VB   = "(No corresponding vbc error)"
+    ''' </summary>
+    ''' <remarks></remarks>
+    <Message(MessageLevel.Error)> VBNC2003 = 2003
+
+    ''' <summary>
     ''' VBNC = "Option '{0}' requires ':{1}'"
     ''' VB   = "option '%s' requires ':%s'"
     ''' </summary>
@@ -58,8 +65,15 @@ Public Enum Messages
     <Message(MessageLevel.Error)> VBNC2011 = 2011
 
     ''' <summary>
-    ''' VBNC = "The response file '{0}' has already been included"
-    ''' VB   = "response file '%s' included multiple times"
+    ''' VBNC = "can't open '{0}' for writing"
+    ''' VB   = "can't open '%s' for writing"
+    ''' </summary>
+    ''' <remarks></remarks>
+    <Message(MessageLevel.Error)> VBNC2012 = 2012
+
+    ''' <summary>
+    ''' VBNC = "the value '{0}' is invalid for option '{1}'"
+    ''' VB   = "(No corresponding vbc error)"
     ''' </summary>
     ''' <remarks></remarks>
     <Message(MessageLevel.Error)> VBNC2014 = 2014
@@ -100,7 +114,7 @@ Public Enum Messages
     <Message(MessageLevel.Error)> VBNC30001 = 30001
 
     ''' <summary>
-    ''' VBNC = "Could not find the type '{0}'."
+    ''' VBNC = "Type '{0}' is not defined."
     ''' VB   = "Type '|1' is not defined."
     ''' </summary>
     ''' <remarks></remarks>
@@ -219,7 +233,7 @@ Public Enum Messages
     <Message(MessageLevel.Error)> VBNC30019 = 30019
 
     ''' <summary>
-    ''' VBNC = "CHANGEME"
+    ''' VBNC = "'Is' operator does not accept operands of type '{0}'. Operands must be reference or nullable types."
     ''' VB   = "'Is' requires operands that have reference types, but this operand has the value type '|1'."
     ''' </summary>
     ''' <remarks></remarks>
@@ -233,14 +247,14 @@ Public Enum Messages
     <Message(MessageLevel.Error)> VBNC30021 = 30021
 
     ''' <summary>
-    ''' VBNC = "CHANGEME"
+    ''' VBNC = "Properties declared 'ReadOnly' cannot have a 'Set'."
     ''' VB   = "Properties declared 'ReadOnly' cannot have a 'Set'."
     ''' </summary>
     ''' <remarks></remarks>
     <Message(MessageLevel.Error)> VBNC30022 = 30022
 
     ''' <summary>
-    ''' VBNC = "CHANGEME"
+    ''' VBNC = "Properties declared 'WriteOnly' cannot have a 'Get'."
     ''' VB   = "Properties declared 'WriteOnly' cannot have a 'Get'."
     ''' </summary>
     ''' <remarks></remarks>
@@ -345,7 +359,7 @@ Public Enum Messages
     <Message(MessageLevel.Error)> VBNC30037 = 30037
 
     ''' <summary>
-    ''' VBNC = "CHANGEME"
+    ''' VBNC = "Option Strict On prohibits operands of type Object for operator '{0}'."
     ''' VB   = "Option Strict On prohibits operands of type Object for operator '|1'."
     ''' </summary>
     ''' <remarks></remarks>
@@ -436,7 +450,7 @@ Public Enum Messages
     <Message(MessageLevel.Error)> VBNC30053 = 30053
 
     ''' <summary>
-    ''' VBNC = "Too many arguments provided to '{0}'."
+    ''' VBNC = "Too many arguments to '{0}'."
     ''' VB   = "Too many arguments to '|1'."
     ''' </summary>
     ''' <remarks></remarks>
@@ -513,7 +527,7 @@ Public Enum Messages
     <Message(MessageLevel.Error)> VBNC30069 = 30069
 
     ''' <summary>
-    ''' VBNC = "The variable specified after Next doesn't match the variable specified in the for loop ({0})."
+    ''' VBNC = "Next control variable does not match For loop control variable '{0}'."
     ''' VB   = "Next control variable does not match For loop control variable '|1'."
     ''' </summary>
     ''' <remarks></remarks>
@@ -674,7 +688,7 @@ Public Enum Messages
     <Message(MessageLevel.Error)> VBNC30098 = 30098
 
     ''' <summary>
-    ''' VBNC = "This 'Exit Select' statement is not contained within a 'Select' statement."
+    ''' VBNC = "'Exit Select' can only appear inside a 'Select' statement."
     ''' VB   = "'Exit Select' can only appear inside a 'Select' statement."
     ''' </summary>
     ''' <remarks></remarks>
@@ -695,14 +709,14 @@ Public Enum Messages
     <Message(MessageLevel.Error)> VBNC30103 = 30103
 
     ''' <summary>
-    ''' VBNC = "CHANGEME"
+    ''' VBNC = "Number of indices is less than the number of dimensions of the indexed array."
     ''' VB   = "Number of indices is less than the number of dimensions of the indexed array."
     ''' </summary>
     ''' <remarks></remarks>
     <Message(MessageLevel.Error)> VBNC30105 = 30105
 
     ''' <summary>
-    ''' VBNC = "CHANGEME"
+    ''' VBNC = "Number of indices exceeds the number of dimensions of the indexed array."
     ''' VB   = "Number of indices exceeds the number of dimensions of the indexed array."
     ''' </summary>
     ''' <remarks></remarks>
@@ -779,21 +793,21 @@ Public Enum Messages
     <Message(MessageLevel.Error)> VBNC30123 = 30123
 
     ''' <summary>
-    ''' VBNC = "CHANGEME"
+    ''' VBNC = "Property without a 'ReadOnly' or 'WriteOnly' specifier must provide both a 'Get' and a 'Set'."
     ''' VB   = "Property without a 'ReadOnly' or 'WriteOnly' specifier must provide both a 'Get' and a 'Set'."
     ''' </summary>
     ''' <remarks></remarks>
     <Message(MessageLevel.Error)> VBNC30124 = 30124
 
     ''' <summary>
-    ''' VBNC = "CHANGEME"
+    ''' VBNC = "'WriteOnly' property must provide a 'Set'."
     ''' VB   = "'WriteOnly' property must provide a 'Set'."
     ''' </summary>
     ''' <remarks></remarks>
     <Message(MessageLevel.Error)> VBNC30125 = 30125
 
     ''' <summary>
-    ''' VBNC = "CHANGEME"
+    ''' VBNC = "'ReadOnly' property must provide a 'Get'."
     ''' VB   = "'ReadOnly' property must provide a 'Get'."
     ''' </summary>
     ''' <remarks></remarks>
@@ -835,7 +849,7 @@ Public Enum Messages
     <Message(MessageLevel.Error)> VBNC30131 = 30131
 
     ''' <summary>
-    ''' VBNC = "CHANGEME"
+    ''' VBNC = "Label '{0}' is not defined."
     ''' VB   = "Label '|1' is not defined."
     ''' </summary>
     ''' <remarks></remarks>
@@ -1031,14 +1045,14 @@ Public Enum Messages
     <Message(MessageLevel.Error)> VBNC30181 = 30181
 
     ''' <summary>
-    ''' VBNC = "Epxected type."
+    ''' VBNC = "Type expected."
     ''' VB   = "Type expected."
     ''' </summary>
     ''' <remarks></remarks>
     <Message(MessageLevel.Error)> VBNC30182 = 30182
 
     ''' <summary>
-    ''' VBNC = "CHANGEME"
+    ''' VBNC = "Keyword is not valid as an identifier."
     ''' VB   = "Keyword is not valid as an identifier."
     ''' </summary>
     ''' <remarks></remarks>
@@ -1143,7 +1157,7 @@ Public Enum Messages
     <Message(MessageLevel.Error)> VBNC30202 = 30202
 
     ''' <summary>
-    ''' VBNC = "Not valid as identifier."
+    ''' VBNC = "Identifier expected."
     ''' VB   = "Identifier expected."
     ''' </summary>
     ''' <remarks></remarks>
@@ -1157,7 +1171,7 @@ Public Enum Messages
     <Message(MessageLevel.Error)> VBNC30204 = 30204
 
     ''' <summary>
-    ''' VBNC = "Expected end of statement."
+    ''' VBNC = "End of statement expected."
     ''' VB   = "End of statement expected."
     ''' </summary>
     ''' <remarks></remarks>
@@ -1213,7 +1227,7 @@ Public Enum Messages
     <Message(MessageLevel.Error)> VBNC30215 = 30215
 
     ''' <summary>
-    ''' VBNC = "CHANGEME"
+    ''' VBNC = "String constant expected."
     ''' VB   = "String constant expected."
     ''' </summary>
     ''' <remarks></remarks>
@@ -1360,14 +1374,14 @@ Public Enum Messages
     <Message(MessageLevel.Error)> VBNC30247 = 30247
 
     ''' <summary>
-    ''' VBNC = "CHANGEME"
-    ''' VB   = "'If', 'ElseIf', 'Else', 'End If', or 'Const' expected."
+    ''' VBNC = "'If', 'ElseIf', 'Else', 'End If', 'Const', or 'Region' expected."
+    ''' VB   = "'If', 'ElseIf', 'Else', 'End If', 'Const', or 'Region' expected."
     ''' </summary>
     ''' <remarks></remarks>
     <Message(MessageLevel.Error)> VBNC30248 = 30248
 
     ''' <summary>
-    ''' VBNC = "CHANGEME"
+    ''' VBNC = "'=' expected."
     ''' VB   = "'=' expected."
     ''' </summary>
     ''' <remarks></remarks>
@@ -1500,7 +1514,7 @@ Public Enum Messages
     <Message(MessageLevel.Error)> VBNC30278 = 30278
 
     ''' <summary>
-    ''' VBNC = "CHANGEME"
+    ''' VBNC = "Enum '{0}' must contain at least one member."
     ''' VB   = "Enum '|1' must contain at least one member."
     ''' </summary>
     ''' <remarks></remarks>
@@ -1668,28 +1682,28 @@ Public Enum Messages
     <Message(MessageLevel.Error)> VBNC30310 = 30310
 
     ''' <summary>
-    ''' VBNC = "Cannot convert from '{0}' to '{1}'."
+    ''' VBNC = "Value of type '{0}' cannot be converted to '{1}'."
     ''' VB   = "Value of type '|1' cannot be converted to '|2'."
     ''' </summary>
     ''' <remarks></remarks>
     <Message(MessageLevel.Error)> VBNC30311 = 30311
 
     ''' <summary>
-    ''' VBNC = "CHANGEME"
+    ''' VBNC = "'Case' cannot follow a 'Case Else' in the same 'Select' statement."
     ''' VB   = "'Case' cannot follow a 'Case Else' in the same 'Select' statement."
     ''' </summary>
     ''' <remarks></remarks>
     <Message(MessageLevel.Error)> VBNC30321 = 30321
 
     ''' <summary>
-    ''' VBNC = "CHANGEME"
+    ''' VBNC = "Value of type '{0}' cannot be converted to '{1}' because '{2}' is not derived from '{3}'."
     ''' VB   = "Value of type '|1' cannot be converted to '|2' because '|3' is not derived from '|4'."
     ''' </summary>
     ''' <remarks></remarks>
     <Message(MessageLevel.Error)> VBNC30332 = 30332
 
     ''' <summary>
-    ''' VBNC = "CHANGEME"
+    ''' VBNC = "Value of type '{0}' cannot be converted to '{1}' because '{2}' is not a reference type."
     ''' VB   = "Value of type '|1' cannot be converted to '|2' because '|3' is not a reference type."
     ''' </summary>
     ''' <remarks></remarks>
@@ -1780,7 +1794,7 @@ Public Enum Messages
     <Message(MessageLevel.Error)> VBNC30366 = 30366
 
     ''' <summary>
-    ''' VBNC = "CHANGEME"
+    ''' VBNC = "Class '{0}' cannot be indexed because it has no default property."
     ''' VB   = "Class '|1' cannot be indexed because it has no default property."
     ''' </summary>
     ''' <remarks></remarks>
@@ -1794,7 +1808,7 @@ Public Enum Messages
     <Message(MessageLevel.Error)> VBNC30368 = 30368
 
     ''' <summary>
-    ''' VBNC = "CHANGEME"
+    ''' VBNC = "Cannot refer to an instance member of a class from within a shared method or shared member initializer without an explicit instance of the class."
     ''' VB   = "Cannot refer to an instance member of a class from within a shared method or shared member initializer without an explicit instance of the class."
     ''' </summary>
     ''' <remarks></remarks>
@@ -1983,7 +1997,7 @@ Public Enum Messages
     <Message(MessageLevel.Error)> VBNC30413 = 30413
 
     ''' <summary>
-    ''' VBNC = "CHANGEME"
+    ''' VBNC = "Value of type '{0}' cannot be converted to '{1}' because the array types have different number of dimensions."
     ''' VB   = "Value of type '|1' cannot be converted to '|2' because the array types have different numbers of dimensions."
     ''' </summary>
     ''' <remarks></remarks>
@@ -2102,14 +2116,14 @@ Public Enum Messages
     <Message(MessageLevel.Error)> VBNC30442 = 30442
 
     ''' <summary>
-    ''' VBNC = "CHANGEME"
+    ''' VBNC = "'Get' is already declared."
     ''' VB   = "'Get' is already declared."
     ''' </summary>
     ''' <remarks></remarks>
     <Message(MessageLevel.Error)> VBNC30443 = 30443
 
     ''' <summary>
-    ''' VBNC = "CHANGEME"
+    ''' VBNC = "'Set' is already declared."
     ''' VB   = "'Set' is already declared."
     ''' </summary>
     ''' <remarks></remarks>
@@ -2123,14 +2137,14 @@ Public Enum Messages
     <Message(MessageLevel.Error)> VBNC30445 = 30445
 
     ''' <summary>
-    ''' VBNC = "Could not resolve the name '{0}'"
+    ''' VBNC = "'{0}' is not declared. It may be inaccessible due to its protection level."
     ''' VB   = "Name '|1' is not declared."
     ''' </summary>
     ''' <remarks></remarks>
     <Message(MessageLevel.Error)> VBNC30451 = 30451
 
     ''' <summary>
-    ''' VBNC = "Operator '{0}' is not defined for the types '{1}' and '{2}'."
+    ''' VBNC = "Operator '{0}' is not defined for types '{1}' and '{2}'."
     ''' VB   = "Operator '|1' is not defined for types '|2' and '|3'."
     ''' </summary>
     ''' <remarks></remarks>
@@ -2207,7 +2221,7 @@ Public Enum Messages
     <Message(MessageLevel.Error)> VBNC30467 = 30467
 
     ''' <summary>
-    ''' VBNC = "CHANGEME"
+    ''' VBNC = "Type declaration characters are not valid in this context."
     ''' VB   = "Type declaration characters are not valid in this context."
     ''' </summary>
     ''' <remarks></remarks>
@@ -2256,7 +2270,7 @@ Public Enum Messages
     <Message(MessageLevel.Error)> VBNC30479 = 30479
 
     ''' <summary>
-    ''' VBNC = "CHANGEME"
+    ''' VBNC = "Shared 'Sub New' cannot be declared '{0}'."
     ''' VB   = "Shared 'Sub New' cannot be declared '|1'."
     ''' </summary>
     ''' <remarks></remarks>
@@ -2270,7 +2284,7 @@ Public Enum Messages
     <Message(MessageLevel.Error)> VBNC30481 = 30481
 
     ''' <summary>
-    ''' VBNC = "CHANGEME"
+    ''' VBNC = "Operator '{0}' is not defined for type '{1}'."
     ''' VB   = "Operator '|1' is not defined for type '|2'."
     ''' </summary>
     ''' <remarks></remarks>
@@ -2389,14 +2403,14 @@ Public Enum Messages
     <Message(MessageLevel.Error)> VBNC30509 = 30509
 
     ''' <summary>
-    ''' VBNC = "Option Strict On does not allow implicit conversions from '{0}' to '{1}'."
+    ''' VBNC = "Option Strict On disallows implicit conversions from '{0}' to '{1}'."
     ''' VB   = "Option Strict On disallows implicit conversions from '|1' to '|2'."
     ''' </summary>
     ''' <remarks></remarks>
     <Message(MessageLevel.Error)> VBNC30512 = 30512
 
     ''' <summary>
-    ''' VBNC = "Overload resolution failed because no '{0}' is accessible with the specified number of arguments."
+    ''' VBNC = "Overload resolution failed because no accessible '{0}' accepts this number of arguments."
     ''' VB   = "Overload resolution failed because no accessible '|1' accepts this number of arguments."
     ''' </summary>
     ''' <remarks></remarks>
@@ -2410,14 +2424,14 @@ Public Enum Messages
     <Message(MessageLevel.Error)> VBNC30517 = 30517
 
     ''' <summary>
-    ''' VBNC = "CHANGEME"
+    ''' VBNC = "Overload resolution failed because no accessible '{0}' can be called with these arguments:{1}"
     ''' VB   = "Overload resolution failed because no accessible '|1' can be called with these arguments:|2"
     ''' </summary>
     ''' <remarks></remarks>
     <Message(MessageLevel.Error)> VBNC30518 = 30518
 
     ''' <summary>
-    ''' VBNC = "CHANGEME"
+    ''' VBNC = "Overload resolution failed because no accessible '{0}' can be called without a narrowing conversion:{1}"
     ''' VB   = "Overload resolution failed because no accessible '|1' can be called without a narrowing conversion:|2"
     ''' </summary>
     ''' <remarks></remarks>
@@ -2711,14 +2725,14 @@ Public Enum Messages
     <Message(MessageLevel.Error)> VBNC30585 = 30585
 
     ''' <summary>
-    ''' VBNC = "CHANGEME"
+    ''' VBNC = "Named argument cannot match a ParamArray parameter."
     ''' VB   = "Named argument cannot match a ParamArray parameter."
     ''' </summary>
     ''' <remarks></remarks>
     <Message(MessageLevel.Error)> VBNC30587 = 30587
 
     ''' <summary>
-    ''' VBNC = "CHANGEME"
+    ''' VBNC = "Omitted argument cannot match a ParamArray parameter."
     ''' VB   = "Omitted argument cannot match a ParamArray parameter."
     ''' </summary>
     ''' <remarks></remarks>
@@ -2900,7 +2914,7 @@ Public Enum Messages
     <Message(MessageLevel.Error)> VBNC30622 = 30622
 
     ''' <summary>
-    ''' VBNC = "CHANGEME"
+    ''' VBNC = "'End Namespace' must be preceded by a matching 'Namespace'."
     ''' VB   = "'End Namespace' must be preceded by a matching 'Namespace'."
     ''' </summary>
     ''' <remarks></remarks>
@@ -3068,7 +3082,7 @@ Public Enum Messages
     <Message(MessageLevel.Error)> VBNC30647 = 30647
 
     ''' <summary>
-    ''' VBNC = "CHANGEME"
+    ''' VBNC = "String constants must end with a double quote."
     ''' VB   = "String constants must end with a double quote."
     ''' </summary>
     ''' <remarks></remarks>
@@ -3082,7 +3096,7 @@ Public Enum Messages
     <Message(MessageLevel.Error)> VBNC30649 = 30649
 
     ''' <summary>
-    ''' VBNC = "Invalid enum type."
+    ''' VBNC = "Enums must be declared as an integral type."
     ''' VB   = "Enums must be declared as an integral type."
     ''' </summary>
     ''' <remarks></remarks>
@@ -4279,7 +4293,7 @@ Public Enum Messages
     <Message(MessageLevel.Error)> VBNC31014 = 31014
 
     ''' <summary>
-    ''' VBNC = "CHANGEME"
+    ''' VBNC = "Unable to write to output file '{0}': {1}"
     ''' VB   = "Unable to write to output file '|1': |0"
     ''' </summary>
     ''' <remarks></remarks>
@@ -4559,7 +4573,7 @@ Public Enum Messages
     <Message(MessageLevel.Error)> VBNC31071 = 31071
 
     ''' <summary>
-    ''' VBNC = "CHANGEME"
+    ''' VBNC = "Warning treated as error : {0}"
     ''' VB   = "Warning treated as error : |1"
     ''' </summary>
     ''' <remarks></remarks>
@@ -4643,7 +4657,7 @@ Public Enum Messages
     <Message(MessageLevel.Error)> VBNC31086 = 31086
 
     ''' <summary>
-    ''' VBNC = "A variable can't declare array modifiers both on the variable name and on the type."
+    ''' VBNC = "Array modifiers cannot be specified on both a variable and its type."
     ''' VB   = "Array modifiers cannot be specified on both a variable and its type."
     ''' </summary>
     ''' <remarks></remarks>
@@ -4937,7 +4951,7 @@ Public Enum Messages
     <Message(MessageLevel.Error)> VBNC31418 = 31418
 
     ''' <summary>
-    ''' VBNC = "CHANGEME"
+    ''' VBNC = "'IsNot' requires operands that have reference types, but this operand has the value type '{0}'."
     ''' VB   = "'IsNot' requires operands that have reference types, but this operand has the value type '|1'."
     ''' </summary>
     ''' <remarks></remarks>
@@ -5147,7 +5161,7 @@ Public Enum Messages
     <Message(MessageLevel.Error)> VBNC31526 = 31526
 
     ''' <summary>
-    ''' VBNC = "CHANGEME"
+    ''' VBNC = "Local variable '{0}' cannot be referred to before it is declared."
     ''' VB   = "Local variable '|1' cannot be referred to before it is declared."
     ''' </summary>
     ''' <remarks></remarks>
@@ -5224,7 +5238,7 @@ Public Enum Messages
     <Message(MessageLevel.Error)> VBNC32012 = 32012
 
     ''' <summary>
-    ''' VBNC = "CHANGEME"
+    ''' VBNC = "Option Strict On disallows operands of type Object for operator '{0}'. Use the 'Is' operator to test for object identity."
     ''' VB   = "Option Strict On disallows operands of type Object for operator '|1'. Use the 'Is' operator to test for object identity."
     ''' </summary>
     ''' <remarks></remarks>
@@ -5273,7 +5287,7 @@ Public Enum Messages
     <Message(MessageLevel.Error)> VBNC32020 = 32020
 
     ''' <summary>
-    ''' VBNC = "CHANGEME"
+    ''' VBNC = "Parameter '{0}' in '{1}' already has a matching omitted argument."
     ''' VB   = "Parameter '|1' in '|2' already has a matching omitted argument."
     ''' </summary>
     ''' <remarks></remarks>
@@ -6505,7 +6519,7 @@ Public Enum Messages
     <Message(MessageLevel.Warning)> VBNC40041 = 40041
 
     ''' <summary>
-    ''' VBNC = "The import '{0}' could not be found."
+    ''' VBNC = "Namespace or type specified in the Imports '{0}' doesn't contain any public member or cannot be found. Make sure the namespace or the type is defined and contains at least one public member. Make sure the imported element name doesn't use any aliases."
     ''' VB   = "Namespace or type specified in the Imports 'Foo' doesn't contain any public member or cannot be found. Make sure the namespace or the type is defined and contains at least one public member. Make sure the imported element name doesn't use any aliases."
     ''' </summary>
     ''' <remarks></remarks>
@@ -6596,17 +6610,24 @@ Public Enum Messages
     <Message(MessageLevel.Warning)> VBNC42015 = 42015
 
     ''' <summary>
-    ''' VBNC = "Variable declaration without an 'As' clause; Object type assumed."
+    ''' VBNC = "Variable declaration without an 'As' clause; type of Object assumed."
     ''' VB   = "Variable declaration without an 'As' clause; type of Object assumed."
     ''' </summary>
     ''' <remarks></remarks>
     <Message(MessageLevel.Warning)> VBNC42020 = 42020
 
     ''' <summary>
-    ''' VBNC = "Function without an 'As' clause; Object return type assumed."
+    ''' VBNC = "Function without an 'As' clause; return type of Object assumed."
     ''' VB   = "Function without an 'As' clause; return type of Object assumed."
     ''' </summary>
     ''' <remarks></remarks>
+    <Message(MessageLevel.Warning)> VBNC42021 = 42021
+
+    ''' <summary>
+    ''' VBNC = "Unused local variable: '{0}'."
+    ''' VB   = "Unused local variable: '|1'."
+    ''' </summary>
+    ''' <remarks></remarks>
     <Message(MessageLevel.Warning)> VBNC42024 = 42024
 
     ''' <summary>
diff --git a/vbnc/vbnc/source/General/MethodBaseDeclaration.vb b/vbnc/vbnc/source/General/MethodBaseDeclaration.vb
index 07dc3a2..02ecc55 100755
--- a/vbnc/vbnc/source/General/MethodBaseDeclaration.vb
+++ b/vbnc/vbnc/source/General/MethodBaseDeclaration.vb
@@ -37,24 +37,14 @@ Public MustInherit Class MethodBaseDeclaration
 
     Protected Sub New(ByVal Parent As TypeDeclaration)
         MyBase.new(Parent)
-        UpdateDefinition()
     End Sub
 
     Protected Sub New(ByVal Parent As PropertyDeclaration)
         MyBase.new(Parent)
-        UpdateDefinition()
     End Sub
 
     Protected Sub New(ByVal Parent As EventDeclaration)
         MyBase.new(Parent)
-        UpdateDefinition()
-    End Sub
-
-    Public Overrides Sub Initialize(ByVal Parent As BaseObject)
-        MyBase.Initialize(Parent)
-
-        If m_Signature IsNot Nothing Then m_Signature.Initialize(Me)
-        If m_Code IsNot Nothing Then m_Code.Initialize(Me)
     End Sub
 
     Shadows Sub Init(ByVal Modifiers As Modifiers, ByVal Signature As SubSignature)
@@ -69,32 +59,34 @@ Public MustInherit Class MethodBaseDeclaration
         Helper.Assert(m_Signature IsNot Nothing)
     End Sub
 
-    Overrides Sub UpdateDefinition()
-        MyBase.UpdateDefinition()
+    Function DefineOptionalParameters() As Boolean
+        Dim result As Boolean = True
 
-        If m_CecilBuilder Is Nothing Then
-            m_CecilBuilder = New Mono.Cecil.MethodDefinition(Name, 0, Helper.GetTypeOrTypeReference(Compiler, Compiler.TypeCache.System_Void))
-            m_CecilBuilder.Annotations.Add(Compiler, Me)
-        End If
+        result = m_Signature.Parameters.DefineOptionalParameters AndAlso result
+
+        Return result
+    End Function
+
+    Public Overrides Function CreateDefinition() As Boolean
+        Dim result As Boolean = True
+
+        result = MyBase.CreateDefinition AndAlso result
+
+        Helper.Assert(m_CecilBuilder Is Nothing)
+        m_CecilBuilder = New Mono.Cecil.MethodDefinition(Name, 0, Helper.GetTypeOrTypeReference(Compiler, Compiler.TypeCache.System_Void))
+        m_CecilBuilder.Annotations.Add(Compiler, Me)
         m_CecilBuilder.Name = Name
         m_CecilBuilder.HasThis = Not Me.IsShared
+        m_CecilBuilder.DeclaringType = DeclaringType.CecilType
 
-        If Signature IsNot Nothing AndAlso Signature.Parameters IsNot Nothing Then
-            ReturnType = m_Signature.ReturnType
-            If Signature.Parameters IsNot Nothing Then
-                For i As Integer = 0 To Signature.Parameters.Count - 1
-                    Signature.Parameters(i).UpdateDefinition()
-                Next
-            End If
-        End If
+        DeclaringType.CecilType.Methods.Add(CecilBuilder)
+
+        If m_Signature IsNot Nothing Then result = m_Signature.CreateDefinition AndAlso result
 
         MethodAttributes = Helper.GetAttributes(Me)
-        If IsExternalDeclaration Then
-            MethodImplAttributes = Mono.Cecil.MethodImplAttributes.IL Or Mono.Cecil.MethodImplAttributes.PreserveSig
-        Else
-            MethodImplAttributes = Mono.Cecil.MethodImplAttributes.IL
-        End If
-    End Sub
+
+        Return result
+    End Function
 
     Public ReadOnly Property IsExternalDeclaration() As Boolean
         Get
@@ -108,7 +100,7 @@ Public MustInherit Class MethodBaseDeclaration
         End Get
     End Property
 
-    Private Function DefineSecurityDeclarations() As Boolean
+    Public Function DefineSecurityDeclarations() As Boolean
         Dim result As Boolean = True
         Dim checkedAll As Boolean = True
 
@@ -116,7 +108,6 @@ Public MustInherit Class MethodBaseDeclaration
 
         If CustomAttributes Is Nothing Then Return True
 
-
         For i As Integer = 0 To CustomAttributes.Count - 1
             If CustomAttributes(i).ResolvedType Is Nothing Then
                 checkedAll = False
@@ -161,8 +152,10 @@ Public MustInherit Class MethodBaseDeclaration
                 CecilBuilder.SecurityDeclarations.Add(sec)
                 CustomAttributes.Remove(attrib)
                 CecilBuilder.CustomAttributes.Remove(attrib.CecilBuilder)
+
+                Me.MethodAttributes = Mono.Cecil.MethodAttributes.HasSecurity
             Catch ex As Exception
-                Compiler.Report.ShowMessage(Messages.VBNC30128, attrib.Location, ex.Message)
+                Compiler.Report.ShowMessage(Messages.VBNC30128, attrib.Location, attrib.AttributeType.Name, ex.Message)
                 result = False
             End Try
 
@@ -310,6 +303,12 @@ Public MustInherit Class MethodBaseDeclaration
 
         If m_Code IsNot Nothing Then result = m_Code.ResolveTypeReferences AndAlso result
 
+        If IsExternalDeclaration Then
+            MethodImplAttributes = Mono.Cecil.MethodImplAttributes.IL Or Mono.Cecil.MethodImplAttributes.PreserveSig
+        Else
+            MethodImplAttributes = Mono.Cecil.MethodImplAttributes.IL
+        End If
+
         Return result
     End Function
 
@@ -335,14 +334,6 @@ Public MustInherit Class MethodBaseDeclaration
         Return result
     End Function
 
-    Public Overridable Function DefineMember() As Boolean Implements IDefinableMember.DefineMember
-        Dim result As Boolean = True
-
-        result = DefineSecurityDeclarations() AndAlso result
-
-        Return result
-    End Function
-
     Friend Overrides Function GenerateCode(ByVal Info As EmitInfo) As Boolean
         Dim result As Boolean = True
 
@@ -457,5 +448,4 @@ Public MustInherit Class MethodBaseDeclaration
 
         Return result
     End Function
-
 End Class
diff --git a/vbnc/vbnc/source/General/MyGenerator.vb b/vbnc/vbnc/source/General/MyGenerator.vb
index aeca248..d8d613c 100755
--- a/vbnc/vbnc/source/General/MyGenerator.vb
+++ b/vbnc/vbnc/source/General/MyGenerator.vb
@@ -136,6 +136,7 @@ Public Class MyGenerator
             ProjectCode.AppendLine("    End Module")
 
             Code.Insert(0, "Namespace My" & Environment.NewLine)
+            Code.Insert(0, "    Imports System" & Environment.NewLine)
             Code.Append(ProjectCode)
             Code.AppendLine("End Namespace")
 
diff --git a/vbnc/vbnc/source/General/Report.vb b/vbnc/vbnc/source/General/Report.vb
index d955985..20d61d8 100644
--- a/vbnc/vbnc/source/General/Report.vb
+++ b/vbnc/vbnc/source/General/Report.vb
@@ -38,7 +38,7 @@ Public Class Report
     ''' The max number of errors before quit compiling.
     ''' </summary>
     ''' <remarks></remarks>
-    Const MAXERRORS As Integer = 50
+    Const MAXERRORS As Integer = 100
 
     ''' <summary>
     ''' The resource manager for this report.
@@ -86,6 +86,7 @@ Public Class Report
 
     Private m_ReportLevel As ReportLevels = ReportLevels.Debug
     Private m_Listeners As New Generic.List(Of Diagnostics.TraceListener)
+    Private m_WarningAsErrorShown As Boolean
 
     ''' <summary>
     ''' The listeners who will receive text output.
@@ -221,7 +222,7 @@ Public Class Report
 
         For Each msg As Message In m_SavedMessages
             ShowMessage(False, msg) 'Compiler.Report.WriteLine(str)
-            If msg.Level >= MessageLevel.Error Then result = True
+            If msg.GetLevel() >= MessageLevel.Error Then result = True
         Next
         m_SavedMessages.Clear()
         Return result
@@ -264,8 +265,7 @@ Public Class Report
     ''' </summary>
     <Diagnostics.DebuggerHidden()> _
     Function ShowMessageNoLocation(ByVal Message As Messages, ByVal ParamArray Parameters() As String) As Boolean
-        Dim Location As Span = Nothing
-        Return ShowMessage(False, New Message(Compiler, Message, Parameters, Location))
+        Return ShowMessage(False, New Message(Compiler, Message, Parameters))
     End Function
 
     ''' <summary>
@@ -292,14 +292,22 @@ Public Class Report
     Private Function ShowMessage(ByVal SaveIt As Boolean, ByVal Message As Message) As Boolean
         Dim isOnlyWarning As Boolean = False
 
-        isOnlyWarning = Message.Level <= MessageLevel.Warning
+        If Message.IsSuppressedWarning Then Return True
+
+        isOnlyWarning = Message.GetLevel() <= MessageLevel.Warning
 
         If SaveIt Then
             m_SavedMessages.Add(Message)
         Else
             m_Messages.Add(Message)
             Compiler.Report.WriteLine(vbnc.Report.ReportLevels.Always, Message.ToString())
-            m_MessageCount(Message.Level) += 1
+            m_MessageCount(Message.GetLevel()) += 1
+
+            If m_WarningAsErrorShown = False AndAlso Message.IsWarningAsError() Then
+                m_WarningAsErrorShown = True
+                ShowMessage(Messages.VBNC31072, Message.Location, Message.GetText(False))
+            End If
+
             If m_MessageCount(MessageLevel.Error) > MAXERRORS Then
                 Throw New TooManyErrorsException()
             End If
@@ -310,7 +318,7 @@ Public Class Report
 #End If
 
 #If STOPONERROR Then
-        If Helper.IsDebugging AndAlso Message.Level = MessageLevel.Error Then
+        If Helper.IsDebugging AndAlso Message.GetLevel() = MessageLevel.Error Then
             Helper.Stop()
         ElseIf Helper.IsBootstrapping Then
             Throw New InternalException(Message.ToString)
diff --git a/vbnc/vbnc/source/General/Scanner.vb b/vbnc/vbnc/source/General/Scanner.vb
index 732e3b7..9c766fe 100644
--- a/vbnc/vbnc/source/General/Scanner.vb
+++ b/vbnc/vbnc/source/General/Scanner.vb
@@ -27,6 +27,9 @@ Public Class Scanner
     Inherits BaseObject
 
     'Useful constants.
+    Private Const nl27 As Char = """"c
+    Private Const nl201C As Char = Microsoft.VisualBasic.ChrW(&H201C)
+    Private Const nl201D As Char = Microsoft.VisualBasic.ChrW(&H201D)
     Private Const nl0 As Char = Microsoft.VisualBasic.ChrW(0)
     Private Const nlA As Char = Microsoft.VisualBasic.ChrW(&HA)
     Private Const nlD As Char = Microsoft.VisualBasic.ChrW(&HD)
@@ -87,14 +90,12 @@ Public Class Scanner
 
     Private m_Files As Generic.Queue(Of CodeFile)
 
-    Private m_Peeked As Token
-
     'Data about the current token
     Private m_LastWasNewline As Boolean
     Private m_Current As Token
     Private m_CurrentTypeCharacter As TypeCharacters.Characters
-    Private m_CurrentTokenType As TokenType
     Private m_CurrentData As Object
+    Private m_Peeked As Token?
 
 #Region "Conditional Compilation"
     'Data related to conditional compilation
@@ -127,7 +128,9 @@ Public Class Scanner
         For i As Integer = 0 To attribs.Count - 1
             Dim attrib As Mono.Cecil.CustomAttribute = attribs(i)
             Dim identifier As String
-
+            If Helper.CompareType(Compiler.TypeCache.System_Diagnostics_ConditionalAttribute, attrib.AttributeType) = False Then
+                Continue For
+            End If
             If attrib.ConstructorArguments.Count <> 1 Then
                 Continue For
             End If
@@ -203,10 +206,11 @@ Public Class Scanner
             Me.EatLine(False)
             Return
         End If
+
         Me.NextUnconditionally()
 
         If m_Current.IsIdentifier = False Then
-            Compiler.Report.ShowMessage(Messages.VBNC30203, GetCurrentLocation())
+            Compiler.Report.ShowMessage(Messages.VBNC30203, m_Current.Location)
             Me.EatLine(False)
             Return
         End If
@@ -214,7 +218,7 @@ Public Class Scanner
         Me.NextUnconditionally()
 
         If m_Current <> KS.Equals Then
-            Helper.AddError(Compiler, GetCurrentLocation, "Expected '='")
+            Compiler.Report.ShowMessage(Messages.VBNC30249, m_Current.Location)
             Return
         End If
         Me.NextUnconditionally()
@@ -341,10 +345,14 @@ Public Class Scanner
             Me.EatLine(False)
             Return
         End If
+
+        'Save the location of the #Region token to use as the location of any missing string literal
+        Dim regionLoc As Span = GetCurrentLocation()
+
         Me.NextUnconditionally()
 
         If Not m_Current.IsStringLiteral Then
-            Helper.AddError(Me, "Expected string literal")
+            Compiler.Report.ShowMessage(Messages.VBNC30217, regionLoc)
             EatLine(False)
             Return
         End If
@@ -459,7 +467,6 @@ Public Class Scanner
             NextUnconditionally()
 
             If m_Current.IsEndOfCode Then
-                m_Peeked = m_Current
                 Return m_Current
             End If
 
@@ -469,7 +476,17 @@ Public Class Scanner
             End If
 
             If TokensSeenOnLine = 1 AndAlso m_Current = KS.Numeral Then
+
                 Me.NextUnconditionally()
+
+                If m_Current.IsEndOfFile Then
+                    ResetCurrentConstants()
+                    Return m_Current
+                ElseIf m_Current.IsEndOfLine Then
+                    EatLine(True)
+                    Return Me.Next()
+                End If
+
                 If m_Current = KS.If Then
                     ParseIf()
                 ElseIf m_Current = KS.Else Then
@@ -485,7 +502,7 @@ Public Class Scanner
                 ElseIf m_Current = KS.End Then
                     ParseEnd()
                 Else
-                    Helper.AddError(Me.Compiler, Me.GetCurrentLocation, "Expected 'If', 'ElseIf', 'Else', 'Const' or 'Region'.")
+                    Compiler.Report.ShowMessage(Messages.VBNC30248, GetCurrentLocation())
                     EatLine(False)
                 End If
             ElseIf IfdOut Then
@@ -501,12 +518,6 @@ Public Class Scanner
         Loop While m_Current.IsEndOfCode = False AndAlso m_Current.IsEndOfFile = False
         Return m_Current
     End Function
-
-    Public Function Peek() As Token
-        If Token.IsSomething(m_Peeked) Then Return m_Peeked
-        m_Peeked = Me.Next
-        Return m_Peeked
-    End Function
 #End Region
 
 #Region "StringBuilder"
@@ -888,20 +899,20 @@ Public Class Scanner
         StringBuilderLength = 0
         Do
             Select Case NextChar()
-                Case """"c '
+                Case nl27, nl201C, nl201D
                     'If " followed by a ", output one "
-                    If NextChar() = """" Then
-                        StringBuilderAppend(""""c)
+                    Dim nc As Char = NextChar()
+                    If nc = nl27 OrElse nc = nl201C OrElse nc = nl201D Then
+                        StringBuilderAppend(nc)
                     Else
                         bEndOfString = True
                     End If
                 Case nlA, nlD, nl2028, nl2029
-                    'vbc accepts this...
-                    Compiler.Report.ShowMessage(Messages.VBNC90003, GetCurrentLocation())
+                    Compiler.Report.ShowMessage(Messages.VBNC30648, GetCurrentLocation)
                     bEndOfString = True
                 Case Else
                     If m_EndOfFile Then
-                        Compiler.Report.ShowMessage(Messages.VBNC90004, GetCurrentLocation())
+                        Compiler.Report.ShowMessage(Messages.VBNC30648, GetCurrentLocation)
                         'PreviousChar() 'Step back
                         bEndOfString = True
                     Else
@@ -1329,13 +1340,17 @@ Public Class Scanner
         Dim Result As Token = Nothing
         Do
             Select Case CurrentChar()
-                Case """"c 'String Literal
+                Case nl27, nl201C, nl201D 'String Literal
                     Result = GetString()
                 Case COMMENTCHAR1, COMMENTCHAR2, COMMENTCHAR3 'VB Comment
                     EatComment()
                 Case nlD, nlA, nl2028, nl2029 'New line
-                    EatNewLine()
+
+                    'Keep the current line of the end of line token to the current line so we get better
+                    'location info for errors and warnings
                     Result = Token.CreateEndOfLineToken(GetCurrentLocation)
+                    EatNewLine()
+
                 Case nl0 'End of file
                     Result = Token.CreateEndOfFileToken(GetCurrentLocation)
                 Case ":"c ':
@@ -1582,9 +1597,12 @@ Public Class Scanner
     End Sub
 
     Public Sub NextUnconditionally()
+        Dim lastTokenType As TokenType
+        Dim lastKS As KS
 
-        If Token.IsSomething(m_Peeked) Then
-            m_Current = m_Peeked
+        If m_Peeked.HasValue Then
+            m_Current = m_Peeked.Value
+            m_CurrentData = m_Current.m_TokenType
             m_Peeked = Nothing
             Return
         End If
@@ -1598,22 +1616,29 @@ Public Class Scanner
             Return
         End If
 
+        lastTokenType = m_Current.m_TokenType
+        If lastTokenType = TokenType.Symbol Then
+            lastKS = DirectCast(m_CurrentData, KS)
+        End If
+
         m_CurrentTypeCharacter = TypeCharacters.Characters.None
         m_Current = GetNextToken()
 
-        'Console.WriteLine("Scanned token: " & result.FriendlyString())
-
-        'If m_Current.IsEndOfFile() Then
-        '    If Token.IsSomething(m_Current) AndAlso Not m_Current.IsEndOfLineOnly Then
-        '        m_Peeked = m_Current
-        '        m_Current = Token.CreateEndOfLineToken(Me.GetCurrentLocation)
-        '    End If
-        '    'NextFile()
-        'End If
-
-        m_CurrentTokenType = m_Current.m_TokenType
         m_CurrentData = m_Current.m_TokenObject
 
+        If m_Current.m_TokenType = TokenType.EndOfLine Then
+            If lastTokenType = TokenType.Symbol AndAlso (lastKS = KS.Comma OrElse lastKS = KS.LParenthesis OrElse lastKS = KS.LBrace) Then
+                m_CurrentTypeCharacter = TypeCharacters.Characters.None
+                m_Current = GetNextToken()
+                m_CurrentData = m_Current.m_TokenObject
+            Else
+                m_Peeked = GetNextToken()
+
+                If m_Peeked.Value.IsSymbol AndAlso (m_Peeked.Value.Symbol = KS.RParenthesis OrElse m_Peeked.Value.Symbol = KS.RBrace) Then
+                    NextUnconditionally()
+                End If
+            End If
+        End If
     End Sub
 
     Public ReadOnly Property Current() As Token
@@ -1639,11 +1664,5 @@ Public Class Scanner
             Return m_CurrentData
         End Get
     End Property
-
-    Public ReadOnly Property TokenType() As TokenType
-        Get
-            Return m_CurrentTokenType
-        End Get
-    End Property
 End Class
 
diff --git a/vbnc/vbnc/source/General/TypeCache.vb b/vbnc/vbnc/source/General/TypeCache.vb
index 19dc613..19fccba 100755
--- a/vbnc/vbnc/source/General/TypeCache.vb
+++ b/vbnc/vbnc/source/General/TypeCache.vb
@@ -559,6 +559,7 @@ Public Partial Class CecilTypeCache
     Public System_Runtime_InteropServices_StructLayoutAttribute As Mono.Cecil.TypeDefinition
     Public System_Runtime_InteropServices_FieldOffsetAttribute As Mono.Cecil.TypeDefinition
     Public System_Runtime_InteropServices_CoClassAttribute As Mono.Cecil.TypeDefinition
+    Public System_Runtime_InteropServices_OutAttribute As Mono.Cecil.TypeDefinition
     Public System_Security_Permissions_SecurityAttribute As Mono.Cecil.TypeDefinition
     Public System_Windows_Forms_Form As Mono.Cecil.TypeDefinition
     Public System_Windows_Forms_Application As Mono.Cecil.TypeDefinition
@@ -831,6 +832,7 @@ Public Partial Class CecilTypeCache
         System_Runtime_InteropServices_StructLayoutAttribute = [GetType](mscorlib, "System.Runtime.InteropServices.StructLayoutAttribute")
         System_Runtime_InteropServices_FieldOffsetAttribute = [GetType](mscorlib, "System.Runtime.InteropServices.FieldOffsetAttribute")
         System_Runtime_InteropServices_CoClassAttribute = [GetType](mscorlib, "System.Runtime.InteropServices.CoClassAttribute")
+        System_Runtime_InteropServices_OutAttribute = [GetType](mscorlib, "System.Runtime.InteropServices.OutAttribute")
         System_Security_Permissions_SecurityAttribute = [GetType](mscorlib, "System.Security.Permissions.SecurityAttribute")
         System_Windows_Forms_Form = [GetType](winforms, "System.Windows.Forms.Form")
         System_Windows_Forms_Application = [GetType](winforms, "System.Windows.Forms.Application")
@@ -988,3 +990,4 @@ End Class
 
 
 'END SRE
+
diff --git a/vbnc/vbnc/source/General/TypeConverter.vb b/vbnc/vbnc/source/General/TypeConverter.vb
index 76bf68b..18d493d 100644
--- a/vbnc/vbnc/source/General/TypeConverter.vb
+++ b/vbnc/vbnc/source/General/TypeConverter.vb
@@ -89,7 +89,7 @@ Public Class TypeConverter
             "XXXXXXXXXXXXXXXXX-X" & _
             "XBXBXBBBBBBBBBBBX-B" & _
             "XXXXXXXXXXXXXXXXX-X" & _
-            "XBXFXFHHJJLLPNOPX-O" & _
+            "XBXHXFHHJJLLPNOPX-O" & _
             "XXXXXXXXXXXXXXXXX-X" & _
             "XBXFXFHHJJLLPNOPX-O" & _
             "XBXHXHGHIJKLMNOPX-O" & _
@@ -99,9 +99,9 @@ Public Class TypeConverter
             "XBXLXLKLKLKLMNOPX-O" & _
             "XBXLXLLLLLLLPNOPX-O" & _
             "XBXPXPMPMPMPMNOPX-O" & _
-            "XBXNXNNNNNNNNNOPX-O" & _
+            "XBXNXNNNNNNNNNONX-O" & _
             "XBXOXOOOOOOOOOOOX-O" & _
-            "XBXPXPPPPPPPPPOPX-O" & _
+            "XBXPXPPPPPPPPNOPX-O" & _
             "XXXXXXXXXXXXXXXXX-X" & _
             "-------------------" & _
             "XBXOXOOOOOOOOOOOX-O"
@@ -111,11 +111,11 @@ Public Class TypeConverter
             "XXXXXXXXXXXXXXXXX-X" & _
             "XBXBXBBBBBBBBBBBX-B" & _
             "XXXXXXXXXXXXXXXXX-X" & _
-            "XBXFXHHJJJLLLLLLX-L" & _
+            "XBXHXFHHJJLLLLLLX-L" & _
             "XXXXXXXXXXXXXXXXX-X" & _
-            "XBXHXGHJJJLLLLLLX-L" & _
-            "XBXHXHHIIJKLMLLLX-L" & _
-            "XBXJXJIIJJLLLLLLX-L" & _
+            "XBXFXFHHJJLLLLLLX-L" & _
+            "XBXHXHGHIJKLMLLLX-L" & _
+            "XBXHXHHHJJLLLLLLX-L" & _
             "XBXJXJIJIJKLMLLLX-L" & _
             "XBXJXJJJJJLLLLLLX-L" & _
             "XBXLXLKLKLKLMLLLX-L" & _
@@ -133,19 +133,19 @@ Public Class TypeConverter
             "XXXXXXXXXXXXXXXXX-X" & _
             "XBXBXBBBBBBBBBBBX-B" & _
             "XXXXXXXXXXXXXXXXX-X" & _
-            "XBXOXOOOOOOOONOOX-O" & _
+            "XBXOXOOOOOOOONOPX-O" & _
             "XXXXXXXXXXXXXXXXX-X" & _
-            "XBXOXOOOOOOOONOOX-O" & _
-            "XBXOXOOOOOOOONOOX-O" & _
-            "XBXOXOOOOOOOONOOX-O" & _
-            "XBXOXOOOOOOOONOOX-O" & _
-            "XBXOXOOOOOOOONOOX-O" & _
-            "XBXOXOOOOOOOONOOX-O" & _
-            "XBXOXOOOOOOOONOOX-O" & _
-            "XBXOXOOOOOOOONOOX-O" & _
-            "XBXNXNNNNNNNNNOOX-O" & _
-            "XBXOXOOOOOOOOOOOX-O" & _
+            "XBXOXOOOOOOOONOPX-O" & _
+            "XBXOXOOOOOOOONOPX-O" & _
+            "XBXOXOOOOOOOONOPX-O" & _
+            "XBXOXOOOOOOOONOPX-O" & _
+            "XBXOXOOOOOOOONOPX-O" & _
+            "XBXOXOOOOOOOONOPX-O" & _
+            "XBXOXOOOOOOOONOPX-O" & _
+            "XBXOXOOOOOOOONOPX-O" & _
+            "XBXNXNNNNNNNNNONX-O" & _
             "XBXOXOOOOOOOOOOOX-O" & _
+            "XBXPXPPPPPPPPNOPX-O" & _
             "XXXXXXXXXXXXXXXXX-X" & _
             "-------------------" & _
             "XBXOXOOOOOOOOOOOX-O"
@@ -155,7 +155,7 @@ Public Class TypeConverter
             "XXXXXXXXXXXXXXXXX-X" & _
             "XBXBBBBBBBBBBBBBB-B" & _
             "XXXXXXXXXXXXXXXXX-X" & _
-            "XBXFXFHHJJLLPNOPX-O" & _
+            "XBXHXFHHJJLLPNOPX-O" & _
             "XBXXSXXXXXXXXXXXX-S" & _
             "XBXFXFHHJJLLPNOPX-O" & _
             "XBXHXHGHIJKLMNOPX-O" & _
@@ -165,10 +165,10 @@ Public Class TypeConverter
             "XBXLXLKLKLKLMNOPX-O" & _
             "XBXLXLLLLLLLPNOPX-O" & _
             "XBXPXPMPMPMPMNOPX-O" & _
-            "XBXNXNNNNNNNNNOPX-O" & _
+            "XBXNXNNNNNNNNNONX-O" & _
             "XBXOXOOOOOOOOOOOX-O" & _
-            "XBXPXPPPPPPPPPOPX-O" & _
-            "XBXXXXXXXXXXXXXXX-S" & _
+            "XBXPXPPPPPPPPNOPX-O" & _
+            "XBXXXXXXXXXXXXXXS-S" & _
             "-------------------" & _
             "XBXOSOOOOOOOOOOOS-S"
     Public Shared AddDefinedTypes As String = "FGHIJKLMNOPS"
@@ -177,7 +177,7 @@ Public Class TypeConverter
             "XXXXXXXXXXXXXXXXX-X" & _
             "XBXBXBBBBBBBBBBBX-B" & _
             "XXXXXXXXXXXXXXXXX-X" & _
-            "XBXFXFHHJJLLPNOPX-O" & _
+            "XBXHXFHHJJLLPNOPX-O" & _
             "XXXXXXXXXXXXXXXXX-X" & _
             "XBXFXFHHJJLLPNOPX-O" & _
             "XBXHXHGHIJKLMNOPX-O" & _
@@ -187,9 +187,9 @@ Public Class TypeConverter
             "XBXLXLKLKLKLMNOPX-O" & _
             "XBXLXLLLLLLLPNOPX-O" & _
             "XBXPXPMPMPMPMNOPX-O" & _
-            "XBXNXNNNNNNNNNOPX-O" & _
+            "XBXNXNNNNNNNNNONX-O" & _
             "XBXOXOOOOOOOOOOOX-O" & _
-            "XBXPXPPPPPPPPPOPX-O" & _
+            "XBXPXPPPPPPPPNOPX-O" & _
             "XXXXXXXXXXXXXXXXX-X" & _
             "-------------------" & _
             "XBXOXOOOOOOOOOOOX-O"
@@ -246,19 +246,19 @@ Public Class TypeConverter
             "XXXXXXXXXXXXXXXXX-X" & _
             "XBXBBBBBBBBBBBBBB-B" & _
             "XXXXXXXXXXXXXXXXX-X" & _
-            "XBXDXFHHJJPLPNOPX-D" & _
+            "XBXDXFHHJJLLPNOPX-D" & _
             "XBXXEXXXXXXXXXXXX-S" & _
             "XBXFXFHHJJPLPNOPX-O" & _
             "XBXHXHGHIJKLMNOPX-O" & _
             "XBXHXHHHJJPLPNOPX-O" & _
-            "XBXIXJIJIJKLMNOPX-O" & _
+            "XBXJXJIJIJKLMNOPX-O" & _
             "XBXJXJJJJJPLPNOPX-O" & _
-            "XBXPXPKPKPKLMNOPX-O" & _
+            "XBXLXPKPKPKLMNOPX-O" & _
             "XBXLXLLLLLLLPNOPX-O" & _
             "XBXPXPMPMPMPMNOPX-O" & _
-            "XBXNXNNNNNNNNNOPX-O" & _
-            "XBXOXOOOOOOOOOOPX-O" & _
-            "XBXPXPPPPPPPPPPPX-O" & _
+            "XBXNXNNNNNNNNNONX-O" & _
+            "XBXOXOOOOOOOOOOOX-O" & _
+            "XBXPXPPPPPPPPNOPX-O" & _
             "XBXXXXXXXXXXXXXXQ-Q" & _
             "-------------------" & _
             "XBXDSOOOOOOOOOOOQ-S"
@@ -288,35 +288,32 @@ Public Class TypeConverter
     Public Shared ExponentDefinedTypes As String = "O"
 
     Public Shared NotOperatorResultType As String = "XBXDXFGHIJKLMLLLX-L"
-    Public Shared NotDefinedTypes As String = "DFGHIJKLM"
 
-    Public Shared UnaryPlusResultType As String = "XBXFXFGHIJKLMNOPX-O"
-    Public Shared UnaryPlusDefinedTypes As String = "FGHIJKLMNOP"
+    Public Shared UnaryPlusResultType As String = "XBXHXFGHIJKLMNOPX-O"
 
-    Public Shared UnaryMinusResultType As String = "XBXFXFHHJJLLPNOPX-O"
-    Public Shared UnaryMinusDefinedTypes As String = "FHJLNOP"
+    Public Shared UnaryMinusResultType As String = "XBXHXFHHJJLLPNOPX-O"
 
     Public Shared ShiftDefinedTypes As String = "FGHIJKLM"
     Public Shared ShiftResultType As String = _
- "XXXXXXXXXXXXXXXXX-X" & _
- "XBXFXFGHIJKLMLLLX-L" & _
- "XXXXXXXXXXXXXXXXX-X" & _
- "XBXFXFGHIJKLMLLLX-L" & _
- "XXXXXXXXXXXXXXXXX-X" & _
- "XBXFXFGHIJKLMLLLX-L" & _
- "XBXFXFGHIJKLMLLLX-L" & _
- "XBXFXFGHIJKLMLLLX-L" & _
- "XBXFXFGHIJKLMLLLX-L" & _
- "XBXFXFGHIJKLMLLLX-L" & _
- "XBXFXFGHIJKLMLLLX-L" & _
- "XBXFXFGHIJKLMLLLX-L" & _
- "XBXFXFGHIJKLMLLLX-L" & _
- "XBXFXFGHIJKLMLLLX-L" & _
- "XBXFXFGHIJKLMLLLX-L" & _
- "XBXFXFGHIJKLMLLLX-L" & _
- "XXXXXXXXXXXXXXXXX-X" & _
- "-------------------" & _
- "XBXFXFGHIJKLMLLLX-L"
+             "XXXXXXXXXXXXXXXXX-X" & _
+             "XBXBXBBBBBBBBBBBX-B" & _
+             "XXXXXXXXXXXXXXXXX-X" & _
+             "XBXHXFGHIJKLMLLLX-L" & _
+             "XBXXXXXXXXXXXXXXX-X" & _
+             "XBXHXFGHIJKLMLLLX-L" & _
+             "XBXHXFGHIJKLMLLLX-L" & _
+             "XBXHXFGHIJKLMLLLX-L" & _
+             "XBXHXFGHIJKLMLLLX-L" & _
+             "XBXHXFGHIJKLMLLLX-L" & _
+             "XBXHXFGHIJKLMLLLX-L" & _
+             "XBXHXFGHIJKLMLLLX-L" & _
+             "XBXHXFGHIJKLMLLLX-L" & _
+             "XBXHXFGHIJKLMLLLX-L" & _
+             "XBXHXFGHIJKLMLLLX-L" & _
+             "XBXHXFGHIJKLMLLLX-L" & _
+             "XBXXXXXXXXXXXXXXX-X" & _
+             "-------------------" & _
+             "XBXHXFGHIJKLMLLLX-L"
 
 
     ''' <summary>
@@ -465,32 +462,38 @@ Public Class TypeConverter
     End Function
 
     Shared Function GetEqualsResultType(ByVal op1 As TypeCode, ByVal op2 As TypeCode) As TypeCode
-        If GetEqualsOperandType(op1, op2) = TypeCode.Empty Then Return TypeCode.Empty
+        Dim tp As TypeCode = GetEqualsOperandType(op1, op2)
+        If tp = TypeCode.Empty OrElse tp = TypeCode.Object Then Return tp
         Return TypeCode.Boolean
     End Function
 
     Shared Function GetLTResultType(ByVal op1 As TypeCode, ByVal op2 As TypeCode) As TypeCode
-        If GetLTOperandType(op1, op2) = TypeCode.Empty Then Return TypeCode.Empty
+        Dim tp As TypeCode = GetLTOperandType(op1, op2)
+        If tp = TypeCode.Empty OrElse tp = TypeCode.Object Then Return tp
         Return TypeCode.Boolean
     End Function
 
     Shared Function GetGTResultType(ByVal op1 As TypeCode, ByVal op2 As TypeCode) As TypeCode
-        If GetGTOperandType(op1, op2) = TypeCode.Empty Then Return TypeCode.Empty
+        Dim tp As TypeCode = GetGTOperandType(op1, op2)
+        If tp = TypeCode.Empty OrElse tp = TypeCode.Object Then Return tp
         Return TypeCode.Boolean
     End Function
 
     Shared Function GetLEResultType(ByVal op1 As TypeCode, ByVal op2 As TypeCode) As TypeCode
-        If GetLEOperandType(op1, op2) = TypeCode.Empty Then Return TypeCode.Empty
+        Dim tp As TypeCode = GetLEOperandType(op1, op2)
+        If tp = TypeCode.Empty OrElse tp = TypeCode.Object Then Return tp
         Return TypeCode.Boolean
     End Function
 
     Shared Function GetGEResultType(ByVal op1 As TypeCode, ByVal op2 As TypeCode) As TypeCode
-        If GetGEOperandType(op1, op2) = TypeCode.Empty Then Return TypeCode.Empty
+        Dim tp As TypeCode = GetGEOperandType(op1, op2)
+        If tp = TypeCode.Empty OrElse tp = TypeCode.Object Then Return tp
         Return TypeCode.Boolean
     End Function
 
     Shared Function GetNotEqualsResultType(ByVal op1 As TypeCode, ByVal op2 As TypeCode) As TypeCode
-        If GetNotEqualsOperandType(op1, op2) = TypeCode.Empty Then Return TypeCode.Empty
+        Dim tp As TypeCode = GetNotEqualsOperandType(op1, op2)
+        If tp = TypeCode.Empty OrElse tp = TypeCode.Object Then Return tp
         Return TypeCode.Boolean
     End Function
 
@@ -813,7 +816,7 @@ Public Class TypeConverter
     ''' <param name="Destination"></param>
     ''' <returns></returns>
     ''' <remarks></remarks>
-    Public Shared Function ConvertTo(ByVal Context As ParsedObject, ByVal Source As Object, ByVal Destination As Mono.Cecil.TypeReference, ByRef result As Object) As Boolean
+    Public Shared Function ConvertTo(ByVal Context As ParsedObject, ByVal Source As Object, ByVal Destination As Mono.Cecil.TypeReference, ByRef result As Object, ByVal ShowErrors As Boolean) As Boolean
         If Destination Is Nothing OrElse Source Is Nothing Then
             result = Source
             Return True
@@ -838,35 +841,35 @@ Public Class TypeConverter
 
         Select Case dtc
             Case TypeCode.Boolean
-                Return ConvertToBoolean(Context, Source, stc, result)
+                Return ConvertToBoolean(Context, Source, stc, result, ShowErrors)
             Case TypeCode.Byte
-                Return ConvertToByte(Context, Source, stc, result)
+                Return ConvertToByte(Context, Source, stc, result, ShowErrors)
             Case TypeCode.Char
-                Return ConvertToChar(Context, Source, stc, result)
+                Return ConvertToChar(Context, Source, stc, result, ShowErrors)
             Case TypeCode.DateTime
-                Return ConvertToDateTime(Context, Source, stc, result)
+                Return ConvertToDateTime(Context, Source, stc, result, ShowErrors)
             Case TypeCode.Decimal
-                Return ConvertToDecimal(Context, Source, stc, result)
+                Return ConvertToDecimal(Context, Source, stc, result, ShowErrors)
             Case TypeCode.Double
-                Return ConvertToDouble(Context, Source, stc, result)
+                Return ConvertToDouble(Context, Source, stc, result, ShowErrors)
             Case TypeCode.Int16
-                Return ConvertToInt16(Context, Source, stc, result)
+                Return ConvertToInt16(Context, Source, stc, result, ShowErrors)
             Case TypeCode.Int32
-                Return ConvertToInt32(Context, Source, stc, result)
+                Return ConvertToInt32(Context, Source, stc, result, ShowErrors)
             Case TypeCode.Int64
-                Return ConvertToInt64(Context, Source, stc, result)
+                Return ConvertToInt64(Context, Source, stc, result, ShowErrors)
             Case TypeCode.SByte
-                Return ConvertToSByte(Context, Source, stc, result)
+                Return ConvertToSByte(Context, Source, stc, result, ShowErrors)
             Case TypeCode.Single
-                Return ConvertToSingle(Context, Source, stc, result)
+                Return ConvertToSingle(Context, Source, stc, result, ShowErrors)
             Case TypeCode.String
-                Return ConvertToString(Context, Source, stc, result)
+                Return ConvertToString(Context, Source, stc, result, ShowErrors)
             Case TypeCode.UInt16
-                Return ConvertToUInt16(Context, Source, stc, result)
+                Return ConvertToUInt16(Context, Source, stc, result, ShowErrors)
             Case TypeCode.UInt32
-                Return ConvertToUInt32(Context, Source, stc, result)
+                Return ConvertToUInt32(Context, Source, stc, result, ShowErrors)
             Case TypeCode.UInt64
-                Return ConvertToUInt64(Context, Source, stc, result)
+                Return ConvertToUInt64(Context, Source, stc, result, ShowErrors)
             Case TypeCode.Object
                 result = Source
                 Return True
@@ -876,7 +879,7 @@ Public Class TypeConverter
         End Select
     End Function
 
-    Public Shared Function ConvertToBoolean(ByVal Context As ParsedObject, ByVal Source As Object, ByVal SourceTypeCode As TypeCode, ByRef result As Object) As Boolean
+    Public Shared Function ConvertToBoolean(ByVal Context As ParsedObject, ByVal Source As Object, ByVal SourceTypeCode As TypeCode, ByRef result As Object, ByVal ShowErrors As Boolean) As Boolean
         Select Case SourceTypeCode
             Case TypeCode.Boolean
                 result = Source
@@ -885,8 +888,10 @@ Public Class TypeConverter
                 result = CBool(DirectCast(Source, Byte))
                 Return True
             Case TypeCode.Char
+                If ShowErrors = False Then Return False
                 Return Context.Compiler.Report.ShowMessage(Messages.VBNC30311, Context.Location, "Char", "Boolean")
             Case TypeCode.DateTime
+                If ShowErrors = False Then Return False
                 Return Context.Compiler.Report.ShowMessage(Messages.VBNC30311, Context.Location, "Date", "Boolean")
             Case TypeCode.Decimal
                 result = CBool(DirectCast(Source, Decimal))
@@ -910,6 +915,7 @@ Public Class TypeConverter
                 result = CBool(DirectCast(Source, Single))
                 Return True
             Case TypeCode.String
+                If ShowErrors = False Then Return False
                 Return Context.Compiler.Report.ShowMessage(Messages.VBNC30060, Context.Location, "Byte", "String")
             Case TypeCode.UInt16
                 result = CBool(DirectCast(Source, UShort))
@@ -924,10 +930,11 @@ Public Class TypeConverter
                 result = CBool(Nothing)
                 Return True
         End Select
+        If ShowErrors = False Then Return False
         Return Context.Compiler.Report.ShowMessage(Messages.VBNC30439, Context.Location, "Boolean")
     End Function
 
-    Public Shared Function ConvertToByte(ByVal Context As ParsedObject, ByVal Source As Object, ByVal SourceTypeCode As TypeCode, ByRef result As Object) As Boolean
+    Public Shared Function ConvertToByte(ByVal Context As ParsedObject, ByVal Source As Object, ByVal SourceTypeCode As TypeCode, ByRef result As Object, ByVal ShowErrors As Boolean) As Boolean
         Select Case SourceTypeCode
             Case TypeCode.Boolean
                 Dim i As Boolean = DirectCast(Source, Boolean)
@@ -937,8 +944,10 @@ Public Class TypeConverter
                 result = Source
                 Return True
             Case TypeCode.Char
+                If ShowErrors = False Then Return False
                 Return Context.Compiler.Report.ShowMessage(Messages.VBNC32006, Context.Location, "Byte")
             Case TypeCode.DateTime
+                If ShowErrors = False Then Return False
                 Return Context.Compiler.Report.ShowMessage(Messages.VBNC30311, Context.Location, "Date", "Byte")
             Case TypeCode.Decimal
                 Dim i As Decimal = DirectCast(Source, Decimal)
@@ -983,6 +992,7 @@ Public Class TypeConverter
                     Return True
                 End If
             Case TypeCode.String
+                If ShowErrors = False Then Return False
                 Return Context.Compiler.Report.ShowMessage(Messages.VBNC30060, Context.Location, "Byte", "String")
             Case TypeCode.UInt16
                 Dim i As UShort = DirectCast(Source, UShort)
@@ -1006,35 +1016,47 @@ Public Class TypeConverter
                 result = CByte(0)
                 Return True
         End Select
+        If ShowErrors = False Then Return False
         Return Context.Compiler.Report.ShowMessage(Messages.VBNC30439, Context.Location, "Byte")
     End Function
 
-    Public Shared Function ConvertToChar(ByVal Context As ParsedObject, ByVal Source As Object, ByVal SourceTypeCode As TypeCode, ByRef result As Object) As Boolean
+    Public Shared Function ConvertToChar(ByVal Context As ParsedObject, ByVal Source As Object, ByVal SourceTypeCode As TypeCode, ByRef result As Object, ByVal ShowErrors As Boolean) As Boolean
         Select Case SourceTypeCode
             Case TypeCode.Boolean
+                If ShowErrors = False Then Return False
                 Return Context.Compiler.Report.ShowMessage(Messages.VBNC30311, Context.Location, "Boolean", "Char")
             Case TypeCode.Byte
+                If ShowErrors = False Then Return False
                 Return Context.Compiler.Report.ShowMessage(Messages.VBNC32007, Context.Location, "Byte")
             Case TypeCode.Char
                 result = Source
                 Return True
             Case TypeCode.DateTime
+                If ShowErrors = False Then Return False
                 Return Context.Compiler.Report.ShowMessage(Messages.VBNC30311, Context.Location, "DateTime", "Char")
             Case TypeCode.Decimal
+                If ShowErrors = False Then Return False
                 Return Context.Compiler.Report.ShowMessage(Messages.VBNC30311, Context.Location, "Decimal", "Char")
             Case TypeCode.Double
+                If ShowErrors = False Then Return False
                 Return Context.Compiler.Report.ShowMessage(Messages.VBNC30311, Context.Location, "Double", "Char")
             Case TypeCode.Int16
+                If ShowErrors = False Then Return False
                 Return Context.Compiler.Report.ShowMessage(Messages.VBNC32007, Context.Location, "Short")
             Case TypeCode.Int32
+                If ShowErrors = False Then Return False
                 Return Context.Compiler.Report.ShowMessage(Messages.VBNC32007, Context.Location, "Integer")
             Case TypeCode.Int64
+                If ShowErrors = False Then Return False
                 Return Context.Compiler.Report.ShowMessage(Messages.VBNC32007, Context.Location, "Long")
             Case TypeCode.SByte
+                If ShowErrors = False Then Return False
                 Return Context.Compiler.Report.ShowMessage(Messages.VBNC32007, Context.Location, "SByte")
             Case TypeCode.Single
+                If ShowErrors = False Then Return False
                 Return Context.Compiler.Report.ShowMessage(Messages.VBNC30311, Context.Location, "Single", "Char")
             Case TypeCode.String
+                If ShowErrors = False Then Return False
                 Dim str As String = DirectCast(Source, String)
                 If str.Length >= 1 Then
                     result = str(0)
@@ -1043,67 +1065,89 @@ Public Class TypeConverter
                 End If
                 Return True
             Case TypeCode.UInt16
+                If ShowErrors = False Then Return False
                 Return Context.Compiler.Report.ShowMessage(Messages.VBNC32007, Context.Location, "UShort")
             Case TypeCode.UInt32
+                If ShowErrors = False Then Return False
                 Return Context.Compiler.Report.ShowMessage(Messages.VBNC32007, Context.Location, "UInteger")
             Case TypeCode.UInt64
+                If ShowErrors = False Then Return False
                 Return Context.Compiler.Report.ShowMessage(Messages.VBNC32007, Context.Location, "ULong")
             Case TypeCode.DBNull
                 result = VB.Chr(0)
                 Return True
         End Select
+        If ShowErrors = False Then Return False
         Return Context.Compiler.Report.ShowMessage(Messages.VBNC30439, Context.Location, "Char")
     End Function
 
-    Public Shared Function ConvertToDateTime(ByVal Context As ParsedObject, ByVal Source As Object, ByVal SourceTypeCode As TypeCode, ByRef result As Object) As Boolean
+    Public Shared Function ConvertToDateTime(ByVal Context As ParsedObject, ByVal Source As Object, ByVal SourceTypeCode As TypeCode, ByRef result As Object, ByVal ShowErrors As Boolean) As Boolean
         Select Case SourceTypeCode
             Case TypeCode.Boolean
+                If ShowErrors = False Then Return False
                 Return Context.Compiler.Report.ShowMessage(Messages.VBNC30311, Context.Location, "Boolean", "Date")
             Case TypeCode.Byte
+                If ShowErrors = False Then Return False
                 Return Context.Compiler.Report.ShowMessage(Messages.VBNC30311, Context.Location, "Byte", "Date")
             Case TypeCode.Char
+                If ShowErrors = False Then Return False
                 Return Context.Compiler.Report.ShowMessage(Messages.VBNC30311, Context.Location, "Char", "Date")
             Case TypeCode.DateTime
                 result = Source
                 Return True
             Case TypeCode.Decimal
+                If ShowErrors = False Then Return False
                 Return Context.Compiler.Report.ShowMessage(Messages.VBNC30311, Context.Location, "Decimal", "Date")
             Case TypeCode.Double
+                If ShowErrors = False Then Return False
                 Return Context.Compiler.Report.ShowMessage(Messages.VBNC30533, Context.Location)
             Case TypeCode.Int16
+                If ShowErrors = False Then Return False
                 Return Context.Compiler.Report.ShowMessage(Messages.VBNC30311, Context.Location, "Short", "Date")
             Case TypeCode.Int32
+                If ShowErrors = False Then Return False
                 Return Context.Compiler.Report.ShowMessage(Messages.VBNC30311, Context.Location, "Integer", "Date")
             Case TypeCode.Int64
+                If ShowErrors = False Then Return False
                 Return Context.Compiler.Report.ShowMessage(Messages.VBNC30311, Context.Location, "Long", "Date")
             Case TypeCode.SByte
+                If ShowErrors = False Then Return False
                 Return Context.Compiler.Report.ShowMessage(Messages.VBNC30311, Context.Location, "SByte", "Date")
             Case TypeCode.Single
+                If ShowErrors = False Then Return False
                 Return Context.Compiler.Report.ShowMessage(Messages.VBNC30311, Context.Location, "Single", "Date")
             Case TypeCode.String
+                If ShowErrors = False Then Return False
                 Return Context.Compiler.Report.ShowMessage(Messages.VBNC30060, Context.Location, "String", "Date")
             Case TypeCode.UInt16
+                If ShowErrors = False Then Return False
                 Return Context.Compiler.Report.ShowMessage(Messages.VBNC30311, Context.Location, "UShort", "Date")
             Case TypeCode.UInt32
+                If ShowErrors = False Then Return False
                 Return Context.Compiler.Report.ShowMessage(Messages.VBNC30311, Context.Location, "UInteger", "Date")
             Case TypeCode.UInt64
+                If ShowErrors = False Then Return False
                 Return Context.Compiler.Report.ShowMessage(Messages.VBNC30311, Context.Location, "ULong", "Date")
             Case TypeCode.DBNull
+                If ShowErrors = False Then Return False
                 result = New Date()
                 Return True
         End Select
+        If ShowErrors = False Then Return False
         Return Context.Compiler.Report.ShowMessage(Messages.VBNC30439, Context.Location, "Date")
     End Function
 
-    Public Shared Function ConvertToDecimal(ByVal Context As ParsedObject, ByVal Source As Object, ByVal SourceTypeCode As TypeCode, ByRef result As Object) As Boolean
+    Public Shared Function ConvertToDecimal(ByVal Context As ParsedObject, ByVal Source As Object, ByVal SourceTypeCode As TypeCode, ByRef result As Object, ByVal ShowErrors As Boolean) As Boolean
         Select Case SourceTypeCode
             Case TypeCode.Boolean
                 Dim i As Boolean = DirectCast(Source, Boolean)
                 result = CDec(i)
                 Return True
             Case TypeCode.Char
+                If ShowErrors = False Then Return False
                 Return Context.Compiler.Report.ShowMessage(Messages.VBNC30311, Context.Location, "Char", "Decimal")
             Case TypeCode.DateTime
+                If ShowErrors = False Then Return False
                 Return Context.Compiler.Report.ShowMessage(Messages.VBNC30311, Context.Location, "Date", "Decimal")
             Case TypeCode.Decimal
                 result = Source
@@ -1124,6 +1168,7 @@ Public Class TypeConverter
                     Return True
                 End If
             Case TypeCode.String
+                If ShowErrors = False Then Return False
                 Return Context.Compiler.Report.ShowMessage(Messages.VBNC30060, Context.Location, "String", "Decimal")
             Case TypeCode.Byte, TypeCode.UInt16, TypeCode.UInt32, TypeCode.UInt64
                 result = CDec(CULng(Source))
@@ -1132,17 +1177,20 @@ Public Class TypeConverter
                 result = 0D
                 Return True
         End Select
+        If ShowErrors = False Then Return False
         Return Context.Compiler.Report.ShowMessage(Messages.VBNC30439, Context.Location, "Decimal")
     End Function
 
-    Public Shared Function ConvertToDouble(ByVal Context As ParsedObject, ByVal Source As Object, ByVal SourceTypeCode As TypeCode, ByRef result As Object) As Boolean
+    Public Shared Function ConvertToDouble(ByVal Context As ParsedObject, ByVal Source As Object, ByVal SourceTypeCode As TypeCode, ByRef result As Object, ByVal ShowErrors As Boolean) As Boolean
         Select Case SourceTypeCode
             Case TypeCode.Boolean
                 result = CDbl(DirectCast(Source, Boolean))
                 Return True
             Case TypeCode.Char
+                If ShowErrors = False Then Return False
                 Return Context.Compiler.Report.ShowMessage(Messages.VBNC30311, Context.Location, "Char", "Double")
             Case TypeCode.DateTime
+                If ShowErrors = False Then Return False
                 Return Context.Compiler.Report.ShowMessage(Messages.VBNC30532, Context.Location)
             Case TypeCode.Decimal
                 result = CDbl(DirectCast(Source, Decimal))
@@ -1157,6 +1205,7 @@ Public Class TypeConverter
                 result = CDbl(DirectCast(Source, Single))
                 Return True
             Case TypeCode.String
+                If ShowErrors = False Then Return False
                 Return Context.Compiler.Report.ShowMessage(Messages.VBNC30060, Context.Location, "String", "Double")
             Case TypeCode.Byte, TypeCode.UInt16, TypeCode.UInt32, TypeCode.UInt64
                 result = CDbl(CULng(Source))
@@ -1165,10 +1214,11 @@ Public Class TypeConverter
                 result = 0.0R
                 Return True
         End Select
+        If ShowErrors = False Then Return False
         Return Context.Compiler.Report.ShowMessage(Messages.VBNC30439, Context.Location, "Double")
     End Function
 
-    Public Shared Function ConvertToInt16(ByVal Context As ParsedObject, ByVal Source As Object, ByVal SourceTypeCode As TypeCode, ByRef result As Object) As Boolean
+    Public Shared Function ConvertToInt16(ByVal Context As ParsedObject, ByVal Source As Object, ByVal SourceTypeCode As TypeCode, ByRef result As Object, ByVal ShowErrors As Boolean) As Boolean
         Const DEST As String = "Short"
 
         Select Case SourceTypeCode
@@ -1201,19 +1251,23 @@ Public Class TypeConverter
                     Return True
                 End If
             Case TypeCode.Char
+                If ShowErrors = False Then Return False
                 Return Context.Compiler.Report.ShowMessage(Messages.VBNC32006, Context.Location, DEST)
             Case TypeCode.DateTime
+                If ShowErrors = False Then Return False
                 Return Context.Compiler.Report.ShowMessage(Messages.VBNC30311, Context.Location, "Date", DEST)
             Case TypeCode.String
+                If ShowErrors = False Then Return False
                 Return Context.Compiler.Report.ShowMessage(Messages.VBNC30060, Context.Location, DEST, "String")
             Case TypeCode.DBNull
                 result = 0S
                 Return True
         End Select
+        If ShowErrors = False Then Return False
         Return Context.Compiler.Report.ShowMessage(Messages.VBNC30439, Context.Location, DEST)
     End Function
 
-    Public Shared Function ConvertToInt32(ByVal Context As ParsedObject, ByVal Source As Object, ByVal SourceTypeCode As TypeCode, ByRef result As Object) As Boolean
+    Public Shared Function ConvertToInt32(ByVal Context As ParsedObject, ByVal Source As Object, ByVal SourceTypeCode As TypeCode, ByRef result As Object, ByVal ShowErrors As Boolean) As Boolean
         Const DEST As String = "Integer"
 
         Select Case SourceTypeCode
@@ -1246,19 +1300,23 @@ Public Class TypeConverter
                     Return True
                 End If
             Case TypeCode.Char
+                If ShowErrors = False Then Return False
                 Return Context.Compiler.Report.ShowMessage(Messages.VBNC32006, Context.Location, DEST)
             Case TypeCode.DateTime
+                If ShowErrors = False Then Return False
                 Return Context.Compiler.Report.ShowMessage(Messages.VBNC30311, Context.Location, "Date", DEST)
             Case TypeCode.String
+                If ShowErrors = False Then Return False
                 Return Context.Compiler.Report.ShowMessage(Messages.VBNC30060, Context.Location, DEST, "String")
             Case TypeCode.DBNull
                 result = 0I
                 Return True
         End Select
+        If ShowErrors = False Then Return False
         Return Context.Compiler.Report.ShowMessage(Messages.VBNC30439, Context.Location, DEST)
     End Function
 
-    Public Shared Function ConvertToInt64(ByVal Context As ParsedObject, ByVal Source As Object, ByVal SourceTypeCode As TypeCode, ByRef result As Object) As Boolean
+    Public Shared Function ConvertToInt64(ByVal Context As ParsedObject, ByVal Source As Object, ByVal SourceTypeCode As TypeCode, ByRef result As Object, ByVal ShowErrors As Boolean) As Boolean
         Const DEST As String = "Long"
 
         Select Case SourceTypeCode
@@ -1291,19 +1349,23 @@ Public Class TypeConverter
                     Return True
                 End If
             Case TypeCode.Char
+                If ShowErrors = False Then Return False
                 Return Context.Compiler.Report.ShowMessage(Messages.VBNC32006, Context.Location, DEST)
             Case TypeCode.DateTime
+                If ShowErrors = False Then Return False
                 Return Context.Compiler.Report.ShowMessage(Messages.VBNC30311, Context.Location, "Date", DEST)
             Case TypeCode.String
+                If ShowErrors = False Then Return False
                 Return Context.Compiler.Report.ShowMessage(Messages.VBNC30060, Context.Location, DEST, "String")
             Case TypeCode.DBNull
                 result = 0L
                 Return True
         End Select
+        If ShowErrors = False Then Return False
         Return Context.Compiler.Report.ShowMessage(Messages.VBNC30439, Context.Location, DEST)
     End Function
 
-    Public Shared Function ConvertToSByte(ByVal Context As ParsedObject, ByVal Source As Object, ByVal SourceTypeCode As TypeCode, ByRef result As Object) As Boolean
+    Public Shared Function ConvertToSByte(ByVal Context As ParsedObject, ByVal Source As Object, ByVal SourceTypeCode As TypeCode, ByRef result As Object, ByVal ShowErrors As Boolean) As Boolean
         Select Case SourceTypeCode
             Case TypeCode.Boolean
                 Dim i As Boolean = DirectCast(Source, Boolean)
@@ -1316,8 +1378,10 @@ Public Class TypeConverter
                     Return True
                 End If
             Case TypeCode.Char
+                If ShowErrors = False Then Return False
                 Return Context.Compiler.Report.ShowMessage(Messages.VBNC32006, Context.Location, "SByte")
             Case TypeCode.DateTime
+                If ShowErrors = False Then Return False
                 Return Context.Compiler.Report.ShowMessage(Messages.VBNC30311, Context.Location, "Date", "SByte")
             Case TypeCode.Decimal
                 Dim i As Decimal = DirectCast(Source, Decimal)
@@ -1359,6 +1423,7 @@ Public Class TypeConverter
                     Return True
                 End If
             Case TypeCode.String
+                If ShowErrors = False Then Return False
                 Return Context.Compiler.Report.ShowMessage(Messages.VBNC30060, Context.Location, "SByte", "String")
             Case TypeCode.UInt16
                 Dim i As UShort = DirectCast(Source, UShort)
@@ -1382,17 +1447,20 @@ Public Class TypeConverter
                 result = CSByte(0)
                 Return True
         End Select
+        If ShowErrors = False Then Return False
         Return Context.Compiler.Report.ShowMessage(Messages.VBNC30439, Context.Location, "SByte")
     End Function
 
-    Public Shared Function ConvertToSingle(ByVal Context As ParsedObject, ByVal Source As Object, ByVal SourceTypeCode As TypeCode, ByRef result As Object) As Boolean
+    Public Shared Function ConvertToSingle(ByVal Context As ParsedObject, ByVal Source As Object, ByVal SourceTypeCode As TypeCode, ByRef result As Object, ByVal ShowErrors As Boolean) As Boolean
         Select Case SourceTypeCode
             Case TypeCode.Boolean
                 result = CSng(DirectCast(Source, Boolean))
                 Return True
             Case TypeCode.Char
+                If ShowErrors = False Then Return False
                 Return Context.Compiler.Report.ShowMessage(Messages.VBNC30311, Context.Location, "Char", "Single")
             Case TypeCode.DateTime
+                If ShowErrors = False Then Return False
                 Return Context.Compiler.Report.ShowMessage(Messages.VBNC30311, Context.Location, "Date", "Single")
             Case TypeCode.Decimal
                 result = CSng(DirectCast(Source, Decimal))
@@ -1410,6 +1478,7 @@ Public Class TypeConverter
                 result = Source
                 Return True
             Case TypeCode.String
+                If ShowErrors = False Then Return False
                 Return Context.Compiler.Report.ShowMessage(Messages.VBNC30060, Context.Location, "String", "Single")
             Case TypeCode.Byte, TypeCode.UInt16, TypeCode.UInt32, TypeCode.UInt64
                 result = CSng(CULng(Source))
@@ -1418,51 +1487,66 @@ Public Class TypeConverter
                 result = 0.0!
                 Return True
         End Select
+        If ShowErrors = False Then Return False
         Return Context.Compiler.Report.ShowMessage(Messages.VBNC30439, Context.Location, "Single")
     End Function
 
-    Public Shared Function ConvertToString(ByVal Context As ParsedObject, ByVal Source As Object, ByVal SourceTypeCode As TypeCode, ByRef result As Object) As Boolean
+    Public Shared Function ConvertToString(ByVal Context As ParsedObject, ByVal Source As Object, ByVal SourceTypeCode As TypeCode, ByRef result As Object, ByVal ShowErrors As Boolean) As Boolean
         Select Case SourceTypeCode
             Case TypeCode.Boolean
+                If ShowErrors = False Then Return False
                 Return Context.Compiler.Report.ShowMessage(Messages.VBNC30060, Context.Location, "Boolean", "String")
             Case TypeCode.Byte
+                If ShowErrors = False Then Return False
                 Return Context.Compiler.Report.ShowMessage(Messages.VBNC30060, Context.Location, "Byte", "String")
             Case TypeCode.Char
                 result = CStr(DirectCast(Source, Char))
                 Return True
             Case TypeCode.DateTime
+                If ShowErrors = False Then Return False
                 Return Context.Compiler.Report.ShowMessage(Messages.VBNC30060, Context.Location, "Date", "String")
             Case TypeCode.Decimal
+                If ShowErrors = False Then Return False
                 Return Context.Compiler.Report.ShowMessage(Messages.VBNC30060, Context.Location, "Decimal", "String")
             Case TypeCode.Double
+                If ShowErrors = False Then Return False
                 Return Context.Compiler.Report.ShowMessage(Messages.VBNC30060, Context.Location, "Double", "String")
             Case TypeCode.Int16
+                If ShowErrors = False Then Return False
                 Return Context.Compiler.Report.ShowMessage(Messages.VBNC30060, Context.Location, "Short", "String")
             Case TypeCode.Int32
+                If ShowErrors = False Then Return False
                 Return Context.Compiler.Report.ShowMessage(Messages.VBNC30060, Context.Location, "Integer", "String")
             Case TypeCode.Int64
+                If ShowErrors = False Then Return False
                 Return Context.Compiler.Report.ShowMessage(Messages.VBNC30060, Context.Location, "Long", "String")
             Case TypeCode.SByte
+                If ShowErrors = False Then Return False
                 Return Context.Compiler.Report.ShowMessage(Messages.VBNC30060, Context.Location, "SByte", "String")
             Case TypeCode.Single
+                If ShowErrors = False Then Return False
                 Return Context.Compiler.Report.ShowMessage(Messages.VBNC30060, Context.Location, "Single", "String")
             Case TypeCode.String
                 result = Source
                 Return True
             Case TypeCode.UInt16
+                If ShowErrors = False Then Return False
                 Return Context.Compiler.Report.ShowMessage(Messages.VBNC30060, Context.Location, "UShort", "String")
             Case TypeCode.UInt32
+                If ShowErrors = False Then Return False
                 Return Context.Compiler.Report.ShowMessage(Messages.VBNC30060, Context.Location, "UInteger", "String")
             Case TypeCode.UInt64
+                If ShowErrors = False Then Return False
                 Return Context.Compiler.Report.ShowMessage(Messages.VBNC30060, Context.Location, "ULong", "String")
             Case TypeCode.DBNull
                 result = Nothing
                 Return True
         End Select
+        If ShowErrors = False Then Return False
         Return Context.Compiler.Report.ShowMessage(Messages.VBNC30439, Context.Location, "String")
     End Function
 
-    Public Shared Function ConvertToUInt16(ByVal Context As ParsedObject, ByVal Source As Object, ByVal SourceTypeCode As TypeCode, ByRef result As Object) As Boolean
+    Public Shared Function ConvertToUInt16(ByVal Context As ParsedObject, ByVal Source As Object, ByVal SourceTypeCode As TypeCode, ByRef result As Object, ByVal ShowErrors As Boolean) As Boolean
         Const DEST As String = "UShort"
 
         Select Case SourceTypeCode
@@ -1495,19 +1579,23 @@ Public Class TypeConverter
                     Return True
                 End If
             Case TypeCode.Char
+                If ShowErrors = False Then Return False
                 Return Context.Compiler.Report.ShowMessage(Messages.VBNC32006, Context.Location, DEST)
             Case TypeCode.DateTime
+                If ShowErrors = False Then Return False
                 Return Context.Compiler.Report.ShowMessage(Messages.VBNC30311, Context.Location, "Date", DEST)
             Case TypeCode.String
+                If ShowErrors = False Then Return False
                 Return Context.Compiler.Report.ShowMessage(Messages.VBNC30060, Context.Location, DEST, "String")
             Case TypeCode.DBNull
                 result = 0US
                 Return True
         End Select
+        If ShowErrors = False Then Return False
         Return Context.Compiler.Report.ShowMessage(Messages.VBNC30439, Context.Location, DEST)
     End Function
 
-    Public Shared Function ConvertToUInt32(ByVal Context As ParsedObject, ByVal Source As Object, ByVal SourceTypeCode As TypeCode, ByRef result As Object) As Boolean
+    Public Shared Function ConvertToUInt32(ByVal Context As ParsedObject, ByVal Source As Object, ByVal SourceTypeCode As TypeCode, ByRef result As Object, ByVal ShowErrors As Boolean) As Boolean
         Const DEST As String = "UInteger"
 
         Select Case SourceTypeCode
@@ -1540,19 +1628,23 @@ Public Class TypeConverter
                     Return True
                 End If
             Case TypeCode.Char
+                If ShowErrors = False Then Return False
                 Return Context.Compiler.Report.ShowMessage(Messages.VBNC32006, Context.Location, DEST)
             Case TypeCode.DateTime
+                If ShowErrors = False Then Return False
                 Return Context.Compiler.Report.ShowMessage(Messages.VBNC30311, Context.Location, "Date", DEST)
             Case TypeCode.String
+                If ShowErrors = False Then Return False
                 Return Context.Compiler.Report.ShowMessage(Messages.VBNC30060, Context.Location, DEST, "String")
             Case TypeCode.DBNull
                 result = 0UI
                 Return True
         End Select
+        If ShowErrors = False Then Return False
         Return Context.Compiler.Report.ShowMessage(Messages.VBNC30439, Context.Location, DEST)
     End Function
 
-    Public Shared Function ConvertToUInt64(ByVal Context As ParsedObject, ByVal Source As Object, ByVal SourceTypeCode As TypeCode, ByRef result As Object) As Boolean
+    Public Shared Function ConvertToUInt64(ByVal Context As ParsedObject, ByVal Source As Object, ByVal SourceTypeCode As TypeCode, ByRef result As Object, ByVal ShowErrors As Boolean) As Boolean
         Const DEST As String = "ULong"
 
         Select Case SourceTypeCode
@@ -1585,16 +1677,21 @@ Public Class TypeConverter
                     Return True
                 End If
             Case TypeCode.Char
+                If ShowErrors = False Then Return False
                 Return Context.Compiler.Report.ShowMessage(Messages.VBNC32006, Context.Location, DEST)
             Case TypeCode.DateTime
+                If ShowErrors = False Then Return False
                 Return Context.Compiler.Report.ShowMessage(Messages.VBNC30311, Context.Location, "Date", DEST)
             Case TypeCode.String
+                If ShowErrors = False Then Return False
                 Return Context.Compiler.Report.ShowMessage(Messages.VBNC30060, Context.Location, DEST, "String")
             Case TypeCode.DBNull
                 result = 0UL
                 Return True
         End Select
+        If ShowErrors = False Then Return False
         Return Context.Compiler.Report.ShowMessage(Messages.VBNC30439, Context.Location, DEST)
     End Function
 
 End Class
+
diff --git a/vbnc/vbnc/source/General/TypeManager.vb b/vbnc/vbnc/source/General/TypeManager.vb
index a63ae6d..5a2e55c 100755
--- a/vbnc/vbnc/source/General/TypeManager.vb
+++ b/vbnc/vbnc/source/General/TypeManager.vb
@@ -79,13 +79,22 @@ Public Class TypeManager
     End Function
 
     Function GetCache(ByVal Type As Mono.Cecil.TypeReference) As MemberCache
-        If MemberCache.ContainsKey(Type) Then
-            Return MemberCache(Type)
+        Dim result As MemberCache = Nothing
+
+        If MemberCache.TryGetValue(Type, result) Then
+            Return result
         Else
             Return New MemberCache(Compiler, Type)
         End If
     End Function
 
+    Sub ClearCache(ByVal Type As Mono.Cecil.TypeReference)
+        Dim result As MemberCache = Nothing
+        If MemberCache.TryGetValue(Type, result) Then
+            result.ClearAll()
+        End If
+    End Sub
+
     Function ContainsCache(ByVal Type As Mono.Cecil.TypeReference) As Boolean
         Return MemberCache.ContainsKey(Type)
     End Function
diff --git a/vbnc/vbnc/source/General/TypeResolution.vb b/vbnc/vbnc/source/General/TypeResolution.vb
index f251e61..1937f50 100755
--- a/vbnc/vbnc/source/General/TypeResolution.vb
+++ b/vbnc/vbnc/source/General/TypeResolution.vb
@@ -64,7 +64,11 @@ Public Class TypeResolution
                 Conversion(i, j) = New TypeConversionInfo
                 If j = TypeCode.Object OrElse j = i Then
                     Conversion(i, j).Conversion = ConversionType.Implicit
-                ElseIf i = TypeCode.Char Then
+                ElseIf i = TypeCode.Char OrElse j = TypeCode.Char Then
+                    Conversion(i, j).Conversion = ConversionType.None
+                ElseIf i = TypeCode.DateTime OrElse j = TypeCode.DateTime Then
+                    Conversion(i, j).Conversion = ConversionType.None
+                ElseIf i = TypeCode.DBNull OrElse j = TypeCode.DBNull Then
                     Conversion(i, j).Conversion = ConversionType.None
                 Else
                     Conversion(i, j).Conversion = ConversionType.Explicit
@@ -84,7 +88,9 @@ Public Class TypeResolution
         setImplicit(TypeCode.Single, New TypeCode() {TypeCode.Double})
         setImplicit(TypeCode.Double, New TypeCode() {})
         setImplicit(TypeCode.Char, New TypeCode() {TypeCode.String})
+        setImplicit(TypeCode.DBNull, New TypeCode() {TypeCode.String})
 
+        Conversion(TypeCode.DateTime, TypeCode.String).Conversion = ConversionType.Explicit
         Conversion(TypeCode.Byte, TypeCode.Byte).BinaryAddResult = TypeCode.Byte
         Conversion(TypeCode.Boolean, TypeCode.Boolean).BinaryAddResult = TypeCode.SByte
     End Sub
@@ -109,8 +115,6 @@ Public Class TypeResolution
         valCanBeContainBy(getTypeIndex(BuiltInDataTypes.[ULong])) = New Mono.Cecil.TypeReference() {Compiler.TypeCache.System_UInt64, Compiler.TypeCache.System_Decimal, Compiler.TypeCache.System_Double, Compiler.TypeCache.System_Single}
         valCanBeContainBy(getTypeIndex(BuiltInDataTypes.[UShort])) = New Mono.Cecil.TypeReference() {Compiler.TypeCache.System_UInt16, Compiler.TypeCache.System_Int32, Compiler.TypeCache.System_UInt32, Compiler.TypeCache.System_Int64, Compiler.TypeCache.System_UInt64, Compiler.TypeCache.System_Decimal, Compiler.TypeCache.System_Double, Compiler.TypeCache.System_Single}
 
-
-
     End Sub
 
     ''' <summary>
@@ -420,10 +424,6 @@ Public Class TypeResolution
         End If
     End Function
 
-    'Function IsImplicitlyConvertible(ByVal Context As BaseObject, ByVal FromType As TypeDescriptor, ByVal ToType As TypeDescriptor) As Boolean
-    '    Return IsImplicitlyConvertible(Context, FromType.TypeInReflection, ToType.TypeInReflection)
-    'End Function
-
     Function IsImplicitlyConvertible(ByVal Context As BaseObject, ByVal FromType As Mono.Cecil.TypeReference, ByVal ToType As Mono.Cecil.TypeReference) As Boolean
         Dim Compiler As Compiler = Context.Compiler
         Dim tpFrom, tpTo As TypeCode
diff --git a/vbnc/vbnc/source/General/Version.vb b/vbnc/vbnc/source/General/Version.vb
new file mode 100644
index 0000000..e8458fc
--- /dev/null
+++ b/vbnc/vbnc/source/General/Version.vb
@@ -0,0 +1,19 @@
+' 
+' Visual Basic.Net Compiler
+' Copyright (C) 2004 - 2007 Rolf Bjarne Kvinge, RKvinge at novell.com
+' 
+' This library is free software; you can redistribute it and/or
+' modify it under the terms of the GNU Lesser General Public
+' License as published by the Free Software Foundation; either
+' version 2.1 of the License, or (at your option) any later version.
+' 
+' This library is distributed in the hope that it will be useful,
+' but WITHOUT ANY WARRANTY; without even the implied warranty of
+' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+' Lesser General Public License for more details.
+' 
+' You should have received a copy of the GNU Lesser General Public
+' License along with this library; if not, write to the Free Software
+' Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+' 
+<Assembly: AssemblyInformationalVersion ("3.0 - master/9d3ff8a")>
diff --git a/vbnc/vbnc/source/Interfaces/IDefinableMember.vb b/vbnc/vbnc/source/Interfaces/IDefinableMember.vb
deleted file mode 100644
index e9445e6..0000000
--- a/vbnc/vbnc/source/Interfaces/IDefinableMember.vb
+++ /dev/null
@@ -1,22 +0,0 @@
-' 
-' Visual Basic.Net Compiler
-' Copyright (C) 2004 - 2010 Rolf Bjarne Kvinge, RKvinge at novell.com
-' 
-' This library is free software; you can redistribute it and/or
-' modify it under the terms of the GNU Lesser General Public
-' License as published by the Free Software Foundation; either
-' version 2.1 of the License, or (at your option) any later version.
-' 
-' This library is distributed in the hope that it will be useful,
-' but WITHOUT ANY WARRANTY; without even the implied warranty of
-' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-' Lesser General Public License for more details.
-' 
-' You should have received a copy of the GNU Lesser General Public
-' License along with this library; if not, write to the Free Software
-' Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
-' 
-
-Public Interface IDefinableMember
-    Function DefineMember() As Boolean
-End Interface
diff --git a/vbnc/vbnc/source/Interfaces/IDefinableType.vb b/vbnc/vbnc/source/Interfaces/IDefinableType.vb
deleted file mode 100644
index 7ff66f2..0000000
--- a/vbnc/vbnc/source/Interfaces/IDefinableType.vb
+++ /dev/null
@@ -1,28 +0,0 @@
-' 
-' Visual Basic.Net Compiler
-' Copyright (C) 2004 - 2010 Rolf Bjarne Kvinge, RKvinge at novell.com
-' 
-' This library is free software; you can redistribute it and/or
-' modify it under the terms of the GNU Lesser General Public
-' License as published by the Free Software Foundation; either
-' version 2.1 of the License, or (at your option) any later version.
-' 
-' This library is distributed in the hope that it will be useful,
-' but WITHOUT ANY WARRANTY; without even the implied warranty of
-' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-' Lesser General Public License for more details.
-' 
-' You should have received a copy of the GNU Lesser General Public
-' License along with this library; if not, write to the Free Software
-' Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
-' 
-
-''' <summary>
-''' - Classes, modules, structures, interfaces, enums, delegates and events should implement IDefinable.DefineType()
-''' - Classes, modules, structures, interfaces, enums, delegates and events should implement IDefinable.DefineTypeHierarchy()
-''' </summary>
-''' <remarks></remarks>
-Public Interface IDefinableType
-    Function DefineType() As Boolean
-    Function DefineTypeHierarchy() As Boolean
-End Interface
diff --git a/vbnc/vbnc/source/Interfaces/IFieldMember.vb b/vbnc/vbnc/source/Interfaces/IFieldMember.vb
index e0e5e68..78a772e 100644
--- a/vbnc/vbnc/source/Interfaces/IFieldMember.vb
+++ b/vbnc/vbnc/source/Interfaces/IFieldMember.vb
@@ -18,8 +18,7 @@
 ' 
 
 Public Interface IFieldMember
-    Inherits INonTypeMember, IDefinableMember
+    Inherits INonTypeMember
     ReadOnly Property FieldBuilder() As Mono.Cecil.FieldDefinition
     ReadOnly Property FieldType() As Mono.Cecil.TypeReference
-    Function ResolveAndGetConstantValue(ByRef value As Object) As Boolean
 End Interface
diff --git a/vbnc/vbnc/source/Interfaces/IMember.vb b/vbnc/vbnc/source/Interfaces/IMember.vb
index 9ac77a5..acd8ee5 100644
--- a/vbnc/vbnc/source/Interfaces/IMember.vb
+++ b/vbnc/vbnc/source/Interfaces/IMember.vb
@@ -28,4 +28,5 @@ Public Interface IMember
     ReadOnly Property MemberDescriptor() As Mono.Cecil.MemberReference
     ReadOnly Property IsShared() As Boolean
     Property DeclaringType() As TypeDeclaration
+    Function CreateDefinition() As Boolean
 End Interface
diff --git a/vbnc/vbnc/source/Interfaces/IMethod.vb b/vbnc/vbnc/source/Interfaces/IMethod.vb
index a4a6177..4d98256 100644
--- a/vbnc/vbnc/source/Interfaces/IMethod.vb
+++ b/vbnc/vbnc/source/Interfaces/IMethod.vb
@@ -18,7 +18,7 @@
 ' 
 
 Public Interface IMethod
-    Inherits INonTypeMember, IDefinableMember
+    Inherits INonTypeMember
     ReadOnly Property Signature() As SubSignature
     ReadOnly Property HasReturnValue() As Boolean
     ReadOnly Property GetParameters() As Mono.Cecil.ParameterDefinition()
diff --git a/vbnc/vbnc/source/Interfaces/IType.vb b/vbnc/vbnc/source/Interfaces/IType.vb
index 25443bd..5fbb25d 100644
--- a/vbnc/vbnc/source/Interfaces/IType.vb
+++ b/vbnc/vbnc/source/Interfaces/IType.vb
@@ -25,7 +25,7 @@
 ''' </summary>
 ''' <remarks></remarks>
 Public Interface IType
-    Inherits INameable, IModifiable, IDefinableType, IMember ', ICreatableType
+    Inherits INameable, IModifiable, IMember
 
     Property TypeAttributes() As Mono.Cecil.TypeAttributes
     ReadOnly Property CecilType() As Mono.Cecil.TypeDefinition
diff --git a/vbnc/vbnc/source/Members/ArrayElementInitializer.vb b/vbnc/vbnc/source/Members/ArrayElementInitializer.vb
index b11dc44..b09fb03 100644
--- a/vbnc/vbnc/source/Members/ArrayElementInitializer.vb
+++ b/vbnc/vbnc/source/Members/ArrayElementInitializer.vb
@@ -100,6 +100,12 @@ Public Class ArrayElementInitializer
         Return result
     End Function
 
+    ReadOnly Property ElementCount As Integer
+        Get
+            Return If(m_Elements Is Nothing, 0, m_Elements.Count)
+        End Get
+    End Property
+
     ReadOnly Property Elements() As Generic.List(Of Integer)
         Get
             Return m_Elements
@@ -183,7 +189,7 @@ Public Class ArrayElementInitializer
         Dim result As Mono.Cecil.MethodReference
         Dim elementType As Mono.Cecil.TypeReference = CecilHelper.GetElementType(ArrayType)
         Dim ranks As Integer = CecilHelper.GetArrayRank(ArrayType)
-        
+
         ArrayType = Helper.GetTypeOrTypeBuilder(Compiler, ArrayType)
         elementType = Helper.GetTypeOrTypeBuilder(Compiler, elementType)
         result = New Mono.Cecil.MethodReference("Get", ArrayType, elementType, True, False, Mono.Cecil.MethodCallingConvention.Default)
@@ -267,3 +273,4 @@ Public Class ArrayElementInitializer
         Return tm.CurrentToken.Equals(KS.LBrace)
     End Function
 End Class
+
diff --git a/vbnc/vbnc/source/Members/ArrayNameModifier.vb b/vbnc/vbnc/source/Members/ArrayNameModifier.vb
index e3f076d..034c667 100644
--- a/vbnc/vbnc/source/Members/ArrayNameModifier.vb
+++ b/vbnc/vbnc/source/Members/ArrayNameModifier.vb
@@ -48,19 +48,6 @@ Public Class ArrayNameModifier
         m_ArrayModifier = ArrayModifier
     End Sub
 
-    Function Clone(Optional ByVal NewParent As ParsedObject = Nothing) As ArrayNameModifier
-        If NewParent Is Nothing Then NewParent = Me.Parent
-        Dim result As New ArrayNameModifier(NewParent)
-        If Me.IsArrayTypeModifiers Then
-            result.Init(Me.AsArrayTypeModifiers.Clone(result))
-        ElseIf Me.IsArraySizeInitializationModifier Then
-            result.Init(Me.AsArraySizeInitializationModifier.Clone(result))
-        Else
-            Throw New InternalException(Me)
-        End If
-        Return result
-    End Function
-
     Function CreateArrayType(ByVal OriginalType As Mono.Cecil.TypeReference) As Mono.Cecil.TypeReference
         If Me.IsArraySizeInitializationModifier Then
             Return Me.AsArraySizeInitializationModifier.CreateArrayType(OriginalType)
diff --git a/vbnc/vbnc/source/Members/ArraySizeInitializationModifier.vb b/vbnc/vbnc/source/Members/ArraySizeInitializationModifier.vb
index e756c5b..7189f20 100644
--- a/vbnc/vbnc/source/Members/ArraySizeInitializationModifier.vb
+++ b/vbnc/vbnc/source/Members/ArraySizeInitializationModifier.vb
@@ -47,14 +47,6 @@ Public Class ArraySizeInitializationModifier
         m_ArrayTypeModifiers = ArrayTypeModifiers
     End Sub
 
-    Function Clone(Optional ByVal NewParent As ParsedObject = Nothing) As ArraySizeInitializationModifier
-        If NewParent Is Nothing Then NewParent = Me.Parent
-        Dim result As New ArraySizeInitializationModifier(NewParent)
-        result.m_BoundList = m_BoundList.Clone(result)
-        If m_ArrayTypeModifiers IsNot Nothing Then result.m_ArrayTypeModifiers = m_ArrayTypeModifiers.Clone(result)
-        Return result
-    End Function
-
     ReadOnly Property BoundList() As BoundList
         Get
             Return m_BoundList
diff --git a/vbnc/vbnc/source/Members/ArrayTypeModifiers.vb b/vbnc/vbnc/source/Members/ArrayTypeModifiers.vb
index 8a48e2e..042e3e5 100644
--- a/vbnc/vbnc/source/Members/ArrayTypeModifiers.vb
+++ b/vbnc/vbnc/source/Members/ArrayTypeModifiers.vb
@@ -38,17 +38,6 @@ Public Class ArrayTypeModifiers
         m_ArrayTypeModifiers = ArrayTypeModifiers
     End Sub
 
-    Function Clone(Optional ByVal NewParent As ParsedObject = Nothing) As ArrayTypeModifiers
-        If NewParent Is Nothing Then NewParent = Me.Parent
-        Dim result As New ArrayTypeModifiers(NewParent)
-        Dim mods(m_ArrayTypeModifiers.GetUpperBound(0)) As ArrayTypeModifier
-        For i As Integer = 0 To mods.GetUpperBound(0)
-            mods(i) = m_ArrayTypeModifiers(i).Clone(result)
-        Next
-        result.Init(mods)
-        Return result
-    End Function
-
     Function CreateArrayType(ByVal OriginalType As Mono.Cecil.TypeReference) As Mono.Cecil.TypeReference
         Dim result As Mono.Cecil.TypeReference = Helper.GetTypeOrTypeReference(Compiler, OriginalType)
         Dim mods() As ArrayTypeModifier = m_ArrayTypeModifiers
diff --git a/vbnc/vbnc/source/Members/Attribute.vb b/vbnc/vbnc/source/Members/Attribute.vb
index 57269f0..ed3c588 100644
--- a/vbnc/vbnc/source/Members/Attribute.vb
+++ b/vbnc/vbnc/source/Members/Attribute.vb
@@ -127,8 +127,8 @@ Public Class Attribute
         Dim result As New Attribute(NewParent)
         result.m_IsAssembly = m_IsAssembly
         result.m_IsModule = m_IsModule
-        If m_SimpleTypeName IsNot Nothing Then result.m_SimpleTypeName = m_SimpleTypeName.Clone(result)
-        If m_AttributeArguments IsNot Nothing Then result.m_AttributeArguments = m_AttributeArguments.Clone(result)
+        If m_SimpleTypeName IsNot Nothing Then result.m_SimpleTypeName = m_SimpleTypeName
+        If m_AttributeArguments IsNot Nothing Then result.m_AttributeArguments = m_AttributeArguments
         result.m_ResolvedType = m_ResolvedType
         result.m_ResolvedTypeConstructor = m_ResolvedTypeConstructor
 
@@ -254,6 +254,7 @@ Public Class Attribute
                     Dim name As String
                     Dim member As Mono.Cecil.MemberReference
                     Dim members As Mono.Collections.Generic.Collection(Of Mono.Cecil.MemberReference)
+                    Dim constant As Object = Nothing
 
                     name = item.Identifier
                     members = cache.LookupFlattenedMembers(name)
@@ -262,6 +263,9 @@ Public Class Attribute
                         Return Compiler.Report.ShowMessage(Messages.VBNC99997, Me.Location)
                     End If
                     member = members(0)
+
+                    If Not item.AttributeArgumentExpression.Expression.GetConstant(constant, True) Then Return False
+
                     If TypeOf member Is Mono.Cecil.FieldReference Then
                         Dim field As Mono.Cecil.FieldReference
                         field = DirectCast(member, Mono.Cecil.FieldReference)
@@ -269,14 +273,14 @@ Public Class Attribute
                         If m_Fields Is Nothing Then m_Fields = New Generic.List(Of Mono.Cecil.FieldReference)
                         If m_FieldValues Is Nothing Then m_FieldValues = New Generic.List(Of Object)
                         m_Fields.Add(field)
-                        m_FieldValues.Add(item.AttributeArgumentExpression.Expression.ConstantValue)
+                        m_FieldValues.Add(constant)
                     ElseIf TypeOf member Is Mono.Cecil.PropertyReference Then
                         Dim prop As Mono.Cecil.PropertyReference
                         prop = DirectCast(member, Mono.Cecil.PropertyReference)
                         If m_Properties Is Nothing Then m_Properties = New Generic.List(Of Mono.Cecil.PropertyReference)
                         If m_PropertyValues Is Nothing Then m_PropertyValues = New Generic.List(Of Object)
                         m_Properties.Add(prop)
-                        m_PropertyValues.Add(item.AttributeArgumentExpression.Expression.ConstantValue)
+                        m_PropertyValues.Add(constant)
                         'm_PropertyValues.add(item.
                     Else
                         Helper.AddError(Me, "Invalid member type for attribute value.")
@@ -305,6 +309,10 @@ Public Class Attribute
 
         Dim groupClassification As New MethodGroupClassification(Me, Nothing, Nothing, Nothing, ctors)
         result = groupClassification.ResolveGroup(argList) AndAlso result
+        If result = False Then
+            groupClassification.ResolveGroup(argList, True)
+            Return result
+        End If
         m_ResolvedTypeConstructor = groupClassification.ResolvedConstructor
         result = m_ResolvedTypeConstructor IsNot Nothing AndAlso result
         result = argList.FillWithOptionalParameters(m_ResolvedTypeConstructor) AndAlso result
@@ -313,7 +321,9 @@ Public Class Attribute
 
         ReDim m_Arguments(argList.Count - 1)
         For i As Integer = 0 To m_Arguments.Length - 1
-            m_Arguments(i) = argList(i).Expression.ConstantValue
+            Dim constant As Object = Nothing
+            If argList(i).Expression.GetConstant(constant, True) = False Then Return False
+            m_Arguments(i) = constant
             If TypeOf m_Arguments(i) Is DBNull Then
                 m_Arguments(i) = Nothing
             End If
@@ -325,19 +335,19 @@ Public Class Attribute
             For i As Integer = 0 To m_Arguments.Length - 1
                 Dim value As Object = Nothing
                 If TypeOf m_Arguments(i) Is TypeReference Then Continue For
-                result = TypeConverter.ConvertTo(Me, m_Arguments(i), parameters(i).ParameterType, value)
+                result = TypeConverter.ConvertTo(Me, m_Arguments(i), parameters(i).ParameterType, value, True)
                 If result Then m_Arguments(i) = value
             Next
             For i As Integer = 0 To m_FieldValues.Count - 1
                 Dim value As Object = Nothing
                 'TypeConverter.ConvertTo will report any errors
-                result = TypeConverter.ConvertTo(Me, m_FieldValues(i), m_Fields(i).FieldType, value)
+                result = TypeConverter.ConvertTo(Me, m_FieldValues(i), m_Fields(i).FieldType, value, True)
                 If result Then m_FieldValues(i) = value
             Next
             For i As Integer = 0 To m_PropertyValues.Count - 1
                 Dim value As Object = Nothing
                 'TypeConverter.ConvertTo will report any errors
-                result = TypeConverter.ConvertTo(Me, m_PropertyValues(i), m_Properties(i).PropertyType, value)
+                result = TypeConverter.ConvertTo(Me, m_PropertyValues(i), m_Properties(i).PropertyType, value, True)
                 If result Then m_PropertyValues(i) = value
             Next
         End If
@@ -482,7 +492,14 @@ Public Class Attribute
                 ElseIf prop IsNot Nothing Then
                     prop.CecilBuilder.CustomAttributes.Add(CecilBuilder)
                 ElseIf param IsNot Nothing Then
-                    param.CecilBuilder.CustomAttributes.Add(CecilBuilder)
+                    If Helper.CompareType(CecilBuilder.Constructor.DeclaringType, Compiler.TypeCache.System_Runtime_InteropServices_OutAttribute) Then
+                        param.CecilBuilder.IsOut = True
+                    ElseIf Helper.CompareType(CecilBuilder.Constructor.DeclaringType, Compiler.TypeCache.System_Runtime_InteropServices_MarshalAsAttribute) Then
+                        param.CecilBuilder.MarshalInfo = New MarshalInfo(CType(CecilBuilder.ConstructorArguments(0).Value, Mono.Cecil.NativeType))
+                        param.CecilBuilder.Attributes = param.CecilBuilder.Attributes Or Mono.Cecil.ParameterAttributes.HasFieldMarshal
+                    Else
+                        param.CecilBuilder.CustomAttributes.Add(CecilBuilder)
+                    End If
                 ElseIf evt IsNot Nothing Then
                     evt.CecilBuilder.CustomAttributes.Add(CecilBuilder)
                 Else
@@ -560,3 +577,4 @@ Public Class Attribute
         Return result
     End Function
 End Class
+
diff --git a/vbnc/vbnc/source/Members/AttributeArgumentExpression.vb b/vbnc/vbnc/source/Members/AttributeArgumentExpression.vb
index 8a767df..66992d7 100644
--- a/vbnc/vbnc/source/Members/AttributeArgumentExpression.vb
+++ b/vbnc/vbnc/source/Members/AttributeArgumentExpression.vb
@@ -37,13 +37,6 @@ Public Class AttributeArgumentExpression
         m_Expression = Expression
     End Sub
 
-    Function Clone(Optional ByVal NewParent As ParsedObject = Nothing) As AttributeArgumentExpression
-        If NewParent Is Nothing Then NewParent = DirectCast(Me.Parent, ParsedObject)
-        Dim result As New AttributeArgumentExpression(NewParent)
-        result.Init(m_Expression.Clone(result))
-        Return result
-    End Function
-
     Public Overrides Function ResolveCode(ByVal Info As ResolveInfo) As Boolean
         Dim result As Boolean = True
 
diff --git a/vbnc/vbnc/source/Members/AttributeArguments.vb b/vbnc/vbnc/source/Members/AttributeArguments.vb
index 4741346..d673d5f 100644
--- a/vbnc/vbnc/source/Members/AttributeArguments.vb
+++ b/vbnc/vbnc/source/Members/AttributeArguments.vb
@@ -40,15 +40,6 @@ Public Class AttributeArguments
         m_VariablePropertyInitializerList = VariablePropertyInitializerList
     End Sub
 
-    Function Clone(Optional ByVal NewParent As ParsedObject = Nothing) As AttributeArguments
-        If NewParent Is Nothing Then NewParent = DirectCast(Me.Parent, ParsedObject)
-        Dim result As New AttributeArguments(NewParent)
-        If m_AttributePositionalArgumentList IsNot Nothing Then result.m_AttributePositionalArgumentList = m_AttributePositionalArgumentList.clone(result)
-        If m_VariablePropertyInitializerList IsNot Nothing Then result.m_VariablePropertyInitializerList = m_VariablePropertyInitializerList.clone(result)
-
-        Return result
-    End Function
-
     Public Overrides Function ResolveCode(ByVal Info As ResolveInfo) As Boolean
         Dim result As Boolean = True
 
diff --git a/vbnc/vbnc/source/Members/AttributePositionalArgumentList.vb b/vbnc/vbnc/source/Members/AttributePositionalArgumentList.vb
index 8e513e9..39249ae 100644
--- a/vbnc/vbnc/source/Members/AttributePositionalArgumentList.vb
+++ b/vbnc/vbnc/source/Members/AttributePositionalArgumentList.vb
@@ -42,15 +42,6 @@ Public Class AttributePositionalArgumentList
         Return AttributeArgumentExpression.CanBeMe(tm)
     End Function
 
-    Function Clone(Optional ByVal NewParent As ParsedObject = Nothing) As AttributePositionalArgumentList
-        If NewParent Is Nothing Then NewParent = DirectCast(Me.Parent, ParsedObject)
-        Dim result As New AttributePositionalArgumentList(NewParent)
-        For Each item As AttributeArgumentExpression In Me
-            result.Add(item.Clone(result))
-        Next
-        Return result
-    End Function
-
     ReadOnly Property AsExpressions() As Expression()
         Get
             Dim result(Me.Count - 1) As Expression
diff --git a/vbnc/vbnc/source/Members/Attributes.vb b/vbnc/vbnc/source/Members/Attributes.vb
index b81b73b..76ede64 100644
--- a/vbnc/vbnc/source/Members/Attributes.vb
+++ b/vbnc/vbnc/source/Members/Attributes.vb
@@ -28,6 +28,12 @@ Public Class Attributes
         MyBase.New(Parent)
     End Sub
 
+    Sub SetParent(ByVal Parent As ParsedObject)
+        For Each item As IBaseObject In Me
+            item.Parent = Parent
+        Next
+    End Sub
+
     Function Clone(Optional ByVal NewParent As ParsedObject = Nothing) As Attributes
         If NewParent Is Nothing Then NewParent = DirectCast(Me.Parent, ParsedObject)
         Dim result As New Attributes(NewParent)
@@ -74,5 +80,4 @@ Public Class Attributes
     Shared Function IsMe(ByVal tm As tm) As Boolean
         Return tm.CurrentToken = KS.LT
     End Function
-
 End Class
diff --git a/vbnc/vbnc/source/Members/BaseList~1.vb b/vbnc/vbnc/source/Members/BaseList~1.vb
index 344cbf8..22b4613 100644
--- a/vbnc/vbnc/source/Members/BaseList~1.vb
+++ b/vbnc/vbnc/source/Members/BaseList~1.vb
@@ -21,20 +21,12 @@
 ''' Base class for lists of type List ::= Item | List "," Item
 ''' </summary>
 ''' <remarks></remarks>
-Public Class BaseList(Of T As BaseObject)
+Public Class BaseList(Of T As ParsedObject)
     Inherits ParsedObject
     Implements Generic.IEnumerable(Of T)
 
     Private m_List As New Generic.List(Of T)
 
-    Public Overrides Sub Initialize(ByVal Parent As BaseObject)
-        MyBase.Initialize(Parent)
-
-        For i As Integer = 0 To m_List.Count - 1
-            m_List(i).Initialize(Parent)
-        Next
-    End Sub
-
     Public Overrides Function ResolveCode(ByVal Info As ResolveInfo) As Boolean
         Dim result As Boolean = True
         For i As Integer = 0 To m_List.Count - 1
@@ -47,6 +39,16 @@ Public Class BaseList(Of T As BaseObject)
         Return Helper.ResolveTypeReferencesCollection(m_List)
     End Function
 
+    Public Overrides Function CreateDefinition() As Boolean
+        Dim result As Boolean = True
+
+        For i As Integer = 0 To m_List.Count - 1
+            result = m_List(i).CreateDefinition() AndAlso result
+        Next
+
+        Return result
+    End Function
+
     Sub Insert(ByVal index As Integer, ByVal Item As T)
         m_List.Insert(index, Item)
     End Sub
diff --git a/vbnc/vbnc/source/Members/BoundList.vb b/vbnc/vbnc/source/Members/BoundList.vb
index 8eca4ee..d9111d1 100644
--- a/vbnc/vbnc/source/Members/BoundList.vb
+++ b/vbnc/vbnc/source/Members/BoundList.vb
@@ -35,13 +35,6 @@ Public Class BoundList
         m_Expressions = Expressions
     End Sub
 
-    Function Clone(Optional ByVal NewParent As ParsedObject = Nothing) As BoundList
-        If NewParent Is Nothing Then NewParent = Me.Parent
-        Dim result As New BoundList(NewParent)
-        result.Init(Helper.CloneExpressionArray(m_Expressions, result))
-        Return result
-    End Function
-
     ReadOnly Property Expressions() As Expression()
         Get
             Return m_Expressions
diff --git a/vbnc/vbnc/source/Members/ConstantDeclaration.vb b/vbnc/vbnc/source/Members/ConstantDeclaration.vb
index de1bd26..ecbaa17 100755
--- a/vbnc/vbnc/source/Members/ConstantDeclaration.vb
+++ b/vbnc/vbnc/source/Members/ConstantDeclaration.vb
@@ -32,8 +32,6 @@ Public Class ConstantDeclaration
 
     Private m_FieldBuilderCecil As Mono.Cecil.FieldDefinition
 
-    Private m_Resolved As Boolean
-    Private m_ConstantValue As Object
     Private m_RequiresSharedInitialization As Boolean
 
     ReadOnly Property RequiresSharedInitialization() As Boolean
@@ -42,15 +40,8 @@ Public Class ConstantDeclaration
         End Get
     End Property
 
-    ReadOnly Property Resolved() As Boolean
-        Get
-            Return m_Resolved
-        End Get
-    End Property
-
     Sub New(ByVal Parent As ParsedObject)
         MyBase.New(Parent)
-        UpdateDefinition()
     End Sub
 
     Shadows Sub Init(ByVal Modifiers As Modifiers, ByVal Identifier As Identifier, ByVal TypeName As TypeName, ByVal ConstantExpression As Expression)
@@ -58,7 +49,6 @@ Public Class ConstantDeclaration
         m_Identifier = Identifier
         m_TypeName = TypeName
         m_ConstantExpression = ConstantExpression
-        UpdateDefinition()
     End Sub
 
     ''' <summary>
@@ -73,43 +63,28 @@ Public Class ConstantDeclaration
         Return tm.PeekToken(i) = KS.Const
     End Function
 
-    ReadOnly Property ConstantValue() As Object
-        Get
-            If m_Resolved = False Then
-                Dim result As Boolean
-                result = ResolveConstantValue(ResolveInfo.Default(Compiler))
-                If result = False Then
-                    Helper.AddError(Me, "")
-                    Return Nothing
-                End If
-            End If
-            Return m_ConstantValue
-        End Get
-    End Property
-
     Public Overrides Function ResolveTypeReferences() As Boolean
         Dim result As Boolean = True
 
+        If m_ConstantExpression IsNot Nothing Then result = m_ConstantExpression.ResolveTypeReferences AndAlso result
+
         If m_TypeName IsNot Nothing Then
             result = m_TypeName.ResolveTypeReferences AndAlso result
             If m_Identifier.HasTypeCharacter Then
-                Helper.AddError(Me)
+                result = Helper.AddError(Me, "Type character and type name is not allowed")
             End If
         ElseIf m_Identifier.HasTypeCharacter Then
             m_TypeName = New TypeName(Me, TypeCharacters.TypeCharacterToType(Compiler, m_Identifier.TypeCharacter))
+        Else
+            m_TypeName = New TypeName(Me, m_ConstantExpression.ExpressionType)
         End If
 
-        If m_ConstantExpression IsNot Nothing Then result = m_ConstantExpression.ResolveTypeReferences AndAlso result
-
-        UpdateDefinition()
+        m_FieldBuilderCecil.FieldType = Helper.GetTypeOrTypeReference(Compiler, m_TypeName.ResolvedType)
 
-        If result AndAlso m_TypeName IsNot Nothing Then
-            Helper.Assert(m_TypeName IsNot Nothing)
-            If Helper.CompareType(m_TypeName.ResolvedType, Compiler.TypeCache.System_Decimal) Then
-                m_RequiresSharedInitialization = True
-            ElseIf Helper.CompareType(m_TypeName.ResolvedType, Compiler.TypeCache.System_DateTime) Then
-                m_RequiresSharedInitialization = True
-            End If
+        If Helper.CompareType(m_TypeName.ResolvedType, Compiler.TypeCache.System_Decimal) Then
+            m_RequiresSharedInitialization = True
+        ElseIf Helper.CompareType(m_TypeName.ResolvedType, Compiler.TypeCache.System_DateTime) Then
+            m_RequiresSharedInitialization = True
         End If
 
         Return result
@@ -177,32 +152,28 @@ Public Class ConstantDeclaration
         Return False
     End Function
 
-    Function ResolveConstantValue(ByVal Info As ResolveInfo) As Boolean
-        Dim result As Boolean = True
+    Function GetConstant(ByRef result As Object, ByVal ShowErrors As Boolean) As Boolean
+        If m_ConstantExpression Is Nothing Then
+            If ShowErrors Then Show30059()
+            Return False
+        End If
 
-        Helper.Assert(m_ConstantExpression IsNot Nothing)
         If m_ConstantExpression.IsResolved = False Then
-            result = m_ConstantExpression.ResolveExpression(Info) AndAlso result
-            If m_ConstantExpression.IsConstant Then
-                m_ConstantValue = m_ConstantExpression.ConstantValue
-                Helper.Assert(m_ConstantValue IsNot Nothing)
-
-                If m_TypeName Is Nothing Then
-                    m_TypeName = New TypeName(Me, m_ConstantExpression.ExpressionType)
-                Else
-                    result = TypeConverter.ConvertTo(m_ConstantExpression, m_ConstantValue, m_TypeName.ResolvedType, m_ConstantValue) AndAlso result
-                End If
-                UpdateDefinition()
-                'If m_ConstantValue IsNot Nothing Then Compiler.Report.WriteLine("Converted to: " & m_ConstantValue.GetType.FullName)
-            Else
-                result = Compiler.Report.ShowMessage(Messages.VBNC30059, m_ConstantExpression.Location)
+            If Not m_ConstantExpression.ResolveExpression(ResolveInfo.Default(Compiler)) Then
+                If ShowErrors Then Show30059()
+                Return False
             End If
-            m_Resolved = True
         End If
 
-        Helper.Assert(m_Resolved)
+        If m_ConstantExpression.GetConstant(result, ShowErrors) = False Then Return False
 
-        Return result
+        If m_TypeName Is Nothing Then
+            m_TypeName = New TypeName(Me, m_ConstantExpression.ExpressionType)
+        Else
+            Return TypeConverter.ConvertTo(m_ConstantExpression, result, m_TypeName.ResolvedType, result, ShowErrors)
+        End If
+
+        Return True
     End Function
 
     Function ResolveMember(ByVal Info As ResolveInfo) As Boolean Implements INonTypeMember.ResolveMember
@@ -212,12 +183,7 @@ Public Class ConstantDeclaration
             result = Compiler.Report.ShowMessage(Messages.VBNC30209, Me.Location) AndAlso result
         End If
 
-        If m_ConstantExpression Is Nothing Then
-            Helper.AddError(Me, "No constant expression.")
-            Return False
-        End If
-
-        result = ResolveConstantValue(Info) AndAlso result
+        result = m_ConstantExpression.ResolveExpression(Info) AndAlso result
 
         Return result
     End Function
@@ -226,59 +192,73 @@ Public Class ConstantDeclaration
         Return True
     End Function
 
-    Public Function DefineMember() As Boolean Implements IDefinableMember.DefineMember
+    Public Function DefineConstant() As Boolean
         Dim result As Boolean = True
+        Dim constant As Object = Nothing
 
-        If m_ConstantValue IsNot Nothing AndAlso m_ConstantValue IsNot DBNull.Value Then
-            If Helper.CompareType(CecilHelper.GetType(Compiler, m_ConstantValue), Compiler.TypeCache.System_Decimal) Then
-                Dim value As Decimal = DirectCast(m_ConstantValue, Decimal)
-                Dim ctor As MethodDefinition = Compiler.TypeCache.System_Runtime_CompilerServices_DecimalConstantAttribute__ctor_Byte_Byte_UInt32_UInt32_UInt32
-                Dim attrib As New Mono.Cecil.CustomAttribute(Helper.GetMethodOrMethodReference(Compiler, ctor))
-                Dim params As Object() = New Emitter.DecimalFields(value).AsByte_Byte_UInt32_UInt32_UInt32()
-                For i As Integer = 0 To params.Length - 1
-                    attrib.ConstructorArguments.Add(New CustomAttributeArgument(ctor.Parameters(i).ParameterType, params(i)))
-                Next
-                m_FieldBuilderCecil.CustomAttributes.Add(attrib)
-            ElseIf Helper.CompareType(CecilHelper.GetType(Compiler, m_ConstantValue), Compiler.TypeCache.System_DateTime) Then
-                Dim attrib As New Mono.Cecil.CustomAttribute(Helper.GetMethodOrMethodReference(Compiler, Compiler.TypeCache.System_Runtime_CompilerServices_DateTimeConstantAttribute__ctor_Int64))
-                attrib.ConstructorArguments.Add(New CustomAttributeArgument(Helper.GetTypeOrTypeReference(Compiler, Compiler.TypeCache.System_Int64), DirectCast(m_ConstantValue, Date).Ticks))
-                m_FieldBuilderCecil.CustomAttributes.Add(attrib)
-            End If
-        End If
-
-        UpdateDefinition()
+        Helper.Assert(m_TypeName IsNot Nothing)
 
-        Return result
-    End Function
+        If m_ConstantExpression Is Nothing Then
+            Helper.AddError(Me, "No constant expression.")
+            Return False
+        End If
 
-    Public Overrides Sub UpdateDefinition()
-        MyBase.UpdateDefinition()
+        result = m_ConstantExpression.ResolveExpression(ResolveInfo.Default(Parent.Compiler)) AndAlso result
 
-        If m_FieldBuilderCecil Is Nothing Then
-            m_FieldBuilderCecil = New Mono.Cecil.FieldDefinition(Name, 0, Nothing)
-            m_FieldBuilderCecil.Annotations.Add(Compiler, Me)
-            DeclaringType.CecilType.Fields.Add(m_FieldBuilderCecil)
-        End If
+        If Not GetConstant(constant, True) Then Return False
 
         If m_RequiresSharedInitialization Then
             m_FieldBuilderCecil.Constant = Nothing
-        ElseIf m_ConstantValue Is DBNull.Value Then
+        ElseIf constant Is DBNull.Value Then
             m_FieldBuilderCecil.Constant = Nothing
         Else
-            m_FieldBuilderCecil.Constant = m_ConstantValue
+            m_FieldBuilderCecil.Constant = constant
         End If
-        m_FieldBuilderCecil.HasDefault = True
         m_FieldBuilderCecil.HasConstant = Not m_RequiresSharedInitialization
-        m_FieldBuilderCecil.Name = Name
-        If m_TypeName IsNot Nothing Then
-            m_FieldBuilderCecil.FieldType = Helper.GetTypeOrTypeReference(Compiler, m_TypeName.ResolvedType)
-        Else
-            'Helper.StopIfDebugging()
+
+        If constant IsNot Nothing AndAlso constant IsNot DBNull.Value Then
+            CreateConstantAttribute(Compiler, constant, m_FieldBuilderCecil.CustomAttributes)
         End If
+
         m_FieldBuilderCecil.Attributes = Helper.GetAttributes(Compiler, Me)
 
+        Return result
+    End Function
+
+    Public Shared Sub CreateConstantAttribute(ByVal Compiler As Compiler, ByVal constant As Object, ByVal CustomAttributes As Mono.Collections.Generic.Collection(Of CustomAttribute))
+        If TypeOf constant Is Decimal Then
+            Dim value As Decimal = DirectCast(constant, Decimal)
+            Dim ctor As MethodDefinition = Compiler.TypeCache.System_Runtime_CompilerServices_DecimalConstantAttribute__ctor_Byte_Byte_UInt32_UInt32_UInt32
+            Dim attrib As New Mono.Cecil.CustomAttribute(Helper.GetMethodOrMethodReference(Compiler, ctor))
+            Dim params As Object() = New Emitter.DecimalFields(value).AsByte_Byte_UInt32_UInt32_UInt32()
+            For i As Integer = 0 To params.Length - 1
+                attrib.ConstructorArguments.Add(New CustomAttributeArgument(ctor.Parameters(i).ParameterType, params(i)))
+            Next
+            CustomAttributes.Add(attrib)
+        ElseIf TypeOf constant Is Date Then
+            Dim attrib As New Mono.Cecil.CustomAttribute(Helper.GetMethodOrMethodReference(Compiler, Compiler.TypeCache.System_Runtime_CompilerServices_DateTimeConstantAttribute__ctor_Int64))
+            attrib.ConstructorArguments.Add(New CustomAttributeArgument(Helper.GetTypeOrTypeReference(Compiler, Compiler.TypeCache.System_Int64), DirectCast(constant, Date).Ticks))
+            CustomAttributes.Add(attrib)
+        End If
     End Sub
 
+    Public Overrides Function CreateDefinition() As Boolean
+        Dim result As Boolean = True
+
+        result = MyBase.CreateDefinition AndAlso result
+
+        Helper.Assert(m_FieldBuilderCecil Is Nothing)
+        m_FieldBuilderCecil = New Mono.Cecil.FieldDefinition(Name, 0, Nothing)
+        m_FieldBuilderCecil.Annotations.Add(Compiler, Me)
+        DeclaringType.CecilType.Fields.Add(m_FieldBuilderCecil)
+
+        m_FieldBuilderCecil.HasDefault = True
+        m_FieldBuilderCecil.Name = Name
+        m_FieldBuilderCecil.Attributes = Helper.GetAttributes(Compiler, Me)
+
+        Return result
+    End Function
+
     Public Overrides Function ResolveCode(ByVal Info As ResolveInfo) As Boolean
         Dim result As Boolean = True
 
@@ -324,9 +304,5 @@ Public Class ConstantDeclaration
             Return m_ConstantExpression
         End Get
     End Property
-
-    Public Function ResolveAndGetConstantValue(ByRef value As Object) As Boolean Implements IFieldMember.ResolveAndGetConstantValue
-        value = ConstantValue
-        Return True
-    End Function
 End Class
+
diff --git a/vbnc/vbnc/source/Members/ConstructorDeclaration.vb b/vbnc/vbnc/source/Members/ConstructorDeclaration.vb
index 92da4ad..a8eb8f9 100644
--- a/vbnc/vbnc/source/Members/ConstructorDeclaration.vb
+++ b/vbnc/vbnc/source/Members/ConstructorDeclaration.vb
@@ -74,55 +74,6 @@ Public Class ConstructorDeclaration
         MyBase.Init(Modifiers, Signature, Block)
     End Sub
 
-    Shared Function CreateTypeConstructor(ByVal Parent As TypeDeclaration) As ConstructorDeclaration
-        Dim result As New ConstructorDeclaration(Parent)
-
-        result.Init(New Modifiers(ModifierMasks.Shared), New SubSignature(result, SharedConstructorName, New ParameterList(result)), New CodeBlock(result))
-
-        result.UpdateDefinition()
-        If result.ResolveTypeReferences() = False Then
-            Helper.ErrorRecoveryNotImplemented(Parent.Location)
-        End If
-
-        Return result
-    End Function
-
-    Shared Function CreateDefaultConstructor(ByVal Parent As TypeDeclaration) As ConstructorDeclaration
-        Dim result As New ConstructorDeclaration(Parent)
-        Dim modifiers As Modifiers
-
-        If Parent.Modifiers.Is(ModifierMasks.MustInherit) Then
-            modifiers.AddModifier(KS.Protected)
-        End If
-        result.Init(modifiers, New SubSignature(result, ConstructorName, New ParameterList(result)), New CodeBlock(result))
-
-        If result.ResolveTypeReferences() = False Then
-            Helper.ErrorRecoveryNotImplemented(Parent.Location)
-        End If
-
-        Return result
-    End Function
-
-    Public Overrides Function ResolveTypeReferences() As Boolean
-        Dim result As Boolean = True
-
-        result = MyBase.ResolveTypeReferences AndAlso result
-
-        UpdateDefinition()
-
-        Return result
-    End Function
-
-    Overrides Function ResolveMember(ByVal Info As ResolveInfo) As Boolean
-        Dim result As Boolean = True
-
-        result = MyBase.ResolveMember(Info) AndAlso result
-
-        UpdateDefinition()
-
-        Return result
-    End Function
-
     ReadOnly Property ExplicitCtorCall() As Mono.Cecil.MethodReference
         Get
             Dim firststatement As BaseObject
@@ -176,40 +127,34 @@ Public Class ConstructorDeclaration
             If m_BaseCtorCall IsNot Nothing Then Code.RemoveStatement(m_BaseCtorCall)
         End If
 
+        If Me.IsShared AndAlso (Me.Modifiers.Mask And Me.Modifiers.AccessibilityMask) <> 0 Then
+            Select Case Me.Modifiers.Mask And Me.Modifiers.AccessibilityMask
+                Case ModifierMasks.Private
+                    result = Report.ShowMessage(Messages.VBNC30480, Me.Location, "Private")
+                Case ModifierMasks.Protected
+                    result = Report.ShowMessage(Messages.VBNC30480, Me.Location, "Protected")
+                Case ModifierMasks.Friend
+                    result = Report.ShowMessage(Messages.VBNC30480, Me.Location, "Friend")
+                Case ModifierMasks.Protected Or ModifierMasks.Friend
+                    result = Report.ShowMessage(Messages.VBNC30480, Me.Location, "Protected Friend")
+                Case ModifierMasks.Public
+                    result = Report.ShowMessage(Messages.VBNC30480, Me.Location, "Public")
+            End Select
+        End If
+
         Return result
     End Function
 
-    Public Overrides Function DefineMember() As Boolean
+    Public Overrides Function CreateDefinition() As Boolean
         Dim result As Boolean = True
 
-        result = MyBase.DefineMember AndAlso result
+        result = MyBase.CreateDefinition AndAlso result
 
-        'Helper.SetTypeOrTypeBuilder(Compiler, ParameterTypes)
-
-        UpdateDefinition()
+        MethodImplAttributes = Mono.Cecil.MethodImplAttributes.IL
 
         Return result
     End Function
 
-    Overrides Sub UpdateDefinition()
-        MyBase.UpdateDefinition()
-
-        If Signature IsNot Nothing AndAlso Signature.Parameters IsNot Nothing Then
-            For i As Integer = 0 To Signature.Parameters.Count - 1
-                Signature.Parameters(i).UpdateDefinition()
-            Next
-        End If
-        CecilBuilder.Name = Name
-
-        MethodAttributes = Helper.GetAttributes(Me)
-        MethodImplAttributes = Mono.Cecil.MethodImplAttributes.IL
-
-        If DeclaringType IsNot Nothing AndAlso DeclaringType.CecilType IsNot Nothing AndAlso m_Added = False Then
-            m_Added = True
-            DeclaringType.CecilType.Methods.Add(CecilBuilder)
-        End If
-    End Sub
-
     Friend Overrides Function GenerateCode(ByVal Info As EmitInfo) As Boolean
         Dim result As Boolean = True
 
@@ -284,6 +229,7 @@ Public Class ConstructorDeclaration
         For Each variable As LocalVariableDeclaration In parent.StaticVariables
             If variable.HasInitializer AndAlso variable.DeclaringMethod.IsShared = Me.IsShared Then
                 If Me.IsShared = False Then Emitter.EmitLoadMe(Info, Me.DeclaringType.CecilType)
+                result = variable.CreateDefinition AndAlso result
                 Emitter.EmitNew(Info, Compiler.TypeCache.MS_VB_CS_StaticLocalInitFlag__ctor)
                 Emitter.EmitStoreField(Info, CecilHelper.GetCorrectMember(variable.StaticInitBuilder, variable.StaticInitBuilder.DeclaringType))
             End If
@@ -295,15 +241,17 @@ Public Class ConstructorDeclaration
     Private Function EmitConstantInitialization(ByVal Info As EmitInfo) As Boolean
         Dim result As Boolean = True
         Dim parent As TypeDeclaration
+        Dim constant As Object = Nothing
 
         Parent = Me.DeclaringType
 
-        For Each variable As ConstantDeclaration In Parent.Members.GetSpecificMembers(Of ConstantDeclaration)()
+        For Each variable As ConstantDeclaration In parent.Members.GetSpecificMembers(Of ConstantDeclaration)()
+            result = variable.GetConstant(constant, True) AndAlso result
             If Helper.CompareType(variable.FieldType, Compiler.TypeCache.System_DateTime) Then
-                Emitter.EmitLoadDateValue(Info, DirectCast(variable.ConstantValue, Date))
+                Emitter.EmitLoadDateValue(Info, DirectCast(constant, Date))
                 Emitter.EmitStoreField(Info, variable.FieldBuilder)
             ElseIf Helper.CompareType(variable.FieldType, Compiler.TypeCache.System_Decimal) Then
-                Emitter.EmitLoadDecimalValue(Info, DirectCast(variable.ConstantValue, Decimal))
+                Emitter.EmitLoadDecimalValue(Info, DirectCast(constant, Decimal))
                 Emitter.EmitStoreField(Info, variable.FieldBuilder)
             End If
         Next
@@ -333,8 +281,6 @@ Public Class ConstructorDeclaration
                     End Try
 #End If
                 End If
-            Else
-                Helper.AddError(Me, "Base class does not have a default constructor")
             End If
         End If
     End Sub
@@ -362,8 +308,6 @@ Public Class ConstructorDeclaration
                     End Try
 #End If
                 End If
-            Else
-                Helper.AddError(Compiler, Location, "Base class does not have a default constructor")
             End If
         End If
     End Sub
diff --git a/vbnc/vbnc/source/Members/CustomEventHandlerDeclaration.vb b/vbnc/vbnc/source/Members/CustomEventHandlerDeclaration.vb
index e831a38..3bacce5 100644
--- a/vbnc/vbnc/source/Members/CustomEventHandlerDeclaration.vb
+++ b/vbnc/vbnc/source/Members/CustomEventHandlerDeclaration.vb
@@ -49,9 +49,18 @@ Public Class CustomEventHandlerDeclaration
 
     Shadows Sub Init(ByVal Modifiers As Modifiers, ByVal ParameterList As ParameterList, ByVal Block As CodeBlock, ByVal HandlerType As KS, ByVal EventName As Identifier)
         MyBase.Init(Modifiers, HandlerType, EventName, ParameterList, Block)
-        MyBase.MethodImplAttributes = Mono.Cecil.MethodImplAttributes.IL Or Mono.Cecil.MethodImplAttributes.Managed
     End Sub
 
+    Public Overrides Function CreateDefinition() As Boolean
+        Dim result As Boolean = True
+
+        result = MyBase.CreateDefinition AndAlso result
+
+        MyBase.MethodImplAttributes = Mono.Cecil.MethodImplAttributes.IL Or Mono.Cecil.MethodImplAttributes.Managed
+
+        Return result
+    End Function
+
     Public Overrides Function ResolveCode(ByVal Info As ResolveInfo) As Boolean
         Dim result As Boolean = True
 
@@ -69,23 +78,6 @@ Public Class CustomEventHandlerDeclaration
 
         result = MyBase.ResolveMember(Info) AndAlso result
 
-        'Dim m_MethodAttributes As MethodAttributes
-        'If m_HandlerType = KS.RaiseEvent Then
-        '    m_MethodAttributes = m_MethodAttributes Or MethodAttributes.Private
-        'Else
-        '    m_MethodAttributes = m_MethodAttributes Or Me.Modifiers.GetMethodAttributeScope
-        'End If
-        'm_MethodAttributes = m_MethodAttributes Or MethodAttributes.SpecialName
-        'If DeclaringType.IsInterface Then
-        '    m_MethodAttributes = m_MethodAttributes Or Reflection.MethodAttributes.Abstract Or Reflection.MethodAttributes.Virtual Or MethodAttributes.CheckAccessOnOverride Or MethodAttributes.NewSlot
-        'End If
-        'If Me.IsShared Then
-        '    m_MethodAttributes = m_MethodAttributes Or MethodAttributes.Static
-        'End If
-        'MyBase.Attributes = m_MethodAttributes
-
         Return result
     End Function
-
-
 End Class
diff --git a/vbnc/vbnc/source/Members/EnumMemberDeclaration.vb b/vbnc/vbnc/source/Members/EnumMemberDeclaration.vb
index d6865fb..4c883d5 100644
--- a/vbnc/vbnc/source/Members/EnumMemberDeclaration.vb
+++ b/vbnc/vbnc/source/Members/EnumMemberDeclaration.vb
@@ -25,8 +25,6 @@ Public Class EnumMemberDeclaration
     Inherits MemberDeclaration
     Implements IFieldMember
 
-    'Private m_Descriptor As New FieldDescriptor(Me)
-
     ''' <summary>
     ''' The index of the constant in the enum.
     ''' </summary>
@@ -37,11 +35,8 @@ Public Class EnumMemberDeclaration
 
     Private m_FieldBuilderCecil As Mono.Cecil.FieldDefinition
 
-    Private m_ResolvedMember As Boolean
-
     Sub New(ByVal Parent As ParsedObject)
         MyBase.new(Parent)
-        UpdateDefinition()
     End Sub
 
     Shadows Sub Init(ByVal EnumIndex As Integer, ByVal Identifier As Identifier, ByVal ConstantExpression As Expression)
@@ -49,15 +44,10 @@ Public Class EnumMemberDeclaration
         m_EnumIndex = EnumIndex
         m_Identifier = Identifier
         m_ConstantExpression = ConstantExpression
-        UpdateDefinition()
     End Sub
 
     Public Property ConstantValue() As Object
         Get
-            If m_ResolvedMember = False Then
-                'Helper.StopIfDebugging()
-                ResolveMember(ResolveInfo.Default(Compiler))
-            End If
             Return m_FieldBuilderCecil.Constant
         End Get
         Set(ByVal value As Object)
@@ -65,18 +55,20 @@ Public Class EnumMemberDeclaration
         End Set
     End Property
 
-    Public Overrides Sub UpdateDefinition()
-        MyBase.UpdateDefinition()
+    Public Overrides Function CreateDefinition() As Boolean
+        Dim result As Boolean = True
 
-        If m_FieldBuilderCecil Is Nothing Then
-            m_FieldBuilderCecil = New Mono.Cecil.FieldDefinition(Name, Mono.Cecil.FieldAttributes.Public Or Mono.Cecil.FieldAttributes.Static Or Mono.Cecil.FieldAttributes.Literal Or Mono.Cecil.FieldAttributes.HasDefault, Parent.CecilType)
-            m_FieldBuilderCecil.Annotations.Add(Compiler, Me)
-            Parent.CecilType.Fields.Add(m_FieldBuilderCecil)
-        End If
+        result = MyBase.CreateDefinition AndAlso result
 
+        Helper.Assert(m_FieldBuilderCecil Is Nothing)
+        m_FieldBuilderCecil = New Mono.Cecil.FieldDefinition(Name, Mono.Cecil.FieldAttributes.Public Or Mono.Cecil.FieldAttributes.Static Or Mono.Cecil.FieldAttributes.Literal Or Mono.Cecil.FieldAttributes.HasDefault, Parent.CecilType)
+        m_FieldBuilderCecil.Annotations.Add(Compiler, Me)
+        Parent.CecilType.Fields.Add(m_FieldBuilderCecil)
         m_FieldBuilderCecil.Name = Name
         m_FieldBuilderCecil.IsLiteral = True
-    End Sub
+
+        Return result
+    End Function
 
     ReadOnly Property EnumIndex() As Integer
         Get
@@ -129,21 +121,23 @@ Public Class EnumMemberDeclaration
         Return result
     End Function
 
-    Function ResolveMember(ByVal Info As ResolveInfo) As Boolean Implements INonTypeMember.ResolveMember
-        Dim result As Boolean = True
+    Function GetConstantValue(ByRef result As Object) As Boolean
+        Dim obj As Object = Nothing
 
-        If m_ResolvedMember Then Return True
-        m_ResolvedMember = True
+        If m_FieldBuilderCecil.Constant IsNot Nothing Then
+            result = m_FieldBuilderCecil.Constant
+            Return True
+        End If
 
-        Dim obj As Object
         If m_ConstantExpression IsNot Nothing Then
-            result = m_ConstantExpression.ResolveExpression(Info) AndAlso result
-            obj = m_ConstantExpression.ConstantValue
+            If Not m_ConstantExpression.GetConstant(obj, True) Then Return False
         Else
             If m_EnumIndex = 0 Then
                 obj = 0
+            ElseIf Not Parent.Constants(m_EnumIndex - 1).GetConstantValue(obj) Then
+                Return False
             Else
-                obj = CDec(Parent.Constants(m_EnumIndex - 1).ConstantValue) + 1
+                obj = CDec(obj) + 1
             End If
         End If
 
@@ -164,21 +158,26 @@ Public Class EnumMemberDeclaration
                 obj = CLng(obj)
             Case KS.ULong
                 obj = CULng(obj)
-            Case Else
-                Throw New InternalException(Me)
         End Select
 
-        ConstantValue = obj
-        result = ConstantValue IsNot Nothing AndAlso result
+        result = obj
+        Return True
+    End Function
+
+    Function ResolveMember(ByVal Info As ResolveInfo) As Boolean Implements INonTypeMember.ResolveMember
+        Dim result As Boolean = True
+        
+        If m_ConstantExpression IsNot Nothing Then result = m_ConstantExpression.ResolveExpression(Info) AndAlso result
 
         Return result
     End Function
 
-    Public Overrides Function ResolveCode(ByVal Info As ResolveInfo) As Boolean
+    Function DefineConstant() As Boolean
         Dim result As Boolean = True
+        Dim obj As Object = Nothing
 
-        result = MyBase.ResolveCode(Info) AndAlso result
-        If m_ConstantExpression IsNot Nothing Then result = m_ConstantExpression.ResolveExpression(Info) AndAlso result
+        result = GetConstantValue(obj) AndAlso result
+        ConstantValue = obj
 
         Return result
     End Function
@@ -188,23 +187,5 @@ Public Class EnumMemberDeclaration
             Return Me.FindFirstParent(Of EnumDeclaration)()
         End Get
     End Property
-
-    ''' <summary>
-    ''' Define the enum constant.
-    ''' </summary>
-    ''' <returns></returns>
-    ''' <remarks></remarks>
-    Public Function DefineMember() As Boolean Implements IDefinableMember.DefineMember
-        Dim result As Boolean = True
-
-        Return result
-    End Function
-
-    Public Function ResolveAndGetConstantValue(ByRef value As Object) As Boolean Implements IFieldMember.ResolveAndGetConstantValue
-        If m_ResolvedMember = False Then
-            If ResolveMember(ResolveInfo.Default(Compiler)) = False Then Return False
-        End If
-        value = ConstantValue
-        Return True
-    End Function
 End Class
+
diff --git a/vbnc/vbnc/source/Members/EventAccessorDeclarations.vb b/vbnc/vbnc/source/Members/EventAccessorDeclarations.vb
index e796225..8645cf2 100644
--- a/vbnc/vbnc/source/Members/EventAccessorDeclarations.vb
+++ b/vbnc/vbnc/source/Members/EventAccessorDeclarations.vb
@@ -78,10 +78,6 @@ Public Class EventAccessorDeclarations
         End Set
     End Property
 
-    Public Function DefineMembers() As Boolean
-        Return Helper.DefineMembersCollection(m_Handlers)
-    End Function
-
     Friend Overrides Function GenerateCode(ByVal Info As EmitInfo) As Boolean
         Return Helper.GenerateCodeCollection(m_Handlers, Info)
     End Function
diff --git a/vbnc/vbnc/source/Members/EventDeclaration.vb b/vbnc/vbnc/source/Members/EventDeclaration.vb
index aa98b4c..e2f6fd7 100644
--- a/vbnc/vbnc/source/Members/EventDeclaration.vb
+++ b/vbnc/vbnc/source/Members/EventDeclaration.vb
@@ -19,7 +19,7 @@
 
 Public Class EventDeclaration
     Inherits MemberDeclaration
-    Implements IDefinableMember, INonTypeMember, IHasImplicitMembers
+    Implements INonTypeMember, IHasImplicitMembers
 
     'Set during parse phase
     Private m_Identifier As Identifier
@@ -44,7 +44,6 @@ Public Class EventDeclaration
 
     Sub New(ByVal Parent As TypeDeclaration)
         MyBase.new(Parent)
-        UpdateDefinition()
     End Sub
 
     Shadows Sub Init(ByVal Modifiers As Modifiers, ByVal Identifier As Identifier, ByVal ImplementsClause As MemberImplementsClause)
@@ -52,9 +51,6 @@ Public Class EventDeclaration
 
         m_Identifier = Identifier
         m_ImplementsClause = ImplementsClause
-
-        Helper.Assert(m_Identifier IsNot Nothing)
-        UpdateDefinition()
     End Sub
 
     Public ReadOnly Property EventDescriptor() As Mono.Cecil.EventDefinition
@@ -109,7 +105,7 @@ Public Class EventDeclaration
         Set(ByVal value As EventHandlerDeclaration)
             Helper.Assert(m_AddMethod Is Nothing)
             m_AddMethod = value
-            UpdateDefinition()
+            If m_CecilBuilder IsNot Nothing Then m_CecilBuilder.AddMethod = value.CecilBuilder
         End Set
     End Property
 
@@ -120,7 +116,7 @@ Public Class EventDeclaration
         Set(ByVal value As EventHandlerDeclaration)
             Helper.Assert(m_RemoveMethod Is Nothing)
             m_RemoveMethod = value
-            UpdateDefinition()
+            If m_CecilBuilder IsNot Nothing Then m_CecilBuilder.RemoveMethod = value.CecilBuilder
         End Set
     End Property
 
@@ -131,7 +127,7 @@ Public Class EventDeclaration
         Set(ByVal value As EventHandlerDeclaration)
             Helper.Assert(m_RaiseMethod Is Nothing)
             m_RaiseMethod = value
-            UpdateDefinition()
+            If m_CecilBuilder IsNot Nothing Then m_CecilBuilder.InvokeMethod = value.CecilBuilder
         End Set
     End Property
 
@@ -194,14 +190,6 @@ Public Class EventDeclaration
         Return result
     End Function
 
-    Public Function DefineMember() As Boolean Implements IDefinableMember.DefineMember
-        Dim result As Boolean = True
-
-        UpdateDefinition()
-
-        Return result
-    End Function
-
     Function DefineOverrides() As Boolean
         Dim result As Boolean = True
 
@@ -233,38 +221,35 @@ Public Class EventDeclaration
         Return result
     End Function
 
-    Public Overrides Sub UpdateDefinition()
-        MyBase.UpdateDefinition()
+    Public Overrides Function CreateDefinition() As Boolean
+        Dim result As Boolean = True
 
-        If m_CecilBuilder Is Nothing Then
-            m_CecilBuilder = New Mono.Cecil.EventDefinition(Name, 0, Nothing)
-            m_CecilBuilder.Annotations.Add(Compiler, Me)
-            FindFirstParent(Of TypeDeclaration).CecilType.Events.Add(m_CecilBuilder)
-        End If
-        m_CecilBuilder.Name = Name
+        Helper.Assert(m_CecilBuilder Is Nothing)
+        result = MyBase.CreateDefinition AndAlso result
 
-        Dim members As MemberDeclarations = DeclaringType.Members
-        Dim methods As Mono.Collections.Generic.Collection(Of MethodDefinition) = DeclaringType.CecilType.Methods
+        m_CecilBuilder = New Mono.Cecil.EventDefinition(Name, 0, Nothing)
+        m_CecilBuilder.Annotations.Add(Compiler, Me)
+        FindFirstParent(Of TypeDeclaration).CecilType.Events.Add(m_CecilBuilder)
+        m_CecilBuilder.Name = Name
 
         If m_AddMethod IsNot Nothing Then
-            m_AddMethod.UpdateDefinition()
-            If members IsNot Nothing AndAlso members.Contains(m_AddMethod) = False Then members.Add(m_AddMethod)
-            If methods.Contains(m_AddMethod.CecilBuilder) = False Then methods.Add(m_AddMethod.CecilBuilder)
+            result = m_AddMethod.CreateDefinition AndAlso result
+            DeclaringType.Members.Add(m_AddMethod)
             m_CecilBuilder.AddMethod = m_AddMethod.CecilBuilder
         End If
 
         If m_RemoveMethod IsNot Nothing Then
-            m_RemoveMethod.UpdateDefinition()
-            If members IsNot Nothing AndAlso members.Contains(m_RemoveMethod) = False Then members.Add(m_RemoveMethod)
-            If methods.Contains(m_RemoveMethod.CecilBuilder) = False Then methods.Add(m_RemoveMethod.CecilBuilder)
+            result = m_RemoveMethod.CreateDefinition AndAlso result
+            DeclaringType.Members.Add(m_RemoveMethod)
             m_CecilBuilder.RemoveMethod = m_RemoveMethod.CecilBuilder
         End If
+
         If m_RaiseMethod IsNot Nothing Then
-            m_RaiseMethod.UpdateDefinition()
-            If members IsNot Nothing AndAlso members.Contains(m_RaiseMethod) = False Then members.Add(m_RaiseMethod)
-            If methods.Contains(m_RaiseMethod.CecilBuilder) = False Then methods.Add(m_RaiseMethod.CecilBuilder)
+            result = m_RaiseMethod.CreateDefinition AndAlso result
+            DeclaringType.Members.Add(m_RaiseMethod)
             m_CecilBuilder.InvokeMethod = m_RaiseMethod.CecilBuilder
         End If
 
-    End Sub
+        Return result
+    End Function
 End Class
diff --git a/vbnc/vbnc/source/Members/EventHandlerDeclaration.vb b/vbnc/vbnc/source/Members/EventHandlerDeclaration.vb
index f9e0a08..7ff493f 100644
--- a/vbnc/vbnc/source/Members/EventHandlerDeclaration.vb
+++ b/vbnc/vbnc/source/Members/EventHandlerDeclaration.vb
@@ -54,7 +54,6 @@ Public MustInherit Class EventHandlerDeclaration
         mySignature.Init(New Identifier(mySignature, name, EventName.Location, EventName.TypeCharacter), Nothing, Parameters)
 
         MyBase.Init(Modifiers, mySignature, Code)
-        UpdateDefinition()
     End Sub
 
     ''' <summary>
diff --git a/vbnc/vbnc/source/Members/ExternalSubDeclaration.vb b/vbnc/vbnc/source/Members/ExternalSubDeclaration.vb
index 10ade40..beee6f3 100644
--- a/vbnc/vbnc/source/Members/ExternalSubDeclaration.vb
+++ b/vbnc/vbnc/source/Members/ExternalSubDeclaration.vb
@@ -118,7 +118,7 @@ Public Class ExternalSubDeclaration
             Case Else
                 Throw New InternalException
         End Select
-        Me.CustomAttributes.Add(attrib)
+        Me.AddCustomAttribute(attrib)
 
         For i As Integer = 0 To Signature.Parameters.Count - 1
             If Helper.CompareType(Signature.Parameters(i).ParameterType, Compiler.TypeCache.System_String) AndAlso Signature.Parameters(i).CustomAttributes.Count = 0 Then
diff --git a/vbnc/vbnc/source/Members/FunctionSignature.vb b/vbnc/vbnc/source/Members/FunctionSignature.vb
index dc1b6a8..b4f77a1 100644
--- a/vbnc/vbnc/source/Members/FunctionSignature.vb
+++ b/vbnc/vbnc/source/Members/FunctionSignature.vb
@@ -122,7 +122,7 @@ Public Class FunctionSignature
                 If Me.Location.File(Compiler).IsOptionStrictOn Then
                     result = Compiler.Report.ShowMessage(Messages.VBNC30210, Me.Location) AndAlso result
                 Else
-                    result = Compiler.Report.ShowMessage(Messages.VBNC42024, Me.Location) AndAlso result
+                    result = Compiler.Report.ShowMessage(Messages.VBNC42021, Me.Location) AndAlso result
                 End If
                 m_ReturnType = Compiler.TypeCache.System_Object
             End If
@@ -149,5 +149,4 @@ Public Class FunctionSignature
 
         Return result
     End Function
-
 End Class
diff --git a/vbnc/vbnc/source/Members/LocalVariableDeclaration.vb b/vbnc/vbnc/source/Members/LocalVariableDeclaration.vb
index ce22118..c1e03f2 100644
--- a/vbnc/vbnc/source/Members/LocalVariableDeclaration.vb
+++ b/vbnc/vbnc/source/Members/LocalVariableDeclaration.vb
@@ -1,4 +1,4 @@
-' 
+' 
 ' Visual Basic.Net Compiler
 ' Copyright (C) 2004 - 2010 Rolf Bjarne Kvinge, RKvinge at novell.com
 ' 
@@ -55,8 +55,10 @@ Public Class LocalVariableDeclaration
         MyBase.Init(Modifiers, Name, VariableType)
     End Sub
 
-    Public Overrides Sub Initialize(ByVal Parent As BaseObject)
-        MyBase.Initialize(Parent)
+    Public Overrides Function CreateDefinition() As Boolean
+        Dim result As Boolean = True
+
+        result = MyBase.CreateDefinition() AndAlso result
 
         If IsStatic Then
             If m_FieldBuilderStaticInit Is Nothing AndAlso HasInitializer Then
@@ -72,7 +74,9 @@ Public Class LocalVariableDeclaration
         Else
             'TODO: Create local builder here too
         End If
-    End Sub
+
+        Return result
+    End Function
 
     Private Function DefineField() As Boolean
         Dim result As Boolean = True
diff --git a/vbnc/vbnc/source/Members/MemberDeclaration.vb b/vbnc/vbnc/source/Members/MemberDeclaration.vb
index ebd5bb7..693a541 100644
--- a/vbnc/vbnc/source/Members/MemberDeclaration.vb
+++ b/vbnc/vbnc/source/Members/MemberDeclaration.vb
@@ -28,17 +28,6 @@ Public MustInherit Class MemberDeclaration
     Private m_Name As String
     Private m_GeneratedCode As Boolean
 
-    Overridable Sub UpdateDefinition()
-
-    End Sub
-
-    Public Overrides Sub Initialize(ByVal Parent As BaseObject)
-        MyBase.Initialize(Parent)
-
-        If m_CustomAttributes IsNot Nothing Then m_CustomAttributes.Initialize(Me)
-        Helper.Assert(m_Name IsNot Nothing)
-    End Sub
-
     ReadOnly Property GeneratedCode() As Boolean
         Get
             Return m_GeneratedCode
@@ -79,6 +68,15 @@ Public MustInherit Class MemberDeclaration
         If m_Name Is Nothing Then Throw New InternalException(Me.Location.ToString(Compiler))
     End Sub
 
+    Public Overrides Function CreateDefinition() As Boolean Implements IMember.CreateDefinition
+        Dim result As Boolean = True
+
+        result = MyBase.CreateDefinition AndAlso result
+        If m_CustomAttributes IsNot Nothing Then m_CustomAttributes.SetParent(Me)
+
+        Return result
+    End Function
+
     Protected Sub Rename(ByVal Name As String)
         m_Name = Name
         If MemberDescriptor IsNot Nothing Then
@@ -95,6 +93,11 @@ Public MustInherit Class MemberDeclaration
         End Set
     End Property
 
+    Public Function FindAttributes(ByVal Type As TypeReference) As Generic.List(Of Attribute)
+        If m_CustomAttributes Is Nothing Then Return Nothing
+        Return m_CustomAttributes.FindAttributes(Type)
+    End Function
+
     Public Sub AddCustomAttribute(ByVal Attribute As Attribute)
         If m_CustomAttributes Is Nothing Then
             m_CustomAttributes = New Attributes(Me)
@@ -164,6 +167,5 @@ Public MustInherit Class MemberDeclaration
 
         Return result
     End Function
-
-
 End Class
+
diff --git a/vbnc/vbnc/source/Members/MemberDeclarations.vb b/vbnc/vbnc/source/Members/MemberDeclarations.vb
index adb2056..c819c19 100644
--- a/vbnc/vbnc/source/Members/MemberDeclarations.vb
+++ b/vbnc/vbnc/source/Members/MemberDeclarations.vb
@@ -89,6 +89,13 @@ Public Class MemberDeclarations
         Return result
     End Function
 
+    Function HasSpecificMember(Of T)() As Boolean
+        For i As Integer = 0 To Count - 1
+            If TypeOf Me.Item(i) Is T Then Return True
+        Next
+        Return False
+    End Function
+
     Sub New(ByVal Parent As ParsedObject)
         MyBase.new(Parent)
     End Sub
diff --git a/vbnc/vbnc/source/Members/MethodDeclaration.vb b/vbnc/vbnc/source/Members/MethodDeclaration.vb
index 91422ee..2c450d6 100644
--- a/vbnc/vbnc/source/Members/MethodDeclaration.vb
+++ b/vbnc/vbnc/source/Members/MethodDeclaration.vb
@@ -24,8 +24,6 @@
 Public MustInherit Class MethodDeclaration
     Inherits MethodBaseDeclaration
 
-    Private added As Boolean
-
     Protected Sub New(ByVal Parent As TypeDeclaration)
         MyBase.new(Parent)
     End Sub
@@ -42,19 +40,16 @@ Public MustInherit Class MethodDeclaration
         Dim result As Boolean = True
 
         result = MyBase.ResolveTypeReferences AndAlso result
-        UpdateDefinition()
 
         Return result
     End Function
 
     Shadows Sub Init(ByVal Modifiers As Modifiers, ByVal Signature As SubSignature)
         MyBase.Init(Modifiers, Signature)
-        UpdateDefinition()
     End Sub
 
     Shadows Sub Init(ByVal Modifiers As Modifiers, ByVal Signature As SubSignature, ByVal Code As CodeBlock)
         MyBase.Init(Modifiers, Signature, Code)
-        UpdateDefinition()
     End Sub
 
     Public Overrides Function ResolveMember(ByVal Info As ResolveInfo) As Boolean
@@ -65,30 +60,10 @@ Public MustInherit Class MethodDeclaration
         Return result
     End Function
 
-    Overrides Sub UpdateDefinition()
-        MyBase.UpdateDefinition()
-
-        If Not added Then
-            added = True
-            DeclaringType.CecilType.Methods.Add(CecilBuilder)
-        End If
-
-    End Sub
-
-    Public Overrides Function ResolveCode(ByVal Info As ResolveInfo) As Boolean
+    Public Overrides Function CreateDefinition() As Boolean
         Dim result As Boolean = True
 
-        result = MyBase.ResolveCode(Info) AndAlso result
-
-        Return result
-    End Function
-
-    Public Overrides Function DefineMember() As Boolean
-        Dim result As Boolean = True
-
-        result = MyBase.DefineMember AndAlso result
-
-        Helper.Assert(Me.DeclaringType IsNot Nothing)
+        result = MyBase.CreateDefinition AndAlso result
 
         Return result
     End Function
diff --git a/vbnc/vbnc/source/Members/MethodResolver.vb b/vbnc/vbnc/source/Members/MethodResolver.vb
index 083c54f..c1bfe27 100644
--- a/vbnc/vbnc/source/Members/MethodResolver.vb
+++ b/vbnc/vbnc/source/Members/MethodResolver.vb
@@ -37,6 +37,7 @@ Public Class MethodResolver
 
     Private m_ResolvedCandidate As MemberCandidate
     Private m_ShowErrors As Boolean
+    Private m_CanBeLateBound As Boolean
     Private m_Resolved As Boolean
     Private m_IsLateBound As Boolean
 
@@ -46,6 +47,15 @@ Public Class MethodResolver
         End Get
     End Property
 
+    Property CanBeLateBound As Boolean
+        Get
+            Return m_CanBeLateBound
+        End Get
+        Set(ByVal value As Boolean)
+            m_CanBeLateBound = value
+        End Set
+    End Property
+
     Property ShowErrors() As Boolean
         Get
             Return m_ShowErrors
@@ -135,7 +145,7 @@ Public Class MethodResolver
         Get
             Dim result As Integer
             For i As Integer = 0 To m_Candidates.Count - 1
-                If m_Candidates(i) IsNot Nothing Then result += 1
+                If m_Candidates(i).RemovedBy Is Nothing Then result += 1
             Next
             Return result
         End Get
@@ -157,8 +167,10 @@ Public Class MethodResolver
             If IsLateBound Then
                 m_ResolvedCandidate = Nothing
             Else
+                SelectMostApplicableParamArraysVersion()
+
                 For Each member As MemberCandidate In m_Candidates
-                    If member Is Nothing Then Continue For
+                    If member.RemovedBy IsNot Nothing Then Continue For
 
                     If IsValidCandidate(member) = False Then
                         result = Compiler.Report.ShowMessage(Messages.VBNC30657, Parent.Location, member.Member.Name)
@@ -195,54 +207,68 @@ Public Class MethodResolver
             End If
         End If
 
-        ExpandParamArrays()
-        Log("After expanding paramarrays, there are " & CandidatesLeft & " candidates left.")
-        If ShowErrors AndAlso CandidatesLeft = 0 Then
-            Throw New InternalException("Expanding paramarrays resulted in fewer candidates: " & Parent.Location.ToString(Compiler))
+        'ExpandParamArrays()
+        'Log("After expanding paramarrays, there are " & CandidatesLeft & " candidates left.")
+        'If ShowErrors AndAlso CandidatesLeft = 0 Then
+        '    Throw New InternalException("Expanding paramarrays resulted in fewer candidates: " & Parent.Location.ToString(Compiler))
+        'End If
+
+        InferTypeArguments()
+        Log("After inferring type arguments, there are " & CandidatesLeft & " candidates left.")
+        If CandidatesLeft = 0 Then
+            'Type infer code shows the error message if it's supposed to show errors
+            Return False
         End If
 
-        RemoveInapplicable()
-        Log("After removing inapplicable candidates, there are " & CandidatesLeft & " candidates left.")
-        If ShowErrors AndAlso CandidatesLeft = 0 Then
-            If m_InitialCandidates.Length = 1 Then
-                Dim argsGiven, argsRequired As Integer
-                Dim params As Mono.Collections.Generic.Collection(Of ParameterDefinition)
-                params = Helper.GetParameters(Compiler, m_InitialCandidates(0).Member)
-                argsRequired = params.Count
-                argsGiven = m_Arguments.Length
-                If argsGiven >= argsRequired Then
-                    Return Compiler.Report.ShowMessage(Messages.VBNC30057, Parent.Location, m_InitialCandidates(0).ToString())
+        'Remove inapplicable candidates
+        RemoveInapplicable_ParameterCount()
+        Log("After removing inapplicable pc candidates, there are " & CandidatesLeft & " candidates left.")
+        If CandidatesLeft = 0 Then
+            If ShowErrors Then
+                If m_InitialCandidates.Length = 1 Then
+                    If m_InitialCandidates(0).InputParameters.Count < m_InitialCandidates(0).Arguments.Count Then
+                        Compiler.Report.ShowMessage(Messages.VBNC30057, m_Parent.Location, Helper.ToString(Compiler, m_InitialCandidates(0).Member))
+                    Else
+                        Compiler.Report.ShowMessage(Messages.VBNC30455, m_Parent.Location, m_InitialCandidates(0).InputParameters(m_InitialCandidates(0).Arguments.Count).Name, Helper.ToString(Compiler, m_InitialCandidates(0).Member))
+                    End If
                 Else
-                    For i As Integer = argsGiven To argsRequired - 1
-                        Compiler.Report.ShowMessage(Messages.VBNC30455, Parent.Location, params(i).Name, m_InitialCandidates(0).ToString())
-                    Next
-                    Return False
+                    Compiler.Report.ShowMessage(Messages.VBNC30516, m_Parent.Location, m_Name)
                 End If
-            Else
-                Return Compiler.Report.ShowMessage(Messages.VBNC30516, Parent.Location, MethodName)
             End If
+            Return False
         End If
 
-        InferTypeArguments()
-        Log("After inferring type arguments, there are " & CandidatesLeft & " candidates left.")
-        If CandidatesLeft = 0 Then
-            'Type infer code shows the error message if it's supposed to show errors
+        RemoveInapplicable(Nothing)
+        Log("After removing inapplicable candidates, there are " & CandidatesLeft & " candidates left.")
+        If CandidatesLeft = 1 Then
+            Return True
+        ElseIf CandidatesLeft = 0 Then
+            If ShowErrors Then
+                Dim lines As New Generic.List(Of String)
+                RemoveInapplicable(lines)
+                If lines.Count > 0 Then
+                    'If there are no lines, an error has been shown already
+                    Compiler.Report.ShowMessage(Messages.VBNC30518, m_Parent.Location, Helper.GetMemberName(m_InitialCandidates(0).Member), Environment.NewLine & "    " & String.Join(Environment.NewLine & "    ", lines.ToArray()))
+                End If
+            End If
             Return False
         End If
 
-        If CandidatesLeft <= 1 Then Return CandidatesLeft = 1
-
-        RemoveNarrowingExceptObject()
+        RemoveNarrowingExceptObject(Nothing)
         Log("After removing narrowing (except object) candidates, there are " & CandidatesLeft & " candidates left.")
-        If ShowErrors AndAlso CandidatesLeft = 0 Then
-            Helper.AddError(Me.m_Parent, String.Format("After removing narrowing (except object) candidates for method '{0}', nothing was found", Me.m_InitialCandidates(0).Member.Name))
-            Helper.AddError(Me.m_Parent, String.Format("Tried to select using invocation list: '{0}' of {1} initial candidates", Me.ArgumentsTypesAsString, m_InitialCandidates.Length))
-            Dim reported As Integer = 0
-            For i As Integer = 0 To m_InitialCandidates.Length - 1
-                reported += 1
-                Dim mi As Mono.Cecil.MemberReference = m_InitialCandidates(i).Member
-                Helper.AddError(Me.m_Parent, String.Format("Candidate #{0}: {1} {2}", reported, mi.Name, Helper.ToString(Me.m_Parent, Helper.GetParameters(Me.m_Parent, mi))))
-            Next
+        If CandidatesLeft = 1 Then
+            Return True
+        ElseIf CandidatesLeft = 0 Then
+            If Parent.Location.File(Compiler).IsOptionStrictOn = False AndAlso m_CanBeLateBound Then
+                m_IsLateBound = True
+                Return True
+            End If
+            If ShowErrors Then
+                Dim lines As New Generic.List(Of String)
+                RemoveNarrowingExceptObject(lines)
+                Compiler.Report.ShowMessage(Messages.VBNC30519, m_Parent.Location, m_InitialCandidates(0).Member.Name, Environment.NewLine & "    " & String.Join(Environment.NewLine & "    ", lines.ToArray()))
+            End If
+            Return False
         End If
 
         If CandidatesLeft <= 1 Then Return CandidatesLeft = 1
@@ -252,7 +278,7 @@ Public Class MethodResolver
         If CandidatesLeft = 1 Then
             Return True
         ElseIf CandidatesLeft = 0 Then
-            If Parent.Location.File(Compiler).IsOptionStrictOn = False Then
+            If Parent.Location.File(Compiler).IsOptionStrictOn = False AndAlso m_CanBeLateBound Then
                 m_IsLateBound = True
                 Return True
             End If
@@ -272,6 +298,12 @@ Public Class MethodResolver
             Return True
         End If
 
+        SelectUsingTieBreak()
+        Log("After tie break, there are " & CandidatesLeft & " candidates left.")
+        If ShowErrors AndAlso CandidatesLeft = 0 Then
+            Helper.AddError(Me.m_Parent, "Tie break failed")
+        End If
+
         SelectLessGeneric()
         Log("After selecting the less generic candidates, there are " & CandidatesLeft & " candidates left.")
         If CandidatesLeft = 1 Then
@@ -286,7 +318,8 @@ Public Class MethodResolver
                 Helper.AddError(Me.m_Parent, String.Format("Tried to select using invocation list: '{0}'", Me.ArgumentsTypesAsString))
                 Dim reported As Integer = 0
                 For i As Integer = 0 To m_Candidates.Count - 1
-                    If m_Candidates(i) Is Nothing Then Continue For
+                    If m_Candidates(i) Is Nothing OrElse m_Candidates(i).RemovedBy IsNot Nothing Then Continue For
+
                     reported += 1
                     Dim mi As Mono.Cecil.MemberReference = m_InitialCandidates(i).Member
                     Helper.AddError(Me.m_Parent, String.Format("Candidate #{0}: {1} {2}", reported, mi.Name, Helper.ToString(Me.m_Parent, Helper.GetParameters(Me.m_Parent, mi))))
@@ -307,11 +340,46 @@ Public Class MethodResolver
         Return True
     End Function
 
+    Sub SelectUsingTieBreak()
+        'Otherwise, given any two members of the set, M and N, apply the following tie-breaking rules, in order:
+
+        '•	If M has fewer parameters from an expanded paramarray than N, eliminate N from the set. For example:
+        For i As Integer = 0 To m_Candidates.Count - 1
+            If m_Candidates(i).IsRemoved("ParamArrayTieBreak") Then Continue For
+
+            For j As Integer = i + 1 To m_Candidates.Count - 1
+                If m_Candidates(j).IsRemoved("ParamArrayTieBreak") Then Continue For
+
+                If m_Candidates(i).ParametersFromExpandedParamArray > m_Candidates(j).ParametersFromExpandedParamArray Then
+                    m_Candidates(i).RemovedBy = "ParamArrayTieBreak"
+                ElseIf m_Candidates(i).ParametersFromExpandedParamArray < m_Candidates(j).ParametersFromExpandedParamArray Then
+                    m_Candidates(j).RemovedBy = "ParamArrayTieBreak"
+                End If
+            Next
+        Next
+
+        If CandidatesLeft <= 1 Then Return
+
+        '7.1.	If M is defined in a more derived type than N, eliminate N from the set
+        '7.2.	If M and N are extension methods and the target type of M is a class or structure and the target type of N is an interface, eliminate N from the set.
+        '7.3.	If M and N are extension methods and the target type of M has fewer type parameters than the target type of N, eliminate N from the set.
+        '7.4.	If M is less generic than N, eliminate N from the set.
+        '7.5.	If M is not an extension method and N is, eliminate N from the set.
+        '7.6.	If M and N are extension methods and M was found before N, eliminate N from the set.
+        '7.7.	If M and N both required type inference to produce type arguments, and M did not require determining the dominant type for any of its type arguments (i.e. each the type arguments inferred to a single type), but N did, eliminate N from the set.
+        '7.8.	If one or more arguments are AddressOf or lambda expressions, and all of the corresponding delegate types in M match exactly, but not all do in N, eliminate N from the set.
+        '7.9.	If one or more arguments are AddressOf or lambda expressions, and all of the corresponding delegate types in M are widening conversions, but not all are in N, eliminate N from the set.
+        '7.10.	If the overload resolution is being done to resolve the target of a delegate-creation expression from an AddressOf expression and M is a function, while N is a subroutine, eliminate N from the set.
+
+    End Sub
+
     Sub RemoveInvalid()
         For i As Integer = 0 To m_Candidates.Count - 1
             Dim m As MemberCandidate = m_Candidates(i)
-            If m Is Nothing Then Continue For
-            If IsValidCandidate(m) = False Then m_Candidates(i) = Nothing
+            If m.IsRemoved("RemoveInvalid") Then Continue For
+            If IsValidCandidate(m) = False Then
+                m_Candidates(i).RemovedBy = "RemoveInvalid"
+            End If
         Next
     End Sub
 
@@ -359,10 +427,10 @@ Public Class MethodResolver
         Dim gp() As Mono.Collections.Generic.Collection(Of GenericParameter) = Nothing
 
         For i As Integer = 0 To m_Candidates.Count - 1
-            If m_Candidates(i) Is Nothing Then Continue For
+            If m_Candidates(i).IsRemoved("SelectLessGeneric") Then Continue For
 
             For j As Integer = i + 1 To m_Candidates.Count - 1
-                If m_Candidates(j) Is Nothing Then Continue For
+                If m_Candidates(j).IsRemoved("SelectLessGeneric") Then Continue For
 
                 Dim candidateI As MemberCandidate = m_Candidates(i)
                 Dim candidateJ As MemberCandidate = m_Candidates(j)
@@ -410,11 +478,11 @@ Public Class MethodResolver
 
                 If timesLessGenericI > 0 AndAlso timesLessGenericJ = 0 Then
                     Log("MORE METHOD GENERIC: Method call to '{0}{1}' with arguments '{2}'", Helper.ToString(candidateJ.DefinedParametersTypes), ArgumentsTypesAsString)
-                    m_Candidates(j) = Nothing
+                    m_Candidates(j).RemovedBy = "SelectLessGeneric"
                     Exit For
                 ElseIf timesLessGenericI = 0 AndAlso timesLessGenericJ > 0 Then
                     Log("MORE METHOD GENERIC: Method call to '{0}{1}' with arguments '{2}'", Helper.ToString(candidateI.DefinedParametersTypes), ArgumentsTypesAsString)
-                    m_Candidates(i) = Nothing
+                    m_Candidates(i).RemovedBy = "SelectLessGeneric"
                     Exit For
                 End If
 
@@ -444,11 +512,11 @@ Public Class MethodResolver
 
                 If timesLessGenericI > 0 AndAlso timesLessGenericJ = 0 Then
                     Log("MORE TYPE GENERIC: Method call to '{0}{1}' with arguments '{2}'", Helper.ToString(candidateJ.DefinedParametersTypes), ArgumentsTypesAsString)
-                    m_Candidates(j) = Nothing
+                    m_Candidates(j).RemovedBy = "SelectLessGeneric"
                     Exit For
                 ElseIf timesLessGenericI = 0 AndAlso timesLessGenericJ > 0 Then
                     Log("MORE TYPE GENERIC: Method call to '{0}{1}' with arguments '{2}'", Helper.ToString(candidateI.DefinedParametersTypes), ArgumentsTypesAsString)
-                    m_Candidates(i) = Nothing
+                    m_Candidates(i).RemovedBy = "SelectLessGeneric"
                     Exit For
                 End If
 
@@ -461,11 +529,11 @@ Public Class MethodResolver
         For i As Integer = 0 To m_Candidates.Count - 1
             Dim candidate As MemberCandidate = m_Candidates(i)
 
-            If candidate Is Nothing Then Continue For
+            If candidate.IsRemoved("RemoveInaccessible") Then Continue For
 
             If candidate.IsAccessible = False Then
                 Log("NOT ACCESSIBLE: Method call to '{0}{1}' with arguments '{2}'", Helper.ToString(candidate.DefinedParametersTypes), ArgumentsTypesAsString)
-                m_Candidates(i) = Nothing
+                m_Candidates(i).RemovedBy = "RemoveInaccessible"
             Else
                 Log("ACCESSIBLE    : Method call to '{0}{1}' with arguments '{2}'", Helper.ToString(candidate.DefinedParametersTypes), ArgumentsTypesAsString)
             End If
@@ -481,51 +549,56 @@ Public Class MethodResolver
         For i As Integer = 0 To m_Candidates.Count - 1
             Dim candidate As MemberCandidate = m_Candidates(i)
 
-            If candidate Is Nothing Then Continue For
+            If candidate.IsRemoved("InferTypeArguments") Then Continue For
 
             If candidate.InferTypeArguments = False Then
                 Log("TYPE INFERENCE FAILED: Method call to '{0}{1}' with arguments '{2}'", Helper.ToString(candidate.DefinedParametersTypes), ArgumentsTypesAsString)
-                m_Candidates(i) = Nothing
+                m_Candidates(i).RemovedBy = "InferTypeArguments"
             Else
                 Log("TYPE INFERENCE PASSED: Method call to '{0}{1}' with arguments '{2}'", Helper.ToString(candidate.DefinedParametersTypes), ArgumentsTypesAsString)
             End If
         Next
     End Sub
 
-    Sub ExpandParamArrays()
+    Sub RemoveInapplicable_ParameterCount()
         For i As Integer = 0 To m_Candidates.Count - 1
             Dim candidate As MemberCandidate = m_Candidates(i)
 
-            If candidate Is Nothing Then Continue For
+            If m_Candidates(i).IsRemoved("RemoveInapplicable_ParameterCount") Then Continue For
 
-            candidate.ExpandParamArray()
+            If candidate.IsApplicable_ParameterCount() = False Then
+                Log("NOT PC APPLICABLE: Method call to '{0}{1}' with arguments '{2}'", Helper.ToString(candidate.DefinedParametersTypes), ArgumentsTypesAsString)
+                m_Candidates(i).RemovedBy = "RemoveInapplicable_ParameterCount"
+            Else
+                Log("PC APPLICABLE    : Method call to '{0}{1}' with arguments '{2}'", Helper.ToString(candidate.DefinedParametersTypes), ArgumentsTypesAsString)
+            End If
         Next
     End Sub
 
-    Sub RemoveInapplicable()
+    Sub RemoveInapplicable(ByVal error_lines As Generic.List(Of String))
         For i As Integer = 0 To m_Candidates.Count - 1
             Dim candidate As MemberCandidate = m_Candidates(i)
 
-            If candidate Is Nothing Then Continue For
+            If m_Candidates(i).IsRemoved("RemoveInapplicable") Then Continue For
 
-            If candidate.DefineApplicability = False Then
+            If candidate.IsApplicable(error_lines) = False Then
                 Log("NOT APPLICABLE: Method call to '{0}{1}' with arguments '{2}'", Helper.ToString(candidate.DefinedParametersTypes), ArgumentsTypesAsString)
-                m_Candidates(i) = Nothing
+                m_Candidates(i).RemovedBy = "RemoveInapplicable"
             Else
                 Log("APPLICABLE    : Method call to '{0}{1}' with arguments '{2}'", Helper.ToString(candidate.DefinedParametersTypes), ArgumentsTypesAsString)
             End If
         Next
     End Sub
 
-    Sub RemoveNarrowingExceptObject()
+    Sub RemoveNarrowingExceptObject(ByVal error_lines As Generic.List(Of String))
         For i As Integer = 0 To m_Candidates.Count - 1
             Dim candidate As MemberCandidate = m_Candidates(i)
 
-            If candidate Is Nothing Then Continue For
+            If candidate.IsRemoved("RemoveNarrowingExceptObject") Then Continue For
 
-            If candidate.IsNarrowingExceptObject Then
+            If candidate.IsNarrowingInternal(True, error_lines) Then
                 Log("NARROWING (EXCEPT OBJECT)    : Method call to '{0}{1}' with arguments '{2}'", Helper.ToString(candidate.DefinedParametersTypes), ArgumentsTypesAsString)
-                m_Candidates(i) = Nothing
+                m_Candidates(i).RemovedBy = "RemoveNarrowingExceptObject"
             Else
                 Log("NOT NARROWING (EXCEPT OBJECT): Method call to '{0}{1}' with arguments '{2}'", Helper.ToString(candidate.DefinedParametersTypes), ArgumentsTypesAsString)
             End If
@@ -536,11 +609,11 @@ Public Class MethodResolver
         For i As Integer = 0 To m_Candidates.Count - 1
             Dim candidate As MemberCandidate = m_Candidates(i)
 
-            If candidate Is Nothing Then Continue For
+            If candidate.IsRemoved("RemoveNarrowing") Then Continue For
 
-            If candidate.IsNarrowing Then
+            If candidate.IsNarrowingInternal(False, Nothing) Then
                 Log("NARROWING    : Method call to '{0}{1}' with arguments '{2}'", Helper.ToString(candidate.DefinedParametersTypes), ArgumentsTypesAsString)
-                m_Candidates(i) = Nothing
+                candidate.RemovedBy = "RemoveNarrowing"
             Else
                 Log("NOT NARROWING: Method call to '{0}{1}' with arguments '{2}'", Helper.ToString(candidate.DefinedParametersTypes), ArgumentsTypesAsString)
             End If
@@ -552,10 +625,11 @@ Public Class MethodResolver
         Dim expandedArgumentTypes(m_Candidates.Count - 1)() As Mono.Cecil.TypeReference
 
         For i As Integer = 0 To m_Candidates.Count - 1
-            If m_Candidates(i) Is Nothing Then Continue For
+            If m_Candidates(i).RemovedBy IsNot Nothing Then Continue For
 
             For j As Integer = i + 1 To m_Candidates.Count - 1
                 If m_Candidates(j) Is Nothing Then Continue For
+                If m_Candidates(j).RemovedBy IsNot Nothing Then Continue For
 
                 Dim candidateI As MemberCandidate = m_Candidates(i)
                 Dim candidateJ As MemberCandidate = m_Candidates(j)
@@ -565,50 +639,78 @@ Public Class MethodResolver
 
                 Dim a, b As Boolean
 
-                If expandedArgumentTypes(i) Is Nothing Then
-                    expandedArgumentTypes(i) = candidateI.TypesInInvokedOrder() ' Helper.GetExpandedTypes(Compiler, candidateI.InputParameters, Arguments.Count)
+                If candidateI.IsParamArray Then
+                    If candidateI.ApplicableExpandedAndUnexpanded Then
+                        expandedArgumentTypes(i) = candidateI.DefinedParametersTypes
+                    Else
+                        expandedArgumentTypes(i) = candidateI.TypesInInvokedOrder
+                    End If
+                Else
+                    expandedArgumentTypes(i) = candidateI.DefinedParametersTypes
                 End If
-                If expandedArgumentTypes(j) Is Nothing Then
-                    expandedArgumentTypes(j) = candidateJ.TypesInInvokedOrder() 'Helper.GetExpandedTypes(Compiler, candidateJ.InputParameters, Arguments.Count)
+                If candidateJ.IsParamArray Then
+                    If candidateJ.ApplicableExpandedAndUnexpanded Then
+                        expandedArgumentTypes(j) = candidateJ.DefinedParametersTypes
+                    Else
+                        expandedArgumentTypes(j) = candidateJ.TypesInInvokedOrder
+                    End If
+                Else
+                    expandedArgumentTypes(j) = candidateJ.DefinedParametersTypes
                 End If
 
                 a = Helper.IsFirstMoreApplicable(m_Parent, Arguments.Arguments, expandedArgumentTypes(i), expandedArgumentTypes(j))
                 b = Helper.IsFirstMoreApplicable(m_Parent, Arguments.Arguments, expandedArgumentTypes(j), expandedArgumentTypes(i))
 
-                If a = b Then ' AndAlso b = False Then
-                    'It is possible for M and N to have the same signature if one or both contains an expanded 
-                    'paramarray parameter. In that case, the member with the fewest number of arguments matching
-                    'expanded paramarray parameters is considered more applicable. 
-                    Dim iParamArgs, jParamArgs As Integer
-
-                    If candidateI.IsParamArrayCandidate Then
-                        iParamArgs = candidateI.ParamArrayExpression.ArrayElementInitalizer.Initializers.Count + 1
-                    End If
-                    If candidateJ.IsParamArrayCandidate Then
-                        jParamArgs = candidateJ.ParamArrayExpression.ArrayElementInitalizer.Initializers.Count + 1
-                    End If
-                    If jParamArgs > iParamArgs Then
-                        a = True : b = False
-                    ElseIf iParamArgs > jParamArgs Then
-                        b = True : a = False
-                    End If
-                    Helper.Assert(iParamArgs <> jParamArgs OrElse (iParamArgs = 0 AndAlso jParamArgs = 0), MethodName)
-                End If
-
                 If a Xor b Then
                     If a = False Then
                         Log("NOT MOST APPLICABLE: Method call to '{0}{1}' with arguments '{2}'", Helper.ToString(candidateI.DefinedParametersTypes), ArgumentsTypesAsString)
-                        m_Candidates(i) = Nothing
+                        m_Candidates(i).RemovedBy = "SelectMostApplicable"
                         Exit For
                     Else
                         Log("NOT MOST APPLICABLE: Method call to '{0}{1}' with arguments '{2}'", Helper.ToString(candidateJ.DefinedParametersTypes), ArgumentsTypesAsString)
-                        m_Candidates(j) = Nothing
+                        m_Candidates(j).RemovedBy = "SelectMostApplicable"
                     End If
                 Else
                     Log("EQUALLY APPLICABLE: Method call to '{0}{1}' with arguments '{2}' and with arguments '{3}'", ArgumentsTypesAsString, Helper.ToString(candidateI.DefinedParametersTypes), Helper.ToString(candidateJ.DefinedParametersTypes))
                 End If
             Next
         Next
+
+    End Sub
+
+    Sub SelectMostApplicableParamArraysVersion()
+        For i As Integer = 0 To m_Candidates.Count - 1
+            Dim a, b As Boolean
+            Dim paramArgTypesA() As Mono.Cecil.TypeReference
+            Dim paramArgTypesB() As Mono.Cecil.TypeReference
+            Dim candidate As MemberCandidate = m_Candidates(i)
+
+            If candidate.RemovedBy IsNot Nothing Then Continue For
+            If candidate.ApplicableExpandedAndUnexpanded = False Then Continue For
+
+            'We need to select between the expanded and unexpanded forms
+
+            paramArgTypesA = candidate.TypesInInvokedOrder() 'expanded
+            paramArgTypesB = candidate.DefinedParametersTypes() 'unexpanded
+
+            a = Helper.IsFirstMoreApplicable(m_Parent, Arguments.Arguments, paramArgTypesA, paramArgTypesB)
+            b = Helper.IsFirstMoreApplicable(m_Parent, Arguments.Arguments, paramArgTypesB, paramArgTypesA)
+
+            If a Xor b Then
+                If a = False Then
+                    Log("NOT MOST PARAMARRAY APPLICABLE: Method call to '{0}{1}' with arguments '{2}'", Helper.ToString(candidate.TypesInInvokedOrder), ArgumentsTypesAsString)
+                    candidate.ApplicableExpandedAndUnexpanded = False
+                    candidate.IsParamArray = False
+                    'we need to unexpand
+                    candidate.UnexpandParamArrayArgument()
+                Else
+                    Log("NOT MOST PARAMARRAY APPLICABLE: Method call to '{0}{1}' with arguments '{2}'", Helper.ToString(candidate.DefinedParametersTypes), ArgumentsTypesAsString)
+                    candidate.ApplicableExpandedAndUnexpanded = False 'expanded is the good one
+                End If
+            Else
+                Log("EQUALLY PARAMARRAY APPLICABLE: Method call to '{0}{1}' with arguments '{2}' and with arguments '{3}'", ArgumentsTypesAsString, Helper.ToString(candidate.DefinedParametersTypes), Helper.ToString(candidate.DefinedParametersTypes))
+            End If
+        Next
     End Sub
 
     ReadOnly Property Resolved() As Boolean
@@ -668,7 +770,21 @@ Public Class MemberCandidate
     Private m_ExactArguments As Generic.List(Of Argument)
     Private m_TypesInInvokedOrder As Mono.Cecil.TypeReference()
 
-    Private m_IsParamArray As Boolean
+    Public IsParamArray As Boolean
+    Public ApplicableExpandedAndUnexpanded As Boolean
+    Public RemovedBy As String
+    Public ParametersFromExpandedParamArray As Integer
+
+    Public Sub UnexpandParamArrayArgument()
+        Dim paramArrayExpression As ArrayCreationExpression = DirectCast(m_ExactArguments(m_ExactArguments.Count - 1).Expression, ArrayCreationExpression)
+        m_ExactArguments(m_ExactArguments.Count - 1).Expression = ParamArrayExpression.ArrayElementInitalizer.Initializers(0).InitializerExpression
+        m_TypesInInvokedOrder(m_ExactArguments.Count - 1) = m_DefinedParametersTypes(m_ExactArguments.Count - 1)
+    End Sub
+
+    Public Function IsRemoved(ByVal By As String) As Boolean
+        If RemovedBy Is Nothing Then Return False
+        Return By IsNot RemovedBy
+    End Function
 
     Public Overrides Function ToString() As String
         Return Helper.ToString(m_Parent.Parent, m_Member)
@@ -736,15 +852,9 @@ Public Class MemberCandidate
         End Get
     End Property
 
-    ReadOnly Property IsParamArrayCandidate() As Boolean
-        Get
-            Return m_IsParamArray
-        End Get
-    End Property
-
     ReadOnly Property ParamArrayExpression() As ArrayCreationExpression
         Get
-            If m_IsParamArray = False Then Return Nothing
+            If IsParamArray = False Then Return Nothing
             Return DirectCast(m_ExactArguments(m_ExactArguments.Count - 1).Expression, ArrayCreationExpression)
         End Get
     End Property
@@ -759,19 +869,7 @@ Public Class MemberCandidate
         End Get
     End Property
 
-    ReadOnly Property IsNarrowingExceptObject() As Boolean
-        Get
-            Return IsNarrowingInternal(True)
-        End Get
-    End Property
-
-    ReadOnly Property IsNarrowing() As Boolean
-        Get
-            Return IsNarrowingInternal(False)
-        End Get
-    End Property
-
-    Private Function IsNarrowingInternal(ByVal ExceptObject As Boolean) As Boolean
+    Function IsNarrowingInternal(ByVal ExceptObject As Boolean, ByVal error_lines As Generic.List(Of String)) As Boolean
         For j As Integer = 0 To InputParameters.Count - 1
             Dim arg As Argument
             Dim param As Mono.Cecil.ParameterDefinition
@@ -782,30 +880,38 @@ Public Class MemberCandidate
             param = InputParameters(j)
             arg = ExactArguments(j)
 
+            If arg Is Nothing Then Continue For
+
             If ExceptObject AndAlso Helper.CompareType(arg.Expression.ExpressionType, Compiler.TypeCache.System_Object) Then Continue For
 
-            If m_IsParamArray AndAlso j = InputParameters.Count - 1 AndAlso ParamArrayExpression IsNot Nothing Then
+            If IsParamArray AndAlso j = InputParameters.Count - 1 AndAlso ParamArrayExpression IsNot Nothing Then
                 'To match the automatically created array for the paramarray parameter each argument has to be 
                 'implicitly convertible to the element type of the paramarray parameter type.
                 IsConvertible = True
                 elementType = CType(param.ParameterType, Mono.Cecil.ArrayType).ElementType
                 For k As Integer = 0 To ParamArrayExpression.ArrayElementInitalizer.Initializers.Count - 1
                     initializer = ParamArrayExpression.ArrayElementInitalizer.Initializers(k).AsRegularInitializer
-                    IsConvertible = IsConvertible AndAlso Compiler.TypeResolution.IsImplicitlyConvertible(arg, initializer.ExpressionType, elementType)
+                    If Not Helper.IsConvertible(arg, initializer, initializer.ExpressionType, elementType, False, Nothing, False, True, False) Then
+                        If error_lines IsNot Nothing Then
+                            error_lines.Add(String.Format("'{0}': Argument matching parameter '{1}' narrows from '{2}' to '{3}'.", Helper.ToString(Compiler, Me.Member), param.Name, Helper.ToString(Compiler, initializer.ExpressionType), Helper.ToString(Compiler, param.ParameterType)))
+                        End If
+                        Return True
+                    End If
                 Next
             Else
-                IsConvertible = Compiler.TypeResolution.IsImplicitlyConvertible(arg, arg.Expression.ExpressionType, param.ParameterType)
-            End If
-
-            If IsConvertible = False Then
-                Return True
+                If Not Helper.IsConvertible(arg, arg.Expression, arg.Expression.ExpressionType, param.ParameterType, False, Nothing, False, True, False) Then
+                    If error_lines IsNot Nothing Then
+                        error_lines.Add(String.Format("'{0}': Argument matching parameter '{1}' narrows from '{2}' to '{3}'.", Helper.ToString(Compiler, Me.Member), param.Name, Helper.ToString(Compiler, arg.Expression.ExpressionType), Helper.ToString(Compiler, param.ParameterType)))
+                    End If
+                    Return True
+                End If
             End If
         Next
 
         Return False
     End Function
 
-    ReadOnly Property Arguments() As ArgumentList
+    Public ReadOnly Property Arguments() As ArgumentList
         Get
             Return Resolver.Arguments
         End Get
@@ -817,7 +923,7 @@ Public Class MemberCandidate
         End Get
     End Property
 
-    ReadOnly Property InputParameters() As Mono.Collections.Generic.Collection(Of ParameterDefinition)
+    Public ReadOnly Property InputParameters() As Mono.Collections.Generic.Collection(Of ParameterDefinition)
         Get
             Return DefinedParameters
         End Get
@@ -825,7 +931,7 @@ Public Class MemberCandidate
 
     ReadOnly Property ParamArrayParameter() As Mono.Cecil.ParameterDefinition
         Get
-            If m_IsParamArray = False Then Return Nothing
+            If IsParamArray = False Then Return Nothing
             Return m_DefinedParameters(m_DefinedParameters.Count - 1)
         End Get
     End Property
@@ -871,8 +977,8 @@ Public Class MemberCandidate
         End If
 
         If DefinedParameters.Count <> Arguments.Count Then
-            If m_Parent.ShowErrors Then Compiler.Report.ShowMessage(Messages.VBNC99997, Me.Parent.Location)
-            Return False
+            'If m_Parent.ShowErrors Then Compiler.Report.ShowMessage(Messages.VBNC30057, Me.Parent.Location, Helper.ToString(Compiler, Member))
+            Return True
         End If
 
         '* Generate a dependency graph *
@@ -1083,10 +1189,6 @@ Public Class MemberCandidate
         m_DefinedParametersTypes = Nothing
         m_TypesInInvokedOrder = Nothing
 
-        If DefineApplicability() = False Then
-            Return Compiler.Report.ShowMessage(Messages.VBNC99997, Me.Parent.Location, "Applicability changed after inferring type arguments")
-        End If
-
         'The success of type inference does not, in and of itself, guarantee that the method is applicable.
         Return True
     End Function
@@ -1220,27 +1322,7 @@ Public Class MemberCandidate
         End Function
     End Class
 
-    Sub ExpandParamArray()
-        If DefinedParameters.Count = 0 Then Return
-        If Helper.IsParamArrayParameter(Compiler, DefinedParameters(DefinedParameters.Count - 1)) = False Then Return
-
-        Dim candidate As New MemberCandidate(Resolver, m_Member)
-        candidate.m_IsParamArray = True
-        Resolver.Candidates.Add(candidate)
-    End Sub
-
-    Function DefineApplicability() As Boolean
-        Dim matchedParameters As Generic.List(Of Mono.Cecil.ParameterReference)
-        Dim exactArguments As Generic.List(Of Argument)
-        Dim method As Mono.Cecil.MethodReference = TryCast(Member, Mono.Cecil.MethodReference)
-        Dim prop As Mono.Cecil.PropertyReference = TryCast(Member, Mono.Cecil.PropertyReference)
-
-        Dim isLastParamArray As Boolean
-        Dim paramArrayExpression As ArrayCreationExpression = Nothing
-        Dim inputParametersCount As Integer = InputParameters.Count
-
-        isLastParamArray = m_IsParamArray
-
+    Function IsApplicable_ParameterCount() As Boolean
         '(if there are more arguments than parameters and the last parameter is not a 
         'paramarray parameter the method should not be applicable)
         If Arguments.Count > InputParameters.Count Then
@@ -1248,28 +1330,64 @@ Public Class MemberCandidate
                 'LogResolutionMessage(Parent.Compiler, "N/A: 1")
                 Return False
             End If
-            If isLastParamArray = False Then
+            If InputParameters.Count > 0 AndAlso Helper.IsParamArrayParameter(Compiler, InputParameters(InputParameters.Count - 1)) = False Then
                 'LogResolutionMessage(Parent.Compiler, "N/A: 2")
                 Return False
             End If
         End If
 
-        matchedParameters = New Generic.List(Of Mono.Cecil.ParameterReference)
-        exactArguments = New Generic.List(Of Argument)(Helper.CreateArray(Of Argument)(Nothing, inputParametersCount))
+        If Arguments.Count < InputParameters.Count Then
+            If InputParameters(Arguments.Count).IsOptional Then Return True 'The remaining parameters must be optional too
+            If Arguments.Count + 1 = InputParameters.Count AndAlso Helper.IsParamArrayParameter(Compiler, InputParameters(InputParameters.Count - 1)) Then Return True 'One missing argument for a paramarray argument -> OK
+            Return False
+        End If
+
+        Return True
+    End Function
+
+    ''' <summary>
+    ''' if error_lines is empty upon exit, an error has been shown
+    ''' </summary>
+    ''' <param name="error_lines"></param>
+    ''' <returns></returns>
+    ''' <remarks></remarks>
+    Function IsApplicable(ByVal error_lines As Generic.List(Of String)) As Boolean
+        Dim matchedParameters As Argument()
+        Dim exactArguments As Generic.List(Of Argument)
+
+        Dim isLastParamArray As Boolean
+        Dim paramArrayExpression As ArrayCreationExpression = Nothing
+        Dim inputParametersCount As Integer = InputParameters.Count
+        Dim paramArrayParameter As ParameterDefinition = Nothing
+
+        If inputParametersCount > 0 AndAlso Helper.IsParamArrayParameter(Compiler, InputParameters(inputParametersCount - 1)) Then
+            isLastParamArray = True
+            paramArrayParameter = InputParameters(inputParametersCount - 1)
+        End If
+
+        '(if there are more arguments than parameters and the last parameter is not a 
+        'paramarray parameter the method should not be applicable)
+        'This has already been checked
+
+        ReDim matchedParameters(inputParametersCount - 1)
+        exactArguments = New Generic.List(Of Argument)(inputParametersCount)
+        For i As Integer = 0 To inputParametersCount - 1
+            exactArguments.Add(Nothing)
+        Next
 
         ReDim m_TypesInInvokedOrder(Math.Max(Arguments.Count - 1, inputParametersCount - 1))
 
         If isLastParamArray Then
             Dim paramArrayArg As New PositionalArgument(Parent)
 
-            Helper.Assert(paramArrayExpression Is Nothing)
             paramArrayExpression = New ArrayCreationExpression(paramArrayArg)
             paramArrayExpression.Init(ParamArrayParameter.ParameterType, New Expression() {})
 
             paramArrayArg.Init(ParamArrayParameter.Sequence, paramArrayExpression)
             exactArguments(inputParametersCount - 1) = paramArrayArg
 
-            m_TypesInInvokedOrder(inputParametersCount - 1) = ParamArrayParameter.ParameterType
+            m_TypesInInvokedOrder(inputParametersCount - 1) = paramArrayParameter.ParameterType
+            ParametersFromExpandedParamArray += 1
         End If
 
         Dim firstNamedArgument As Integer = Arguments.Count + 1
@@ -1286,53 +1404,43 @@ Public Class MemberCandidate
 
             If inputParametersCount - 1 < i Then
                 '(more positional arguments than parameters)
-                If isLastParamArray = False Then '(last parameter is not a paramarray)
-                    'LogResolutionMessage(Parent.Compiler, "N/A: 3")
-                    Return False
-                End If
+                Helper.Assert(isLastParamArray) 'We've already checked the case where we're not a paramarray candidate
 
                 'Add the additional expressions to the param array creation expression.
-                Helper.Assert(paramArrayExpression.ArrayElementInitalizer.Initializers.Count = 1)
-                For j As Integer = i To Arguments.Count - 1
-                    'A paramarray element has to be specified.
-                    If Arguments(j).Expression Is Nothing Then
-                        'LogResolutionMessage(Parent.Compiler, "N/A: 4")
-                        Return False
+                'Helper.Assert(paramArrayExpression.ArrayElementInitalizer.Initializers.Count = 1)
+                'A paramarray element has to be specified.
+                If Arguments(i).Expression Is Nothing Then
+                    If error_lines IsNot Nothing Then
+                        error_lines.Clear()
+                        Compiler.Report.ShowMessage(Messages.VBNC30588, m_Parent.Parent.Location)
                     End If
-                    paramArrayExpression.ArrayElementInitalizer.AddInitializer(Arguments(j).Expression)
+                    Return False
+                End If
+                paramArrayExpression.ArrayElementInitalizer.AddInitializer(Arguments(i).Expression)
 
-                    Helper.Assert(m_TypesInInvokedOrder(j) Is Nothing)
-                    m_TypesInInvokedOrder(j) = CecilHelper.GetElementType(ParamArrayParameter.ParameterType)
-                Next
-                Exit For
+                Helper.Assert(m_TypesInInvokedOrder(i) Is Nothing)
+                m_TypesInInvokedOrder(i) = CecilHelper.GetElementType(InputParameters(inputParametersCount - 1).ParameterType)
+                ParametersFromExpandedParamArray += 1
+                IsParamArray = True
             Else
-                matchedParameters.Add(InputParameters(i))
+                matchedParameters(i) = Arguments(i)
 
                 'Helper.Assert(m_TypesInInvokedOrder(i) Is Nothing)
                 m_TypesInInvokedOrder(i) = InputParameters(i).ParameterType
 
                 'Get the default value of the parameter if the specified argument has no expression.
                 Dim arg As Argument = Nothing
-                If Arguments(i).Expression Is Nothing Then
-                    If InputParameters(i).IsOptional = False Then
-                        Helper.Assert(False)
-                    Else
-                        Dim exp As Expression
-                        Dim pArg As New PositionalArgument(Parent)
-                        exp = Helper.GetOptionalValueExpression(pArg, InputParameters(i))
-                        pArg.Init(InputParameters(i).Sequence, exp)
-                        arg = pArg
-                    End If
-                Else
+                If Arguments(i).Expression IsNot Nothing Then
                     arg = Arguments(i)
                 End If
 
                 If isLastParamArray = False Then exactArguments(i) = arg
                 If isLastParamArray AndAlso inputParametersCount - 1 = i Then
-                    Helper.Assert(paramArrayExpression.ArrayElementInitalizer.Initializers.Count = 0)
+                    'Helper.Assert(paramArrayExpression.ArrayElementInitalizer.Initializers.Count = 0)
                     paramArrayExpression.ArrayElementInitalizer.AddInitializer(arg.Expression)
                     'Helper.Assert(m_TypesInInvokedOrder(i) Is Nothing)
-                    m_TypesInInvokedOrder(i) = CecilHelper.GetElementType(ParamArrayParameter.ParameterType)
+                    m_TypesInInvokedOrder(i) = CecilHelper.GetElementType(InputParameters(inputParametersCount - 1).ParameterType)
+                    ParametersFromExpandedParamArray += 1
                 Else
                     If isLastParamArray Then exactArguments(i) = arg
                 End If
@@ -1340,7 +1448,6 @@ Public Class MemberCandidate
             '??? If a positional argument is omitted, the method is not applicable.
         Next
 
-
         For i As Integer = firstNamedArgument To Arguments.Count - 1
             Helper.Assert(Arguments(i).IsNamedArgument)
 
@@ -1356,18 +1463,29 @@ Public Class MemberCandidate
                 'Next, match each named argument to a parameter with the given name. 
                 Dim inputParam As Mono.Cecil.ParameterReference = InputParameters(j)
                 If Helper.CompareName(inputParam.Name, namedArgument.Name) Then
-                    If matchedParameters.Contains(inputParam) Then
+                    If matchedParameters(j) IsNot Nothing Then
                         'If one of the named arguments (...) matches an argument already matched with 
                         'another positional or named argument, the method is not applicable
                         'LogResolutionMessage(Parent.Compiler, "N/A: 5")
+                        If error_lines IsNot Nothing Then
+                            If matchedParameters(j).Expression Is Nothing Then
+                                error_lines.Clear()
+                                Compiler.Report.ShowMessage(Messages.VBNC32021, m_Parent.Parent.Location, inputParam.Name, Helper.ToString(Compiler, Member))
+                            Else
+                                error_lines.Add(String.Format("'{0}': Parameter '{1}' already has a matching argument.", Helper.ToString(Compiler, m_Member), inputParam.Name))
+                            End If
+                        End If
                         Return False
                     ElseIf Helper.IsParamArrayParameter(Parent.Compiler, inputParam) Then
                         'If one of the named arguments (...) matches a paramarray parameter, 
                         '(...) the method is not applicable.
-                        'LogResolutionMessage(Parent.Compiler, "N/A: 6")
+                        If error_lines IsNot Nothing Then
+                            error_lines.Clear()
+                            Compiler.Report.ShowMessage(Messages.VBNC30587, m_Parent.Parent.Location)
+                        End If
                         Return False
                     Else
-                        matchedParameters.Add(inputParam)
+                        matchedParameters(j) = Arguments(i)
                         exactArguments(j) = Arguments(i)
 
                         Helper.Assert(m_TypesInInvokedOrder(j) Is Nothing)
@@ -1393,16 +1511,24 @@ Public Class MemberCandidate
         'then the literal 1 is supplied for text comparisons and the literal 0 otherwise.
 
         For i As Integer = 0 To inputParametersCount - 1
-            If matchedParameters.Contains(InputParameters(i)) = False Then
+            If matchedParameters(i) Is Nothing Then
                 'if parameters that have not been matched are not optional, the method is not applicable
                 If isLastParamArray = False AndAlso Helper.IsParamArrayParameter(Compiler, InputParameters(i)) Then
                     Return False
                 End If
                 If InputParameters(i).IsOptional = False AndAlso InputParameters(i) Is ParamArrayParameter = False Then
                     'LogResolutionMessage(Parent.Compiler, "N/A: 8")
+                    If error_lines IsNot Nothing Then
+                        error_lines.Clear()
+                        Compiler.Report.ShowMessage(Messages.VBNC30455, m_Parent.Parent.Location, InputParameters(i).Name, Helper.ToString(Compiler, Member))
+                    End If
                     Return False
                 End If
 
+                If InputParameters(i) Is paramArrayParameter AndAlso isLastParamArray Then
+                    Continue For
+                End If
+
                 Dim exp As Expression
                 Dim arg As New PositionalArgument(Parent)
                 exp = Helper.GetOptionalValueExpression(arg, InputParameters(i))
@@ -1428,11 +1554,10 @@ Public Class MemberCandidate
         'type parameters in the signature.
         Dim genericTypeArgumentCount As Integer
         Dim genericTypeArguments As Mono.Collections.Generic.Collection(Of TypeReference)
+        Dim method As Mono.Cecil.MethodReference = TryCast(Member, Mono.Cecil.MethodReference)
         If method IsNot Nothing AndAlso CecilHelper.IsGenericMethod(method) Then
             genericTypeArguments = CecilHelper.GetGenericArguments(method)
             genericTypeArgumentCount = genericTypeArguments.Count
-        ElseIf prop IsNot Nothing Then
-            'property cannot be generic.
         End If
 
         If genericTypeArgumentCount > 0 AndAlso (TypeArguments Is Nothing OrElse TypeArguments.List.Count = 0) Then
@@ -1452,6 +1577,88 @@ Public Class MemberCandidate
 
         m_ExactArguments = exactArguments
 
+        'We need to check for delegate creation expressions, and resolve those against the parameter's type
+        For i As Integer = 0 To m_ExactArguments.Count - 1
+            Dim aoe As AddressOfExpression
+            Dim aoeExact As AddressOfExpression
+            If m_ExactArguments(i) Is Nothing Then Continue For
+            aoe = TryCast(m_ExactArguments(i).Expression, AddressOfExpression)
+            If aoe Is Nothing Then Continue For
+            aoeExact = aoe.Clone()
+            If Not aoeExact.ResolveExpression(ResolveInfo.Default(Compiler)) Then
+                'Not applicable
+                If error_lines IsNot Nothing Then
+                    error_lines.Clear()
+                    Helper.AddError(Me.Parent)
+                End If
+                Return False
+            End If
+            If Not aoeExact.ResolveAddressOfExpression(InputParameters(i).ParameterType, False) Then
+                'Not applicable
+                If error_lines IsNot Nothing Then
+                    error_lines.Clear()
+                    Helper.AddError(Me.Parent)
+                End If
+                Return False
+            End If
+            m_ExactArguments(i) = New PositionalArgument(m_ExactArguments(i).Parent, i, aoeExact)
+        Next
+
+        Dim convertible As Boolean = True
+        For i As Integer = 0 To m_ExactArguments.Count - 1
+            If m_ExactArguments(i) Is Nothing Then
+                'Argument not supplied for an optional parameter, create it
+                Dim exp As Expression
+                Dim pArg As New PositionalArgument(Parent)
+                exp = Helper.GetOptionalValueExpression(pArg, InputParameters(i))
+                pArg.Init(InputParameters(i).Sequence, exp)
+                m_ExactArguments(i) = pArg
+                'The optional parameter's default value can always be converted to the parameter's type, so no need to check anything here.
+                Continue For
+            End If
+            If Helper.IsConvertible(m_ExactArguments(i), m_ExactArguments(i).Expression, m_ExactArguments(i).Expression.ExpressionType, DefinedParametersTypes(i), False, Nothing, False, Nothing) = False Then
+                convertible = False
+                If error_lines Is Nothing Then Exit For
+                error_lines.Add(String.Format("'{0}': Value of type '{1}' cannot be converted to '{2}'.", Helper.ToString(Compiler, m_Member), Helper.ToString(Compiler, m_ExactArguments(i).Expression.ExpressionType), Helper.ToString(Compiler, m_DefinedParametersTypes(i))))
+            End If
+        Next
+        If Not convertible Then Return False
+
+        If isLastParamArray AndAlso paramArrayExpression.ArrayElementInitalizer.Initializers.Count = 1 Then
+            Dim exp As Expression = paramArrayExpression.ArrayElementInitalizer.Initializers(0).InitializerExpression
+            'If a single argument expression matches a paramarray parameter and the type of the argument expression 
+            'is convertible to both the type of the paramarray parameter and the paramarray element type, 
+            'the method is applicable in both its expanded and unexpanded forms, with two exceptions. 
+
+            If Helper.IsConvertible(exp, exp, exp.ExpressionType, CecilHelper.GetElementType(paramArrayParameter.ParameterType), False, Nothing, False, Nothing) Then
+                IsParamArray = True
+                If Helper.IsConvertible(exp, exp, exp.ExpressionType, paramArrayParameter.ParameterType, False, Nothing, False, Nothing) Then
+                    ApplicableExpandedAndUnexpanded = True
+
+                    'If the conversion from the type of the argument expression to the paramarray type is narrowing, 
+                    'then the method is only applicable in its expanded form. 
+                    If Helper.IsConvertible(exp, exp, exp.ExpressionType, paramArrayParameter.ParameterType, False, Nothing, False, True) = False Then
+                        ApplicableExpandedAndUnexpanded = False
+                    End If
+
+                    'If the argument expression is the literal Nothing,  then the method is only applicable in its unexpanded form. 
+                    If TypeOf exp Is NothingConstantExpression Then
+                        ApplicableExpandedAndUnexpanded = False
+                        IsParamArray = False
+                    End If
+                End If
+            End If
+
+            If IsParamArray = False AndAlso m_ExactArguments(m_ExactArguments.Count - 1).Expression Is paramArrayExpression Then
+                'Unwrap the paramarray argument we created.
+                UnexpandParamArrayArgument()
+            End If
+        End If
+
+        'if m_IsParamArray is true: applicable expanded.
+        'if also m_ApplicableExpandedAndUnexpanded is true: applicable both expanded and unexpanded.
+        'if m_IsParamArray is false: not applicable expanded.
+
         Helper.AssertNotNothing(m_TypesInInvokedOrder)
 
         If ResolveUnresolvedExpressions() = False Then
@@ -1489,7 +1696,7 @@ Public Class MemberCandidate
     End Function
 
     Sub SelectOutputArguments()
-        If IsParamArrayCandidate Then
+        If IsParamArray Then
             Dim ace As ArrayCreationExpression
             ace = ParamArrayExpression ' TryCast(OutputArguments.Item(OutputArguments.Count - 1).Expression, ArrayCreationExpression)
             If ace IsNot Nothing AndAlso ace.IsResolved = False AndAlso Helper.IsParamArrayParameter(Compiler, InputParameters(InputParameters.Count - 1)) Then
@@ -1499,4 +1706,5 @@ Public Class MemberCandidate
             End If
         End If
     End Sub
-End Class
\ No newline at end of file
+End Class
+
diff --git a/vbnc/vbnc/source/Members/Modifiers.vb b/vbnc/vbnc/source/Members/Modifiers.vb
index c3a6f35..5789255 100644
--- a/vbnc/vbnc/source/Members/Modifiers.vb
+++ b/vbnc/vbnc/source/Members/Modifiers.vb
@@ -70,20 +70,6 @@ Public Structure Modifiers
         Return Me
     End Function
 
-    ''' <summary>
-    ''' Returns true if the modifier Publis is set, or any other modifiers (Private, Friend, Protected) 
-    ''' is not set.
-    ''' </summary>
-    ''' <value></value>
-    ''' <returns></returns>
-    ''' <remarks></remarks>
-    ReadOnly Property IsPublic() As Boolean
-        Get
-            Dim mask As ModifierMasks = ModifierMasks.AccessModifiers
-            Return mask = ModifierMasks.Public OrElse mask = 0
-        End Get
-    End Property
-
     ReadOnly Property AccessibilityMask() As ModifierMasks
         Get
             Return m_ModifierMask And (ModifierMasks.Public Or ModifierMasks.Private Or ModifierMasks.Friend Or ModifierMasks.Protected)
diff --git a/vbnc/vbnc/source/Members/NamedBaseList.vb b/vbnc/vbnc/source/Members/NamedBaseList.vb
index bc46870..03310d8 100644
--- a/vbnc/vbnc/source/Members/NamedBaseList.vb
+++ b/vbnc/vbnc/source/Members/NamedBaseList.vb
@@ -17,7 +17,7 @@
 ' Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 ' 
 
-Public MustInherit Class NamedBaseList(Of T As BaseObject)
+Public MustInherit Class NamedBaseList(Of T As ParsedObject)
     Inherits BaseList(Of T)
 
     Shadows Function Add(ByVal Item As T) As T
diff --git a/vbnc/vbnc/source/Members/Parameter.vb b/vbnc/vbnc/source/Members/Parameter.vb
index c0f500c..253e81d 100644
--- a/vbnc/vbnc/source/Members/Parameter.vb
+++ b/vbnc/vbnc/source/Members/Parameter.vb
@@ -32,8 +32,6 @@ Public Class Parameter
     Private m_ParameterIdentifier As ParameterIdentifier
     Private m_TypeName As TypeName
     Private m_ConstantExpression As Expression
-
-    Private m_ParameterAttributes As Mono.Cecil.ParameterAttributes = Mono.Cecil.ParameterAttributes.None
     
     Private m_ParameterBuilderCecil As Mono.Cecil.ParameterDefinition
     Private m_ParamArrayAttribute As Mono.Cecil.CustomAttribute
@@ -46,18 +44,13 @@ Public Class Parameter
 
     Sub New(ByVal Parent As ParameterList)
         MyBase.New(Parent)
-        UpdateDefinition()
     End Sub
 
     Sub New(ByVal Parent As ParameterList, ByVal Name As String, ByVal ParameterType As Mono.Cecil.TypeReference)
         MyBase.New(Parent)
 
         m_ParameterIdentifier = New ParameterIdentifier(Me, Name)
-        Me.ParameterType = ParameterType
-
-        UpdateDefinition()
-
-        Helper.Assert(m_ParameterIdentifier IsNot Nothing)
+        m_TypeName = New TypeName(Me, ParameterType)
     End Sub
 
     Sub New(ByVal Parent As ParameterList, ByVal Name As String, ByVal ParameterType As TypeName)
@@ -65,10 +58,6 @@ Public Class Parameter
 
         m_ParameterIdentifier = New ParameterIdentifier(Me, Name)
         m_TypeName = ParameterType
-
-        UpdateDefinition()
-
-        Helper.Assert(m_ParameterIdentifier IsNot Nothing)
     End Sub
 
     ReadOnly Property ParameterIdentifier() As ParameterIdentifier
@@ -89,10 +78,6 @@ Public Class Parameter
         m_ParameterIdentifier = ParameterIdentifier
         m_TypeName = TypeName
         m_ConstantExpression = ConstantExpression
-
-        Helper.Assert(m_ParameterIdentifier IsNot Nothing)
-
-        UpdateDefinition()
     End Sub
 
     Function Clone(Optional ByVal NewParent As ParameterList = Nothing) As Parameter
@@ -100,10 +85,9 @@ Public Class Parameter
         Dim result As New Parameter(NewParent)
         result.m_CustomAttributes = m_CustomAttributes
         result.m_Modifiers = m_Modifiers
-        result.m_ParameterIdentifier = m_ParameterIdentifier.Clone(result)
-        If m_TypeName IsNot Nothing Then result.m_TypeName = m_TypeName.Clone(result)
-        If m_ConstantExpression IsNot Nothing Then result.m_ConstantExpression = m_ConstantExpression.Clone(result)
-        result.UpdateDefinition()
+        result.m_ParameterIdentifier = m_ParameterIdentifier
+        If m_TypeName IsNot Nothing Then result.m_TypeName = m_TypeName
+        If m_ConstantExpression IsNot Nothing Then result.m_ConstantExpression = m_ConstantExpression
         Return result
     End Function
 
@@ -119,12 +103,11 @@ Public Class Parameter
             Return m_ParameterBuilderCecil.Constant
         End Get
         Set(ByVal value As Object)
-            If TypeConverter.ConvertTo(Me, value, ParameterType, value) = False Then
+            If TypeConverter.ConvertTo(Me, value, ParameterType, value, True) = False Then
                 Throw New NotImplementedException
             End If
             If value Is DBNull.Value Then value = Nothing
             m_ParameterBuilderCecil.Constant = value
-            UpdateDefinition()
         End Set
     End Property
 
@@ -139,11 +122,10 @@ Public Class Parameter
 
     Property ParameterAttributes() As Mono.Cecil.ParameterAttributes
         Get
-            Return m_ParameterAttributes
+            Return m_ParameterBuilderCecil.Attributes
         End Get
         Set(ByVal value As Mono.Cecil.ParameterAttributes)
-            m_ParameterAttributes = value
-            UpdateDefinition()
+            m_ParameterBuilderCecil.Attributes = value
         End Set
     End Property
 
@@ -158,10 +140,7 @@ Public Class Parameter
             Return m_ParameterBuilderCecil.ParameterType
         End Get
         Set(ByVal value As Mono.Cecil.TypeReference)
-            If value.FullName.Contains("Void") Then Stop
-            If m_ParameterBuilderCecil Is Nothing Then UpdateDefinition()
             m_ParameterBuilderCecil.ParameterType = Helper.GetTypeOrTypeReference(Compiler, value)
-            UpdateDefinition()
         End Set
     End Property
 
@@ -172,7 +151,9 @@ Public Class Parameter
         End Get
         Set(ByVal value As String)
             m_ParameterIdentifier = New ParameterIdentifier(Me, value)
-            UpdateDefinition()
+            If m_ParameterBuilderCecil IsNot Nothing Then
+                m_ParameterBuilderCecil.Name = m_ParameterIdentifier.Name
+            End If
         End Set
     End Property
 
@@ -191,25 +172,24 @@ Public Class Parameter
         End Get
     End Property
 
-    <Obsolete("Call Define(Builder")> Public Overrides Function Define() As Boolean
-        Throw New InternalException(Me)
-    End Function
-
-    Public Sub UpdateDefinition()
+    Public Overrides Function CreateDefinition() As Boolean
+        Dim result As Boolean = True
         Dim Parent As MethodBaseDeclaration = FindFirstParent(Of MethodBaseDeclaration)()
         Dim Builder As Mono.Cecil.MethodDefinition = Nothing
 
+        result = MyBase.CreateDefinition AndAlso result
+
         If Parent IsNot Nothing Then
             Builder = Parent.CecilBuilder
         Else
             'Helper.StopIfDebugging()
         End If
 
-        If m_ParameterBuilderCecil Is Nothing Then
-            m_ParameterBuilderCecil = New Mono.Cecil.ParameterDefinition(Nothing)
-            m_ParameterBuilderCecil.Sequence = -1
-            m_ParameterBuilderCecil.Annotations.Add(Compiler, Me)
-        End If
+        Helper.Assert(m_ParameterBuilderCecil Is Nothing)
+        m_ParameterBuilderCecil = New Mono.Cecil.ParameterDefinition(Nothing)
+        m_ParameterBuilderCecil.Sequence = -1
+        m_ParameterBuilderCecil.Annotations.Add(Compiler, Me)
+        m_ParameterBuilderCecil.ParameterType = Helper.GetTypeOrTypeReference(Compiler, Compiler.TypeCache.System_Void)
 
         m_ParameterBuilderCecil.Name = Name
         m_ParameterBuilderCecil.IsOptional = Modifiers.Is(ModifierMasks.Optional)
@@ -224,13 +204,11 @@ Public Class Parameter
         End If
 
         If m_ParameterBuilderCecil.IsOptional Then
-            'm_ParameterBuilderCecil.Constant = TypeConverter.ConvertTo(Compiler, m_ConstantValue, ParameterType)
             m_ParameterBuilderCecil.HasDefault = True
         End If
-        If m_ParameterBuilderCecil.ParameterType Is Nothing Then
-            m_ParameterBuilderCecil.ParameterType = Helper.GetTypeOrTypeReference(Compiler, Compiler.TypeCache.System_Void)
-        End If
-    End Sub
+
+        Return result
+    End Function
 
     Public Overrides Function ResolveCode(ByVal Info As ResolveInfo) As Boolean
         Dim result As Boolean = True
@@ -242,21 +220,27 @@ Public Class Parameter
             result = m_ConstantExpression.ResolveExpression(Info) AndAlso result
         End If
 
+        Return result
+    End Function
+
+    Function DefineOptionalParameters() As Boolean
+        Dim result As Boolean = True
+
         If Me.Modifiers.Is(ModifierMasks.Optional) Then
-            m_ParameterAttributes = Mono.Cecil.ParameterAttributes.Optional
+            Dim constant As Object = Nothing
             If m_ConstantExpression Is Nothing Then
                 Helper.AddError(Me, "Optional parameters must have a constant expression.")
                 result = False
-            ElseIf m_ConstantExpression.IsConstant = False Then
+            ElseIf m_ConstantExpression.GetConstant(constant, True) = False Then
                 Helper.AddError(Me, "Optional expressions must be constant.")
                 result = False
             Else
-                Dim cv As Object = m_ConstantExpression.ConstantValue
-                result = TypeConverter.ConvertTo(Me, cv, ParameterType, cv) AndAlso result
-                If cv Is DBNull.Value Then
-                    cv = Nothing
+                result = TypeConverter.ConvertTo(Me, constant, ParameterType, constant, True) AndAlso result
+                If constant Is DBNull.Value Then
+                    constant = Nothing
                 End If
-                ConstantValue = cv
+                ConstantValue = constant
+                ConstantDeclaration.CreateConstantAttribute(Compiler, constant, m_ParameterBuilderCecil.CustomAttributes)
             End If
         Else
             If m_ConstantExpression IsNot Nothing Then
@@ -265,8 +249,6 @@ Public Class Parameter
             End If
         End If
 
-        UpdateDefinition()
-
         Return result
     End Function
 
@@ -304,8 +286,6 @@ Public Class Parameter
             ParameterType = Compiler.TypeManager.MakeByRefType(Me, ParameterType)
         End If
 
-        UpdateDefinition()
-
         Return result
     End Function
 
@@ -318,5 +298,4 @@ Public Class Parameter
 
         Return result
     End Function
-
 End Class
diff --git a/vbnc/vbnc/source/Members/ParameterList.vb b/vbnc/vbnc/source/Members/ParameterList.vb
index 00c3d05..ca6c2e1 100644
--- a/vbnc/vbnc/source/Members/ParameterList.vb
+++ b/vbnc/vbnc/source/Members/ParameterList.vb
@@ -54,6 +54,16 @@ Public Class ParameterList
         Return result
     End Function
 
+    Function DefineOptionalParameters() As Boolean
+        Dim result As Boolean = True
+
+        For i As Integer = 0 To Me.Count - 1
+            result = Item(i).DefineOptionalParameters AndAlso result
+        Next
+
+        Return result
+    End Function
+
     Overloads Function Add(ByVal Name As String, ByVal Type As Mono.Cecil.TypeReference) As Parameter
         Return MyBase.Add(New Parameter(Me, Name, Type))
     End Function
diff --git a/vbnc/vbnc/source/Members/ParametersOrType.vb b/vbnc/vbnc/source/Members/ParametersOrType.vb
index 94d4052..309ee21 100644
--- a/vbnc/vbnc/source/Members/ParametersOrType.vb
+++ b/vbnc/vbnc/source/Members/ParametersOrType.vb
@@ -59,6 +59,15 @@ Public Class ParametersOrType
         Return result
     End Function
 
+    Public Overrides Function CreateDefinition() As Boolean
+        Dim result As Boolean = True
+
+        result = MyBase.CreateDefinition AndAlso result
+        If m_ParameterList IsNot Nothing Then result = m_ParameterList.CreateDefinition AndAlso result
+
+        Return result
+    End Function
+
     Public Overrides Function ResolveTypeReferences() As Boolean
         Dim result As Boolean = True
 
@@ -71,5 +80,4 @@ Public Class ParametersOrType
 
         Return result
     End Function
-
 End Class
diff --git a/vbnc/vbnc/source/Members/ParemeterIdentifier.vb b/vbnc/vbnc/source/Members/ParemeterIdentifier.vb
index f09b2b1..ec0b0bd 100644
--- a/vbnc/vbnc/source/Members/ParemeterIdentifier.vb
+++ b/vbnc/vbnc/source/Members/ParemeterIdentifier.vb
@@ -60,16 +60,6 @@ Public Class ParameterIdentifier
         Return result
     End Function
 
-    Function Clone(Optional ByVal NewParent As Parameter = Nothing) As ParameterIdentifier
-        If NewParent Is Nothing Then NewParent = Me.Parent
-        Dim result As New ParameterIdentifier(NewParent)
-        result.m_Identifier = m_Identifier
-        If m_ArrayNameModifier IsNot Nothing Then
-            result.m_ArrayNameModifier = m_ArrayNameModifier.clone(result)
-        End If
-        Return result
-    End Function
-
     Shadows ReadOnly Property Parent() As Parameter
         Get
             Return DirectCast(MyBase.Parent, Parameter)
diff --git a/vbnc/vbnc/source/Members/PropertyDeclaration.vb b/vbnc/vbnc/source/Members/PropertyDeclaration.vb
index 2fb477a..c6a6b29 100644
--- a/vbnc/vbnc/source/Members/PropertyDeclaration.vb
+++ b/vbnc/vbnc/source/Members/PropertyDeclaration.vb
@@ -19,7 +19,7 @@
 
 Public Class PropertyDeclaration
     Inherits MemberDeclaration
-    Implements IDefinableMember, INonTypeMember
+    Implements INonTypeMember
 
     Private m_Signature As FunctionSignature
     Private m_Get As MethodDeclaration
@@ -159,6 +159,32 @@ Public Class PropertyDeclaration
         End Set
     End Property
 
+    Public Overrides Function CreateDefinition() As Boolean
+        Dim result As Boolean = True
+
+        result = MyBase.CreateDefinition AndAlso result
+
+        Helper.Assert(m_CecilBuilder Is Nothing)
+        m_CecilBuilder = New Mono.Cecil.PropertyDefinition(Name, 0, Helper.GetTypeOrTypeReference(Compiler, Me.Signature.ReturnType))
+        m_CecilBuilder.Annotations.Add(Compiler, Me)
+        DeclaringType.CecilType.Properties.Add(m_CecilBuilder)
+        m_CecilBuilder.Name = Me.Name
+
+        If m_Signature IsNot Nothing Then result = m_Signature.CreateDefinition AndAlso result
+
+        If m_Get IsNot Nothing Then
+            result = m_Get.CreateDefinition AndAlso result
+            m_CecilBuilder.GetMethod = m_Get.CecilBuilder
+        End If
+
+        If m_Set IsNot Nothing Then
+            result = m_Set.CreateDefinition AndAlso result
+            m_CecilBuilder.SetMethod = m_Set.CecilBuilder
+        End If
+
+        Return result
+    End Function
+
     Public Overrides Function ResolveTypeReferences() As Boolean
         Dim result As Boolean = True
 
@@ -167,36 +193,13 @@ Public Class PropertyDeclaration
         If m_Get IsNot Nothing Then result = m_Get.ResolveTypeReferences AndAlso result
         If m_Set IsNot Nothing Then result = m_Set.ResolveTypeReferences AndAlso result
 
+        m_CecilBuilder.PropertyType = Helper.GetTypeOrTypeReference(Compiler, Me.Signature.ReturnType)
+
         If m_MemberImplementsClause IsNot Nothing Then result = m_MemberImplementsClause.ResolveTypeReferences AndAlso result
 
         Return result
     End Function
 
-    Public Overrides Sub Initialize(ByVal Parent As BaseObject)
-        MyBase.Initialize(Parent)
-
-        UpdateDefinition()
-    End Sub
-
-    Public Overrides Sub UpdateDefinition()
-        MyBase.UpdateDefinition()
-
-        If m_CecilBuilder Is Nothing Then
-            m_CecilBuilder = New Mono.Cecil.PropertyDefinition(Name, 0, Helper.GetTypeOrTypeReference(Compiler, Me.Signature.ReturnType))
-            m_CecilBuilder.Annotations.Add(Compiler, Me)
-            DeclaringType.CecilType.Properties.Add(m_CecilBuilder)
-        End If
-        m_CecilBuilder.Name = Me.Name
-        m_CecilBuilder.PropertyType = Helper.GetTypeOrTypeReference(Compiler, Me.Signature.ReturnType)
-
-        If m_Get IsNot Nothing Then
-            m_CecilBuilder.GetMethod = m_Get.CecilBuilder
-        End If
-        If m_Set IsNot Nothing Then
-            m_CecilBuilder.SetMethod = m_Set.CecilBuilder
-        End If
-    End Sub
-
     Public Function ResolveMember(ByVal Info As ResolveInfo) As Boolean Implements INonTypeMember.ResolveMember
         Dim result As Boolean = True
 
@@ -210,8 +213,6 @@ Public Class PropertyDeclaration
             result = tp.SetDefaultAttribute(Me.Name) AndAlso result
         End If
 
-        UpdateDefinition()
-
         result = Signature.VerifyParameterNamesDoesntMatchFunctionName() AndAlso result
 
         Return result
@@ -227,35 +228,6 @@ Public Class PropertyDeclaration
         Return result
     End Function
 
-    Public Function DefineMember() As Boolean Implements IDefinableMember.DefineMember
-        Dim result As Boolean = True
-
-        If m_Get IsNot Nothing Then
-            result = m_Get.DefineMember() AndAlso result
-        End If
-
-        If m_Set IsNot Nothing Then
-            result = m_Set.DefineMember AndAlso result
-        End If
-
-        Dim name As String
-        Dim attributes As Mono.Cecil.PropertyAttributes
-        Dim returnType As Mono.Cecil.TypeReference
-        Dim parameterTypes() As Mono.Cecil.TypeReference
-
-        name = Me.Name
-        attributes = 0 'Mono.Cecil.PropertyAttributes.None
-        returnType = Me.Signature.ReturnType
-        parameterTypes = Me.Signature.Parameters.ToTypeArray
-
-        Helper.SetTypeOrTypeBuilder(Compiler, parameterTypes)
-        returnType = Helper.GetTypeOrTypeBuilder(Compiler, returnType)
-
-        UpdateDefinition()
-
-        Return result
-    End Function
-
     Friend Overrides Function GenerateCode(ByVal Info As EmitInfo) As Boolean
         Dim result As Boolean = True
 
diff --git a/vbnc/vbnc/source/Members/PropertyGetDeclaration.vb b/vbnc/vbnc/source/Members/PropertyGetDeclaration.vb
index 4db838c..d0097fb 100644
--- a/vbnc/vbnc/source/Members/PropertyGetDeclaration.vb
+++ b/vbnc/vbnc/source/Members/PropertyGetDeclaration.vb
@@ -32,7 +32,6 @@ Public Class PropertyGetDeclaration
     End Sub
 
     Public Shadows Sub Init(ByVal Modifiers As Modifiers, ByVal ImplementsClause As MemberImplementsClause, ByVal Block As CodeBlock)
-
         Dim mySignature As FunctionSignature
 
         mySignature = New FunctionSignature(Me)
@@ -43,12 +42,7 @@ Public Class PropertyGetDeclaration
         Dim params As ParameterList
         Dim typename As TypeName
 
-        If PropertySignature.TypeParameters IsNot Nothing Then
-            typeParams = PropertySignature.TypeParameters.Clone()
-            typeParams.Initialize(mySignature)
-        Else
-            typeParams = Nothing
-        End If
+        typeParams = PropertySignature.TypeParameters
         If PropertySignature.ReturnTypeAttributes IsNot Nothing Then
             retTypeAttributes = PropertySignature.ReturnTypeAttributes.Clone(mySignature)
         Else
@@ -60,7 +54,7 @@ Public Class PropertyGetDeclaration
             params = Nothing
         End If
         If PropertySignature.TypeName IsNot Nothing Then
-            typename = PropertySignature.TypeName.Clone(mySignature)
+            typename = PropertySignature.TypeName
         ElseIf PropertySignature.ReturnType IsNot Nothing Then
             typename = New TypeName(mySignature, PropertySignature.ReturnType)
         Else
diff --git a/vbnc/vbnc/source/Members/PropertySetDeclaration.vb b/vbnc/vbnc/source/Members/PropertySetDeclaration.vb
index d8f2b68..7e2d518 100644
--- a/vbnc/vbnc/source/Members/PropertySetDeclaration.vb
+++ b/vbnc/vbnc/source/Members/PropertySetDeclaration.vb
@@ -43,20 +43,13 @@ Public Class PropertySetDeclaration
 
         mySignature = New SubSignature(Me)
 
-        If PropertySignature.TypeParameters IsNot Nothing Then
-            typeParams = PropertySignature.TypeParameters.Clone()
-            typeParams.Initialize(mySignature)
-        Else
-            typeParams = Nothing
-        End If
+        typeParams = PropertySignature.TypeParameters
         If SetParameters IsNot Nothing Then
             params = SetParameters
         Else
             params = New ParameterList(Me)
         End If
 
-        Helper.Assert(CecilBuilder.Parameters.Count = params.Count)
-
         If params.Count = 1 Then
             manualValue = True
         Else
@@ -69,29 +62,25 @@ Public Class PropertySetDeclaration
 
         If PropertySignature.Parameters IsNot Nothing Then
             Dim tmp As Parameter = Nothing
-            Dim ctmp As Mono.Cecil.ParameterDefinition = Nothing
 
             'The 'value' parameter should go at the end, so take it out of the list, add the other parameters, and add it back again
             If manualValue Then
                 tmp = params(0)
-                ctmp = CecilBuilder.Parameters(0)
                 params.Clear()
-                CecilBuilder.Parameters.Clear()
             End If
 
             For i As Integer = 0 To PropertySignature.Parameters.Count - 1
                 params.Add(PropertySignature.Parameters(i).Clone(params))
             Next
+
             If manualValue Then
                 params.Add(tmp)
-                CecilBuilder.Parameters.Add(ctmp)
-                ctmp.Sequence = CecilBuilder.Parameters.Count
             End If
         End If
 
         ' Setter without a 'value', create it automatically
         If manualValue = False Then
-            Dim valueName As String = "value"
+            Dim valueName As String = "Value"
             Dim param As Parameter
             If PropertySignature.ReturnType IsNot Nothing Then
                 param = New Parameter(params, valueName, PropertySignature.ReturnType)
diff --git a/vbnc/vbnc/source/Members/RegularEventDeclaration.vb b/vbnc/vbnc/source/Members/RegularEventDeclaration.vb
index 3effba7..e9a84e3 100644
--- a/vbnc/vbnc/source/Members/RegularEventDeclaration.vb
+++ b/vbnc/vbnc/source/Members/RegularEventDeclaration.vb
@@ -24,7 +24,6 @@
 ''' <remarks></remarks>
 Public Class RegularEventDeclaration
     Inherits EventDeclaration
-    Implements IHasImplicitTypes
 
     Private m_ParametersOrType As ParametersOrType
 
@@ -63,6 +62,15 @@ Public Class RegularEventDeclaration
         End Get
     End Property
 
+    Public Overrides Function CreateDefinition() As Boolean
+        Dim result As Boolean = True
+
+        result = MyBase.CreateDefinition AndAlso result
+        If m_ParametersOrType IsNot Nothing Then result = m_ParametersOrType.CreateDefinition AndAlso result
+
+        Return result
+    End Function
+
     Public ReadOnly Property EventField() As Mono.Cecil.FieldDefinition
         Get
             Helper.Assert(m_Variable IsNot Nothing)
@@ -72,8 +80,9 @@ Public Class RegularEventDeclaration
         End Get
     End Property
 
-    Public Function CreateImplicitElements() As Boolean Implements IHasImplicitTypes.CreateImplicitTypes
+    Public Function CreateRegularEventMembers() As Boolean
         Dim result As Boolean = True
+
         'An event creates the following members.
         '1 - if the event is not an explicit delegate, and not an implemented interface event, a nested delegate in the 
         '    parent called (name)EventHandler.
@@ -91,62 +100,34 @@ Public Class RegularEventDeclaration
         '6 - an event in the parent called (name) with the add, remove and raise methods of 3, 4 & 5
         '    accessability is the same as for the event.
 
+        'TODO: remove m_ElementsCreated
+        Helper.Assert(m_ElementsCreated = False)
         If m_ElementsCreated Then Return result
         m_ElementsCreated = True
 
-        Dim m_AddMethod As RegularEventHandlerDeclaration
-        Dim m_RemoveMethod As RegularEventHandlerDeclaration
-        Dim m_Parameters As ParameterList = Me.Parameters
-        Dim m_Type As TypeName = Nothing
-
-        If Me.Type IsNot Nothing Then m_Type = New TypeName(Me, Me.Type)
+        Dim addMethod As RegularEventHandlerDeclaration
+        Dim removeMethod As RegularEventHandlerDeclaration
+        Dim type As TypeName = Nothing
 
+        If Me.Type IsNot Nothing Then type = New TypeName(Me, Me.Type)
 
         'Create the delegate, if necessary.
         If ImplementsClause IsNot Nothing AndAlso ImplementsClause.ImplementsList.Count > 0 Then
-            Dim ism As InterfaceMemberSpecifier
-            ism = ImplementsClause.ImplementsList(0)
-
-            Helper.Assert(ImplementsClause.ImplementsList.Count = 1)
-            Helper.Assert(ism IsNot Nothing)
-
-            result = ism.ResolveEarly() AndAlso result
-
-            If result = False Then Return result
-
-            Helper.Assert(ism.ResolvedEventInfo IsNot Nothing)
-
-            Dim eD As Mono.Cecil.EventDefinition = CecilHelper.FindDefinition(ism.ResolvedEventInfo)
-
-            If eD IsNot Nothing Then
-                If eD.EventType Is Nothing Then
-                    Dim red As RegularEventDeclaration = TryCast(eD.Annotations(Compiler), RegularEventDeclaration)
-                    If red IsNot Nothing Then
-                        result = red.CreateImplicitElements AndAlso result
-                        result = red.ResolveTypeReferences AndAlso result
-                    End If
-                End If
-                Helper.Assert(eD.EventType IsNot Nothing)
-                EventType = eD.EventType
-            Else
-                EventType = ism.ResolvedEventInfo.EventType
-            End If
-            m_Type = New TypeName(Me, EventType)
-        ElseIf m_Parameters IsNot Nothing Then
-            m_ImplicitEventDelegate = New DelegateDeclaration(DeclaringType, DeclaringType.Namespace, New SubSignature(m_ImplicitEventDelegate, Me.Name & "EventHandler", m_Parameters.Clone()))
+            'Nothing to do here
+        ElseIf Me.Parameters IsNot Nothing Then
+            m_ImplicitEventDelegate = New DelegateDeclaration(DeclaringType, DeclaringType.Namespace, New SubSignature(Me, Me.Name & "EventHandler", Me.Parameters.Clone()))
             m_ImplicitEventDelegate.Modifiers = Me.Modifiers
-            m_ImplicitEventDelegate.UpdateDefinition()
-            If m_ImplicitEventDelegate.CreateImplicitElements() = False Then Helper.ErrorRecoveryNotImplemented(Me.Location)
+            result = m_ImplicitEventDelegate.CreateDefinition() AndAlso result
+            result = m_ImplicitEventDelegate.CreateDelegateMembers AndAlso result
 
             EventType = m_ImplicitEventDelegate.CecilType
-        ElseIf m_Type IsNot Nothing Then
-            m_ImplicitEventDelegate = Nothing
-            'Helper.NotImplemented()
+            DeclaringType.Members.Add(m_ImplicitEventDelegate)
+        ElseIf type IsNot Nothing Then
+            'nothing to do
         Else
             Throw New InternalException(Me)
         End If
 
-
         'Create the variable.
         If DeclaringType.IsInterface = False Then
             Dim eventVariableModifiers As Modifiers
@@ -154,32 +135,34 @@ Public Class RegularEventDeclaration
             eventVariableModifiers = New Modifiers(ModifierMasks.Private)
             If Me.IsShared Then eventVariableModifiers.AddModifiers(ModifierMasks.Shared)
             If m_ImplicitEventDelegate IsNot Nothing Then
-                m_Variable.Init(eventVariableModifiers, Me.Name & "Event", m_ImplicitEventDelegate.CecilType)
+                m_Variable.Modifiers = eventVariableModifiers
+                m_Variable.Name = Me.Name & "Event"
+                m_Variable.VariableType = m_ImplicitEventDelegate.CecilType
             Else
-                Helper.Assert(m_Type IsNot Nothing)
-                m_Variable.Init(eventVariableModifiers, Me.Name & "Event", m_Type)
+                m_Variable.Modifiers = eventVariableModifiers
+                m_Variable.Name = Me.Name & "Event"
             End If
-        Else
-            m_Variable = Nothing
+            result = m_Variable.CreateDefinition AndAlso result
+            DeclaringType.Members.Add(m_Variable)
         End If
 
         'Create the add method
-        m_AddMethod = New RegularEventHandlerDeclaration(Me, Me.Modifiers, KS.AddHandler, Me.Identifier)
+        addMethod = New RegularEventHandlerDeclaration(Me, Me.Modifiers, KS.AddHandler, Me.Identifier)
+        result = addMethod.CreateDefinition AndAlso result
+        DeclaringType.Members.Add(addMethod)
 
         'Create the remove method
-        m_RemoveMethod = New RegularEventHandlerDeclaration(Me, Me.Modifiers, KS.RemoveHandler, Me.Identifier)
-
-        Helper.Assert(m_AddMethod IsNot Nothing)
-        Helper.Assert(m_AddMethod.Name <> "")
-        Helper.Assert(m_RemoveMethod IsNot Nothing)
-        Helper.Assert(m_RemoveMethod.Name <> "")
+        removeMethod = New RegularEventHandlerDeclaration(Me, Me.Modifiers, KS.RemoveHandler, Me.Identifier)
+        result = removeMethod.CreateDefinition AndAlso result
+        DeclaringType.Members.Add(removeMethod)
 
-        'Add everything to the parent's members.
-        If m_ImplicitEventDelegate IsNot Nothing Then DeclaringType.Members.Add(m_ImplicitEventDelegate)
-        If m_Variable IsNot Nothing Then DeclaringType.Members.Add(m_Variable)
+        Helper.Assert(addMethod IsNot Nothing)
+        Helper.Assert(addMethod.Name <> "")
+        Helper.Assert(removeMethod IsNot Nothing)
+        Helper.Assert(removeMethod.Name <> "")
 
-        MyBase.AddMethod = m_AddMethod
-        MyBase.RemoveMethod = m_RemoveMethod
+        MyBase.AddMethod = addMethod
+        MyBase.RemoveMethod = removeMethod
 
         Return result
     End Function
@@ -188,11 +171,47 @@ Public Class RegularEventDeclaration
         Dim result As Boolean = True
 
         result = m_ParametersOrType.ResolveTypeReferences AndAlso result
+
+        If ImplementsClause IsNot Nothing AndAlso ImplementsClause.ImplementsList.Count > 0 Then
+            Dim ism As InterfaceMemberSpecifier
+            ism = ImplementsClause.ImplementsList(0)
+
+            Helper.Assert(ImplementsClause.ImplementsList.Count = 1)
+            Helper.Assert(ism IsNot Nothing)
+
+            result = ism.ResolveEarly() AndAlso result
+
+            If result = False Then Return result
+
+            Helper.Assert(ism.ResolvedEventInfo IsNot Nothing)
+
+            Dim eD As Mono.Cecil.EventDefinition = CecilHelper.FindDefinition(ism.ResolvedEventInfo)
+
+            If eD IsNot Nothing Then
+                If eD.EventType Is Nothing Then
+                    Dim red As RegularEventDeclaration = TryCast(eD.Annotations(Compiler), RegularEventDeclaration)
+                    If red IsNot Nothing Then
+                        result = red.ResolveTypeReferences AndAlso result
+                    End If
+                End If
+                Helper.Assert(eD.EventType IsNot Nothing)
+                EventType = eD.EventType
+            Else
+                EventType = ism.ResolvedEventInfo.EventType
+            End If
+            If m_Variable IsNot Nothing AndAlso m_Variable.VariableType Is Nothing Then
+                m_Variable.VariableType = EventType
+            End If
+        End If
+
         If EventType IsNot Nothing Then
             'Nothing to do
         ElseIf Type IsNot Nothing Then
             Helper.Assert(EventType Is Nothing)
             EventType = Type.ResolvedType
+            If Not m_Variable Is Nothing Then
+                m_Variable.VariableType = EventType
+            End If
         ElseIf Parameters IsNot Nothing Then
             Helper.Assert(EventType IsNot Nothing OrElse ImplementsClause IsNot Nothing)
         Else
diff --git a/vbnc/vbnc/source/Members/RegularEventHandlerDeclaration.vb b/vbnc/vbnc/source/Members/RegularEventHandlerDeclaration.vb
index dcd08c1..eb78b65 100644
--- a/vbnc/vbnc/source/Members/RegularEventHandlerDeclaration.vb
+++ b/vbnc/vbnc/source/Members/RegularEventHandlerDeclaration.vb
@@ -44,6 +44,13 @@ Public Class RegularEventHandlerDeclaration
 
         MyBase.Init(Modifiers, HandlerType, EventName, New ParameterList(Me), Code)
 
+    End Sub
+
+    Public Overrides Function CreateDefinition() As Boolean
+        Dim result As Boolean = True
+
+        result = MyBase.CreateDefinition AndAlso result
+
         If DeclaringType.IsValueType Then
             Me.MethodImplAttributes = Mono.Cecil.MethodImplAttributes.IL Or Mono.Cecil.MethodImplAttributes.Managed
         ElseIf DeclaringType.IsInterface Then
@@ -52,14 +59,17 @@ Public Class RegularEventHandlerDeclaration
             Me.MethodImplAttributes = Mono.Cecil.MethodImplAttributes.IL Or Mono.Cecil.MethodImplAttributes.Managed Or Mono.Cecil.MethodImplAttributes.Synchronized
         End If
 
-    End Sub
+        Return result
+    End Function
 
     Public Overrides Function ResolveTypeReferences() As Boolean
         Dim result As Boolean = True
 
         Helper.Assert(EventParent.EventType IsNot Nothing)
         If Signature.Parameters.Count = 0 Then
-            Signature.Parameters.Add(New Parameter(Signature.Parameters, "obj", EventParent.EventType))
+            Dim param As New Parameter(Signature.Parameters, "obj", EventParent.EventType)
+            Signature.Parameters.Add(param)
+            result = param.CreateDefinition AndAlso result
         End If
 
         result = MyBase.ResolveTypeReferences AndAlso result
diff --git a/vbnc/vbnc/source/Members/SubDeclaration.vb b/vbnc/vbnc/source/Members/SubDeclaration.vb
index 8221259..d787647 100644
--- a/vbnc/vbnc/source/Members/SubDeclaration.vb
+++ b/vbnc/vbnc/source/Members/SubDeclaration.vb
@@ -47,30 +47,20 @@ Public Class SubDeclaration
         MyBase.New(Parent)
         MyBase.Init(New Modifiers(), New SubSignature(Me, Name, ParameterTypes))
         MyBase.MethodAttributes = MethodAttributes
-        UpdateDefinition()
-    End Sub
-
-    Public Overrides Sub Initialize(ByVal Parent As BaseObject)
-        MyBase.Initialize(Parent)
-
-        If m_HandlesOrImplements IsNot Nothing Then m_HandlesOrImplements.Initialize(Me)
     End Sub
 
     Shadows Sub Init(ByVal Modifiers As Modifiers, ByVal Signature As SubSignature, ByVal Block As CodeBlock)
         MyBase.Init(Modifiers, Signature, Block)
-        UpdateDefinition()
     End Sub
 
     Shadows Sub Init(ByVal Modifiers As Modifiers, ByVal Signature As SubSignature, ByVal HandlesOrImplements As HandlesOrImplements, ByVal Block As CodeBlock)
         MyBase.Init(Modifiers, Signature, Block)
         m_HandlesOrImplements = HandlesOrImplements
-        UpdateDefinition()
     End Sub
 
     Protected Shadows Sub Init(ByVal Modifiers As Modifiers, ByVal Signature As SubSignature, ByVal ImplementsClause As MemberImplementsClause, ByVal Block As CodeBlock)
         MyBase.Init(Modifiers, Signature, Block)
         If ImplementsClause IsNot Nothing Then m_HandlesOrImplements = New HandlesOrImplements(Me, ImplementsClause)
-        UpdateDefinition()
     End Sub
 
     Public Overrides ReadOnly Property HandlesOrImplements() As HandlesOrImplements
@@ -79,14 +69,6 @@ Public Class SubDeclaration
         End Get
     End Property
 
-    Public Overrides Function DefineMember() As Boolean
-        Dim result As Boolean = True
-
-        result = MyBase.DefineMember AndAlso result
-
-        Return result
-    End Function
-
     Function DefineHandlesOrImplements() As Boolean
         Dim result As Boolean = True
 
diff --git a/vbnc/vbnc/source/Members/SubSignature.vb b/vbnc/vbnc/source/Members/SubSignature.vb
index 4b33d3a..1455f0c 100644
--- a/vbnc/vbnc/source/Members/SubSignature.vb
+++ b/vbnc/vbnc/source/Members/SubSignature.vb
@@ -80,16 +80,6 @@ Public Class SubSignature
         End If
     End Sub
 
-    Public Overrides Sub Initialize(ByVal Parent As BaseObject)
-        MyBase.Initialize(Parent)
-
-        Helper.Assert(TypeOf Parent Is ClassDeclaration = False)
-
-        If m_Identifier IsNot Nothing Then m_Identifier.Initialize(Me)
-        If m_TypeParameters IsNot Nothing Then m_TypeParameters.Initialize(Me)
-        If m_ParameterList IsNot Nothing Then m_ParameterList.Initialize(Me)
-    End Sub
-
     Sub Init(ByVal Identifier As Identifier, ByVal TypeParameters As TypeParameters, ByVal ParameterList As ParameterList)
         m_Identifier = Identifier
         m_TypeParameters = TypeParameters
@@ -104,6 +94,16 @@ Public Class SubSignature
         Me.Init(New Identifier(Me, Identifier, Nothing, TypeCharacters.Characters.None), TypeParameters, ParameterList)
     End Sub
 
+    Public Overrides Function CreateDefinition() As Boolean
+        Dim result As Boolean = True
+
+        result = MyBase.CreateDefinition AndAlso result
+        If m_TypeParameters IsNot Nothing Then result = m_TypeParameters.CreateDefinition AndAlso result
+        If m_ParameterList IsNot Nothing Then result = m_ParameterList.CreateDefinition AndAlso result
+
+        Return result
+    End Function
+
     Overridable Function Clone(Optional ByVal NewParent As ParsedObject = Nothing) As SubSignature
         If NewParent Is Nothing Then NewParent = Me.Parent
         Dim result As New SubSignature(NewParent)
@@ -113,13 +113,10 @@ Public Class SubSignature
 
     Sub CloneTo(ByVal ClonedSignature As SubSignature)
         ClonedSignature.m_Identifier = m_Identifier
-        If m_TypeParameters IsNot Nothing Then
-            ClonedSignature.m_TypeParameters = m_TypeParameters.Clone()
-            ClonedSignature.m_TypeParameters.Initialize(ClonedSignature)
-        End If
+        ClonedSignature.m_TypeParameters = m_TypeParameters
         If m_ParameterList IsNot Nothing Then
             ClonedSignature.m_ParameterList = m_ParameterList.Clone(ClonedSignature)
-            ClonedSignature.m_ParameterList.Initialize(ClonedSignature)
+            ClonedSignature.m_ParameterList.Parent = ClonedSignature
         End If
     End Sub
 
diff --git a/vbnc/vbnc/source/Members/TypeVariableDeclaration.vb b/vbnc/vbnc/source/Members/TypeVariableDeclaration.vb
index 912eeab..20a38dd 100644
--- a/vbnc/vbnc/source/Members/TypeVariableDeclaration.vb
+++ b/vbnc/vbnc/source/Members/TypeVariableDeclaration.vb
@@ -27,7 +27,7 @@
 ''' <remarks></remarks>
 Public Class TypeVariableDeclaration
     Inherits VariableDeclaration
-    Implements IFieldMember, IHasImplicitMembers
+    Implements IFieldMember
 
     Private m_FieldBuilderCecil As Mono.Cecil.FieldDefinition
 
@@ -35,38 +35,21 @@ Public Class TypeVariableDeclaration
 
     Sub New(ByVal Parent As ParsedObject)
         MyBase.New(Parent)
-        UpdateDefinition()
     End Sub
 
     Sub New(ByVal Parent As ParsedObject, ByVal Modifiers As Modifiers, ByVal VariableIdentifier As VariableIdentifier, _
     ByVal IsNew As Boolean, ByVal TypeName As TypeName, ByVal VariableInitializer As VariableInitializer, ByVal ArgumentList As ArgumentList)
         MyBase.New(Parent, Modifiers, VariableIdentifier, IsNew, TypeName, VariableInitializer, ArgumentList)
-        UpdateDefinition()
     End Sub
 
     Sub New(ByVal Parent As ParsedObject, ByVal Modifiers As Modifiers, ByVal VariableIdentifier As Identifier, _
     ByVal IsNew As Boolean, ByVal TypeName As TypeName, ByVal VariableInitializer As VariableInitializer, ByVal ArgumentList As ArgumentList)
         MyBase.New(Parent, Modifiers, VariableIdentifier, IsNew, TypeName, VariableInitializer, ArgumentList)
-        UpdateDefinition()
     End Sub
 
     Sub New(ByVal Parent As ParsedObject, ByVal Identifier As Identifier, _
     ByVal IsNew As Boolean, ByVal TypeName As NonArrayTypeName, ByVal VariableInitializer As VariableInitializer, ByVal ArgumentList As ArgumentList)
         MyBase.New(Parent, Identifier, IsNew, TypeName, VariableInitializer, ArgumentList)
-        UpdateDefinition()
-    End Sub
-
-    Shadows Sub Init(ByVal Modifiers As Modifiers, ByVal Name As String, ByVal VariableType As Mono.Cecil.TypeReference)
-        MyBase.Init(Modifiers, Name, VariableType)
-        UpdateDefinition()
-
-        Helper.Assert(FieldType IsNot Nothing)
-    End Sub
-
-    Shadows Sub Init(ByVal Modifiers As Modifiers, ByVal Name As String, ByVal VariableType As TypeName)
-        MyBase.Init(Modifiers, Name, VariableType)
-        UpdateDefinition()
-
     End Sub
 
     ReadOnly Property FieldBuilder() As Mono.Cecil.FieldDefinition Implements IFieldMember.FieldBuilder
@@ -99,53 +82,37 @@ Public Class TypeVariableDeclaration
         End Get
     End Property
 
-    Public Overrides Function ResolveTypeReferences() As Boolean
-        Dim result As Boolean = True
-
-        result = MyBase.ResolveTypeReferences AndAlso result
-
-        If result = False Then Return result
-
-        Helper.Assert(VariableType IsNot Nothing)
-
-        UpdateDefinition()
-
-        Return result
-    End Function
-
     Function ResolveMember(ByVal Info As ResolveInfo) As Boolean Implements INonTypeMember.ResolveMember
         Dim result As Boolean = True
 
         Return result
     End Function
 
-    Public Overrides Function ResolveCode(ByVal Info As ResolveInfo) As Boolean
+    Public Overrides Function CreateDefinition() As Boolean
         Dim result As Boolean = True
 
-        result = MyBase.ResolveCode(Info) AndAlso result
+        result = MyBase.CreateDefinition AndAlso result
+
+        Helper.Assert(m_FieldBuilderCecil Is Nothing)
+        m_FieldBuilderCecil = New Mono.Cecil.FieldDefinition(Name, Helper.GetAttributes(Compiler, Me), Helper.GetTypeOrTypeReference(Compiler, FieldType))
+        DeclaringType.CecilType.Fields.Add(m_FieldBuilderCecil)
+        m_FieldBuilderCecil.Attributes = Helper.GetAttributes(Compiler, Me)
+        m_FieldBuilderCecil.Name = Name
+        m_FieldBuilderCecil.IsStatic = Me.IsShared
 
         Return result
     End Function
 
-    Overrides Sub UpdateDefinition()
-        If Compiler Is Nothing Then Return
-        MyBase.UpdateDefinition()
+    Public Overrides Function ResolveTypeReferences() As Boolean
         Dim result As Boolean = True
 
-        If m_FieldBuilderCecil Is Nothing Then
-            m_FieldBuilderCecil = New Mono.Cecil.FieldDefinition(Name, Helper.GetAttributes(Compiler, Me), Helper.GetTypeOrTypeReference(Compiler, FieldType))
-            DeclaringType.CecilType.Fields.Add(m_FieldBuilderCecil)
-        End If
-        m_FieldBuilderCecil.Attributes = Helper.GetAttributes(Compiler, Me)
-        If VariableType IsNot Nothing AndAlso m_FieldBuilderCecil.FieldType Is Nothing Then
+        result = MyBase.ResolveTypeReferences AndAlso result
+
+        If result = False Then Return False
+
+        If VariableType IsNot Nothing Then
             m_FieldBuilderCecil.FieldType = Helper.GetTypeOrTypeReference(Compiler, VariableType)
         End If
-        m_FieldBuilderCecil.Name = Name
-        m_FieldBuilderCecil.IsStatic = Me.IsShared
-    End Sub
-
-    Public Function DefineMember() As Boolean Implements IDefinableMember.DefineMember
-        Dim result As Boolean = True
 
         Return result
     End Function
@@ -189,7 +156,7 @@ Public Class TypeVariableDeclaration
         End If
     End Sub
 
-    Public Function CreateImplicitMembers() As Boolean Implements IHasImplicitMembers.CreateImplicitMembers
+    Public Function CreateWithEventsMembers() As Boolean
         Dim result As Boolean = True
 
         If Me.Modifiers.Is(ModifierMasks.WithEvents) = False Then Return result
@@ -210,19 +177,17 @@ Public Class TypeVariableDeclaration
         End If
 
         propertyAccessor.Init(modifiers, Name, Me.TypeName)
-        result = propertyAccessor.ResolveTypeReferences() AndAlso result
+        propertyAccessor.SetDeclaration.Signature.Parameters(0).Name = "WithEventsValue"
+        result = propertyAccessor.CreateDefinition AndAlso result
+
         propertyAccessor.HandlesField = Me
         propertyAccessor.SetDeclaration.MethodImplAttributes = Mono.Cecil.MethodImplAttributes.Synchronized
 
-        Me.CustomAttributes.Add(New Attribute(Me, Compiler.TypeCache.System_Runtime_CompilerServices_AccessedThroughPropertyAttribute, Name))
+        Me.AddCustomAttribute(New Attribute(Me, Compiler.TypeCache.System_Runtime_CompilerServices_AccessedThroughPropertyAttribute, Name))
         Rename("_" & Name)
 
         parentType.Members.Add(propertyAccessor)
 
         Return result
     End Function
-
-    Public Function ResolveAndGetConstantValue(ByRef value As Object) As Boolean Implements IFieldMember.ResolveAndGetConstantValue
-        Return False
-    End Function
 End Class
diff --git a/vbnc/vbnc/source/Members/VariableDeclaration.vb b/vbnc/vbnc/source/Members/VariableDeclaration.vb
index 5ad237d..043c02a 100644
--- a/vbnc/vbnc/source/Members/VariableDeclaration.vb
+++ b/vbnc/vbnc/source/Members/VariableDeclaration.vb
@@ -34,6 +34,7 @@ Public MustInherit Class VariableDeclaration
     Private m_TypeName As TypeName
     Private m_VariableInitializer As VariableInitializer
     Private m_ArgumentList As ArgumentList
+    Private m_Referenced As Boolean
 
     Private m_VariableType As Mono.Cecil.TypeReference
 
@@ -80,19 +81,6 @@ Public MustInherit Class VariableDeclaration
     Shadows Sub Init(ByVal Modifiers As Modifiers, ByVal Name As String, ByVal VariableType As Mono.Cecil.TypeReference)
         MyBase.Init(Modifiers, Name)
         m_VariableType = VariableType
-
-    End Sub
-
-    Shadows Sub Init(ByVal Modifiers As Modifiers, ByVal Name As String, ByVal VariableType As TypeName)
-        MyBase.Init(Modifiers, Name)
-        m_TypeName = VariableType
-
-        Helper.Assert(m_TypeName IsNot Nothing)
-    End Sub
-
-    Public Overrides Sub Initialize(ByVal Parent As BaseObject)
-        MyBase.Initialize(Parent)
-
     End Sub
 
     ReadOnly Property DeclaringMethod() As MethodDeclaration
@@ -107,10 +95,13 @@ Public MustInherit Class VariableDeclaration
         End Get
     End Property
 
-    Public ReadOnly Property VariableType() As Mono.Cecil.TypeReference
+    Public Property VariableType() As Mono.Cecil.TypeReference
         Get
             Return m_VariableType
         End Get
+        Set(ByVal value As Mono.Cecil.TypeReference)
+            m_VariableType = value
+        End Set
     End Property
 
     ReadOnly Property VariableTypeOrTypeBuilder() As Mono.Cecil.TypeReference
@@ -119,10 +110,13 @@ Public MustInherit Class VariableDeclaration
         End Get
     End Property
 
-    ReadOnly Property TypeName() As TypeName
+    Property TypeName() As TypeName
         Get
             Return m_TypeName
         End Get
+        Set(ByVal value As TypeName)
+            m_TypeName = value
+        End Set
     End Property
 
     ReadOnly Property IsNew() As Boolean
@@ -143,6 +137,15 @@ Public MustInherit Class VariableDeclaration
         End Get
     End Property
 
+    Public Property IsReferenced() As Boolean
+        Get
+            Return m_Referenced
+        End Get
+        Set(ByVal value As Boolean)
+            m_Referenced = value
+        End Set
+    End Property
+
     Public Overrides Function ResolveTypeReferences() As Boolean
         Dim result As Boolean = True
 
@@ -166,6 +169,8 @@ Public MustInherit Class VariableDeclaration
                     End If
                     m_NewExpression = New DelegateOrObjectCreationExpression(Me, m_TypeName.AsNonArrayTypeName, m_ArgumentList)
                 End If
+            ElseIf m_VariableIdentifier Is Nothing Then
+                'Do nothing, we've been created by an event that hasn't ResolveTypeReferences yet.
             ElseIf m_VariableIdentifier.Identifier.HasTypeCharacter Then
                 m_VariableType = TypeCharacters.TypeCharacterToType(Compiler, m_VariableIdentifier.Identifier.TypeCharacter)
             Else
@@ -180,7 +185,7 @@ Public MustInherit Class VariableDeclaration
 
         If m_VariableIdentifier IsNot Nothing AndAlso m_VariableIdentifier.HasArrayNameModifier Then
             If CecilHelper.IsArray(m_VariableType) Then
-                result = Helper.AddError(Me, "Cannot specify array modifier on both type name and on variable name.") AndAlso result
+                result = Compiler.Report.ShowMessage(Messages.VBNC31087, Location) AndAlso result
             Else
                 If m_VariableIdentifier.ArrayNameModifier.IsArraySizeInitializationModifier Then
                     m_VariableType = m_VariableIdentifier.ArrayNameModifier.AsArraySizeInitializationModifier.CreateArrayType(m_VariableType)
@@ -192,6 +197,10 @@ Public MustInherit Class VariableDeclaration
             End If
         End If
 
+        If m_VariableIdentifier IsNot Nothing AndAlso m_VariableIdentifier.IsNullable Then
+            result = CecilHelper.CreateNullableType(Me, m_VariableType, m_VariableType) AndAlso result
+        End If
+
         If m_NewExpression IsNot Nothing Then result = m_NewExpression.ResolveTypeReferences AndAlso result
 
         'Helper.Assert(m_FieldType IsNot Nothing)
@@ -207,14 +216,19 @@ Public MustInherit Class VariableDeclaration
         If m_TypeName IsNot Nothing Then result = m_TypeName.ResolveCode(Info) AndAlso result
 
         result = MyBase.ResolveCode(ResolveInfo.Default(Info.Compiler)) AndAlso result
-        If m_ArgumentList IsNot Nothing Then result = m_ArgumentList.ResolveCode(ResolveInfo.Default(Info.Compiler)) AndAlso result
+        If m_ArgumentList IsNot Nothing Then
+            result = m_ArgumentList.ResolveCode(ResolveInfo.Default(Info.Compiler)) AndAlso result
+            If result = False Then Return False
+        End If
 
         If m_NewExpression IsNot Nothing Then
             result = m_NewExpression.ResolveExpression(ResolveInfo.Default(Info.Compiler)) AndAlso result
+            If result = False Then Return False
         End If
 
         If m_VariableInitializer IsNot Nothing Then
             result = m_VariableInitializer.ResolveCode(New ExpressionResolveInfo(Compiler, VariableType)) AndAlso result
+            If result = False Then Return False
         End If
 
         Return result
@@ -286,3 +300,4 @@ Public MustInherit Class VariableDeclaration
         Return i > 0 AndAlso tm.PeekToken(i).IsIdentifier
     End Function
 End Class
+
diff --git a/vbnc/vbnc/source/Members/VariableIdentifier.vb b/vbnc/vbnc/source/Members/VariableIdentifier.vb
index e82775b..cd310b5 100644
--- a/vbnc/vbnc/source/Members/VariableIdentifier.vb
+++ b/vbnc/vbnc/source/Members/VariableIdentifier.vb
@@ -27,6 +27,7 @@ Public Class VariableIdentifier
 
     Private m_Identifier As Identifier
     Private m_ArrayNameModifier As ArrayNameModifier
+    Public IsNullable As Boolean
 
     ReadOnly Property Identifier() As Identifier
         Get
diff --git a/vbnc/vbnc/source/Members/VariableInitializer.vb b/vbnc/vbnc/source/Members/VariableInitializer.vb
index 2ab670b..cc006fb 100644
--- a/vbnc/vbnc/source/Members/VariableInitializer.vb
+++ b/vbnc/vbnc/source/Members/VariableInitializer.vb
@@ -92,7 +92,11 @@ Public Class VariableInitializer
                 Else
                     initExp = initExp.ReclassifyToValueExpression
                 End If
-                result = initExp.ResolveExpression(ResolveInfo.Default(Info.Compiler)) AndAlso result
+                If initExp Is Nothing Then
+                    result = False
+                Else
+                    result = initExp.ResolveExpression(ResolveInfo.Default(Info.Compiler)) AndAlso result
+                End If
             End If
 
             If result = False Then Return result
@@ -133,3 +137,4 @@ Public Class VariableInitializer
     End Property
 
 End Class
+
diff --git a/vbnc/vbnc/source/Members/VariablePropertyInitializer.vb b/vbnc/vbnc/source/Members/VariablePropertyInitializer.vb
index df2c126..ab349cb 100644
--- a/vbnc/vbnc/source/Members/VariablePropertyInitializer.vb
+++ b/vbnc/vbnc/source/Members/VariablePropertyInitializer.vb
@@ -66,18 +66,7 @@ Public Class VariablePropertyInitializer
         m_AttributeArgumentExpression = AttributeArgumentExpression
     End Sub
 
-    Function Clone(Optional ByVal NewParent As ParsedObject = Nothing) As VariablePropertyInitializer
-        If NewParent Is Nothing Then NewParent = DirectCast(Me.Parent, ParsedObject)
-        Dim result As New VariablePropertyInitializer(NewParent)
-        If m_IdentifierOrKeyword IsNot Nothing Then result.m_IdentifierOrKeyword = m_IdentifierOrKeyword.Clone(result)
-        If m_AttributeArgumentExpression IsNot Nothing Then result.m_AttributeArgumentExpression = m_AttributeArgumentExpression.Clone(result)
-
-        Return result
-    End Function
-
-
     Shared Function IsMe(ByVal tm As tm) As Boolean
         Return tm.CurrentToken.IsIdentifierOrKeyword AndAlso tm.PeekToken.Equals(KS.Colon) AndAlso tm.PeekToken(2).Equals(KS.Equals)
     End Function
-
 End Class
diff --git a/vbnc/vbnc/source/Members/VariablePropertyInitializerList.vb b/vbnc/vbnc/source/Members/VariablePropertyInitializerList.vb
index 93ef5f4..1843033 100644
--- a/vbnc/vbnc/source/Members/VariablePropertyInitializerList.vb
+++ b/vbnc/vbnc/source/Members/VariablePropertyInitializerList.vb
@@ -42,13 +42,4 @@ Public Class VariablePropertyInitializerList
     Sub New(ByVal Parent As ParsedObject)
         MyBase.New(Parent)
     End Sub
-
-    Function Clone(Optional ByVal NewParent As ParsedObject = Nothing) As VariablePropertyInitializerList
-        If NewParent Is Nothing Then NewParent = DirectCast(Me.Parent, ParsedObject)
-        Dim result As New VariablePropertyInitializerList(NewParent)
-        For Each item As VariablePropertyInitializer In Me
-            result.Add(item.Clone(result))
-        Next
-        Return result
-    End Function
 End Class
diff --git a/vbnc/vbnc/source/Names/Identifier.vb b/vbnc/vbnc/source/Names/Identifier.vb
index 877f6b0..79875a7 100644
--- a/vbnc/vbnc/source/Names/Identifier.vb
+++ b/vbnc/vbnc/source/Names/Identifier.vb
@@ -72,14 +72,6 @@ Public Class Identifier
         End Get
     End Property
 
-    Function Clone(Optional ByVal NewParent As ParsedObject = Nothing) As Identifier
-        Dim result As Identifier
-        If NewParent Is Nothing Then NewParent = Me.Parent
-        result = New Identifier(NewParent)
-        result.Init(m_Name, Location, m_TypeCharacter)
-        Return result
-    End Function
-
     Property Name() As String
         Get
             Return m_Name
diff --git a/vbnc/vbnc/source/Names/QualifiedIdentifier.vb b/vbnc/vbnc/source/Names/QualifiedIdentifier.vb
index a4b7e68..787312a 100644
--- a/vbnc/vbnc/source/Names/QualifiedIdentifier.vb
+++ b/vbnc/vbnc/source/Names/QualifiedIdentifier.vb
@@ -49,23 +49,6 @@ Public Class QualifiedIdentifier
         m_Second = Second
     End Sub
 
-    Function Clone(Optional ByVal NewParent As ParsedObject = Nothing) As QualifiedIdentifier
-        If NewParent Is Nothing Then NewParent = Me.Parent
-        Dim result As New QualifiedIdentifier(NewParent, Me.Location)
-
-        If Me.IsFirstGlobal Then
-            result.Init(Me.FirstAsGlobal.Clone(result), m_Second)
-        ElseIf Me.IsFirstIdentifier Then
-            result.Init(Me.FirstAsIdentifier.Clone(result), m_Second)
-        ElseIf Me.IsFirstQualifiedIdentifier Then
-            result.Init(Me.FirstAsQualifiedIdentifier.Clone(result), m_Second)
-        Else
-            Throw New InternalException(Me)
-        End If
-
-        Return result
-    End Function
-
     ReadOnly Property ResolvedType() As Mono.Cecil.TypeReference
         Get
             Return m_ResolvedType
diff --git a/vbnc/vbnc/source/Parser/ParsedObject.vb b/vbnc/vbnc/source/Parser/ParsedObject.vb
index 026241d..5c8e37e 100644
--- a/vbnc/vbnc/source/Parser/ParsedObject.vb
+++ b/vbnc/vbnc/source/Parser/ParsedObject.vb
@@ -59,4 +59,16 @@ Public MustInherit Class ParsedObject
     Overridable Function ResolveTypeReferences() As Boolean
         Return True
     End Function
+
+    Overridable Function ResolveBaseType() As Boolean
+        Return True
+    End Function
+
+    Overridable Function CreateDefinition() As Boolean
+        Return True
+    End Function
+
+    Public Function Show30059() As Boolean
+        Return Compiler.Report.ShowMessage(Messages.VBNC30059, Me.Location)
+    End Function
 End Class
diff --git a/vbnc/vbnc/source/Parser/Parser.vb b/vbnc/vbnc/source/Parser/Parser.vb
index 89bbc59..c7485e0 100644
--- a/vbnc/vbnc/source/Parser/Parser.vb
+++ b/vbnc/vbnc/source/Parser/Parser.vb
@@ -484,12 +484,11 @@ Public Class Parser
     '''  Attributes ::=	AttributeBlock  |	Attributes  AttributeBlock
     ''' </summary>
     ''' <remarks></remarks>
-    Private Function ParseAttributes(ByVal Parent As ParsedObject, ByVal Attributes As Attributes) As Boolean
+    Private Function ParseAttributes(ByVal Parent As ParsedObject, ByRef Attributes As Attributes) As Boolean
         Dim result As Boolean = True
 
-        Helper.Assert(Attributes IsNot Nothing)
-
         While AttributeBlock.IsMe(tm)
+            If Attributes Is Nothing Then Attributes = New Attributes(Parent)
             If ParseAttributeBlock(Parent, Attributes) = False Then
                 Helper.ErrorRecoveryNotImplemented(tm.CurrentLocation)
             End If
@@ -502,10 +501,11 @@ Public Class Parser
     ''' </summary>
     ''' <remarks></remarks>
     Private Function ParseAttributes(ByVal Parent As ParsedObject) As Attributes
-        Dim result As New Attributes(Parent)
+        Dim result As Attributes = Nothing
 
         If Attributes.IsMe(tm) Then
             While AttributeBlock.IsMe(tm)
+                If result Is Nothing Then result = New Attributes(Parent)
                 If ParseAttributeBlock(Parent, result) = False Then
                     Helper.ErrorRecoveryNotImplemented(tm.CurrentLocation)
                 End If
@@ -524,12 +524,17 @@ Public Class Parser
         Helper.Assert(Attributes IsNot Nothing)
 
         tm.AcceptIfNotInternalError(KS.LT)
+        tm.AcceptNewLine()
 
         If ParseAttributeList(Parent, Attributes) = False Then
             Helper.ErrorRecoveryNotImplemented(tm.CurrentLocation)
         End If
 
+        tm.AcceptNewLine()
         result = tm.AcceptIfNotError(KS.GT) AndAlso result
+        If Attributes(0).IsAssembly = False AndAlso Attributes(0).IsModule = False Then
+            tm.AcceptNewLine()
+        End If
 
         Return result
     End Function
@@ -641,7 +646,7 @@ Public Class Parser
     ''' Parses lists of type List ::= Item | List "," Item
     ''' </summary>
     ''' <remarks></remarks>
-    Private Function ParseList(Of T As BaseObject)(ByVal List As BaseList(Of T), ByVal ParseMethod As ParseDelegate_Parent(Of T), ByVal Parent As ParsedObject) As Boolean
+    Private Function ParseList(Of T As ParsedObject)(ByVal List As BaseList(Of T), ByVal ParseMethod As ParseDelegate_Parent(Of T), ByVal Parent As ParsedObject) As Boolean
         Helper.Assert(List IsNot Nothing, "List was nothing, tm.CurrentToken=" & tm.CurrentLocation.ToString(Compiler))
         Do
             Dim newObject As T
@@ -671,6 +676,7 @@ Public Class Parser
 
         tm.AcceptIfNotInternalError(KS.Colon)
         tm.AcceptIfNotInternalError(KS.Equals)
+        tm.AcceptNewLine()
 
         m_AttributeArgumentExpression = ParseAttributeArgumentExpression(result)
         If m_AttributeArgumentExpression Is Nothing Then Helper.ErrorRecoveryNotImplemented(tm.CurrentLocation)
@@ -1301,6 +1307,7 @@ Public Class Parser
         End If
 
         While tm.Accept(KS.Dot)
+            tm.AcceptNewLine()
             If Token.IsSomething(m_Second) Then m_First = New QualifiedIdentifier(Parent, m_First, m_Second)
             If tm.CurrentToken.IsIdentifierOrKeyword Then
                 m_Second = tm.CurrentToken
@@ -1365,8 +1372,8 @@ Public Class Parser
     Private Function ParseInterfaceMembers(ByVal Parent As InterfaceDeclaration) As Boolean
         Dim newMembers As New Generic.List(Of IMember)
         While True
-            Dim attributes As Attributes
-            attributes = New Attributes(Parent)
+            Dim attributes As Attributes = Nothing
+
             If vbnc.Attributes.IsMe(tm) Then
                 If ParseAttributes(Parent, attributes) = False Then Helper.ErrorRecoveryNotImplemented(tm.CurrentLocation)
             End If
@@ -1389,7 +1396,7 @@ Public Class Parser
             ElseIf InterfacePropertyMemberDeclaration.IsMe(tm) Then
                 newMember = ParseInterfacePropertyMemberDeclaration(Parent, New ParseAttributableInfo(Compiler, attributes))
             Else
-                If attributes.Count > 0 Then
+                If attributes IsNot Nothing AndAlso attributes.Count > 0 Then
                     Helper.AddError(Compiler, tm.CurrentLocation, "Hanging attributes.")
                 End If
                 Exit While
@@ -1417,8 +1424,8 @@ Public Class Parser
 
         Dim newMembers As New Generic.List(Of IMember)
         While True
-            Dim attributes As Attributes
-            attributes = New Attributes(Parent)
+            Dim attributes As Attributes = Nothing
+
             If vbnc.Attributes.IsMe(tm) Then
                 If ParseAttributes(Parent, attributes) = False Then Helper.ErrorRecoveryNotImplemented(tm.CurrentLocation)
             End If
@@ -1484,7 +1491,7 @@ Public Class Parser
                 newMember = ParseConstructorMember(Parent, New ParseAttributableInfo(Compiler, attributes))
                 If newMember Is Nothing Then Helper.ErrorRecoveryNotImplemented(tm.CurrentLocation)
             Else
-                If attributes.Count > 0 Then
+                If attributes IsNot Nothing AndAlso attributes.Count > 0 Then
                     Helper.AddError(Compiler, tm.CurrentLocation, "Hanging attributes.")
                 End If
                 Exit While
@@ -1534,8 +1541,8 @@ Public Class Parser
         Dim currentNamespaces As New Generic.List(Of QualifiedIdentifier)
 
         While True
-            Dim attributes As Attributes
-            attributes = New Attributes(Parent)
+            Dim attributes As Attributes = Nothing
+
             If vbnc.Attributes.IsMe(tm) Then
                 If ParseAttributes(Parent, attributes) = False Then Helper.ErrorRecoveryNotImplemented(tm.CurrentLocation)
 
@@ -1588,10 +1595,10 @@ Public Class Parser
                         currentNameSpace &= currentNamespaces(currentNamespaces.Count - 1).Name
                     End If
                 Else
-                    Helper.AddError(Compiler, tm.CurrentLocation, "'End Namespace' without 'Namespace'.")
+                    result = Compiler.Report.ShowMessage(Messages.VBNC30623, tm.CurrentLocation)
                 End If
             Else
-                If attributes.Count > 0 Then
+                If attributes IsNot Nothing AndAlso attributes.Count > 0 Then
                     Helper.AddError(Compiler, tm.CurrentLocation, "Hanging attributes.")
                 End If
                 Exit While
@@ -1614,8 +1621,7 @@ Public Class Parser
         Dim m_RaiseEvent As CustomEventHandlerDeclaration = Nothing
 
         Do
-            Dim attributes As Attributes
-            attributes = New Attributes(result)
+            Dim attributes As Attributes = Nothing
             If vbnc.Attributes.IsMe(tm) Then
                 ParseAttributes(result, attributes)
             End If
@@ -1922,7 +1928,7 @@ Public Class Parser
         tm.AcceptIfNotInternalError(KS.Dot)
         'Specifically, this is not a MemberAccessExpression without the
         'dot, so it is an internal error.
-
+        tm.AcceptNewLine()
         m_Second = ParseIdentifierOrKeywordWithTypeArguments(result)
         If m_Second Is Nothing Then Helper.ErrorRecoveryNotImplemented(tm.CurrentLocation)
 
@@ -2240,6 +2246,8 @@ Public Class Parser
         m_Identifier = ParseIdentifier(result)
         If m_Identifier Is Nothing Then Helper.ErrorRecoveryNotImplemented(tm.CurrentLocation)
 
+        If tm.Accept(KS.Interrogation) Then result.IsNullable = True
+
         If vbnc.ArrayNameModifier.CanBeMe(tm) Then
             m_ArrayNameModifier = ParseArrayNameModifier(result)
             If m_ArrayNameModifier Is Nothing Then Helper.ErrorRecoveryNotImplemented(tm.CurrentLocation)
@@ -2607,6 +2615,7 @@ Public Class Parser
         tm.NextToken()
         tm.AcceptIfNotInternalError(KS.Colon)
         tm.AcceptIfNotInternalError(KS.Equals)
+        tm.AcceptNewLine()
 
         Expression = ParseExpression(result)
         If Expression Is Nothing Then Helper.ErrorRecoveryNotImplemented(tm.CurrentLocation)
@@ -2704,6 +2713,7 @@ Public Class Parser
                     Select Case tm.CurrentToken.Symbol
                         Case KS.Equals
                             tm.NextToken()
+                            tm.AcceptNewLine()
                             Dim newStmt As New AssignmentStatement(result)
                             rside = ParseExpression(New ExpressionParseInfo(newStmt, False, False))
                             If rside Is Nothing Then Helper.ErrorRecoveryNotImplemented(tm.CurrentLocation)
@@ -2711,6 +2721,7 @@ Public Class Parser
                             result.AddStatement(newStmt)
                         Case KS.AddAssign
                             tm.NextToken()
+                            tm.AcceptNewLine()
                             Dim newStmt As New AddAssignStatement(result)
                             rside = ParseExpression(New ExpressionParseInfo(newStmt, False, False))
                             If rside Is Nothing Then Helper.ErrorRecoveryNotImplemented(tm.CurrentLocation)
@@ -2718,6 +2729,7 @@ Public Class Parser
                             result.AddStatement(newStmt)
                         Case KS.ConcatAssign
                             tm.NextToken()
+                            tm.AcceptNewLine()
                             Dim newStmt As New ConcatAssignStatement(result)
                             rside = ParseExpression(New ExpressionParseInfo(newStmt, False, False))
                             If rside Is Nothing Then Helper.ErrorRecoveryNotImplemented(tm.CurrentLocation)
@@ -2725,6 +2737,7 @@ Public Class Parser
                             result.AddStatement(newStmt)
                         Case KS.RealDivAssign
                             tm.NextToken()
+                            tm.AcceptNewLine()
                             Dim newStmt As New DivisionAssignStatement(result)
                             rside = ParseExpression(New ExpressionParseInfo(newStmt, False, False))
                             If rside Is Nothing Then Helper.ErrorRecoveryNotImplemented(tm.CurrentLocation)
@@ -2732,6 +2745,7 @@ Public Class Parser
                             result.AddStatement(newStmt)
                         Case KS.IntDivAssign
                             tm.NextToken()
+                            tm.AcceptNewLine()
                             Dim newStmt As New IntDivisionAssignStatement(result)
                             rside = ParseExpression(New ExpressionParseInfo(newStmt, False, False))
                             If rside Is Nothing Then Helper.ErrorRecoveryNotImplemented(tm.CurrentLocation)
@@ -2739,6 +2753,7 @@ Public Class Parser
                             result.AddStatement(newStmt)
                         Case KS.MultAssign
                             tm.NextToken()
+                            tm.AcceptNewLine()
                             Dim newStmt As New MultiplicationAssignStatement(result)
                             rside = ParseExpression(New ExpressionParseInfo(newStmt, False, False))
                             If rside Is Nothing Then Helper.ErrorRecoveryNotImplemented(tm.CurrentLocation)
@@ -2746,6 +2761,7 @@ Public Class Parser
                             result.AddStatement(newStmt)
                         Case KS.PowerAssign
                             tm.NextToken()
+                            tm.AcceptNewLine()
                             Dim newStmt As New PowerAssignStatement(result)
                             rside = ParseExpression(New ExpressionParseInfo(newStmt, False, False))
                             If rside Is Nothing Then Helper.ErrorRecoveryNotImplemented(tm.CurrentLocation)
@@ -2753,6 +2769,7 @@ Public Class Parser
                             result.AddStatement(newStmt)
                         Case KS.ShiftRightAssign
                             tm.NextToken()
+                            tm.AcceptNewLine()
                             Dim newStmt As New RShiftAssignStatement(result)
                             rside = ParseExpression(New ExpressionParseInfo(newStmt, False, False))
                             If rside Is Nothing Then Helper.ErrorRecoveryNotImplemented(tm.CurrentLocation)
@@ -2760,6 +2777,7 @@ Public Class Parser
                             result.AddStatement(newStmt)
                         Case KS.ShiftLeftAssign
                             tm.NextToken()
+                            tm.AcceptNewLine()
                             Dim newStmt As New LShiftAssignStatement(result)
                             rside = ParseExpression(New ExpressionParseInfo(newStmt, False, False))
                             If rside Is Nothing Then Helper.ErrorRecoveryNotImplemented(tm.CurrentLocation)
@@ -2767,6 +2785,7 @@ Public Class Parser
                             result.AddStatement(newStmt)
                         Case KS.MinusAssign
                             tm.NextToken()
+                            tm.AcceptNewLine()
                             Dim newStmt As New SubtractionAssignStatement(result)
                             rside = ParseExpression(New ExpressionParseInfo(newStmt, False, False))
                             If rside Is Nothing Then Helper.ErrorRecoveryNotImplemented(tm.CurrentLocation)
@@ -3110,10 +3129,7 @@ Public Class Parser
                     value = ParseMemberAccessExpression(Info.Parent, newGlobal)
                 Case KS.If
                     value = ParseIfExpression(Info.Parent)
-                Case Else
-                    Helper.Stop()
             End Select
-            If value Is Nothing Then Helper.ErrorRecoveryNotImplemented(tm.CurrentLocation)
         Else
             value = Nothing
         End If
@@ -3149,6 +3165,7 @@ Public Class Parser
         lSide = ParseIdentifier(Info)
 
         While tm.Accept(KS.Power)
+            tm.AcceptNewLine()
             rSide = ParseIdentifier(Info)
             lSide = New ExponentExpression(Info.Parent, lSide, rSide)
         End While
@@ -3179,6 +3196,7 @@ Public Class Parser
             Dim op As KS
             op = tm.CurrentToken.Symbol
             tm.NextToken()
+            tm.AcceptNewLine()
             rSide = ParseUnaryPlusMinus(Info)
             If op = KS.Mult Then
                 lSide = New MultExpression(Info.Parent, lSide, rSide)
@@ -3198,6 +3216,7 @@ Public Class Parser
         lSide = ParseMultDiv(Info)
 
         While tm.Accept(KS.IntDivision)
+            tm.AcceptNewLine()
             rSide = ParseMultDiv(Info)
             lSide = New IntDivisionExpression(Info.Parent, lSide, rSide)
         End While
@@ -3211,6 +3230,7 @@ Public Class Parser
         lSide = ParseIntDiv(Info)
 
         While tm.Accept(KS.Mod)
+            tm.AcceptNewLine()
             rSide = ParseIntDiv(Info)
             lSide = New ModExpression(Info.Parent, lSide, rSide)
         End While
@@ -3227,6 +3247,7 @@ Public Class Parser
             Dim op As KS
             op = tm.CurrentToken.Symbol
             tm.NextToken()
+            tm.AcceptNewLine()
             rSide = ParseMod(Info)
             If op = KS.Add Then
                 lSide = New BinaryAddExpression(Info.Parent, lSide, rSide)
@@ -3247,6 +3268,7 @@ Public Class Parser
         lSide = ParsePlusMinus(Info)
 
         While tm.Accept(KS.Concat)
+            tm.AcceptNewLine()
             rSide = ParsePlusMinus(Info)
             lSide = New ConcatExpression(Info.Parent, lSide, rSide)
         End While
@@ -3263,6 +3285,7 @@ Public Class Parser
             Dim op As KS
             op = tm.CurrentToken.Symbol
             tm.NextToken()
+            tm.AcceptNewLine()
             rSide = ParseConcat(Info)
             If op = KS.ShiftRight Then
                 lSide = New RShiftExpression(Info.Parent, lSide, rSide)
@@ -3293,6 +3316,7 @@ Public Class Parser
             End If
 
             tm.NextToken()
+            tm.AcceptNewLine()
 
             rSide = ParseBitshift(Info)
 
@@ -3341,6 +3365,7 @@ Public Class Parser
             Dim op As KS
             op = tm.CurrentToken.Keyword
             tm.NextToken()
+            tm.AcceptNewLine()
             rSide = ParseNot(Info)
             If op = KS.And Then
                 lSide = New AndExpression(Info.Parent, lSide, rSide)
@@ -3363,6 +3388,7 @@ Public Class Parser
             Dim op As KS
             op = tm.CurrentToken.Keyword
             tm.NextToken()
+            tm.AcceptNewLine()
             rSide = ParseAnd_AndAlso(Info)
             If op = KS.Or Then
                 lSide = New OrExpression(Info.Parent, lSide, rSide)
@@ -3461,6 +3487,7 @@ Public Class Parser
             Compiler.Report.ShowMessage(Messages.VBNC99997, tm.CurrentLocation)
             Return Nothing
         End If
+        tm.AcceptNewLine()
 
         m_Type = ParseTypeName(result)
         If m_Type Is Nothing Then Helper.ErrorRecoveryNotImplemented(tm.CurrentLocation)
@@ -3518,7 +3545,7 @@ Public Class Parser
         Dim result As New VariableIdentifiers(Parent)
 
         If ParseList(Of VariableIdentifier)(result, New ParseDelegate_Parent(Of VariableIdentifier)(AddressOf ParseVariableIdentifier), Parent) = False Then
-            Helper.ErrorRecoveryNotImplemented(tm.CurrentLocation)
+            tm.GotoNewline(True)
         End If
 
         Return result
@@ -3607,14 +3634,14 @@ Public Class Parser
             m_Attributes = ParseAttributes(result)
             If PropertyGetDeclaration.IsMe(tm) Then
                 If m_Get IsNot Nothing Then
-                    Helper.AddError(Compiler, tm.CurrentLocation, "Found more than one Get Property.")
+                    Compiler.Report.ShowMessage(Messages.VBNC30443, tm.CurrentLocation)
                 End If
                 m_Get = ParsePropertyGetMember(result, New ParseAttributableInfo(Compiler, m_Attributes), m_Signature, m_ImplementsClause, m_Modifiers.Mask)
                 If m_Get Is Nothing Then Helper.ErrorRecoveryNotImplemented(tm.CurrentLocation)
                 m_Attributes = Nothing
             ElseIf PropertySetDeclaration.IsMe(tm) Then
                 If m_Set IsNot Nothing Then
-                    Helper.AddError(Compiler, tm.CurrentLocation, "Found more than one Set Property.")
+                    Compiler.Report.ShowMessage(Messages.VBNC30444, tm.CurrentLocation)
                 End If
                 m_Set = ParsePropertySetMember(result, New ParseAttributableInfo(Compiler, m_Attributes), m_Signature, m_ImplementsClause, m_Modifiers.Mask)
                 If m_Set Is Nothing Then Helper.ErrorRecoveryNotImplemented(tm.CurrentLocation)
@@ -3631,18 +3658,31 @@ Public Class Parser
         If tm.AcceptIfNotError(KS.End, KS.Property) = False Then Helper.ErrorRecoveryNotImplemented(tm.CurrentLocation)
         If tm.AcceptEndOfStatement(, True) = False Then Helper.ErrorRecoveryNotImplemented(tm.CurrentLocation)
 
-        If m_Modifiers.Is(ModifierMasks.ReadOnly) AndAlso m_Get Is Nothing Then
-            Compiler.Report.ShowMessage(Messages.VBNC30126, m_Signature.Location)
-        End If
-        If m_Modifiers.Is(ModifierMasks.WriteOnly) AndAlso m_Set Is Nothing Then
-            Compiler.Report.ShowMessage(Messages.VBNC30125, m_Signature.Location)
-        End If
+        If m_Modifiers.Is(ModifierMasks.ReadOnly) Then
 
-        If m_Modifiers.Is(ModifierMasks.ReadOnly) = False AndAlso m_Modifiers.Is(ModifierMasks.WriteOnly) = False Then
             If m_Get Is Nothing Then
-                Compiler.Report.ShowMessage(Messages.VBNC30124, m_Signature.Location)
+                Compiler.Report.ShowMessage(Messages.VBNC30126, m_Signature.Location)
+            End If
+
+            If m_Set IsNot Nothing Then
+                Compiler.Report.ShowMessage(Messages.VBNC30022, m_Set.Location)
             End If
+
+        End If
+
+        If m_Modifiers.Is(ModifierMasks.WriteOnly) Then
+
             If m_Set Is Nothing Then
+                Compiler.Report.ShowMessage(Messages.VBNC30125, m_Signature.Location)
+            End If
+
+            If m_Get IsNot Nothing Then
+                Compiler.Report.ShowMessage(Messages.VBNC30023, m_Get.Location)
+            End If
+
+        End If
+        If m_Modifiers.Is(ModifierMasks.ReadOnly) = False AndAlso m_Modifiers.Is(ModifierMasks.WriteOnly) = False Then
+            If m_Get Is Nothing OrElse m_Set Is Nothing Then
                 Compiler.Report.ShowMessage(Messages.VBNC30124, m_Signature.Location)
             End If
         End If
@@ -3800,11 +3840,11 @@ Public Class Parser
         Dim m_Identifier As Identifier = Nothing
         Dim m_TypeParameters As TypeParameters = Nothing
         Dim m_ParameterList As New ParameterList(result)
-        Dim m_ReturnTypeAttributes As New Attributes(result)
+        Dim m_ReturnTypeAttributes As Attributes = Nothing
         Dim m_TypeName As TypeName = Nothing
 
         If ParseSubSignature(result, m_Identifier, m_TypeParameters, m_ParameterList) = False Then
-            Helper.ErrorRecoveryNotImplemented(tm.CurrentLocation)
+            tm.GotoNewline(True)
         End If
 
         If tm.Accept(KS.As) Then
@@ -3830,7 +3870,7 @@ Public Class Parser
     ''' <remarks></remarks>
     ''' 
     Private Function ParseTypeParameters(ByVal Parent As ParsedObject) As TypeParameters
-        Dim result As New TypeParameters()
+        Dim result As New TypeParameters(Parent)
 
         If tm.AcceptIfNotError(KS.LParenthesis) = False Then Helper.ErrorRecoveryNotImplemented(tm.CurrentLocation)
         If tm.AcceptIfNotError(KS.Of) = False Then Helper.ErrorRecoveryNotImplemented(tm.CurrentLocation)
@@ -3962,6 +4002,7 @@ Public Class Parser
         End If
 
         If tm.Accept(KS.Equals) Then
+            tm.AcceptNewLine()
             m_ConstantExpression = ParseExpression(result)
             If m_ConstantExpression Is Nothing Then Helper.ErrorRecoveryNotImplemented(tm.CurrentLocation)
         Else
@@ -4264,7 +4305,7 @@ Public Class Parser
         Dim m_Operand1 As Operand
         Dim m_Operand2 As Operand
         Dim m_TypeName As TypeName
-        Dim m_ReturnTypeAttributes As New Attributes(Parent)
+        Dim m_ReturnTypeAttributes As Attributes = Nothing
         Dim m_Block As CodeBlock
 
         m_Modifiers = ParseModifiers(ModifierMasks.OperatorModifiers)
@@ -4353,14 +4394,18 @@ Public Class Parser
             If m_HandlesOrImplements Is Nothing Then Helper.ErrorRecoveryNotImplemented(tm.CurrentLocation)
         End If
 
-        If tm.AcceptEndOfStatement(, True) = False Then Helper.ErrorRecoveryNotImplemented(tm.CurrentLocation)
+        If tm.AcceptEndOfStatement(, True) = False Then tm.GotoNewline(True)
 
         If m_Modifiers.Is(ModifierMasks.MustOverride) = False Then
             m_Block = ParseCodeBlock(result, False)
             If m_Block Is Nothing Then Helper.ErrorRecoveryNotImplemented(tm.CurrentLocation)
 
-            If tm.AcceptIfNotError(KS.End, KS.Function) = False Then Helper.ErrorRecoveryNotImplemented(tm.CurrentLocation)
-            If tm.AcceptEndOfStatement(, True) = False Then Helper.ErrorRecoveryNotImplemented(tm.CurrentLocation)
+            If tm.AcceptIfNotError(KS.End, KS.Function) = False Then
+                tm.GotoNewline(False)
+            End If
+            If tm.AcceptEndOfStatement(, True) = False Then
+                tm.GotoNewline(True)
+            End If
         End If
 
         result.CustomAttributes = Info.Attributes
@@ -4406,8 +4451,12 @@ Public Class Parser
             m_Block = ParseCodeBlock(result, False)
             If m_Block Is Nothing Then Helper.ErrorRecoveryNotImplemented(tm.CurrentLocation)
 
-            If tm.AcceptIfNotError(KS.End, KS.Sub) = False Then Helper.ErrorRecoveryNotImplemented(tm.CurrentLocation)
-            If tm.AcceptEndOfStatement(, True) = False Then Helper.ErrorRecoveryNotImplemented(tm.CurrentLocation)
+            If tm.AcceptIfNotError(KS.End, KS.Sub) = False Then
+                tm.GotoNewline(False)
+            End If
+            If tm.AcceptEndOfStatement(, True) = False Then
+                tm.GotoNewline(True)
+            End If
         End If
 
         result.CustomAttributes = Info.Attributes
@@ -4749,6 +4798,7 @@ Public Class Parser
             If m_TypeName Is Nothing Then Helper.ErrorRecoveryNotImplemented(tm.CurrentLocation)
         End If
         If tm.AcceptIfNotError(KS.Equals) = False Then Helper.ErrorRecoveryNotImplemented(tm.CurrentLocation)
+        tm.AcceptNewLine()
 
         m_ConstantExpression = ParseExpression(result)
         If m_ConstantExpression Is Nothing Then Helper.ErrorRecoveryNotImplemented(tm.CurrentLocation)
@@ -4788,7 +4838,7 @@ Public Class Parser
 
         result = ParseTypeVariableDeclarators(Parent, m_VariableModifiers, Info)
 
-        If tm.FindNewLineAndShowError() = False Then Helper.ErrorRecoveryNotImplemented(tm.CurrentLocation)
+        tm.AcceptNewLine(GotoNewline:=True, ReportError:=True)
 
         Return result
     End Function
@@ -4910,6 +4960,7 @@ Public Class Parser
         End If
 
         If tm.Accept(KS.Equals) Then
+            tm.AcceptNewLine()
             m_VariableInitializer = ParseVariableInitializer(Parent)
             If m_VariableInitializer Is Nothing Then Compiler.Report.ShowMessage(Messages.VBNC30201, tm.CurrentLocation)
             m_ArgumentList = Nothing
@@ -5023,11 +5074,19 @@ Public Class Parser
 
     Private Function ParseResumeStatement(ByVal Parent As ParsedObject) As ResumeStatement
         Dim m_IsResumeNext As Boolean
+        Dim m_TargetLabel As Token? = Nothing
+        Dim m_TargetLocation As Span? = Nothing
 
         tm.AcceptIfNotInternalError(KS.Resume)
-        m_IsResumeNext = tm.Accept(KS.Next)
+        If tm.Accept(KS.Next) Then
+            m_IsResumeNext = True
+        ElseIf tm.CurrentToken.IsIdentifier OrElse tm.CurrentToken.IsIntegerLiteral Then
+            m_TargetLabel = tm.CurrentToken
+            m_TargetLocation = tm.CurrentLocation
+            tm.NextToken()
+        End If
 
-        Return New ResumeStatement(Parent, m_IsResumeNext)
+        Return New ResumeStatement(Parent, m_IsResumeNext, m_TargetLabel, m_TargetLocation)
     End Function
 
     ''' <summary>
@@ -5135,17 +5194,19 @@ Public Class Parser
     ''' <remarks></remarks>
     Private Function ParseExitStatement(ByVal Parent As ParsedObject) As ExitStatement
         Dim m_ExitWhat As KS
+        Dim exitLocation As Span
 
         tm.AcceptIfNotInternalError(KS.Exit)
         If tm.CurrentToken.Equals(KS.Sub, KS.Function, KS.Property, KS.Do, KS.For, KS.Try, KS.While, KS.Select) Then
             m_ExitWhat = tm.CurrentToken.Keyword
+            exitLocation = tm.CurrentLocation
             tm.NextToken()
         Else
             Compiler.Report.ShowMessage(Messages.VBNC30240, tm.CurrentLocation)
             Return Nothing
         End If
 
-        Return New ExitStatement(Parent, m_ExitWhat)
+        Return New ExitStatement(Parent, m_ExitWhat, exitLocation)
     End Function
 
     ''' <summary>
@@ -5912,6 +5973,7 @@ Public Class Parser
         If m_LoopControlVariable Is Nothing Then Helper.ErrorRecoveryNotImplemented(tm.CurrentLocation)
 
         If tm.AcceptIfNotError(KS.In) = False Then Helper.ErrorRecoveryNotImplemented(tm.CurrentLocation)
+        tm.AcceptNewLine()
 
         m_InExpression = ParseExpression(result)
         If m_InExpression Is Nothing Then Helper.ErrorRecoveryNotImplemented(tm.CurrentLocation)
@@ -5923,7 +5985,7 @@ Public Class Parser
 
         If tm.AcceptIfNotError(KS.Next) = False Then Helper.ErrorRecoveryNotImplemented(tm.CurrentLocation)
         If tm.CurrentToken.IsEndOfStatement = False Then
-            m_NextExpression = ParseExpression(result)
+            m_NextExpression = ParseExpression(m_Code)
             If m_NextExpression Is Nothing Then Helper.ErrorRecoveryNotImplemented(tm.CurrentLocation)
         Else
             m_NextExpression = Nothing
@@ -5962,6 +6024,7 @@ Public Class Parser
         If m_LoopControlVariable Is Nothing Then Helper.ErrorRecoveryNotImplemented(tm.CurrentLocation)
 
         If tm.AcceptIfNotError(KS.Equals) = False Then Helper.ErrorRecoveryNotImplemented(tm.CurrentLocation)
+        tm.AcceptNewLine()
 
         m_LoopStartExpression = ParseExpression(result)
         If m_LoopStartExpression Is Nothing Then Helper.ErrorRecoveryNotImplemented(tm.CurrentLocation)
@@ -6010,18 +6073,21 @@ Public Class Parser
         Dim m_Comparison As KS
 
         If tm.Accept(KS.Is) Then
+            tm.AcceptNewLine()
             If tm.CurrentToken.Equals(CaseClause.RelationalOperators) = False Then
                 Compiler.Report.ShowMessage(Messages.VBNC30239, tm.CurrentLocation)
                 m_Comparison = KS.Equals
             Else
                 m_Comparison = tm.CurrentToken.Symbol
                 tm.NextToken()
+                tm.AcceptNewLine()
             End If
             m_Expression1 = ParseExpression(result)
             If m_Expression1 Is Nothing Then Helper.ErrorRecoveryNotImplemented(tm.CurrentLocation)
         ElseIf tm.CurrentToken.Equals(CaseClause.RelationalOperators) Then
             m_Comparison = tm.CurrentToken.Symbol
             tm.NextToken()
+            tm.AcceptNewLine()
             m_Expression1 = ParseExpression(result)
             If m_Expression1 Is Nothing Then Helper.ErrorRecoveryNotImplemented(tm.CurrentLocation)
         Else
@@ -6158,7 +6224,6 @@ Public Class Parser
                 result = New StructureDeclaration(Parent, [Namespace], GenericName, m_TypeParameters)
             End If
             result.Modifiers = m_Modifiers
-            result.UpdateDefinition()
         End If
 
         Return result
@@ -6198,7 +6263,10 @@ Public Class Parser
         tm.AcceptIfNotInternalError(KS.Class)
 
         m_Identifier = ParseIdentifier(CType(Nothing, ParsedObject))
-        If m_Identifier Is Nothing Then Helper.ErrorRecoveryNotImplemented(tm.CurrentLocation)
+        If m_Identifier Is Nothing Then
+            ShowIdentifierExpected(tm.CurrentLocation())
+            Return Nothing
+        End If
 
         If tm.AcceptEndOfStatement = False Then
             m_TypeParameters = ParseTypeParameters(Nothing)
@@ -6242,15 +6310,20 @@ Public Class Parser
 
         If ParseTypeMembers(result) = False Then Helper.ErrorRecoveryNotImplemented(tm.CurrentLocation)
 
-        If tm.AcceptIfNotError(KS.End, KS.Class) = False Then Helper.ErrorRecoveryNotImplemented(tm.CurrentLocation)
-        If tm.AcceptEndOfStatement(, True) = False Then Helper.ErrorRecoveryNotImplemented(tm.CurrentLocation)
+        If tm.AcceptIfNotError(KS.End, KS.Class) = False Then
+            tm.GotoNewline(False)
+        End If
+        If tm.AcceptEndOfStatement(, True) = False Then
+            tm.GotoNewline(True)
+        End If
 
-        If result.CustomAttributes IsNot Nothing Then
-            result.CustomAttributes.AddRange(Attributes)
-        Else
-            result.CustomAttributes = Attributes
+        If Attributes IsNot Nothing Then
+            If result.CustomAttributes IsNot Nothing Then
+                result.CustomAttributes.AddRange(Attributes)
+            Else
+                result.CustomAttributes = Attributes
+            End If
         End If
-        result.UpdateDefinition()
 
         Return result
     End Function
@@ -6324,7 +6397,6 @@ Public Class Parser
 
         result.CustomAttributes = Attributes
         result.Modifiers = Modifiers
-        result.UpdateDefinition()
 
         Return result
     End Function
@@ -6341,7 +6413,7 @@ Public Class Parser
         Dim constAttributes As Attributes
 
         Do Until tm.CurrentToken.Equals(KS.End, KS.Enum)
-            constAttributes = New Attributes(Parent)
+            constAttributes = Nothing
             If vbnc.Attributes.IsMe(tm) Then
                 If ParseAttributes(Parent, constAttributes) = False Then Helper.ErrorRecoveryNotImplemented(tm.CurrentLocation)
             End If
@@ -6370,31 +6442,79 @@ Public Class Parser
         Dim result As EnumDeclaration
         Dim m_Modifiers As Modifiers
         Dim m_Identifier As Identifier
-        Dim m_QualifiedName As KS = KS.Integer
+        Dim has_error As Boolean
+        Dim location As Span
 
         m_Modifiers = ParseModifiers(ModifierMasks.TypeModifiers)
 
+        location = tm.CurrentLocation
         tm.AcceptIfNotInternalError(KS.Enum)
 
         m_Identifier = ParseIdentifier()
-        If m_Identifier Is Nothing Then Helper.ErrorRecoveryNotImplemented(tm.CurrentLocation)
+        If m_Identifier Is Nothing Then
+            ShowIdentifierExpected(location)
+            tm.GotoNewline(True)
+            m_Identifier = New Identifier("dummy")
+            has_error = True
+        ElseIf m_Identifier.HasTypeCharacter Then
+            Compiler.Report.ShowMessage(Messages.VBNC30468, location)
+            has_error = True
+        End If
+
+        result = New EnumDeclaration(Parent, [Namespace], m_Identifier)
+        result.Location = location
 
         If tm.Accept(KS.As) Then
-            If tm.CurrentToken.Equals(Enums.IntegralTypeNames) Then
-                m_QualifiedName = tm.CurrentToken.Keyword
+            If tm.CurrentToken.IsKeyword Then
+                Select Case tm.CurrentToken.Keyword
+                    Case KS.Byte
+                        result.EnumConstantType = Compiler.TypeCache.System_Byte
+                    Case KS.SByte
+                        result.EnumConstantType = Compiler.TypeCache.System_SByte
+                    Case KS.Short
+                        result.EnumConstantType = Compiler.TypeCache.System_Int16
+                    Case KS.UShort
+                        result.EnumConstantType = Compiler.TypeCache.System_UInt16
+                    Case KS.Integer
+                        result.EnumConstantType = Compiler.TypeCache.System_Int32
+                    Case KS.UInteger
+                        result.EnumConstantType = Compiler.TypeCache.System_UInt32
+                    Case KS.Long
+                        result.EnumConstantType = Compiler.TypeCache.System_Int64
+                    Case KS.ULong
+                        result.EnumConstantType = Compiler.TypeCache.System_UInt64
+                    Case Else
+                        'Just set anything that will cause the correct error to be shown
+                        result.EnumConstantType = Compiler.TypeCache.System_Object
+                End Select
                 tm.NextToken()
             Else
-                Helper.AddError(Compiler, tm.CurrentLocation, "Enum type must be integral")
+                result.EnumType = ParseNonArrayTypeName(result)
+                If result.EnumType Is Nothing AndAlso has_error = False Then
+                    Compiler.Report.ShowMessage(Messages.VBNC30182, tm.CurrentLocation)
+                    tm.GotoNewline(True)
+                    has_error = True
+                End If
             End If
         End If
-        If tm.AcceptEndOfStatement(, True) = False Then Helper.ErrorRecoveryNotImplemented(tm.CurrentLocation)
 
-        result = New EnumDeclaration(Parent, [Namespace], m_Identifier, m_QualifiedName)
+        If tm.AcceptEndOfStatement(, Not has_error) = False AndAlso has_error = False Then
+            tm.GotoNewline(True)
+            has_error = True
+        End If
 
-        If ParseEnumMembers(result) = False Then Helper.ErrorRecoveryNotImplemented(tm.CurrentLocation)
+        If ParseEnumMembers(result) = False AndAlso has_error = False Then
+            tm.GotoNewline(True)
+            has_error = True
+        End If
 
-        If tm.AcceptIfNotError(KS.End, KS.Enum) = False Then Helper.ErrorRecoveryNotImplemented(tm.CurrentLocation)
-        If tm.AcceptEndOfStatement(, True) = False Then Helper.ErrorRecoveryNotImplemented(tm.CurrentLocation)
+        If Not has_error AndAlso result.Members.Count = 0 Then
+            Compiler.Report.ShowMessage(Messages.VBNC30280, result.Location, result.Name)
+            has_error = True
+        End If
+
+        If tm.AcceptIfNotError(KS.End, KS.Enum) = False Then tm.GotoNewline(True)
+        If tm.AcceptEndOfStatement(, True) = False Then tm.GotoNewline(True)
 
         result.CustomAttributes = Attributes
         result.Modifiers = m_Modifiers
@@ -6453,7 +6573,6 @@ Public Class Parser
 
         result.CustomAttributes = Attributes
         result.Modifiers = m_Modifiers
-        result.UpdateDefinition()
 
         Return result
     End Function
@@ -6484,8 +6603,12 @@ Public Class Parser
 
         If ParseTypeMembers(result) = False Then Helper.ErrorRecoveryNotImplemented(tm.CurrentLocation)
 
-        If tm.AcceptIfNotError(KS.End, KS.Module) = False Then Helper.ErrorRecoveryNotImplemented(tm.CurrentLocation)
-        If tm.AcceptEndOfStatement(, True) = False Then Helper.ErrorRecoveryNotImplemented(tm.CurrentLocation)
+        If tm.AcceptIfNotError(KS.End, KS.Module) = False Then
+            tm.GotoNewline(False)
+        End If
+        If tm.AcceptEndOfStatement(, True) = False Then
+            tm.GotoNewline(True)
+        End If
 
         If result.CustomAttributes IsNot Nothing Then
             result.CustomAttributes.AddRange(Attributes)
@@ -6493,7 +6616,6 @@ Public Class Parser
             result.CustomAttributes = Attributes
         End If
         result.Modifiers = m_Modifiers
-        result.UpdateDefinition()
 
         Return result
     End Function
@@ -6566,4 +6688,12 @@ Public Class Parser
         Return result
     End Function
 
+    Public Sub ShowIdentifierExpected(ByVal Location As Span)
+        If tm.CurrentToken.IsKeyword Then
+            Compiler.Report.ShowMessage(Messages.VBNC30183, Location)
+        Else
+            Compiler.Report.ShowMessage(Messages.VBNC30203, Location)
+        End If
+    End Sub
 End Class
+
diff --git a/vbnc/vbnc/source/Resources/Errors.resx b/vbnc/vbnc/source/Resources/Errors.resx
index f23eafc..84ad6d2 100644
--- a/vbnc/vbnc/source/Resources/Errors.resx
+++ b/vbnc/vbnc/source/Resources/Errors.resx
@@ -1,1024 +1,3103 @@
-<?xml version="1.0" encoding="utf-8"?>
-<root>
-  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
-    <xsd:element name="root" msdata:IsDataSet="true">
-      <xsd:complexType>
-        <xsd:choice maxOccurs="unbounded">
-          <xsd:element name="data">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
-              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
-              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="resheader">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" />
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:choice>
-      </xsd:complexType>
-    </xsd:element>
-  </xsd:schema>
-<resheader name="resmimetype"><value>text/microsoft-resx</value></resheader><resheader name="version"><value>1.3</value></resheader><resheader name="reader"><value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value></resheader><resheader name="writer"><value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value></resheader><data name="warning"><value>'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
-'    This file has automatically been generated                            
-'    Any change in this file will be lost!!                                
-'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
-</value></data>
-  <data name="2001"><value>file not found: {0}</value></data>
-  <data name="2006"><value>Option '{0}' requires ':{1}'</value></data>
-  <data name="2007"><value>the response file '{0}' could not be opened</value></data>
-  <data name="2009"><value>the option {0} was not recognized - ignored</value></data>
-  <data name="2011"><value>No files to compile! Cannot do anything!</value></data>
-  <data name="2014"><value>The response file '{0}' has already been included</value></data>
-  <data name="2016"><value>Code page '{0}' is invalid or not supported</value></data>
-  <data name="2017"><value>The library '{0}' could not be found.</value></data>
-  <data name="2019"><value>the option '{0}' cannot have the value '{1}'</value></data>
-  <data name="20001"><value>	'{0}': not most specific.</value></data>
-  <data name="30001"><value>There cannot be any statements in a namespace.</value></data>
-  <data name="30002"><value>Could not find the type '{0}'.</value></data>
-  <data name="30003"><value>CHANGEME</value></data>
-  <data name="30004"><value>Character constants must contain exactly one character.</value></data>
-  <data name="30005"><value>CHANGEME</value></data>
-  <data name="30006"><value>CHANGEME</value></data>
-  <data name="30007"><value>CHANGEME</value></data>
-  <data name="30008"><value>CHANGEME</value></data>
-  <data name="30009"><value>CHANGEME</value></data>
-  <data name="30010"><value>CHANGEME</value></data>
-  <data name="30011"><value>CHANGEME</value></data>
-  <data name="30012"><value>CHANGEME</value></data>
-  <data name="30013"><value>CHANGEME</value></data>
-  <data name="30014"><value>CHANGEME</value></data>
-  <data name="30015"><value>CHANGEME</value></data>
-  <data name="30016"><value>CHANGEME</value></data>
-  <data name="30018"><value>CHANGEME</value></data>
-  <data name="30019"><value>CHANGEME</value></data>
-  <data name="30020"><value>CHANGEME</value></data>
-  <data name="30021"><value>CHANGEME</value></data>
-  <data name="30022"><value>CHANGEME</value></data>
-  <data name="30023"><value>CHANGEME</value></data>
-  <data name="30024"><value>CHANGEME</value></data>
-  <data name="30025"><value>Property must end with 'End Property'.</value></data>
-  <data name="30026"><value>CHANGEME</value></data>
-  <data name="30027"><value>CHANGEME</value></data>
-  <data name="30028"><value>CHANGEME</value></data>
-  <data name="30029"><value>CHANGEME</value></data>
-  <data name="30030"><value>CHANGEME</value></data>
-  <data name="30031"><value>CHANGEME</value></data>
-  <data name="30032"><value>CHANGEME</value></data>
-  <data name="30033"><value>CHANGEME</value></data>
-  <data name="30034"><value>An escaped identifier must end with ']'.</value></data>
-  <data name="30035"><value>Syntax error.</value></data>
-  <data name="30036"><value>Overflow.</value></data>
-  <data name="30037"><value>Symbol is not valid.</value></data>
-  <data name="30038"><value>CHANGEME</value></data>
-  <data name="30039"><value>Loop control variable cannot be a property or a late-bound indexed array.</value></data>
-  <data name="30040"><value>CHANGEME</value></data>
-  <data name="30041"><value>Too many errors.</value></data>
-  <data name="30043"><value>CHANGEME</value></data>
-  <data name="30044"><value>CHANGEME</value></data>
-  <data name="30045"><value>CHANGEME</value></data>
-  <data name="30046"><value>CHANGEME</value></data>
-  <data name="30049"><value>CHANGEME</value></data>
-  <data name="30050"><value>CHANGEME</value></data>
-  <data name="30051"><value>CHANGEME</value></data>
-  <data name="30052"><value>CHANGEME</value></data>
-  <data name="30053"><value>CHANGEME</value></data>
-  <data name="30057"><value>Too many arguments provided to '{0}'.</value></data>
-  <data name="30058"><value>CHANGEME</value></data>
-  <data name="30059"><value>The expression is not a constant expression.</value></data>
-  <data name="30060"><value>Cannot convert from '{0}' to '{1}' in a constant expression.</value></data>
-  <data name="30062"><value>CHANGEME</value></data>
-  <data name="30064"><value>CHANGEME</value></data>
-  <data name="30065"><value>It is not valid to use 'Exit Sub' in a Function or Property.</value></data>
-  <data name="30066"><value>It is not valid to use 'Exit Property' in a Function or Sub.</value></data>
-  <data name="30067"><value>It is not valid to use 'Exit Function' in a Sub or Property.</value></data>
-  <data name="30068"><value>CHANGEME</value></data>
-  <data name="30069"><value>CHANGEME</value></data>
-  <data name="30070"><value>The variable specified after Next doesn't match the variable specified in the for loop ({0}).</value></data>
-  <data name="30071"><value>CHANGEME</value></data>
-  <data name="30072"><value>CHANGEME</value></data>
-  <data name="30074"><value>CHANGEME</value></data>
-  <data name="30075"><value>CHANGEME</value></data>
-  <data name="30081"><value>CHANGEME</value></data>
-  <data name="30082"><value>CHANGEME</value></data>
-  <data name="30083"><value>CHANGEME</value></data>
-  <data name="30084"><value>CHANGEME</value></data>
-  <data name="30085"><value>CHANGEME</value></data>
-  <data name="30086"><value>CHANGEME</value></data>
-  <data name="30087"><value>CHANGEME</value></data>
-  <data name="30088"><value>CHANGEME</value></data>
-  <data name="30089"><value>This 'Exit Do' statement is not contained within a 'Do' statement.</value></data>
-  <data name="30090"><value>CHANGEME</value></data>
-  <data name="30091"><value>CHANGEME</value></data>
-  <data name="30092"><value>CHANGEME</value></data>
-  <data name="30093"><value>CHANGEME</value></data>
-  <data name="30094"><value>CHANGEME</value></data>
-  <data name="30095"><value>CHANGEME</value></data>
-  <data name="30096"><value>This 'Exit For' statement is not contained within a 'For' statement.</value></data>
-  <data name="30097"><value>This 'Exit While' statement is not contained within a 'While' statement.</value></data>
-  <data name="30098"><value>CHANGEME</value></data>
-  <data name="30099"><value>This 'Exit Select' statement is not contained within a 'Select' statement.</value></data>
-  <data name="30101"><value>CHANGEME</value></data>
-  <data name="30103"><value>CHANGEME</value></data>
-  <data name="30105"><value>CHANGEME</value></data>
-  <data name="30106"><value>CHANGEME</value></data>
-  <data name="30107"><value>CHANGEME</value></data>
-  <data name="30108"><value>Expression is a type and cannot be used as an expression.</value></data>
-  <data name="30109"><value>CHANGEME</value></data>
-  <data name="30110"><value>CHANGEME</value></data>
-  <data name="30111"><value>CHANGEME</value></data>
-  <data name="30112"><value>Expression is a namespace and cannot be used as an expression.</value></data>
-  <data name="30113"><value>CHANGEME</value></data>
-  <data name="30121"><value>CHANGEME</value></data>
-  <data name="30122"><value>CHANGEME</value></data>
-  <data name="30123"><value>CHANGEME</value></data>
-  <data name="30124"><value>CHANGEME</value></data>
-  <data name="30125"><value>CHANGEME</value></data>
-  <data name="30126"><value>CHANGEME</value></data>
-  <data name="30127"><value>Attribute '{0}' is not valid: {1}</value></data>
-  <data name="30128"><value>Security attribute '{0}' is not valid: {1}</value></data>
-  <data name="30129"><value>Assembly attribute '{0}' is not valid: {1}</value></data>
-  <data name="30130"><value>CHANGEME</value></data>
-  <data name="30131"><value>CHANGEME</value></data>
-  <data name="30132"><value>CHANGEME</value></data>
-  <data name="30133"><value>CHANGEME</value></data>
-  <data name="30134"><value>CHANGEME</value></data>
-  <data name="30135"><value>CHANGEME</value></data>
-  <data name="30136"><value>CHANGEME</value></data>
-  <data name="30137"><value>CHANGEME</value></data>
-  <data name="30138"><value>CHANGEME</value></data>
-  <data name="30139"><value>CHANGEME</value></data>
-  <data name="30140"><value>CHANGEME</value></data>
-  <data name="30141"><value>CHANGEME</value></data>
-  <data name="30142"><value>CHANGEME</value></data>
-  <data name="30143"><value>CHANGEME</value></data>
-  <data name="30144"><value>CHANGEME</value></data>
-  <data name="30145"><value>Unable to emit assembly: {0}</value></data>
-  <data name="30146"><value>CHANGEME</value></data>
-  <data name="30147"><value>CHANGEME</value></data>
-  <data name="30148"><value>CHANGEME</value></data>
-  <data name="30149"><value>CHANGEME</value></data>
-  <data name="30154"><value>CHANGEME</value></data>
-  <data name="30157"><value>CHANGEME</value></data>
-  <data name="30166"><value>CHANGEME</value></data>
-  <data name="30175"><value>CHANGEME</value></data>
-  <data name="30176"><value>CHANGEME</value></data>
-  <data name="30177"><value>CHANGEME</value></data>
-  <data name="30178"><value>The modifier '{0}' is specified more than once.</value></data>
-  <data name="30179"><value>{0} '{1}' and {2} '{3}' conflict in {4} '{5}'.</value></data>
-  <data name="30180"><value>Keyword does not name a type.</value></data>
-  <data name="30181"><value>CHANGEME</value></data>
-  <data name="30182"><value>Epxected type.</value></data>
-  <data name="30183"><value>CHANGEME</value></data>
-  <data name="30184"><value>CHANGEME</value></data>
-  <data name="30185"><value>CHANGEME</value></data>
-  <data name="30186"><value>CHANGEME</value></data>
-  <data name="30188"><value>CHANGEME</value></data>
-  <data name="30192"><value>CHANGEME</value></data>
-  <data name="30193"><value>CHANGEME</value></data>
-  <data name="30195"><value>CHANGEME</value></data>
-  <data name="30196"><value>CHANGEME</value></data>
-  <data name="30197"><value>CHANGEME</value></data>
-  <data name="30198"><value>Expected ')'.</value></data>
-  <data name="30199"><value>Expected '('.</value></data>
-  <data name="30200"><value>CHANGEME</value></data>
-  <data name="30201"><value>Expected expression.</value></data>
-  <data name="30202"><value>CHANGEME</value></data>
-  <data name="30203"><value>Not valid as identifier.</value></data>
-  <data name="30204"><value>CHANGEME</value></data>
-  <data name="30205"><value>Expected end of statement.</value></data>
-  <data name="30206"><value>'Option' must be followed by 'Compare', 'Explicit', or 'Strict'.</value></data>
-  <data name="30207"><value>'Option Compare' must be followed by 'Text' or 'Binary'.</value></data>
-  <data name="30208"><value>CHANGEME</value></data>
-  <data name="30209"><value>An 'As' clause is required if Option Strict is in effect.</value></data>
-  <data name="30210"><value>This function or property requires a return type because 'Option Strict' is in effect.</value></data>
-  <data name="30213"><value>CHANGEME</value></data>
-  <data name="30215"><value>Expected 'Sub' or 'Function'</value></data>
-  <data name="30217"><value>CHANGEME</value></data>
-  <data name="30218"><value>CHANGEME</value></data>
-  <data name="30220"><value>CHANGEME</value></data>
-  <data name="30224"><value>CHANGEME</value></data>
-  <data name="30225"><value>Option {0} statement can only appear once per file.</value></data>
-  <data name="30230"><value>CHANGEME</value></data>
-  <data name="30231"><value>CHANGEME</value></data>
-  <data name="30232"><value>CHANGEME</value></data>
-  <data name="30233"><value>CHANGEME</value></data>
-  <data name="30234"><value>CHANGEME</value></data>
-  <data name="30235"><value>CHANGEME</value></data>
-  <data name="30237"><value>CHANGEME</value></data>
-  <data name="30238"><value>CHANGEME</value></data>
-  <data name="30239"><value>Expected relational operator.</value></data>
-  <data name="30240"><value>Expected something else (like 'Sub', 'Function', 'Property', 'Do', 'For', 'While', 'Select' or 'Try'.</value></data>
-  <data name="30241"><value>CHANGEME</value></data>
-  <data name="30242"><value>CHANGEME</value></data>
-  <data name="30243"><value>CHANGEME</value></data>
-  <data name="30244"><value>CHANGEME</value></data>
-  <data name="30246"><value>CHANGEME</value></data>
-  <data name="30247"><value>CHANGEME</value></data>
-  <data name="30248"><value>CHANGEME</value></data>
-  <data name="30249"><value>CHANGEME</value></data>
-  <data name="30251"><value>Type '{0}' has no constructors.</value></data>
-  <data name="30252"><value>CHANGEME</value></data>
-  <data name="30253"><value>CHANGEME</value></data>
-  <data name="30256"><value>CHANGEME</value></data>
-  <data name="30257"><value>CHANGEME</value></data>
-  <data name="30258"><value>CHANGEME</value></data>
-  <data name="30260"><value>CHANGEME</value></data>
-  <data name="30266"><value>CHANGEME</value></data>
-  <data name="30267"><value>CHANGEME</value></data>
-  <data name="30268"><value>CHANGEME</value></data>
-  <data name="30269"><value>CHANGEME</value></data>
-  <data name="30270"><value>An interface cannot have '{0}'.</value></data>
-  <data name="30272"><value>CHANGEME</value></data>
-  <data name="30273"><value>CHANGEME</value></data>
-  <data name="30274"><value>CHANGEME</value></data>
-  <data name="30275"><value>CHANGEME</value></data>
-  <data name="30277"><value>CHANGEME</value></data>
-  <data name="30278"><value>CHANGEME</value></data>
-  <data name="30280"><value>CHANGEME</value></data>
-  <data name="30281"><value>CHANGEME</value></data>
-  <data name="30282"><value>CHANGEME</value></data>
-  <data name="30283"><value>CHANGEME</value></data>
-  <data name="30284"><value>'Overrides' can't be used on {0}, because there is no such member in a base class.</value></data>
-  <data name="30287"><value>CHANGEME</value></data>
-  <data name="30288"><value>CHANGEME</value></data>
-  <data name="30289"><value>CHANGEME</value></data>
-  <data name="30290"><value>CHANGEME</value></data>
-  <data name="30293"><value>CHANGEME</value></data>
-  <data name="30294"><value>CHANGEME</value></data>
-  <data name="30296"><value>CHANGEME</value></data>
-  <data name="30297"><value>CHANGEME</value></data>
-  <data name="30298"><value>CHANGEME</value></data>
-  <data name="30299"><value>CHANGEME</value></data>
-  <data name="30300"><value>CHANGEME</value></data>
-  <data name="30301"><value>CHANGEME</value></data>
-  <data name="30302"><value>CHANGEME</value></data>
-  <data name="30303"><value>CHANGEME</value></data>
-  <data name="30305"><value>CHANGEME</value></data>
-  <data name="30306"><value>CHANGEME</value></data>
-  <data name="30307"><value>CHANGEME</value></data>
-  <data name="30308"><value>CHANGEME</value></data>
-  <data name="30310"><value>CHANGEME</value></data>
-  <data name="30311"><value>Cannot convert from '{0}' to '{1}'.</value></data>
-  <data name="30321"><value>CHANGEME</value></data>
-  <data name="30332"><value>CHANGEME</value></data>
-  <data name="30333"><value>CHANGEME</value></data>
-  <data name="30337"><value>'For' loop control variable cannot be of the type '{0}'</value></data>
-  <data name="30338"><value>CHANGEME</value></data>
-  <data name="30345"><value>CHANGEME</value></data>
-  <data name="30354"><value>CHANGEME</value></data>
-  <data name="30357"><value>CHANGEME</value></data>
-  <data name="30359"><value>CHANGEME</value></data>
-  <data name="30360"><value>CHANGEME</value></data>
-  <data name="30361"><value>CHANGEME</value></data>
-  <data name="30362"><value>CHANGEME</value></data>
-  <data name="30363"><value>CHANGEME</value></data>
-  <data name="30364"><value>CHANGEME</value></data>
-  <data name="30366"><value>CHANGEME</value></data>
-  <data name="30367"><value>CHANGEME</value></data>
-  <data name="30368"><value>CHANGEME</value></data>
-  <data name="30369"><value>CHANGEME</value></data>
-  <data name="30370"><value>CHANGEME</value></data>
-  <data name="30371"><value>CHANGEME</value></data>
-  <data name="30375"><value>'New' cannot be used on an interface.</value></data>
-  <data name="30376"><value>CHANGEME</value></data>
-  <data name="30377"><value>CHANGEME</value></data>
-  <data name="30379"><value>CHANGEME</value></data>
-  <data name="30380"><value>CHANGEME</value></data>
-  <data name="30381"><value>CHANGEME</value></data>
-  <data name="30382"><value>CHANGEME</value></data>
-  <data name="30383"><value>CHANGEME</value></data>
-  <data name="30384"><value>CHANGEME</value></data>
-  <data name="30385"><value>CHANGEME</value></data>
-  <data name="30387"><value>The class '{0}' must define a constructor since no default constructor can be created.</value></data>
-  <data name="30389"><value>CHANGEME</value></data>
-  <data name="30390"><value>'{0}.{1}' is not accessible because it is '{2}'.</value></data>
-  <data name="30392"><value>CHANGEME</value></data>
-  <data name="30393"><value>This 'Exit Try' statement is not contained within a 'Try' statement.</value></data>
-  <data name="30395"><value>CHANGEME</value></data>
-  <data name="30396"><value>CHANGEME</value></data>
-  <data name="30397"><value>CHANGEME</value></data>
-  <data name="30398"><value>CHANGEME</value></data>
-  <data name="30399"><value>CHANGEME</value></data>
-  <data name="30401"><value>CHANGEME</value></data>
-  <data name="30408"><value>Method '{0}' does not have the same signature as delegate '{1}'.</value></data>
-  <data name="30412"><value>CHANGEME</value></data>
-  <data name="30413"><value>CHANGEME</value></data>
-  <data name="30414"><value>CHANGEME</value></data>
-  <data name="30415"><value>CHANGEME</value></data>
-  <data name="30420"><value>Could not find a 'Sub Main' in '{0}'.</value></data>
-  <data name="30423"><value>CHANGEME</value></data>
-  <data name="30424"><value>CHANGEME</value></data>
-  <data name="30429"><value>CHANGEME</value></data>
-  <data name="30430"><value>CHANGEME</value></data>
-  <data name="30431"><value>CHANGEME</value></data>
-  <data name="30433"><value>Module methods cannot be '{0}'.</value></data>
-  <data name="30434"><value>CHANGEME</value></data>
-  <data name="30435"><value>CHANGEME</value></data>
-  <data name="30436"><value>CHANGEME</value></data>
-  <data name="30437"><value>CHANGEME</value></data>
-  <data name="30438"><value>CHANGEME</value></data>
-  <data name="30439"><value>The constant expression cannot be represented in the type '{0}'.</value></data>
-  <data name="30441"><value>CHANGEME</value></data>
-  <data name="30442"><value>CHANGEME</value></data>
-  <data name="30443"><value>CHANGEME</value></data>
-  <data name="30444"><value>CHANGEME</value></data>
-  <data name="30445"><value>CHANGEME</value></data>
-  <data name="30451"><value>Could not resolve the name '{0}'</value></data>
-  <data name="30452"><value>Operator '{0}' is not defined for the types '{1}' and '{2}'.</value></data>
-  <data name="30454"><value>CHANGEME</value></data>
-  <data name="30455"><value>Argument not specified for parameter '{0}' of '{1}'.</value></data>
-  <data name="30456"><value>'{0}' is not a member of '{1}'.</value></data>
-  <data name="30458"><value>CHANGEME</value></data>
-  <data name="30460"><value>CHANGEME</value></data>
-  <data name="30461"><value>CHANGEME</value></data>
-  <data name="30464"><value>CHANGEME</value></data>
-  <data name="30465"><value>CHANGEME</value></data>
-  <data name="30466"><value>CHANGEME</value></data>
-  <data name="30467"><value>CHANGEME</value></data>
-  <data name="30468"><value>CHANGEME</value></data>
-  <data name="30469"><value>Reference to a non-shared member requires an object reference.</value></data>
-  <data name="30470"><value>CHANGEME</value></data>
-  <data name="30471"><value>Only arrays and methods can have argument lists.</value></data>
-  <data name="30474"><value>CHANGEME</value></data>
-  <data name="30476"><value>CHANGEME</value></data>
-  <data name="30479"><value>A structure can't have a shared constructor with parameters.</value></data>
-  <data name="30480"><value>CHANGEME</value></data>
-  <data name="30481"><value>CHANGEME</value></data>
-  <data name="30487"><value>CHANGEME</value></data>
-  <data name="30490"><value>CHANGEME</value></data>
-  <data name="30491"><value>Expression does not produce a value.</value></data>
-  <data name="30493"><value>CHANGEME</value></data>
-  <data name="30494"><value>CHANGEME</value></data>
-  <data name="30495"><value>CHANGEME</value></data>
-  <data name="30497"><value>CHANGEME</value></data>
-  <data name="30500"><value>Constant {0} is recursive, but it cannot depend on itself.</value></data>
-  <data name="30501"><value>CHANGEME</value></data>
-  <data name="30502"><value>CHANGEME</value></data>
-  <data name="30503"><value>CHANGEME</value></data>
-  <data name="30504"><value>CHANGEME</value></data>
-  <data name="30505"><value>CHANGEME</value></data>
-  <data name="30506"><value>Handles clause requires a variable declared with WithEvents.</value></data>
-  <data name="30507"><value>CHANGEME</value></data>
-  <data name="30508"><value>CHANGEME</value></data>
-  <data name="30509"><value>CHANGEME</value></data>
-  <data name="30512"><value>Option Strict On does not allow implicit conversions from '{0}' to '{1}'.</value></data>
-  <data name="30516"><value>Overload resolution failed because no '{0}' is accessible with the specified number of arguments.</value></data>
-  <data name="30517"><value>Overload resolution failed because no '{0}' is accessible.</value></data>
-  <data name="30518"><value>CHANGEME</value></data>
-  <data name="30519"><value>CHANGEME</value></data>
-  <data name="30520"><value>CHANGEME</value></data>
-  <data name="30521"><value>Overload resolution failed because no most specific '{0}' was found:</value></data>
-  <data name="30522"><value>CHANGEME</value></data>
-  <data name="30523"><value>CHANGEME</value></data>
-  <data name="30524"><value>Property '{0}' is 'WriteOnly'.</value></data>
-  <data name="30526"><value>CHANGEME</value></data>
-  <data name="30528"><value>CHANGEME</value></data>
-  <data name="30529"><value>CHANGEME</value></data>
-  <data name="30530"><value>Parameter cannot have the same name as its defining function.</value></data>
-  <data name="30532"><value>Conversion from 'Date' to 'Double' requires calling the 'Date.ToOADate' method.</value></data>
-  <data name="30533"><value>Conversion from 'Double' to 'Date' requires calling the 'Date.FromOADate' method.</value></data>
-  <data name="30542"><value>Division by zero occured.</value></data>
-  <data name="30544"><value>CHANGEME</value></data>
-  <data name="30545"><value>CHANGEME</value></data>
-  <data name="30547"><value>CHANGEME</value></data>
-  <data name="30548"><value>CHANGEME</value></data>
-  <data name="30549"><value>CHANGEME</value></data>
-  <data name="30550"><value>CHANGEME</value></data>
-  <data name="30554"><value>CHANGEME</value></data>
-  <data name="30555"><value>CHANGEME</value></data>
-  <data name="30560"><value>CHANGEME</value></data>
-  <data name="30561"><value>CHANGEME</value></data>
-  <data name="30562"><value>'{0}' is ambiguous between declarations in Modules '{1}' and '{2}'.</value></data>
-  <data name="30563"><value>CHANGEME</value></data>
-  <data name="30565"><value>CHANGEME</value></data>
-  <data name="30566"><value>CHANGEME</value></data>
-  <data name="30567"><value>CHANGEME</value></data>
-  <data name="30568"><value>CHANGEME</value></data>
-  <data name="30569"><value>CHANGEME</value></data>
-  <data name="30572"><value>CHANGEME</value></data>
-  <data name="30574"><value>Late binding is not allowed when Option Strict On is in effect.</value></data>
-  <data name="30576"><value>CHANGEME</value></data>
-  <data name="30577"><value>CHANGEME</value></data>
-  <data name="30578"><value>CHANGEME</value></data>
-  <data name="30579"><value>CHANGEME</value></data>
-  <data name="30580"><value>CHANGEME</value></data>
-  <data name="30581"><value>An 'AddressOf' expression can't be converted to '{0}', because '{0}' is not a delegate type.</value></data>
-  <data name="30582"><value>CHANGEME</value></data>
-  <data name="30583"><value>CHANGEME</value></data>
-  <data name="30584"><value>CHANGEME</value></data>
-  <data name="30585"><value>CHANGEME</value></data>
-  <data name="30587"><value>CHANGEME</value></data>
-  <data name="30588"><value>CHANGEME</value></data>
-  <data name="30590"><value>Cannot find the event '{0}'.</value></data>
-  <data name="30591"><value>CHANGEME</value></data>
-  <data name="30593"><value>CHANGEME</value></data>
-  <data name="30594"><value>CHANGEME</value></data>
-  <data name="30597"><value>CHANGEME</value></data>
-  <data name="30598"><value>CHANGEME</value></data>
-  <data name="30599"><value>CHANGEME</value></data>
-  <data name="30600"><value>CHANGEME</value></data>
-  <data name="30601"><value>CHANGEME</value></data>
-  <data name="30602"><value>CHANGEME</value></data>
-  <data name="30603"><value>CHANGEME</value></data>
-  <data name="30604"><value>CHANGEME</value></data>
-  <data name="30607"><value>CHANGEME</value></data>
-  <data name="30610"><value>CHANGEME</value></data>
-  <data name="30611"><value>CHANGEME</value></data>
-  <data name="30613"><value>CHANGEME</value></data>
-  <data name="30614"><value>CHANGEME</value></data>
-  <data name="30615"><value>CHANGEME</value></data>
-  <data name="30616"><value>CHANGEME</value></data>
-  <data name="30617"><value>'Module' can only occur at file or namespace level.</value></data>
-  <data name="30618"><value>CHANGEME</value></data>
-  <data name="30619"><value>CHANGEME</value></data>
-  <data name="30620"><value>'Option Strict' must be followed by 'On' or 'Off'.</value></data>
-  <data name="30621"><value>CHANGEME</value></data>
-  <data name="30622"><value>CHANGEME</value></data>
-  <data name="30623"><value>CHANGEME</value></data>
-  <data name="30624"><value>CHANGEME</value></data>
-  <data name="30625"><value>CHANGEME</value></data>
-  <data name="30626"><value>CHANGEME</value></data>
-  <data name="30627"><value>CHANGEME</value></data>
-  <data name="30628"><value>CHANGEME</value></data>
-  <data name="30629"><value>A structure can't declare a non-shared constructor with no parameters.</value></data>
-  <data name="30630"><value>CHANGEME</value></data>
-  <data name="30631"><value>CHANGEME</value></data>
-  <data name="30632"><value>CHANGEME</value></data>
-  <data name="30633"><value>CHANGEME</value></data>
-  <data name="30634"><value>CHANGEME</value></data>
-  <data name="30635"><value>CHANGEME</value></data>
-  <data name="30636"><value>CHANGEME</value></data>
-  <data name="30637"><value>Assembly or Module attributes can only be specified on file level.</value></data>
-  <data name="30638"><value>CHANGEME</value></data>
-  <data name="30639"><value>CHANGEME</value></data>
-  <data name="30640"><value>'Option Explicit' must be followed by 'On' or 'Off'.</value></data>
-  <data name="30641"><value>CHANGEME</value></data>
-  <data name="30642"><value>CHANGEME</value></data>
-  <data name="30643"><value>CHANGEME</value></data>
-  <data name="30644"><value>CHANGEME</value></data>
-  <data name="30645"><value>CHANGEME</value></data>
-  <data name="30647"><value>CHANGEME</value></data>
-  <data name="30648"><value>CHANGEME</value></data>
-  <data name="30649"><value>CHANGEME</value></data>
-  <data name="30650"><value>Invalid enum type.</value></data>
-  <data name="30651"><value>CHANGEME</value></data>
-  <data name="30652"><value>CHANGEME</value></data>
-  <data name="30653"><value>CHANGEME</value></data>
-  <data name="30654"><value>CHANGEME</value></data>
-  <data name="30655"><value>CHANGEME</value></data>
-  <data name="30656"><value>CHANGEME</value></data>
-  <data name="30657"><value>'{0}' has a return type or a parameter type that are not supported.</value></data>
-  <data name="30658"><value>CHANGEME</value></data>
-  <data name="30659"><value>CHANGEME</value></data>
-  <data name="30660"><value>CHANGEME</value></data>
-  <data name="30661"><value>CHANGEME</value></data>
-  <data name="30662"><value>CHANGEME</value></data>
-  <data name="30663"><value>CHANGEME</value></data>
-  <data name="30664"><value>CHANGEME</value></data>
-  <data name="30665"><value>CHANGEME</value></data>
-  <data name="30666"><value>CHANGEME</value></data>
-  <data name="30667"><value>CHANGEME</value></data>
-  <data name="30668"><value>CHANGEME</value></data>
-  <data name="30670"><value>CHANGEME</value></data>
-  <data name="30671"><value>CHANGEME</value></data>
-  <data name="30672"><value>CHANGEME</value></data>
-  <data name="30674"><value>CHANGEME</value></data>
-  <data name="30675"><value>CHANGEME</value></data>
-  <data name="30676"><value>CHANGEME</value></data>
-  <data name="30677"><value>CHANGEME</value></data>
-  <data name="30678"><value>CHANGEME</value></data>
-  <data name="30679"><value>CHANGEME</value></data>
-  <data name="30680"><value>CHANGEME</value></data>
-  <data name="30681"><value>CHANGEME</value></data>
-  <data name="30683"><value>CHANGEME</value></data>
-  <data name="30685"><value>CHANGEME</value></data>
-  <data name="30686"><value>CHANGEME</value></data>
-  <data name="30687"><value>CHANGEME</value></data>
-  <data name="30688"><value>CHANGEME</value></data>
-  <data name="30689"><value>CHANGEME</value></data>
-  <data name="30690"><value>CHANGEME</value></data>
-  <data name="30691"><value>'{1}.{0}' is a type and cannot be used as an expression.</value></data>
-  <data name="30694"><value>CHANGEME</value></data>
-  <data name="30695"><value>CHANGEME</value></data>
-  <data name="30696"><value>CHANGEME</value></data>
-  <data name="30697"><value>CHANGEME</value></data>
-  <data name="30698"><value>CHANGEME</value></data>
-  <data name="30699"><value>CHANGEME</value></data>
-  <data name="30700"><value>CHANGEME</value></data>
-  <data name="30701"><value>CHANGEME</value></data>
-  <data name="30702"><value>CHANGEME</value></data>
-  <data name="30703"><value>CHANGEME</value></data>
-  <data name="30704"><value>CHANGEME</value></data>
-  <data name="30705"><value>CHANGEME</value></data>
-  <data name="30706"><value>CHANGEME</value></data>
-  <data name="30707"><value>CHANGEME</value></data>
-  <data name="30708"><value>CHANGEME</value></data>
-  <data name="30709"><value>CHANGEME</value></data>
-  <data name="30710"><value>CHANGEME</value></data>
-  <data name="30711"><value>CHANGEME</value></data>
-  <data name="30712"><value>CHANGEME</value></data>
-  <data name="30713"><value>CHANGEME</value></data>
-  <data name="30714"><value>CHANGEME</value></data>
-  <data name="30715"><value>CHANGEME</value></data>
-  <data name="30716"><value>CHANGEME</value></data>
-  <data name="30717"><value>CHANGEME</value></data>
-  <data name="30718"><value>CHANGEME</value></data>
-  <data name="30719"><value>CHANGEME</value></data>
-  <data name="30720"><value>CHANGEME</value></data>
-  <data name="30721"><value>CHANGEME</value></data>
-  <data name="30722"><value>CHANGEME</value></data>
-  <data name="30723"><value>CHANGEME</value></data>
-  <data name="30724"><value>CHANGEME</value></data>
-  <data name="30725"><value>CHANGEME</value></data>
-  <data name="30726"><value>CHANGEME</value></data>
-  <data name="30728"><value>CHANGEME</value></data>
-  <data name="30730"><value>CHANGEME</value></data>
-  <data name="30731"><value>CHANGEME</value></data>
-  <data name="30732"><value>CHANGEME</value></data>
-  <data name="30733"><value>CHANGEME</value></data>
-  <data name="30734"><value>CHANGEME</value></data>
-  <data name="30735"><value>CHANGEME</value></data>
-  <data name="30736"><value>CHANGEME</value></data>
-  <data name="30737"><value>No accessible 'Main' method with an appropriate signature was found in '{0}'.</value></data>
-  <data name="30738"><value>More than one 'Sub Main' was found in '{0}'.</value></data>
-  <data name="30739"><value>CHANGEME</value></data>
-  <data name="30741"><value>CHANGEME</value></data>
-  <data name="30742"><value>CHANGEME</value></data>
-  <data name="30743"><value>CHANGEME</value></data>
-  <data name="30744"><value>CHANGEME</value></data>
-  <data name="30747"><value>Internal compiler error.</value></data>
-  <data name="30748"><value>Cannot convert '{0}' to '{1}'.</value></data>
-  <data name="30749"><value>CHANGEME</value></data>
-  <data name="30750"><value>CHANGEME</value></data>
-  <data name="30751"><value>CHANGEME</value></data>
-  <data name="30752"><value>CHANGEME</value></data>
-  <data name="30753"><value>CHANGEME</value></data>
-  <data name="30754"><value>CHANGEME</value></data>
-  <data name="30755"><value>CHANGEME</value></data>
-  <data name="30756"><value>CHANGEME</value></data>
-  <data name="30757"><value>CHANGEME</value></data>
-  <data name="30758"><value>CHANGEME</value></data>
-  <data name="30759"><value>CHANGEME</value></data>
-  <data name="30760"><value>CHANGEME</value></data>
-  <data name="30761"><value>CHANGEME</value></data>
-  <data name="30762"><value>CHANGEME</value></data>
-  <data name="30763"><value>CHANGEME</value></data>
-  <data name="30764"><value>CHANGEME</value></data>
-  <data name="30765"><value>CHANGEME</value></data>
-  <data name="30766"><value>CHANGEME</value></data>
-  <data name="30767"><value>CHANGEME</value></data>
-  <data name="30768"><value>CHANGEME</value></data>
-  <data name="30769"><value>CHANGEME</value></data>
-  <data name="30770"><value>CHANGEME</value></data>
-  <data name="30771"><value>CHANGEME</value></data>
-  <data name="30772"><value>CHANGEME</value></data>
-  <data name="30780"><value>CHANGEME</value></data>
-  <data name="30781"><value>Expected something else (like 'Do', 'For' or 'While')</value></data>
-  <data name="30782"><value>CHANGEME</value></data>
-  <data name="30783"><value>CHANGEME</value></data>
-  <data name="30784"><value>CHANGEME</value></data>
-  <data name="30785"><value>CHANGEME</value></data>
-  <data name="30786"><value>CHANGEME</value></data>
-  <data name="30787"><value>CHANGEME</value></data>
-  <data name="30788"><value>CHANGEME</value></data>
-  <data name="30789"><value>CHANGEME</value></data>
-  <data name="30790"><value>CHANGEME</value></data>
-  <data name="30791"><value>CHANGEME</value></data>
-  <data name="30796"><value>None of the accessible 'Main' methods with the appropriate signature found in '{0}' can be the startup method since they are all either generic or nested in generic types.</value></data>
-  <data name="30800"><value>CHANGEME</value></data>
-  <data name="30801"><value>CHANGEME</value></data>
-  <data name="30802"><value>CHANGEME</value></data>
-  <data name="30803"><value>CHANGEME</value></data>
-  <data name="30804"><value>CHANGEME</value></data>
-  <data name="30805"><value>CHANGEME</value></data>
-  <data name="30807"><value>CHANGEME</value></data>
-  <data name="30808"><value>CHANGEME</value></data>
-  <data name="30809"><value>CHANGEME</value></data>
-  <data name="30810"><value>CHANGEME</value></data>
-  <data name="30811"><value>CHANGEME</value></data>
-  <data name="30812"><value>CHANGEME</value></data>
-  <data name="30814"><value>CHANGEME</value></data>
-  <data name="30815"><value>CHANGEME</value></data>
-  <data name="30816"><value>CHANGEME</value></data>
-  <data name="30817"><value>CHANGEME</value></data>
-  <data name="30818"><value>CHANGEME</value></data>
-  <data name="30819"><value>CHANGEME</value></data>
-  <data name="30820"><value>CHANGEME</value></data>
-  <data name="30821"><value>CHANGEME</value></data>
-  <data name="30822"><value>CHANGEME</value></data>
-  <data name="30823"><value>CHANGEME</value></data>
-  <data name="30826"><value>CHANGEME</value></data>
-  <data name="30827"><value>CHANGEME</value></data>
-  <data name="30828"><value>CHANGEME</value></data>
-  <data name="30829"><value>CHANGEME</value></data>
-  <data name="30830"><value>CHANGEME</value></data>
-  <data name="30906"><value>CHANGEME</value></data>
-  <data name="30907"><value>CHANGEME</value></data>
-  <data name="30908"><value>CHANGEME</value></data>
-  <data name="30909"><value>CHANGEME</value></data>
-  <data name="30910"><value>CHANGEME</value></data>
-  <data name="30911"><value>CHANGEME</value></data>
-  <data name="30912"><value>CHANGEME</value></data>
-  <data name="30914"><value>CHANGEME</value></data>
-  <data name="30915"><value>CHANGEME</value></data>
-  <data name="30916"><value>CHANGEME</value></data>
-  <data name="30917"><value>CHANGEME</value></data>
-  <data name="30918"><value>CHANGEME</value></data>
-  <data name="30919"><value>CHANGEME</value></data>
-  <data name="30920"><value>CHANGEME</value></data>
-  <data name="30983"><value>Type of '{0}' is ambiguous because the loop bounds and the step clause do not convert to the same type.</value></data>
-  <data name="31007"><value>CHANGEME</value></data>
-  <data name="31011"><value>CHANGEME</value></data>
-  <data name="31013"><value>CHANGEME</value></data>
-  <data name="31014"><value>CHANGEME</value></data>
-  <data name="31019"><value>CHANGEME</value></data>
-  <data name="31020"><value>CHANGEME</value></data>
-  <data name="31021"><value>CHANGEME</value></data>
-  <data name="31023"><value>CHANGEME</value></data>
-  <data name="31024"><value>CHANGEME</value></data>
-  <data name="31025"><value>CHANGEME</value></data>
-  <data name="31026"><value>CHANGEME</value></data>
-  <data name="31027"><value>The file '{0}' does not exist.</value></data>
-  <data name="31028"><value>CHANGEME</value></data>
-  <data name="31029"><value>CHANGEME</value></data>
-  <data name="31030"><value>CHANGEME</value></data>
-  <data name="31031"><value>CHANGEME</value></data>
-  <data name="31033"><value>CHANGEME</value></data>
-  <data name="31035"><value>CHANGEME</value></data>
-  <data name="31040"><value>CHANGEME</value></data>
-  <data name="31041"><value>CHANGEME</value></data>
-  <data name="31042"><value>CHANGEME</value></data>
-  <data name="31043"><value>CHANGEME</value></data>
-  <data name="31044"><value>CHANGEME</value></data>
-  <data name="31047"><value>CHANGEME</value></data>
-  <data name="31048"><value>CHANGEME</value></data>
-  <data name="31049"><value>CHANGEME</value></data>
-  <data name="31051"><value>CHANGEME</value></data>
-  <data name="31052"><value>CHANGEME</value></data>
-  <data name="31053"><value>CHANGEME</value></data>
-  <data name="31054"><value>CHANGEME</value></data>
-  <data name="31055"><value>CHANGEME</value></data>
-  <data name="31058"><value>CHANGEME</value></data>
-  <data name="31059"><value>CHANGEME</value></data>
-  <data name="31060"><value>CHANGEME</value></data>
-  <data name="31061"><value>CHANGEME</value></data>
-  <data name="31063"><value>CHANGEME</value></data>
-  <data name="31064"><value>CHANGEME</value></data>
-  <data name="31065"><value>CHANGEME</value></data>
-  <data name="31066"><value>CHANGEME</value></data>
-  <data name="31067"><value>CHANGEME</value></data>
-  <data name="31068"><value>CHANGEME</value></data>
-  <data name="31069"><value>CHANGEME</value></data>
-  <data name="31070"><value>CHANGEME</value></data>
-  <data name="31071"><value>CHANGEME</value></data>
-  <data name="31072"><value>CHANGEME</value></data>
-  <data name="31073"><value>CHANGEME</value></data>
-  <data name="31074"><value>CHANGEME</value></data>
-  <data name="31075"><value>CHANGEME</value></data>
-  <data name="31076"><value>CHANGEME</value></data>
-  <data name="31077"><value>CHANGEME</value></data>
-  <data name="31080"><value>CHANGEME</value></data>
-  <data name="31082"><value>CHANGEME</value></data>
-  <data name="31083"><value>CHANGEME</value></data>
-  <data name="31084"><value>CHANGEME</value></data>
-  <data name="31085"><value>CHANGEME</value></data>
-  <data name="31086"><value>CHANGEME</value></data>
-  <data name="31087"><value>A variable can't declare array modifiers both on the variable name and on the type.</value></data>
-  <data name="31088"><value>CHANGEME</value></data>
-  <data name="31089"><value>CHANGEME</value></data>
-  <data name="31090"><value>CHANGEME</value></data>
-  <data name="31091"><value>CHANGEME</value></data>
-  <data name="31092"><value>CHANGEME</value></data>
-  <data name="31093"><value>CHANGEME</value></data>
-  <data name="31094"><value>Implemnting class '{0}' cannot be found.</value></data>
-  <data name="31095"><value>CHANGEME</value></data>
-  <data name="31096"><value>CHANGEME</value></data>
-  <data name="31097"><value>CHANGEME</value></data>
-  <data name="31098"><value>CHANGEME</value></data>
-  <data name="31099"><value>CHANGEME</value></data>
-  <data name="31100"><value>CHANGEME</value></data>
-  <data name="31101"><value>CHANGEME</value></data>
-  <data name="31102"><value>CHANGEME</value></data>
-  <data name="31103"><value>CHANGEME</value></data>
-  <data name="31104"><value>CHANGEME</value></data>
-  <data name="31105"><value>CHANGEME</value></data>
-  <data name="31106"><value>CHANGEME</value></data>
-  <data name="31107"><value>CHANGEME</value></data>
-  <data name="31108"><value>CHANGEME</value></data>
-  <data name="31112"><value>Expected 'AddHandler', 'RemoveHandler' or 'RaiseEvent'.</value></data>
-  <data name="31127"><value>'{0}' can only be declared once.</value></data>
-  <data name="31130"><value>The custom event '{0}' must specify a '{1}'.</value></data>
-  <data name="31400"><value>CHANGEME</value></data>
-  <data name="31401"><value>CHANGEME</value></data>
-  <data name="31403"><value>CHANGEME</value></data>
-  <data name="31404"><value>CHANGEME</value></data>
-  <data name="31405"><value>CHANGEME</value></data>
-  <data name="31406"><value>CHANGEME</value></data>
-  <data name="31407"><value>CHANGEME</value></data>
-  <data name="31408"><value>CHANGEME</value></data>
-  <data name="31409"><value>CHANGEME</value></data>
-  <data name="31410"><value>CHANGEME</value></data>
-  <data name="31411"><value>CHANGEME</value></data>
-  <data name="31412"><value>CHANGEME</value></data>
-  <data name="31413"><value>CHANGEME</value></data>
-  <data name="31415"><value>CHANGEME</value></data>
-  <data name="31416"><value>CHANGEME</value></data>
-  <data name="31417"><value>CHANGEME</value></data>
-  <data name="31418"><value>CHANGEME</value></data>
-  <data name="31419"><value>CHANGEME</value></data>
-  <data name="31420"><value>CHANGEME</value></data>
-  <data name="31421"><value>CHANGEME</value></data>
-  <data name="31500"><value>CHANGEME</value></data>
-  <data name="31501"><value>CHANGEME</value></data>
-  <data name="31502"><value>CHANGEME</value></data>
-  <data name="31503"><value>CHANGEME</value></data>
-  <data name="31504"><value>CHANGEME</value></data>
-  <data name="31505"><value>CHANGEME</value></data>
-  <data name="31506"><value>CHANGEME</value></data>
-  <data name="31507"><value>CHANGEME</value></data>
-  <data name="31508"><value>CHANGEME</value></data>
-  <data name="31509"><value>Unable to open resource file '{0}': {1}</value></data>
-  <data name="31510"><value>CHANGEME</value></data>
-  <data name="31511"><value>CHANGEME</value></data>
-  <data name="31512"><value>CHANGEME</value></data>
-  <data name="31513"><value>CHANGEME</value></data>
-  <data name="31514"><value>CHANGEME</value></data>
-  <data name="31515"><value>CHANGEME</value></data>
-  <data name="31516"><value>CHANGEME</value></data>
-  <data name="31517"><value>CHANGEME</value></data>
-  <data name="31518"><value>CHANGEME</value></data>
-  <data name="31519"><value>CHANGEME</value></data>
-  <data name="31520"><value>CHANGEME</value></data>
-  <data name="31521"><value>CHANGEME</value></data>
-  <data name="31522"><value>CHANGEME</value></data>
-  <data name="31523"><value>CHANGEME</value></data>
-  <data name="31524"><value>CHANGEME</value></data>
-  <data name="31525"><value>CHANGEME</value></data>
-  <data name="31526"><value>CHANGEME</value></data>
-  <data name="32000"><value>CHANGEME</value></data>
-  <data name="32001"><value>CHANGEME</value></data>
-  <data name="32002"><value>CHANGEME</value></data>
-  <data name="32004"><value>CHANGEME</value></data>
-  <data name="32005"><value>CHANGEME</value></data>
-  <data name="32006"><value>'Char' values cannot be converted to '{0}'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit.</value></data>
-  <data name="32007"><value>'{0}' values cannot be converted to 'Char'. Use 'Microsoft.VisualBasic.ChrW' to interpret a numeric value as a Unicode character or first convert it to 'String' to produce a digit.</value></data>
-  <data name="32008"><value>'{0}' is a delegate type. Delegate construction permits only a single AddressOf expression as an argument list. Often an AddressOf expression can be used instead of a delegate construction.</value></data>
-  <data name="32009"><value>CHANGEME</value></data>
-  <data name="32010"><value>CHANGEME</value></data>
-  <data name="32012"><value>CHANGEME</value></data>
-  <data name="32013"><value>CHANGEME</value></data>
-  <data name="32014"><value>CHANGEME</value></data>
-  <data name="32015"><value>CHANGEME</value></data>
-  <data name="32016"><value>CHANGEME</value></data>
-  <data name="32017"><value>CHANGEME</value></data>
-  <data name="32019"><value>CHANGEME</value></data>
-  <data name="32020"><value>CHANGEME</value></data>
-  <data name="32021"><value>CHANGEME</value></data>
-  <data name="32022"><value>Expression is an event, and cannot be called directly. Use a 'RaiseEvent' statement to raise an event.</value></data>
-  <data name="32023"><value>CHANGEME</value></data>
-  <data name="32024"><value>CHANGEME</value></data>
-  <data name="32025"><value>CHANGEME</value></data>
-  <data name="32026"><value>CHANGEME</value></data>
-  <data name="32027"><value>CHANGEME</value></data>
-  <data name="32028"><value>CHANGEME</value></data>
-  <data name="32029"><value>CHANGEME</value></data>
-  <data name="32030"><value>CHANGEME</value></data>
-  <data name="32031"><value>CHANGEME</value></data>
-  <data name="32032"><value>CHANGEME</value></data>
-  <data name="32033"><value>CHANGEME</value></data>
-  <data name="32034"><value>CHANGEME</value></data>
-  <data name="32035"><value>Attributes can only appear just before a declaration.</value></data>
-  <data name="32036"><value>CHANGEME</value></data>
-  <data name="32037"><value>CHANGEME</value></data>
-  <data name="32038"><value>CHANGEME</value></data>
-  <data name="32039"><value>CHANGEME</value></data>
-  <data name="32040"><value>CHANGEME</value></data>
-  <data name="32041"><value>CHANGEME</value></data>
-  <data name="32042"><value>CHANGEME</value></data>
-  <data name="32043"><value>CHANGEME</value></data>
-  <data name="32044"><value>Type argument '{0}' does not inherit from or implement '{1}'.</value></data>
-  <data name="32045"><value>CHANGEME</value></data>
-  <data name="32046"><value>'New' cannot be used on a type parameter not declared 'As New()'</value></data>
-  <data name="32047"><value>CHANGEME</value></data>
-  <data name="32048"><value>CHANGEME</value></data>
-  <data name="32049"><value>CHANGEME</value></data>
-  <data name="32050"><value>Type parameter '{0}' for '{1}' cannot be inferred.</value></data>
-  <data name="32051"><value>CHANGEME</value></data>
-  <data name="32052"><value>CHANGEME</value></data>
-  <data name="32053"><value>CHANGEME</value></data>
-  <data name="32054"><value>CHANGEME</value></data>
-  <data name="32055"><value>CHANGEME</value></data>
-  <data name="32056"><value>CHANGEME</value></data>
-  <data name="32057"><value>CHANGEME</value></data>
-  <data name="32058"><value>CHANGEME</value></data>
-  <data name="32059"><value>CHANGEME</value></data>
-  <data name="32060"><value>CHANGEME</value></data>
-  <data name="32061"><value>CHANGEME</value></data>
-  <data name="32062"><value>CHANGEME</value></data>
-  <data name="32063"><value>CHANGEME</value></data>
-  <data name="32064"><value>CHANGEME</value></data>
-  <data name="32065"><value>CHANGEME</value></data>
-  <data name="32066"><value>CHANGEME</value></data>
-  <data name="32067"><value>CHANGEME</value></data>
-  <data name="32068"><value>CHANGEME</value></data>
-  <data name="32069"><value>CHANGEME</value></data>
-  <data name="32070"><value>CHANGEME</value></data>
-  <data name="32071"><value>CHANGEME</value></data>
-  <data name="32083"><value>Type argument '{0}' must have a public parameterless instance constructor to satisfy the 'New' constraint for type parameter '{1}'.</value></data>
-  <data name="32084"><value>Type parameter '{0}' must have either a 'New' constraint or a 'Structure' constraint to satisfy the 'New' constraint for type parameter '{1}'.</value></data>
-  <data name="32085"><value>Arguments cannot be passed when calling a type parameter constructor.</value></data>
-  <data name="32098"><value>Type parameters can't be used as a qualifier.</value></data>
-  <data name="32101"><value>'Class' constraint cannot be specified multiple times for the same type parameter.</value></data>
-  <data name="32102"><value>'Structure' constraint cannot be specified multiple times for the same type parameter.</value></data>
-  <data name="32103"><value>'New' constraint and 'Structure' constraint cannot be used at the same time.</value></data>
-  <data name="32104"><value>'Class' constraint and 'Structure' constraint cannot be used at the same time.</value></data>
-  <data name="32105"><value>Type argument '{0}' does not satisfy the 'Structure' constraint for type parameter '{1}'</value></data>
-  <data name="32106"><value>Type argument '{0}' does not satisfy the 'Class' constraint for type parameter '{1}'</value></data>
-  <data name="32200"><value>CHANGEME</value></data>
-  <data name="32201"><value>CHANGEME</value></data>
-  <data name="32203"><value>CHANGEME</value></data>
-  <data name="32204"><value>CHANGEME</value></data>
-  <data name="32205"><value>CHANGEME</value></data>
-  <data name="32300"><value>CHANGEME</value></data>
-  <data name="32301"><value>CHANGEME</value></data>
-  <data name="32302"><value>CHANGEME</value></data>
-  <data name="32304"><value>The 'DefaultMemberAttribute' defined on '{0}' specifies '{1}' as the default member, while the property marked as the default property is '{2}'.</value></data>
-  <data name="32400"><value>CHANGEME</value></data>
-  <data name="32500"><value>CHANGEME</value></data>
-  <data name="32501"><value>CHANGEME</value></data>
-  <data name="32504"><value>CHANGEME</value></data>
-  <data name="32505"><value>CHANGEME</value></data>
-  <data name="32506"><value>CHANGEME</value></data>
-  <data name="32507"><value>CHANGEME</value></data>
-  <data name="32508"><value>CHANGEME</value></data>
-  <data name="32509"><value>CHANGEME</value></data>
-  <data name="33000"><value>CHANGEME</value></data>
-  <data name="33001"><value>CHANGEME</value></data>
-  <data name="33002"><value>CHANGEME</value></data>
-  <data name="33003"><value>CHANGEME</value></data>
-  <data name="33004"><value>CHANGEME</value></data>
-  <data name="33005"><value>CHANGEME</value></data>
-  <data name="33006"><value>CHANGEME</value></data>
-  <data name="33007"><value>CHANGEME</value></data>
-  <data name="33008"><value>CHANGEME</value></data>
-  <data name="33009"><value>CHANGEME</value></data>
-  <data name="33010"><value>CHANGEME</value></data>
-  <data name="33011"><value>CHANGEME</value></data>
-  <data name="33012"><value>CHANGEME</value></data>
-  <data name="33013"><value>CHANGEME</value></data>
-  <data name="33014"><value>CHANGEME</value></data>
-  <data name="33015"><value>CHANGEME</value></data>
-  <data name="33016"><value>Operator '{0}' must have one or two parameters.</value></data>
-  <data name="33017"><value>CType operator must specifiy 'Narrowing' or 'Widening'.</value></data>
-  <data name="33018"><value>CHANGEME</value></data>
-  <data name="33019"><value>CHANGEME</value></data>
-  <data name="33020"><value>CHANGEME</value></data>
-  <data name="33021"><value>CHANGEME</value></data>
-  <data name="33022"><value>CHANGEME</value></data>
-  <data name="33023"><value>CHANGEME</value></data>
-  <data name="33024"><value>CHANGEME</value></data>
-  <data name="33025"><value>CHANGEME</value></data>
-  <data name="33026"><value>CHANGEME</value></data>
-  <data name="33027"><value>CHANGEME</value></data>
-  <data name="33028"><value>CHANGEME</value></data>
-  <data name="33029"><value>CHANGEME</value></data>
-  <data name="33030"><value>CHANGEME</value></data>
-  <data name="33031"><value>CHANGEME</value></data>
-  <data name="33032"><value>CHANGEME</value></data>
-  <data name="33033"><value>CHANGEME</value></data>
-  <data name="33034"><value>CHANGEME</value></data>
-  <data name="33035"><value>CHANGEME</value></data>
-  <data name="33036"><value>CHANGEME</value></data>
-  <data name="33101"><value>Type '{0}' must be a value type or a type argument constrained to 'Structure' in order to be used with 'Nullable' or nullable modifier '?'. </value></data>
-  <data name="33104"><value>'If' operator requires either two or three operands.</value></data>
-  <data name="33106"><value>Cannot infer a common type for the second and third operands of the 'If' operator. One must have a widening conversion to the other.</value></data>
-  <data name="33107"><value>First operand in a binary 'If' expression must be nullable or a reference type.</value></data>
-  <data name="33110"><value>Cannot infer a common type for the first and second operands of the binary 'If' operator. One must have a widening conversion to the other.</value></data>
-  <data name="36000"><value>CHANGEME</value></data>
-  <data name="36001"><value>CHANGEME</value></data>
-  <data name="36002"><value>CHANGEME</value></data>
-  <data name="36003"><value>CHANGEME</value></data>
-  <data name="36004"><value>CHANGEME</value></data>
-  <data name="36005"><value>CHANGEME</value></data>
-  <data name="36006"><value>CHANGEME</value></data>
-  <data name="36007"><value>CHANGEME</value></data>
-  <data name="36008"><value>CHANGEME</value></data>
-  <data name="36009"><value>CHANGEME</value></data>
-  <data name="36010"><value>CHANGEME</value></data>
-  <data name="36011"><value>CHANGEME</value></data>
-  <data name="36012"><value>CHANGEME</value></data>
-  <data name="36013"><value>CHANGEME</value></data>
-  <data name="36014"><value>CHANGEME</value></data>
-  <data name="36015"><value>CHANGEME</value></data>
-  <data name="36016"><value>CHANGEME</value></data>
-  <data name="36017"><value>CHANGEME</value></data>
-  <data name="36651"><value>Data type(s) of the type parameter(s) in method '{0}' cannot be inferred from these arguments because more than one type is possible. Specifying the data type(s) explicitly might correct this error.</value></data>
-  <data name="36657"><value>Data type(s) of the type parameter(s) in method '{0}' cannot be inferred from these arguments because they do not convert to the same type. Specifying the data type(s) explicitly might correct this error.</value></data>
-  <data name="40000"><value>CHANGEME</value></data>
-  <data name="40003"><value>CHANGEME</value></data>
-  <data name="40004"><value>CHANGEME</value></data>
-  <data name="40005"><value>CHANGEME</value></data>
-  <data name="40007"><value>CHANGEME</value></data>
-  <data name="40008"><value>CHANGEME</value></data>
-  <data name="40009"><value>CHANGEME</value></data>
-  <data name="40010"><value>CHANGEME</value></data>
-  <data name="40011"><value>CHANGEME</value></data>
-  <data name="40012"><value>CHANGEME</value></data>
-  <data name="40014"><value>CHANGEME</value></data>
-  <data name="40018"><value>CHANGEME</value></data>
-  <data name="40019"><value>CHANGEME</value></data>
-  <data name="40020"><value>CHANGEME</value></data>
-  <data name="40021"><value>CHANGEME</value></data>
-  <data name="40022"><value>CHANGEME</value></data>
-  <data name="40023"><value>CHANGEME</value></data>
-  <data name="40024"><value>CHANGEME</value></data>
-  <data name="40025"><value>CHANGEME</value></data>
-  <data name="40026"><value>CHANGEME</value></data>
-  <data name="40027"><value>CHANGEME</value></data>
-  <data name="40028"><value>CHANGEME</value></data>
-  <data name="40029"><value>CHANGEME</value></data>
-  <data name="40030"><value>CHANGEME</value></data>
-  <data name="40031"><value>CHANGEME</value></data>
-  <data name="40032"><value>CHANGEME</value></data>
-  <data name="40033"><value>CHANGEME</value></data>
-  <data name="40034"><value>CHANGEME</value></data>
-  <data name="40035"><value>CHANGEME</value></data>
-  <data name="40036"><value>CHANGEME</value></data>
-  <data name="40037"><value>CHANGEME</value></data>
-  <data name="40038"><value>CHANGEME</value></data>
-  <data name="40039"><value>CHANGEME</value></data>
-  <data name="40040"><value>CHANGEME</value></data>
-  <data name="40041"><value>CHANGEME</value></data>
-  <data name="40056"><value>The import '{0}' could not be found.</value></data>
-  <data name="41000"><value>CHANGEME</value></data>
-  <data name="41001"><value>CHANGEME</value></data>
-  <data name="41002"><value>CHANGEME</value></data>
-  <data name="41003"><value>CHANGEME</value></data>
-  <data name="41004"><value>CHANGEME</value></data>
-  <data name="42000"><value>CHANGEME</value></data>
-  <data name="42001"><value>CHANGEME</value></data>
-  <data name="42002"><value>CHANGEME</value></data>
-  <data name="42003"><value>CHANGEME</value></data>
-  <data name="42013"><value>CHANGEME</value></data>
-  <data name="42014"><value>CHANGEME</value></data>
-  <data name="42015"><value>CHANGEME</value></data>
-  <data name="42020"><value>Variable declaration without an 'As' clause; Object type assumed.</value></data>
-  <data name="42024"><value>Function without an 'As' clause; Object return type assumed.</value></data>
-  <data name="42101"><value>CHANGEME</value></data>
-  <data name="42102"><value>CHANGEME</value></data>
-  <data name="42103"><value>CHANGEME</value></data>
-  <data name="42104"><value>CHANGEME</value></data>
-  <data name="42200"><value>CHANGEME</value></data>
-  <data name="42300"><value>CHANGEME</value></data>
-  <data name="42301"><value>CHANGEME</value></data>
-  <data name="42302"><value>CHANGEME</value></data>
-  <data name="42303"><value>CHANGEME</value></data>
-  <data name="42304"><value>CHANGEME</value></data>
-  <data name="42305"><value>CHANGEME</value></data>
-  <data name="42306"><value>CHANGEME</value></data>
-  <data name="42307"><value>CHANGEME</value></data>
-  <data name="42308"><value>CHANGEME</value></data>
-  <data name="42309"><value>CHANGEME</value></data>
-  <data name="42310"><value>CHANGEME</value></data>
-  <data name="42311"><value>CHANGEME</value></data>
-  <data name="42312"><value>CHANGEME</value></data>
-  <data name="42313"><value>CHANGEME</value></data>
-  <data name="42314"><value>CHANGEME</value></data>
-  <data name="42315"><value>CHANGEME</value></data>
-  <data name="90000"><value>Newline character found in date constant.</value></data>
-  <data name="90001"><value>Unexpected end of file.</value></data>
-  <data name="90002"><value>'{0}' type character is not valid here.</value></data>
-  <data name="90003"><value>End of line found in string constant.</value></data>
-  <data name="90004"><value>End of file found in string constant.</value></data>
-  <data name="90005"><value>Invalid literal.</value></data>
-  <data name="90006"><value>Invalid {0} literal.</value></data>
-  <data name="90007"><value>Unexpected token: {0}.</value></data>
-  <data name="90008"><value>No more code?</value></data>
-  <data name="90009"><value>Cannot find '{0}'.</value></data>
-  <data name="90010"><value>Cannot have both '{0}' and '{1}'.</value></data>
-  <data name="90011"><value>Expected: '{0}'</value></data>
-  <data name="90012"><value>Could not load the assembly: '{0}'</value></data>
-  <data name="90013"><value>Error finding class '{0}' with the Main function, found {1} classes with this name.</value></data>
-  <data name="90014"><value>Expected 'While' or 'Until'.</value></data>
-  <data name="90015"><value>Can't use the modifier '{0}' here.</value></data>
-  <data name="90016"><value>Feature not implemented: {0}</value></data>
-  <data name="90017"><value>Invalid define: '{0}'</value></data>
-  <data name="90018"><value>Expected end of line.</value></data>
-  <data name="90019"><value>Expected '{0}'.</value></data>
-  <data name="90020"><value>Expected 'Get' or 'Set'.</value></data>
-  <data name="90021"><value>Invalid data type: '{0}'.</value></data>
-  <data name="90022"><value>Unexpected end of file in comment.</value></data>
-  <data name="90023"><value>There is no comparison possible between '{0}' and '{1}'.</value></data>
-  <data name="99997"><value>You've encountered something in the compiler which is not implemented. Please file a bug (see instructions here: http://mono-project.com/Bugs)</value></data>
-  <data name="99998"><value>{0}</value></data>
-  <data name="99999"><value>{0}</value></data>
-  </root>
\ No newline at end of file
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 2.0
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used for serialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" use="required" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <data name="warning" xml:space="preserve">
+    <value>'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
+'    This file has automatically been generated                            
+'    Any change in this file will be lost!!                                
+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
+</value>
+  </data>
+  <data name="2001" xml:space="preserve">
+    <value>file not found: {0}</value>
+  </data>
+  <data name="2003" xml:space="preserve">
+    <value>response file '{0}' included multiple times</value>
+  </data>
+  <data name="2006" xml:space="preserve">
+    <value>Option '{0}' requires ':{1}'</value>
+  </data>
+  <data name="2007" xml:space="preserve">
+    <value>the response file '{0}' could not be opened</value>
+  </data>
+  <data name="2009" xml:space="preserve">
+    <value>the option {0} was not recognized - ignored</value>
+  </data>
+  <data name="2011" xml:space="preserve">
+    <value>No files to compile! Cannot do anything!</value>
+  </data>
+  <data name="2012" xml:space="preserve">
+    <value>can't open '{0}' for writing</value>
+  </data>
+  <data name="2014" xml:space="preserve">
+    <value>the value '{0}' is invalid for option '{1}'</value>
+  </data>
+  <data name="2016" xml:space="preserve">
+    <value>Code page '{0}' is invalid or not supported</value>
+  </data>
+  <data name="2017" xml:space="preserve">
+    <value>The library '{0}' could not be found.</value>
+  </data>
+  <data name="2019" xml:space="preserve">
+    <value>the option '{0}' cannot have the value '{1}'</value>
+  </data>
+  <data name="20001" xml:space="preserve">
+    <value>	'{0}': not most specific.</value>
+  </data>
+  <data name="30001" xml:space="preserve">
+    <value>There cannot be any statements in a namespace.</value>
+  </data>
+  <data name="30002" xml:space="preserve">
+    <value>Type '{0}' is not defined.</value>
+  </data>
+  <data name="30003" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30004" xml:space="preserve">
+    <value>Character constants must contain exactly one character.</value>
+  </data>
+  <data name="30005" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30006" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30007" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30008" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30009" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30010" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30011" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30012" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30013" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30014" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30015" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30016" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30018" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30019" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30020" xml:space="preserve">
+    <value>'Is' operator does not accept operands of type '{0}'. Operands must be reference or nullable types.</value>
+  </data>
+  <data name="30021" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30022" xml:space="preserve">
+    <value>Properties declared 'ReadOnly' cannot have a 'Set'.</value>
+  </data>
+  <data name="30023" xml:space="preserve">
+    <value>Properties declared 'WriteOnly' cannot have a 'Get'.</value>
+  </data>
+  <data name="30024" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30025" xml:space="preserve">
+    <value>Property must end with 'End Property'.</value>
+  </data>
+  <data name="30026" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30027" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30028" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30029" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30030" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30031" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30032" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30033" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30034" xml:space="preserve">
+    <value>An escaped identifier must end with ']'.</value>
+  </data>
+  <data name="30035" xml:space="preserve">
+    <value>Syntax error.</value>
+  </data>
+  <data name="30036" xml:space="preserve">
+    <value>Overflow.</value>
+  </data>
+  <data name="30037" xml:space="preserve">
+    <value>Symbol is not valid.</value>
+  </data>
+  <data name="30038" xml:space="preserve">
+    <value>Option Strict On prohibits operands of type Object for operator '{0}'.</value>
+  </data>
+  <data name="30039" xml:space="preserve">
+    <value>Loop control variable cannot be a property or a late-bound indexed array.</value>
+  </data>
+  <data name="30040" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30041" xml:space="preserve">
+    <value>Too many errors.</value>
+  </data>
+  <data name="30043" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30044" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30045" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30046" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30049" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30050" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30051" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30052" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30053" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30057" xml:space="preserve">
+    <value>Too many arguments to '{0}'.</value>
+  </data>
+  <data name="30058" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30059" xml:space="preserve">
+    <value>The expression is not a constant expression.</value>
+  </data>
+  <data name="30060" xml:space="preserve">
+    <value>Cannot convert from '{0}' to '{1}' in a constant expression.</value>
+  </data>
+  <data name="30062" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30064" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30065" xml:space="preserve">
+    <value>It is not valid to use 'Exit Sub' in a Function or Property.</value>
+  </data>
+  <data name="30066" xml:space="preserve">
+    <value>It is not valid to use 'Exit Property' in a Function or Sub.</value>
+  </data>
+  <data name="30067" xml:space="preserve">
+    <value>It is not valid to use 'Exit Function' in a Sub or Property.</value>
+  </data>
+  <data name="30068" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30069" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30070" xml:space="preserve">
+    <value>Next control variable does not match For loop control variable '{0}'.</value>
+  </data>
+  <data name="30071" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30072" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30074" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30075" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30081" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30082" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30083" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30084" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30085" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30086" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30087" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30088" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30089" xml:space="preserve">
+    <value>This 'Exit Do' statement is not contained within a 'Do' statement.</value>
+  </data>
+  <data name="30090" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30091" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30092" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30093" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30094" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30095" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30096" xml:space="preserve">
+    <value>This 'Exit For' statement is not contained within a 'For' statement.</value>
+  </data>
+  <data name="30097" xml:space="preserve">
+    <value>This 'Exit While' statement is not contained within a 'While' statement.</value>
+  </data>
+  <data name="30098" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30099" xml:space="preserve">
+    <value>'Exit Select' can only appear inside a 'Select' statement.</value>
+  </data>
+  <data name="30101" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30103" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30105" xml:space="preserve">
+    <value>Number of indices is less than the number of dimensions of the indexed array.</value>
+  </data>
+  <data name="30106" xml:space="preserve">
+    <value>Number of indices exceeds the number of dimensions of the indexed array.</value>
+  </data>
+  <data name="30107" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30108" xml:space="preserve">
+    <value>Expression is a type and cannot be used as an expression.</value>
+  </data>
+  <data name="30109" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30110" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30111" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30112" xml:space="preserve">
+    <value>Expression is a namespace and cannot be used as an expression.</value>
+  </data>
+  <data name="30113" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30121" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30122" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30123" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30124" xml:space="preserve">
+    <value>Property without a 'ReadOnly' or 'WriteOnly' specifier must provide both a 'Get' and a 'Set'.</value>
+  </data>
+  <data name="30125" xml:space="preserve">
+    <value>'WriteOnly' property must provide a 'Set'.</value>
+  </data>
+  <data name="30126" xml:space="preserve">
+    <value>'ReadOnly' property must provide a 'Get'.</value>
+  </data>
+  <data name="30127" xml:space="preserve">
+    <value>Attribute '{0}' is not valid: {1}</value>
+  </data>
+  <data name="30128" xml:space="preserve">
+    <value>Security attribute '{0}' is not valid: {1}</value>
+  </data>
+  <data name="30129" xml:space="preserve">
+    <value>Assembly attribute '{0}' is not valid: {1}</value>
+  </data>
+  <data name="30130" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30131" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30132" xml:space="preserve">
+    <value>Label '{0}' is not defined.</value>
+  </data>
+  <data name="30133" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30134" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30135" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30136" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30137" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30138" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30139" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30140" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30141" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30142" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30143" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30144" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30145" xml:space="preserve">
+    <value>Unable to emit assembly: {0}</value>
+  </data>
+  <data name="30146" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30147" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30148" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30149" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30154" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30157" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30166" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30175" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30176" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30177" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30178" xml:space="preserve">
+    <value>The modifier '{0}' is specified more than once.</value>
+  </data>
+  <data name="30179" xml:space="preserve">
+    <value>{0} '{1}' and {2} '{3}' conflict in {4} '{5}'.</value>
+  </data>
+  <data name="30180" xml:space="preserve">
+    <value>Keyword does not name a type.</value>
+  </data>
+  <data name="30181" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30182" xml:space="preserve">
+    <value>Type expected.</value>
+  </data>
+  <data name="30183" xml:space="preserve">
+    <value>Keyword is not valid as an identifier.</value>
+  </data>
+  <data name="30184" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30185" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30186" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30188" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30192" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30193" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30195" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30196" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30197" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30198" xml:space="preserve">
+    <value>Expected ')'.</value>
+  </data>
+  <data name="30199" xml:space="preserve">
+    <value>Expected '('.</value>
+  </data>
+  <data name="30200" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30201" xml:space="preserve">
+    <value>Expected expression.</value>
+  </data>
+  <data name="30202" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30203" xml:space="preserve">
+    <value>Identifier expected.</value>
+  </data>
+  <data name="30204" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30205" xml:space="preserve">
+    <value>End of statement expected.</value>
+  </data>
+  <data name="30206" xml:space="preserve">
+    <value>'Option' must be followed by 'Compare', 'Explicit', or 'Strict'.</value>
+  </data>
+  <data name="30207" xml:space="preserve">
+    <value>'Option Compare' must be followed by 'Text' or 'Binary'.</value>
+  </data>
+  <data name="30208" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30209" xml:space="preserve">
+    <value>An 'As' clause is required if Option Strict is in effect.</value>
+  </data>
+  <data name="30210" xml:space="preserve">
+    <value>This function or property requires a return type because 'Option Strict' is in effect.</value>
+  </data>
+  <data name="30213" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30215" xml:space="preserve">
+    <value>Expected 'Sub' or 'Function'</value>
+  </data>
+  <data name="30217" xml:space="preserve">
+    <value>String constant expected.</value>
+  </data>
+  <data name="30218" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30220" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30224" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30225" xml:space="preserve">
+    <value>Option {0} statement can only appear once per file.</value>
+  </data>
+  <data name="30230" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30231" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30232" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30233" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30234" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30235" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30237" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30238" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30239" xml:space="preserve">
+    <value>Expected relational operator.</value>
+  </data>
+  <data name="30240" xml:space="preserve">
+    <value>Expected something else (like 'Sub', 'Function', 'Property', 'Do', 'For', 'While', 'Select' or 'Try'.</value>
+  </data>
+  <data name="30241" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30242" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30243" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30244" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30246" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30247" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30248" xml:space="preserve">
+    <value>'If', 'ElseIf', 'Else', 'End If', 'Const', or 'Region' expected.</value>
+  </data>
+  <data name="30249" xml:space="preserve">
+    <value>'=' expected.</value>
+  </data>
+  <data name="30251" xml:space="preserve">
+    <value>Type '{0}' has no constructors.</value>
+  </data>
+  <data name="30252" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30253" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30256" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30257" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30258" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30260" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30266" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30267" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30268" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30269" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30270" xml:space="preserve">
+    <value>An interface cannot have '{0}'.</value>
+  </data>
+  <data name="30272" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30273" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30274" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30275" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30277" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30278" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30280" xml:space="preserve">
+    <value>Enum '{0}' must contain at least one member.</value>
+  </data>
+  <data name="30281" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30282" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30283" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30284" xml:space="preserve">
+    <value>'Overrides' can't be used on {0}, because there is no such member in a base class.</value>
+  </data>
+  <data name="30287" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30288" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30289" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30290" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30293" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30294" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30296" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30297" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30298" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30299" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30300" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30301" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30302" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30303" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30305" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30306" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30307" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30308" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30310" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30311" xml:space="preserve">
+    <value>Value of type '{0}' cannot be converted to '{1}'.</value>
+  </data>
+  <data name="30321" xml:space="preserve">
+    <value>'Case' cannot follow a 'Case Else' in the same 'Select' statement.</value>
+  </data>
+  <data name="30332" xml:space="preserve">
+    <value>Value of type '{0}' cannot be converted to '{1}' because '{2}' is not derived from '{3}'.</value>
+  </data>
+  <data name="30333" xml:space="preserve">
+    <value>Value of type '{0}' cannot be converted to '{1}' because '{2}' is not a reference type.</value>
+  </data>
+  <data name="30337" xml:space="preserve">
+    <value>'For' loop control variable cannot be of the type '{0}'</value>
+  </data>
+  <data name="30338" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30345" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30354" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30357" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30359" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30360" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30361" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30362" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30363" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30364" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30366" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30367" xml:space="preserve">
+    <value>Class '{0}' cannot be indexed because it has no default property.</value>
+  </data>
+  <data name="30368" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30369" xml:space="preserve">
+    <value>Cannot refer to an instance member of a class from within a shared method or shared member initializer without an explicit instance of the class.</value>
+  </data>
+  <data name="30370" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30371" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30375" xml:space="preserve">
+    <value>'New' cannot be used on an interface.</value>
+  </data>
+  <data name="30376" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30377" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30379" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30380" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30381" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30382" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30383" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30384" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30385" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30387" xml:space="preserve">
+    <value>The class '{0}' must define a constructor since no default constructor can be created.</value>
+  </data>
+  <data name="30389" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30390" xml:space="preserve">
+    <value>'{0}.{1}' is not accessible because it is '{2}'.</value>
+  </data>
+  <data name="30392" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30393" xml:space="preserve">
+    <value>This 'Exit Try' statement is not contained within a 'Try' statement.</value>
+  </data>
+  <data name="30395" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30396" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30397" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30398" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30399" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30401" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30408" xml:space="preserve">
+    <value>Method '{0}' does not have the same signature as delegate '{1}'.</value>
+  </data>
+  <data name="30412" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30413" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30414" xml:space="preserve">
+    <value>Value of type '{0}' cannot be converted to '{1}' because the array types have different number of dimensions.</value>
+  </data>
+  <data name="30415" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30420" xml:space="preserve">
+    <value>Could not find a 'Sub Main' in '{0}'.</value>
+  </data>
+  <data name="30423" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30424" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30429" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30430" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30431" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30433" xml:space="preserve">
+    <value>Module methods cannot be '{0}'.</value>
+  </data>
+  <data name="30434" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30435" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30436" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30437" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30438" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30439" xml:space="preserve">
+    <value>The constant expression cannot be represented in the type '{0}'.</value>
+  </data>
+  <data name="30441" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30442" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30443" xml:space="preserve">
+    <value>'Get' is already declared.</value>
+  </data>
+  <data name="30444" xml:space="preserve">
+    <value>'Set' is already declared.</value>
+  </data>
+  <data name="30445" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30451" xml:space="preserve">
+    <value>'{0}' is not declared. It may be inaccessible due to its protection level.</value>
+  </data>
+  <data name="30452" xml:space="preserve">
+    <value>Operator '{0}' is not defined for types '{1}' and '{2}'.</value>
+  </data>
+  <data name="30454" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30455" xml:space="preserve">
+    <value>Argument not specified for parameter '{0}' of '{1}'.</value>
+  </data>
+  <data name="30456" xml:space="preserve">
+    <value>'{0}' is not a member of '{1}'.</value>
+  </data>
+  <data name="30458" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30460" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30461" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30464" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30465" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30466" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30467" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30468" xml:space="preserve">
+    <value>Type declaration characters are not valid in this context.</value>
+  </data>
+  <data name="30469" xml:space="preserve">
+    <value>Reference to a non-shared member requires an object reference.</value>
+  </data>
+  <data name="30470" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30471" xml:space="preserve">
+    <value>Only arrays and methods can have argument lists.</value>
+  </data>
+  <data name="30474" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30476" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30479" xml:space="preserve">
+    <value>A structure can't have a shared constructor with parameters.</value>
+  </data>
+  <data name="30480" xml:space="preserve">
+    <value>Shared 'Sub New' cannot be declared '{0}'.</value>
+  </data>
+  <data name="30481" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30487" xml:space="preserve">
+    <value>Operator '{0}' is not defined for type '{1}'.</value>
+  </data>
+  <data name="30490" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30491" xml:space="preserve">
+    <value>Expression does not produce a value.</value>
+  </data>
+  <data name="30493" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30494" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30495" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30497" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30500" xml:space="preserve">
+    <value>Constant {0} is recursive, but it cannot depend on itself.</value>
+  </data>
+  <data name="30501" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30502" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30503" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30504" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30505" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30506" xml:space="preserve">
+    <value>Handles clause requires a variable declared with WithEvents.</value>
+  </data>
+  <data name="30507" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30508" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30509" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30512" xml:space="preserve">
+    <value>Option Strict On disallows implicit conversions from '{0}' to '{1}'.</value>
+  </data>
+  <data name="30516" xml:space="preserve">
+    <value>Overload resolution failed because no accessible '{0}' accepts this number of arguments.</value>
+  </data>
+  <data name="30517" xml:space="preserve">
+    <value>Overload resolution failed because no '{0}' is accessible.</value>
+  </data>
+  <data name="30518" xml:space="preserve">
+    <value>Overload resolution failed because no accessible '{0}' can be called with these arguments:{1}</value>
+  </data>
+  <data name="30519" xml:space="preserve">
+    <value>Overload resolution failed because no accessible '{0}' can be called without a narrowing conversion:{1}</value>
+  </data>
+  <data name="30520" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30521" xml:space="preserve">
+    <value>Overload resolution failed because no most specific '{0}' was found:</value>
+  </data>
+  <data name="30522" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30523" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30524" xml:space="preserve">
+    <value>Property '{0}' is 'WriteOnly'.</value>
+  </data>
+  <data name="30526" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30528" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30529" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30530" xml:space="preserve">
+    <value>Parameter cannot have the same name as its defining function.</value>
+  </data>
+  <data name="30532" xml:space="preserve">
+    <value>Conversion from 'Date' to 'Double' requires calling the 'Date.ToOADate' method.</value>
+  </data>
+  <data name="30533" xml:space="preserve">
+    <value>Conversion from 'Double' to 'Date' requires calling the 'Date.FromOADate' method.</value>
+  </data>
+  <data name="30542" xml:space="preserve">
+    <value>Division by zero occured.</value>
+  </data>
+  <data name="30544" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30545" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30547" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30548" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30549" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30550" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30554" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30555" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30560" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30561" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30562" xml:space="preserve">
+    <value>'{0}' is ambiguous between declarations in Modules '{1}' and '{2}'.</value>
+  </data>
+  <data name="30563" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30565" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30566" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30567" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30568" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30569" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30572" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30574" xml:space="preserve">
+    <value>Late binding is not allowed when Option Strict On is in effect.</value>
+  </data>
+  <data name="30576" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30577" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30578" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30579" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30580" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30581" xml:space="preserve">
+    <value>An 'AddressOf' expression can't be converted to '{0}', because '{0}' is not a delegate type.</value>
+  </data>
+  <data name="30582" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30583" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30584" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30585" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30587" xml:space="preserve">
+    <value>Named argument cannot match a ParamArray parameter.</value>
+  </data>
+  <data name="30588" xml:space="preserve">
+    <value>Omitted argument cannot match a ParamArray parameter.</value>
+  </data>
+  <data name="30590" xml:space="preserve">
+    <value>Cannot find the event '{0}'.</value>
+  </data>
+  <data name="30591" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30593" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30594" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30597" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30598" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30599" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30600" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30601" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30602" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30603" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30604" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30607" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30610" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30611" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30613" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30614" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30615" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30616" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30617" xml:space="preserve">
+    <value>'Module' can only occur at file or namespace level.</value>
+  </data>
+  <data name="30618" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30619" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30620" xml:space="preserve">
+    <value>'Option Strict' must be followed by 'On' or 'Off'.</value>
+  </data>
+  <data name="30621" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30622" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30623" xml:space="preserve">
+    <value>'End Namespace' must be preceded by a matching 'Namespace'.</value>
+  </data>
+  <data name="30624" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30625" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30626" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30627" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30628" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30629" xml:space="preserve">
+    <value>A structure can't declare a non-shared constructor with no parameters.</value>
+  </data>
+  <data name="30630" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30631" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30632" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30633" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30634" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30635" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30636" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30637" xml:space="preserve">
+    <value>Assembly or Module attributes can only be specified on file level.</value>
+  </data>
+  <data name="30638" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30639" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30640" xml:space="preserve">
+    <value>'Option Explicit' must be followed by 'On' or 'Off'.</value>
+  </data>
+  <data name="30641" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30642" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30643" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30644" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30645" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30647" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30648" xml:space="preserve">
+    <value>String constants must end with a double quote.</value>
+  </data>
+  <data name="30649" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30650" xml:space="preserve">
+    <value>Enums must be declared as an integral type.</value>
+  </data>
+  <data name="30651" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30652" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30653" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30654" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30655" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30656" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30657" xml:space="preserve">
+    <value>'{0}' has a return type or a parameter type that are not supported.</value>
+  </data>
+  <data name="30658" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30659" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30660" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30661" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30662" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30663" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30664" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30665" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30666" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30667" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30668" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30670" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30671" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30672" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30674" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30675" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30676" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30677" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30678" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30679" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30680" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30681" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30683" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30685" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30686" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30687" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30688" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30689" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30690" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30691" xml:space="preserve">
+    <value>'{1}.{0}' is a type and cannot be used as an expression.</value>
+  </data>
+  <data name="30694" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30695" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30696" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30697" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30698" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30699" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30700" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30701" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30702" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30703" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30704" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30705" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30706" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30707" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30708" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30709" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30710" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30711" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30712" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30713" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30714" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30715" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30716" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30717" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30718" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30719" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30720" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30721" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30722" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30723" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30724" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30725" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30726" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30728" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30730" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30731" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30732" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30733" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30734" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30735" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30736" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30737" xml:space="preserve">
+    <value>No accessible 'Main' method with an appropriate signature was found in '{0}'.</value>
+  </data>
+  <data name="30738" xml:space="preserve">
+    <value>More than one 'Sub Main' was found in '{0}'.</value>
+  </data>
+  <data name="30739" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30741" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30742" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30743" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30744" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30747" xml:space="preserve">
+    <value>Internal compiler error.</value>
+  </data>
+  <data name="30748" xml:space="preserve">
+    <value>Cannot convert '{0}' to '{1}'.</value>
+  </data>
+  <data name="30749" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30750" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30751" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30752" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30753" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30754" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30755" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30756" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30757" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30758" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30759" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30760" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30761" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30762" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30763" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30764" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30765" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30766" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30767" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30768" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30769" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30770" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30771" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30772" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30780" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30781" xml:space="preserve">
+    <value>Expected something else (like 'Do', 'For' or 'While')</value>
+  </data>
+  <data name="30782" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30783" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30784" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30785" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30786" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30787" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30788" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30789" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30790" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30791" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30796" xml:space="preserve">
+    <value>None of the accessible 'Main' methods with the appropriate signature found in '{0}' can be the startup method since they are all either generic or nested in generic types.</value>
+  </data>
+  <data name="30800" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30801" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30802" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30803" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30804" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30805" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30807" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30808" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30809" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30810" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30811" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30812" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30814" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30815" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30816" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30817" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30818" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30819" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30820" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30821" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30822" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30823" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30826" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30827" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30828" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30829" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30830" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30906" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30907" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30908" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30909" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30910" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30911" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30912" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30914" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30915" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30916" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30917" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30918" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30919" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30920" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="30983" xml:space="preserve">
+    <value>Type of '{0}' is ambiguous because the loop bounds and the step clause do not convert to the same type.</value>
+  </data>
+  <data name="31007" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31011" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31013" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31014" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31019" xml:space="preserve">
+    <value>Unable to write to output file '{0}': {1}</value>
+  </data>
+  <data name="31020" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31021" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31023" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31024" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31025" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31026" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31027" xml:space="preserve">
+    <value>The file '{0}' does not exist.</value>
+  </data>
+  <data name="31028" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31029" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31030" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31031" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31033" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31035" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31040" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31041" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31042" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31043" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31044" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31047" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31048" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31049" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31051" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31052" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31053" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31054" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31055" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31058" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31059" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31060" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31061" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31063" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31064" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31065" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31066" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31067" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31068" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31069" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31070" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31071" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31072" xml:space="preserve">
+    <value>Warning treated as error : {0}</value>
+  </data>
+  <data name="31073" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31074" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31075" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31076" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31077" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31080" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31082" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31083" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31084" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31085" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31086" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31087" xml:space="preserve">
+    <value>Array modifiers cannot be specified on both a variable and its type.</value>
+  </data>
+  <data name="31088" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31089" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31090" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31091" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31092" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31093" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31094" xml:space="preserve">
+    <value>Implemnting class '{0}' cannot be found.</value>
+  </data>
+  <data name="31095" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31096" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31097" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31098" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31099" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31100" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31101" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31102" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31103" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31104" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31105" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31106" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31107" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31108" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31112" xml:space="preserve">
+    <value>Expected 'AddHandler', 'RemoveHandler' or 'RaiseEvent'.</value>
+  </data>
+  <data name="31127" xml:space="preserve">
+    <value>'{0}' can only be declared once.</value>
+  </data>
+  <data name="31130" xml:space="preserve">
+    <value>The custom event '{0}' must specify a '{1}'.</value>
+  </data>
+  <data name="31400" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31401" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31403" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31404" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31405" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31406" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31407" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31408" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31409" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31410" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31411" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31412" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31413" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31415" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31416" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31417" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31418" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31419" xml:space="preserve">
+    <value>'IsNot' requires operands that have reference types, but this operand has the value type '{0}'.</value>
+  </data>
+  <data name="31420" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31421" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31500" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31501" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31502" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31503" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31504" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31505" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31506" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31507" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31508" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31509" xml:space="preserve">
+    <value>Unable to open resource file '{0}': {1}</value>
+  </data>
+  <data name="31510" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31511" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31512" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31513" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31514" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31515" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31516" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31517" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31518" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31519" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31520" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31521" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31522" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31523" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31524" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31525" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="31526" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="32000" xml:space="preserve">
+    <value>Local variable '{0}' cannot be referred to before it is declared.</value>
+  </data>
+  <data name="32001" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="32002" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="32004" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="32005" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="32006" xml:space="preserve">
+    <value>'Char' values cannot be converted to '{0}'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit.</value>
+  </data>
+  <data name="32007" xml:space="preserve">
+    <value>'{0}' values cannot be converted to 'Char'. Use 'Microsoft.VisualBasic.ChrW' to interpret a numeric value as a Unicode character or first convert it to 'String' to produce a digit.</value>
+  </data>
+  <data name="32008" xml:space="preserve">
+    <value>'{0}' is a delegate type. Delegate construction permits only a single AddressOf expression as an argument list. Often an AddressOf expression can be used instead of a delegate construction.</value>
+  </data>
+  <data name="32009" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="32010" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="32012" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="32013" xml:space="preserve">
+    <value>Option Strict On disallows operands of type Object for operator '{0}'. Use the 'Is' operator to test for object identity.</value>
+  </data>
+  <data name="32014" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="32015" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="32016" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="32017" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="32019" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="32020" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="32021" xml:space="preserve">
+    <value>Parameter '{0}' in '{1}' already has a matching omitted argument.</value>
+  </data>
+  <data name="32022" xml:space="preserve">
+    <value>Expression is an event, and cannot be called directly. Use a 'RaiseEvent' statement to raise an event.</value>
+  </data>
+  <data name="32023" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="32024" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="32025" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="32026" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="32027" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="32028" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="32029" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="32030" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="32031" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="32032" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="32033" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="32034" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="32035" xml:space="preserve">
+    <value>Attributes can only appear just before a declaration.</value>
+  </data>
+  <data name="32036" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="32037" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="32038" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="32039" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="32040" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="32041" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="32042" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="32043" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="32044" xml:space="preserve">
+    <value>Type argument '{0}' does not inherit from or implement '{1}'.</value>
+  </data>
+  <data name="32045" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="32046" xml:space="preserve">
+    <value>'New' cannot be used on a type parameter not declared 'As New()'</value>
+  </data>
+  <data name="32047" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="32048" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="32049" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="32050" xml:space="preserve">
+    <value>Type parameter '{0}' for '{1}' cannot be inferred.</value>
+  </data>
+  <data name="32051" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="32052" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="32053" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="32054" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="32055" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="32056" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="32057" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="32058" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="32059" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="32060" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="32061" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="32062" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="32063" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="32064" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="32065" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="32066" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="32067" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="32068" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="32069" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="32070" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="32071" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="32083" xml:space="preserve">
+    <value>Type argument '{0}' must have a public parameterless instance constructor to satisfy the 'New' constraint for type parameter '{1}'.</value>
+  </data>
+  <data name="32084" xml:space="preserve">
+    <value>Type parameter '{0}' must have either a 'New' constraint or a 'Structure' constraint to satisfy the 'New' constraint for type parameter '{1}'.</value>
+  </data>
+  <data name="32085" xml:space="preserve">
+    <value>Arguments cannot be passed when calling a type parameter constructor.</value>
+  </data>
+  <data name="32098" xml:space="preserve">
+    <value>Type parameters can't be used as a qualifier.</value>
+  </data>
+  <data name="32101" xml:space="preserve">
+    <value>'Class' constraint cannot be specified multiple times for the same type parameter.</value>
+  </data>
+  <data name="32102" xml:space="preserve">
+    <value>'Structure' constraint cannot be specified multiple times for the same type parameter.</value>
+  </data>
+  <data name="32103" xml:space="preserve">
+    <value>'New' constraint and 'Structure' constraint cannot be used at the same time.</value>
+  </data>
+  <data name="32104" xml:space="preserve">
+    <value>'Class' constraint and 'Structure' constraint cannot be used at the same time.</value>
+  </data>
+  <data name="32105" xml:space="preserve">
+    <value>Type argument '{0}' does not satisfy the 'Structure' constraint for type parameter '{1}'</value>
+  </data>
+  <data name="32106" xml:space="preserve">
+    <value>Type argument '{0}' does not satisfy the 'Class' constraint for type parameter '{1}'</value>
+  </data>
+  <data name="32200" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="32201" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="32203" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="32204" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="32205" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="32300" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="32301" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="32302" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="32304" xml:space="preserve">
+    <value>The 'DefaultMemberAttribute' defined on '{0}' specifies '{1}' as the default member, while the property marked as the default property is '{2}'.</value>
+  </data>
+  <data name="32400" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="32500" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="32501" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="32504" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="32505" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="32506" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="32507" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="32508" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="32509" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="33000" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="33001" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="33002" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="33003" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="33004" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="33005" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="33006" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="33007" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="33008" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="33009" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="33010" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="33011" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="33012" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="33013" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="33014" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="33015" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="33016" xml:space="preserve">
+    <value>Operator '{0}' must have one or two parameters.</value>
+  </data>
+  <data name="33017" xml:space="preserve">
+    <value>CType operator must specifiy 'Narrowing' or 'Widening'.</value>
+  </data>
+  <data name="33018" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="33019" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="33020" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="33021" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="33022" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="33023" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="33024" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="33025" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="33026" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="33027" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="33028" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="33029" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="33030" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="33031" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="33032" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="33033" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="33034" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="33035" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="33036" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="33101" xml:space="preserve">
+    <value>Type '{0}' must be a value type or a type argument constrained to 'Structure' in order to be used with 'Nullable' or nullable modifier '?'. </value>
+  </data>
+  <data name="33104" xml:space="preserve">
+    <value>'If' operator requires either two or three operands.</value>
+  </data>
+  <data name="33106" xml:space="preserve">
+    <value>Cannot infer a common type for the second and third operands of the 'If' operator. One must have a widening conversion to the other.</value>
+  </data>
+  <data name="33107" xml:space="preserve">
+    <value>First operand in a binary 'If' expression must be nullable or a reference type.</value>
+  </data>
+  <data name="33110" xml:space="preserve">
+    <value>Cannot infer a common type for the first and second operands of the binary 'If' operator. One must have a widening conversion to the other.</value>
+  </data>
+  <data name="36000" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="36001" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="36002" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="36003" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="36004" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="36005" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="36006" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="36007" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="36008" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="36009" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="36010" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="36011" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="36012" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="36013" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="36014" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="36015" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="36016" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="36017" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="36651" xml:space="preserve">
+    <value>Data type(s) of the type parameter(s) in method '{0}' cannot be inferred from these arguments because more than one type is possible. Specifying the data type(s) explicitly might correct this error.</value>
+  </data>
+  <data name="36657" xml:space="preserve">
+    <value>Data type(s) of the type parameter(s) in method '{0}' cannot be inferred from these arguments because they do not convert to the same type. Specifying the data type(s) explicitly might correct this error.</value>
+  </data>
+  <data name="40000" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="40003" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="40004" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="40005" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="40007" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="40008" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="40009" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="40010" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="40011" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="40012" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="40014" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="40018" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="40019" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="40020" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="40021" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="40022" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="40023" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="40024" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="40025" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="40026" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="40027" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="40028" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="40029" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="40030" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="40031" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="40032" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="40033" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="40034" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="40035" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="40036" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="40037" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="40038" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="40039" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="40040" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="40041" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="40056" xml:space="preserve">
+    <value>Namespace or type specified in the Imports '{0}' doesn't contain any public member or cannot be found. Make sure the namespace or the type is defined and contains at least one public member. Make sure the imported element name doesn't use any aliases.</value>
+  </data>
+  <data name="41000" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="41001" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="41002" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="41003" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="41004" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="42000" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="42001" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="42002" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="42003" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="42013" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="42014" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="42015" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="42020" xml:space="preserve">
+    <value>Variable declaration without an 'As' clause; type of Object assumed.</value>
+  </data>
+  <data name="42021" xml:space="preserve">
+    <value>Function without an 'As' clause; return type of Object assumed.</value>
+  </data>
+  <data name="42024" xml:space="preserve">
+    <value>Unused local variable: '{0}'.</value>
+  </data>
+  <data name="42101" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="42102" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="42103" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="42104" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="42200" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="42300" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="42301" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="42302" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="42303" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="42304" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="42305" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="42306" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="42307" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="42308" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="42309" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="42310" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="42311" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="42312" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="42313" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="42314" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="42315" xml:space="preserve">
+    <value>CHANGEME</value>
+  </data>
+  <data name="90000" xml:space="preserve">
+    <value>Newline character found in date constant.</value>
+  </data>
+  <data name="90001" xml:space="preserve">
+    <value>Unexpected end of file.</value>
+  </data>
+  <data name="90002" xml:space="preserve">
+    <value>'{0}' type character is not valid here.</value>
+  </data>
+  <data name="90003" xml:space="preserve">
+    <value>End of line found in string constant.</value>
+  </data>
+  <data name="90004" xml:space="preserve">
+    <value>End of file found in string constant.</value>
+  </data>
+  <data name="90005" xml:space="preserve">
+    <value>Invalid literal.</value>
+  </data>
+  <data name="90006" xml:space="preserve">
+    <value>Invalid {0} literal.</value>
+  </data>
+  <data name="90007" xml:space="preserve">
+    <value>Unexpected token: {0}.</value>
+  </data>
+  <data name="90008" xml:space="preserve">
+    <value>No more code?</value>
+  </data>
+  <data name="90009" xml:space="preserve">
+    <value>Cannot find '{0}'.</value>
+  </data>
+  <data name="90010" xml:space="preserve">
+    <value>Cannot have both '{0}' and '{1}'.</value>
+  </data>
+  <data name="90011" xml:space="preserve">
+    <value>Expected: '{0}'</value>
+  </data>
+  <data name="90012" xml:space="preserve">
+    <value>Could not load the assembly: '{0}'</value>
+  </data>
+  <data name="90013" xml:space="preserve">
+    <value>Error finding class '{0}' with the Main function, found {1} classes with this name.</value>
+  </data>
+  <data name="90014" xml:space="preserve">
+    <value>Expected 'While' or 'Until'.</value>
+  </data>
+  <data name="90015" xml:space="preserve">
+    <value>Can't use the modifier '{0}' here.</value>
+  </data>
+  <data name="90016" xml:space="preserve">
+    <value>Feature not implemented: {0}</value>
+  </data>
+  <data name="90017" xml:space="preserve">
+    <value>Invalid define: '{0}'</value>
+  </data>
+  <data name="90018" xml:space="preserve">
+    <value>Expected end of line.</value>
+  </data>
+  <data name="90019" xml:space="preserve">
+    <value>Expected '{0}'.</value>
+  </data>
+  <data name="90020" xml:space="preserve">
+    <value>Expected 'Get' or 'Set'.</value>
+  </data>
+  <data name="90021" xml:space="preserve">
+    <value>Invalid data type: '{0}'.</value>
+  </data>
+  <data name="90022" xml:space="preserve">
+    <value>Unexpected end of file in comment.</value>
+  </data>
+  <data name="90023" xml:space="preserve">
+    <value>There is no comparison possible between '{0}' and '{1}'.</value>
+  </data>
+  <data name="99997" xml:space="preserve">
+    <value>You've encountered something in the compiler which is not implemented. Please file a bug (see instructions here: http://mono-project.com/Bugs)</value>
+  </data>
+  <data name="99998" xml:space="preserve">
+    <value>{0}</value>
+  </data>
+  <data name="99999" xml:space="preserve">
+    <value>{0}</value>
+  </data>
+</root>
\ No newline at end of file
diff --git a/vbnc/vbnc/source/Statements/AssignStatements/AssignmentStatement.vb b/vbnc/vbnc/source/Statements/AssignStatements/AssignmentStatement.vb
index 74d2c7b..45fb283 100755
--- a/vbnc/vbnc/source/Statements/AssignStatements/AssignmentStatement.vb
+++ b/vbnc/vbnc/source/Statements/AssignStatements/AssignmentStatement.vb
@@ -115,7 +115,6 @@ Public Class AssignmentStatement
             m_LSide = LSide.ReclassifyToPropertyAccessExpression
             result = LSide.ResolveExpression(ResolveInfo.Default(Info.Compiler)) AndAlso result
             If result = False Then
-                result = Helper.AddError(Me) AndAlso result
                 Return result
             End If
         Else
diff --git a/vbnc/vbnc/source/Statements/DoStatement.vb b/vbnc/vbnc/source/Statements/DoStatement.vb
index 67ad6c5..c14bcda 100644
--- a/vbnc/vbnc/source/Statements/DoStatement.vb
+++ b/vbnc/vbnc/source/Statements/DoStatement.vb
@@ -109,6 +109,11 @@ Public Class DoStatement
                 Emitter.EmitBranchIfTrue(Info, EndLabel)
             End If
         End If
+
+        If m_PreCondition Is Nothing AndAlso m_PostCondition Is Nothing Then
+            Emitter.MarkLabel(Info, m_NextIteration)
+        End If
+
         Emitter.EmitBranch(Info, startLabel)
 
         Emitter.MarkLabel(Info, EndLabel)
@@ -153,3 +158,4 @@ Public Class DoStatement
         End Get
     End Property
 End Class
+
diff --git a/vbnc/vbnc/source/Statements/ExitStatement.vb b/vbnc/vbnc/source/Statements/ExitStatement.vb
index e07ff96..b0d949f 100644
--- a/vbnc/vbnc/source/Statements/ExitStatement.vb
+++ b/vbnc/vbnc/source/Statements/ExitStatement.vb
@@ -38,6 +38,11 @@ Public Class ExitStatement
         m_ExitWhat = ExitWhat
     End Sub
 
+    Sub New(ByVal Parent As ParsedObject, ByVal ExitWhat As KS, Location As Span)
+        MyBase.New(Parent, Location)
+        m_ExitWhat = ExitWhat
+    End Sub
+
     Friend Overrides Function GenerateCode(ByVal Info As EmitInfo) As Boolean
         Dim result As Boolean = True
 
diff --git a/vbnc/vbnc/source/Statements/ForEachStatement.vb b/vbnc/vbnc/source/Statements/ForEachStatement.vb
index a1abc74..8f955e1 100644
--- a/vbnc/vbnc/source/Statements/ForEachStatement.vb
+++ b/vbnc/vbnc/source/Statements/ForEachStatement.vb
@@ -109,7 +109,7 @@ Public Class ForEachStatement
         If isGenericParameter Then
             Emitter.EmitUnbox_Any(Info, varType)
         ElseIf isClass Then
-            Emitter.EmitCastClass(Info, Compiler.TypeCache.System_Object, varType)
+            Emitter.EmitCastClass(Info, varType)
         ElseIf isValueType Then
             Emitter.MarkLabel(Info, valueTPLoad)
             Emitter.EmitUnbox(Info, varType)
@@ -141,7 +141,7 @@ Public Class ForEachStatement
 
         'Load the container variable and get the enumerator
         result = m_InExpression.GenerateCode(Info.Clone(Me, True, False, m_InExpression.ExpressionType)) AndAlso result
-        Emitter.EmitCastClass(Info, m_InExpression.ExpressionType, Helper.GetTypeOrTypeReference(Compiler, Compiler.TypeCache.System_Collections_IEnumerable))
+        Emitter.EmitCastClass(Info, Helper.GetTypeOrTypeReference(Compiler, Compiler.TypeCache.System_Collections_IEnumerable))
         Emitter.EmitCallVirt(Info, Helper.GetMethodOrMethodReference(Compiler, Compiler.TypeCache.System_Collections_IEnumerable__GetEnumerator))
         Emitter.EmitStoreVariable(Info, m_Enumerator)
 
@@ -205,26 +205,46 @@ Public Class ForEachStatement
         End If
 
         result = m_InExpression.ResolveExpression(Info) AndAlso result
+        If result = False Then Return False
         result = Helper.VerifyValueClassification(m_InExpression, Info) AndAlso result
 
         result = CodeBlock.ResolveCode(Info) AndAlso result
 
         If m_NextExpression IsNot Nothing Then
-            'TODO: Add check here. Seems like this expression can be arbitrarily complex
-            Dim sneNext As SimpleNameExpression = TryCast(m_NextExpression, SimpleNameExpression)
-            If sneNext IsNot Nothing Then
-                If Helper.CompareName(sneNext.Identifier.Identifier, m_LoopControlVariable.Identifier.Identifier) = False Then
-                    result = Compiler.Report.ShowMessage(Messages.VBNC30070, sneNext.Location, m_LoopControlVariable.Identifier.Identifier) AndAlso result
+            result = m_NextExpression.ResolveExpression(Info) AndAlso result
+            If result = False Then Return False
+
+            If m_NextExpression.Classification.IsVariableClassification Then
+                If m_LoopControlVariable.Expression IsNot Nothing Then
+                    Dim lcvVar As VariableClassification = Nothing
+                    Dim nextExpVar As VariableClassification = m_NextExpression.Classification.AsVariableClassification
+
+                    If m_LoopControlVariable.Expression.Classification.IsVariableClassification Then
+                        lcvVar = m_LoopControlVariable.Expression.Classification.AsVariableClassification
+                    End If
+
+                    If lcvVar IsNot Nothing AndAlso lcvVar.LocalVariable Is nextExpVar.LocalVariable Then
+                        'OK
+                    ElseIf lcvVar IsNot Nothing AndAlso lcvVar.ArrayVariable IsNot Nothing AndAlso lcvVar.ArrayVariable.Classification.IsVariableClassification AndAlso lcvVar.ArrayVariable.Classification.AsVariableClassification.LocalVariable Is nextExpVar.LocalVariable Then
+                        'OK
+                    Else
+                        result = Compiler.Report.ShowMessage(Messages.VBNC30070, m_NextExpression.Location, m_LoopControlVariable.Identifier.Name)
+                    End If
+                ElseIf m_NextExpression.Classification.AsVariableClassification.LocalVariable IsNot m_LoopControlVariable.GetVariableDeclaration Then
+                    result = Compiler.Report.ShowMessage(Messages.VBNC30070, m_NextExpression.Location, m_LoopControlVariable.Identifier.Name)
+                End If
+                Else
+                    result = Compiler.Report.ShowMessage(Messages.VBNC30070, m_NextExpression.Location, m_LoopControlVariable.Identifier.Name)
                 End If
             End If
-        End If
 
-        Compiler.Helper.AddCheck("It is not valid to branch into a For Each statement block from outside the block.")
-        Compiler.Helper.AddCheck("The loop control variable is specified either through an identifier followed by an As clause or an expression. (...) In the case of an expression, the expression must be classified as a variable. ")
-        Compiler.Helper.AddCheck("The enumerator expression must be classified as a value and its type must be a collection type or Object. ")
-        Compiler.Helper.AddCheck("If the type of the enumerator expression is Object, then all processing is deferred until run-time. Otherwise, a conversion must exist from the element type of the collection to the type of the loop control variable")
-        Compiler.Helper.AddCheck("The loop control variable cannot be used by another enclosing For Each statement. ")
+            Compiler.Helper.AddCheck("It is not valid to branch into a For Each statement block from outside the block.")
+            Compiler.Helper.AddCheck("The loop control variable is specified either through an identifier followed by an As clause or an expression. (...) In the case of an expression, the expression must be classified as a variable. ")
+            Compiler.Helper.AddCheck("The enumerator expression must be classified as a value and its type must be a collection type or Object. ")
+            Compiler.Helper.AddCheck("If the type of the enumerator expression is Object, then all processing is deferred until run-time. Otherwise, a conversion must exist from the element type of the collection to the type of the loop control variable")
+            Compiler.Helper.AddCheck("The loop control variable cannot be used by another enclosing For Each statement. ")
 
-        Return result
+            Return result
     End Function
 End Class
+
diff --git a/vbnc/vbnc/source/Statements/ForStatement.vb b/vbnc/vbnc/source/Statements/ForStatement.vb
index 6bc89b6..3515296 100644
--- a/vbnc/vbnc/source/Statements/ForStatement.vb
+++ b/vbnc/vbnc/source/Statements/ForStatement.vb
@@ -145,9 +145,9 @@ Public Class ForStatement
     End Property
 
     Private Function IsNegativeStep() As Boolean
-        Dim constant As Object
+        Dim constant As Object = Nothing
 
-        constant = m_LoopStepExpression.ConstantValue
+        If Not m_LoopStepExpression.GetConstant(constant, True) Then Return False
 
         If TypeOf constant Is Decimal Then
             Return CDec(constant) < 0
@@ -157,9 +157,9 @@ Public Class ForStatement
     End Function
 
     Private Function IsPositiveStep() As Boolean
-        Dim constant As Object
+        Dim constant As Object = Nothing
 
-        constant = m_LoopStepExpression.ConstantValue
+        If Not m_LoopStepExpression.GetConstant(constant, True) Then Return False
 
         If TypeOf constant Is Decimal Then
             Return CDec(constant) > 0
@@ -169,7 +169,7 @@ Public Class ForStatement
     End Function
 
     Private Function IsKnownStep() As Boolean
-        Return m_LoopStepExpression.IsConstant
+        Return m_LoopStepExpression.GetConstant(Nothing, False)
     End Function
 
     Private Function EmitLoadAddressCounter(ByVal Info As EmitInfo, ByVal Data As LoopCounterData) As Boolean
@@ -389,7 +389,7 @@ Public Class ForStatement
 
                 Emitter.EmitLoadVariable(Info, loopStep)
                 Dim tmp As Object = Nothing
-                If TypeConverter.ConvertTo(Me, 0, m_LoopType, tmp) Then
+                If TypeConverter.ConvertTo(Me, 0, m_LoopType, tmp, True) Then
                     Emitter.EmitLoadValue(Info.Clone(Me, True, False, m_LoopType), tmp)
                 Else
                     Throw New InternalException
@@ -502,22 +502,9 @@ Public Class ForStatement
             End If
         End If
 
-        'If m_NextExpressionList IsNot Nothing Then result = m_NextExpressionList.ResolveCode(info) AndAlso result
-        m_LoopStepExpression = Helper.CreateTypeConversion(Me, m_LoopStepExpression, m_LoopType, result)
-        m_LoopStartExpression = Helper.CreateTypeConversion(Me, m_LoopStartExpression, m_LoopType, result)
-        m_LoopEndExpression = Helper.CreateTypeConversion(Me, m_LoopEndExpression, m_LoopType, result)
-
-        If m_LoopControlVariable.IsVariableDeclaration Then
-            CodeBlock.Variables.Add(m_LoopControlVariable.GetVariableDeclaration)
-        End If
-
-        result = CodeBlock.ResolveCode(Info) AndAlso result
-
-        If result = False Then Return result
-
         Select Case Helper.GetTypeCode(Compiler, m_LoopType)
             Case TypeCode.Boolean, TypeCode.Char, TypeCode.DBNull, TypeCode.Empty, TypeCode.String
-                result = Compiler.Report.ShowMessage(Messages.VBNC30337, Location, m_LoopType.Name) AndAlso result
+                Return Compiler.Report.ShowMessage(Messages.VBNC30337, Location, m_LoopType.Name)
             Case TypeCode.Decimal
                 m_IsLateBound = False
                 m_IsDecimal = True
@@ -529,9 +516,21 @@ Public Class ForStatement
                 Compiler.Helper.AddCheck("The loop control variable of a For statement must be of a primitive numeric type (...), Object, or a type T that has the following operators: (...)")
 
             Case Else
-                result = Compiler.Report.ShowMessage(Messages.VBNC30337, Location, m_LoopType.Name) AndAlso result
+                Return Compiler.Report.ShowMessage(Messages.VBNC30337, Location, m_LoopType.Name)
         End Select
 
+        'If m_NextExpressionList IsNot Nothing Then result = m_NextExpressionList.ResolveCode(info) AndAlso result
+        m_LoopStepExpression = Helper.CreateTypeConversion(Me, m_LoopStepExpression, m_LoopType, result)
+        m_LoopStartExpression = Helper.CreateTypeConversion(Me, m_LoopStartExpression, m_LoopType, result)
+        m_LoopEndExpression = Helper.CreateTypeConversion(Me, m_LoopEndExpression, m_LoopType, result)
+
+        If m_LoopControlVariable.IsVariableDeclaration Then
+            CodeBlock.Variables.Add(m_LoopControlVariable.GetVariableDeclaration)
+        End If
+
+        result = CodeBlock.ResolveCode(Info) AndAlso result
+
+        If result = False Then Return result
 
         Compiler.Helper.AddCheck("Check that loop variable has not been used in another for statement.")
         Compiler.Helper.AddCheck("The bound and step expressions must be implicitly convertible to the type of the loop control. ")
diff --git a/vbnc/vbnc/source/Statements/GotoStatement.vb b/vbnc/vbnc/source/Statements/GotoStatement.vb
index dac87cf..0e1257c 100644
--- a/vbnc/vbnc/source/Statements/GotoStatement.vb
+++ b/vbnc/vbnc/source/Statements/GotoStatement.vb
@@ -50,7 +50,10 @@ Public Class GotoStatement
         Dim result As Boolean = True
 
         m_Destination = Me.FindFirstParent(Of CodeBlock).FindLabel(m_GotoWhere)
-        result = m_Destination IsNot Nothing AndAlso result
+        If m_Destination Is Nothing Then
+            result = false
+            Report.ShowMessage(Messages.VBNC30132, Me.Location, m_GotoWhere.Identifier)
+        End If
 
         Return result
     End Function
@@ -61,3 +64,4 @@ Public Class GotoStatement
         End Get
     End Property
 End Class
+
diff --git a/vbnc/vbnc/source/Statements/RedimClause.vb b/vbnc/vbnc/source/Statements/RedimClause.vb
index 51b4989..dc60496 100644
--- a/vbnc/vbnc/source/Statements/RedimClause.vb
+++ b/vbnc/vbnc/source/Statements/RedimClause.vb
@@ -95,7 +95,7 @@ Public Class RedimClause
             result = Helper.EmitIntegerArray(Info, m_ArraySizeInitModifier.BoundList.Expressions) AndAlso result
             Emitter.EmitCall(Info, Compiler.TypeCache.System_Array__CreateInstance)
 
-            Emitter.EmitCastClass(Info, Compiler.TypeCache.System_Array, ArrayType)
+            Emitter.EmitCastClass(Info, ArrayType)
         End If
         Return result
     End Function
@@ -103,10 +103,10 @@ Public Class RedimClause
     Private Function GenerateCodeForPreserve(ByVal Info As EmitInfo) As Boolean
         Dim result As Boolean = True
         result = m_Expression.GenerateCode(Info.Clone(Me, True, False, m_ArrayType)) AndAlso result
-        Emitter.EmitCastClass(Info, m_Expression.ExpressionType, Compiler.TypeCache.System_Array)
+        Emitter.EmitCastClass(Info, Compiler.TypeCache.System_Array)
         result = GenerateCodeForNewArray(Info) AndAlso result
         Emitter.EmitCall(Info, Compiler.TypeCache.MS_VB_CS_Utils__CopyArray_Array_Array)
-        Emitter.EmitCastClass(Info, Compiler.TypeCache.System_Array, m_ArrayType)
+        Emitter.EmitCastClass(Info, m_ArrayType)
         Return result
     End Function
 
diff --git a/vbnc/vbnc/source/Statements/ResumeStatement.vb b/vbnc/vbnc/source/Statements/ResumeStatement.vb
index 1d45334..68798a7 100644
--- a/vbnc/vbnc/source/Statements/ResumeStatement.vb
+++ b/vbnc/vbnc/source/Statements/ResumeStatement.vb
@@ -20,10 +20,15 @@ Public Class ResumeStatement
     Inherits Statement
 
     Private m_IsResumeNext As Boolean
+    Private m_TargetLabel As Token?
+    Private m_TargetLocation As Span?
+    Private m_TargetLabelDeclaration As LabelDeclarationStatement
 
-    Sub New(ByVal Parent As ParsedObject, ByVal IsResumeNext As Boolean)
+    Sub New(ByVal Parent As ParsedObject, ByVal IsResumeNext As Boolean, TargetLabel As Token?, TargetLocation As Span?)
         MyBase.New(Parent)
         m_IsResumeNext = IsResumeNext
+        m_TargetLabel = TargetLabel
+        m_TargetLocation = TargetLocation
     End Sub
 
     Public Overrides Function ResolveTypeReferences() As Boolean
@@ -55,15 +60,19 @@ Public Class ResumeStatement
         Emitter.EmitThrow(Info)
 
         Emitter.MarkLabel(Info, ResumeOK)
-        'Load the instruction switch index
-        Emitter.EmitLoadVariable(Info, block.VB_CurrentInstruction)
-        'Increment the instruction pointer if it is a Resume Next statement
-        If m_IsResumeNext Then
-            Emitter.EmitLoadI4Value(Info, 1)
-            Emitter.EmitAdd(Info, Compiler.TypeCache.System_Int32)
+        If m_TargetLabelDeclaration IsNot Nothing Then
+            Emitter.EmitBranchOrLeave(Info, m_TargetLabelDeclaration.GetLabel(Info), Me, m_TargetLabelDeclaration)
+        Else
+            'Load the instruction switch index
+            Emitter.EmitLoadVariable(Info, block.VB_CurrentInstruction)
+            'Increment the instruction pointer if it is a Resume Next statement
+            If m_IsResumeNext Then
+                Emitter.EmitLoadI4Value(Info, 1)
+                Emitter.EmitAdd(Info, Compiler.TypeCache.System_Int32)
+            End If
+            'If everything is ok, jump to the instruction switch (adding one to the instruction if necessary)
+            Emitter.EmitLeave(Info, block.UnstructuredResumeHandler)
         End If
-        'If everything is ok, jump to the instruction switch (adding one to the instruction if necessary)
-        Emitter.EmitLeave(Info, block.UnstructuredResumeHandler)
 
         Return result
     End Function
@@ -77,6 +86,14 @@ Public Class ResumeStatement
         block.HasUnstructuredExceptionHandling = True
         block.HasResume = True
 
+        If m_TargetLabel.HasValue Then
+            m_TargetLabelDeclaration = FindFirstParent(Of CodeBlock)().FindLabel(m_TargetLabel.Value)
+            If m_TargetLabelDeclaration Is Nothing Then
+                result = Report.ShowMessage(Messages.VBNC30132, m_TargetLocation.Value, m_TargetLabel.Value.Identifier) AndAlso result
+            End If
+        End If
+
         Return True
     End Function
 End Class
+
diff --git a/vbnc/vbnc/source/Statements/SelectStatement.vb b/vbnc/vbnc/source/Statements/SelectStatement.vb
index 8c882e0..e1475d9 100644
--- a/vbnc/vbnc/source/Statements/SelectStatement.vb
+++ b/vbnc/vbnc/source/Statements/SelectStatement.vb
@@ -96,10 +96,18 @@ Public Class SelectStatement
 
         m_CachedTest = New CachedExpression(m_Test, m_Test)
 
-        result = m_Cases.ResolveCode(info) AndAlso result
+        result = m_Cases.ResolveCode(Info) AndAlso result
+
+        For i As Integer = 0 To m_Cases.Count - 1
+            Dim aCase As CaseStatement = m_Cases(i)
+            If aCase.IsElse AndAlso i < m_Cases.Count - 1 Then
+                result = Report.ShowMessage(Messages.VBNC30321, m_Cases(i + 1).Location) AndAlso result
+                Exit For
+            End If
+        Next
 
-        Compiler.Helper.AddCheck("Check that there is at most one else block, and only at the end.")
         Return result
     End Function
 
 End Class
+
diff --git a/vbnc/vbnc/source/Statements/Statement.vb b/vbnc/vbnc/source/Statements/Statement.vb
index fe6e6f7..8ea240e 100644
--- a/vbnc/vbnc/source/Statements/Statement.vb
+++ b/vbnc/vbnc/source/Statements/Statement.vb
@@ -36,6 +36,10 @@ Public MustInherit Class Statement
         MyBase.New(Parent)
     End Sub
 
+    Sub New(ByVal Parent As ParsedObject, Location As Span)
+        MyBase.New(Parent, Location)
+    End Sub
+
     ReadOnly Property FindParentCodeBlock() As CodeBlock
         Get
             Return MyBase.FindFirstParent(Of CodeBlock)()
diff --git a/vbnc/vbnc/source/Tokens/IdentifierOrKeyword.vb b/vbnc/vbnc/source/Tokens/IdentifierOrKeyword.vb
index e2f5ed5..5301f40 100644
--- a/vbnc/vbnc/source/Tokens/IdentifierOrKeyword.vb
+++ b/vbnc/vbnc/source/Tokens/IdentifierOrKeyword.vb
@@ -53,11 +53,6 @@ Public Class IdentifierOrKeyword
         If Token.IsKeyword Then m_Keyword = Token.Keyword
     End Sub
 
-    Function Clone(Optional ByVal NewParent As ParsedObject = Nothing) As IdentifierOrKeyword
-        If NewParent Is Nothing Then NewParent = DirectCast(Me.Parent, ParsedObject)
-        Return New IdentifierOrKeyword(NewParent, m_Identifier, m_Keyword)
-    End Function
-
     ReadOnly Property Name() As String
         Get
             Return m_Identifier
diff --git a/vbnc/vbnc/source/Tokens/IdentifierOrKeywordWithTypeArguments.vb b/vbnc/vbnc/source/Tokens/IdentifierOrKeywordWithTypeArguments.vb
index 7a84f83..e683d89 100644
--- a/vbnc/vbnc/source/Tokens/IdentifierOrKeywordWithTypeArguments.vb
+++ b/vbnc/vbnc/source/Tokens/IdentifierOrKeywordWithTypeArguments.vb
@@ -45,23 +45,6 @@ Public Class IdentifierOrKeywordWithTypeArguments
         m_TypeArguments = TypeArguments
     End Sub
 
-    Shadows Function Clone(Optional ByVal NewParent As ParsedObject = Nothing) As IdentifierOrKeywordWithTypeArguments
-        If NewParent Is Nothing Then NewParent = DirectCast(Me.Parent, ParsedObject)
-        Dim result As New IdentifierOrKeywordWithTypeArguments(NewParent)
-        If m_TypeArguments IsNot Nothing Then
-            result.Init(Me.Identifier, Me.Keyword, m_TypeArguments.Clone(result))
-        Else
-            result.Init(Me.Identifier, Me.Keyword, Nothing)
-        End If
-        Return result
-    End Function
-
-    Shared Function CreateAndParseTo(ByRef result As Expression) As Boolean
-
-        Return result.Compiler.Report.ShowMessage(Messages.VBNC99997, result.Location)
-
-    End Function
-
     Shared Function IsMe(ByVal tm As tm) As Boolean
         Dim result As Boolean = True
 
diff --git a/vbnc/vbnc/source/Tokens/Span.vb b/vbnc/vbnc/source/Tokens/Span.vb
index 3fc2c50..5516cfb 100644
--- a/vbnc/vbnc/source/Tokens/Span.vb
+++ b/vbnc/vbnc/source/Tokens/Span.vb
@@ -156,4 +156,16 @@ Public Structure Span
         Helper.Assert(FromLocation.FileIndex = ToLocation.FileIndex)
     End Sub
 
+    Public Shared Operator >(ByVal a As Span, ByVal b As Span) As Boolean
+        If a.FileIndex <> b.FileIndex Then Throw New ArgumentException("The spans are in different files, cannot compare them")
+        If a.Line > b.Line Then Return True
+        If a.Line < b.Line Then Return False
+        Return a.Column > b.Column
+    End Operator
+
+    Public Shared Operator <(ByVal a As Span, ByVal b As Span) As Boolean
+        Return b > a
+    End Operator
+
 End Structure
+
diff --git a/vbnc/vbnc/source/Tokens/Token.vb b/vbnc/vbnc/source/Tokens/Token.vb
index 1e3e630..3fb1848 100644
--- a/vbnc/vbnc/source/Tokens/Token.vb
+++ b/vbnc/vbnc/source/Tokens/Token.vb
@@ -20,6 +20,7 @@
 Public Structure Token
     Public m_TokenType As TokenType
     Public m_TokenObject As Object
+    Public m_Location As Span
 
     Shared Function IsSomething(ByVal Token As Token) As Boolean
         'Return Token IsNot Nothing AndAlso Token.IsSomething
@@ -164,6 +165,7 @@ Public Structure Token
     End Function
 
     Sub New(ByVal Span As Span)
+        m_Location = Span
     End Sub
 
     Function IdentiferOrKeywordIdentifier() As String
@@ -474,6 +476,13 @@ Public Structure Token
             Return "not a symbol"
         End Get
     End Property
+
+    ReadOnly Property Location As Span
+        Get
+            Return m_Location
+        End Get
+    End Property
+
 End Structure
 
 
diff --git a/vbnc/vbnc/source/TypeDeclarations/AssemblyDeclaration.vb b/vbnc/vbnc/source/TypeDeclarations/AssemblyDeclaration.vb
index 5d75a18..db78d48 100644
--- a/vbnc/vbnc/source/TypeDeclarations/AssemblyDeclaration.vb
+++ b/vbnc/vbnc/source/TypeDeclarations/AssemblyDeclaration.vb
@@ -95,13 +95,17 @@ Public Class AssemblyDeclaration
         Helper.Assert(m_Members.Count = m_TypeDeclarations.Length)
     End Sub
 
-    Private Function DefineType(ByVal Type As TypeDeclaration) As Boolean
+    Public Function CreateDefinitions() As Boolean
         Dim result As Boolean = True
 
-        result = Type.DefineType AndAlso result
+        If m_Attributes IsNot Nothing Then
+            For i As Integer = 0 To m_Attributes.Count - 1
+                result = m_Attributes(i).CreateDefinition() AndAlso result
+            Next
+        End If
 
-        For Each NestedType As TypeDeclaration In Type.Members.GetSpecificMembers(Of TypeDeclaration)()
-            result = DefineType(NestedType) AndAlso result
+        For i As Integer = 0 To Types.Length - 1
+            result = Types(i).CreateDefinition() AndAlso result
         Next
 
         Return result
@@ -119,30 +123,6 @@ Public Class AssemblyDeclaration
         Return result
     End Function
 
-    Private Function DefineMembers(ByVal Type As TypeDeclaration) As Boolean
-        Dim result As Boolean = True
-
-        Helper.Assert(Type.CecilType IsNot Nothing)
-
-        For Each i As IMember In Type.Members.GetSpecificMembers(Of IMember)()
-            If TypeOf i Is TypeDeclaration Then
-                'If TypeOf i Is DelegateDeclaration = False Then
-                result = DefineMembers(DirectCast(i, TypeDeclaration)) AndAlso result
-                vbnc.Helper.Assert(result = (Report.Errors = 0))
-                'Else
-                'Skip the delagete declarations, they are already defined.
-                'End If
-            ElseIf TypeOf i Is IDefinableMember Then
-                result = DirectCast(i, IDefinableMember).DefineMember AndAlso result
-                vbnc.Helper.Assert(result = (Report.Errors = 0))
-            Else
-                Throw New InternalException("Type " & CObj(i).GetType.ToString & " is not a definable object")
-            End If
-        Next
-
-        Return result
-    End Function
-
     Friend Function Emit(ByVal Type As TypeDeclaration) As Boolean
         Dim result As Boolean = True
 
@@ -217,13 +197,15 @@ Public Class AssemblyDeclaration
         Return result
     End Function
 
-    Public Overrides Sub Initialize(ByVal Parent As BaseObject)
-        MyBase.Initialize(Parent)
+    Function ResolveBaseTypes() As Boolean
+        Dim result As Boolean = True
 
         For i As Integer = 0 To m_TypeDeclarations.Length - 1
-            m_TypeDeclarations(i).Initialize(Me)
+            result = m_TypeDeclarations(i).ResolveBaseType() AndAlso result
         Next
-    End Sub
+
+        Return result
+    End Function
 
     Overrides Function ResolveTypeReferences() As Boolean
         Dim result As Boolean = True
@@ -280,6 +262,156 @@ Public Class AssemblyDeclaration
         Return result
     End Function
 
+    Public Function CreateImplicitInstanceConstructors() As Boolean
+        Dim result As Boolean = True
+
+        For i As Integer = 0 To Me.Types.Length - 1
+            result = CreateImplicitInstanceConstructors(Me.Types(i)) AndAlso result
+        Next
+
+        Return result
+    End Function
+
+    Private Function CreateImplicitInstanceConstructors(ByVal Type As TypeDeclaration) As Boolean
+        Dim result As Boolean = True
+
+        result = Type.CreateImplicitInstanceConstructors() AndAlso result
+
+        For i As Integer = 0 To Type.Members.Count - 1
+            Dim t As TypeDeclaration = TryCast(Type.Members(i), TypeDeclaration)
+            If t Is Nothing Then Continue For
+            result = CreateImplicitInstanceConstructors(t) AndAlso result
+        Next
+
+        Return result
+    End Function
+
+    Public Function CreateImplicitSharedConstructors() As Boolean
+        Dim result As Boolean = True
+
+        For i As Integer = 0 To Me.Types.Length - 1
+            result = CreateImplicitSharedConstructors(Me.Types(i)) AndAlso result
+        Next
+
+        Return result
+    End Function
+
+    Private Function CreateImplicitSharedConstructors(ByVal Type As TypeDeclaration) As Boolean
+        Dim result As Boolean = True
+
+        result = Type.CreateImplicitSharedConstructors() AndAlso result
+
+        For i As Integer = 0 To Type.Members.Count - 1
+            Dim t As TypeDeclaration = TryCast(Type.Members(i), TypeDeclaration)
+            If t Is Nothing Then Continue For
+            result = CreateImplicitSharedConstructors(t) AndAlso result
+        Next
+
+        Return result
+    End Function
+
+    Public Function CreateDelegateMembers() As Boolean
+        Dim result As Boolean = True
+
+        For i As Integer = 0 To Types.Length - 1
+            result = CreateDelegateMembers(Types(i)) AndAlso result
+        Next
+
+        Return result
+    End Function
+
+    Private Function CreateDelegateMembers(ByVal Type As TypeDeclaration) As Boolean
+        Dim result As Boolean = True
+        Dim dd As DelegateDeclaration = TryCast(Type, DelegateDeclaration)
+
+        If dd IsNot Nothing Then result = dd.CreateDelegateMembers() AndAlso result
+
+        For i As Integer = 0 To Type.Members.Count - 1
+            Dim t As TypeDeclaration = TryCast(Type.Members(i), TypeDeclaration)
+            If t Is Nothing Then Continue For
+            result = CreateDelegateMembers(t) AndAlso result
+        Next
+
+        Return result
+    End Function
+
+    Public Function CreateRegularEventMembers() As Boolean
+        Dim result As Boolean = True
+
+        For i As Integer = 0 To Types.Length - 1
+            result = CreateRegularEventMembers(Types(i)) AndAlso result
+        Next
+
+        Return result
+    End Function
+
+    Private Function CreateRegularEventMembers(ByVal Type As TypeDeclaration) As Boolean
+        Dim result As Boolean = True
+
+        For i As Integer = 0 To Type.Members.Count - 1
+            Dim t As TypeDeclaration = TryCast(Type.Members(i), TypeDeclaration)
+            If t IsNot Nothing Then result = CreateRegularEventMembers(t) AndAlso result
+            Dim red As RegularEventDeclaration = TryCast(Type.Members(i), RegularEventDeclaration)
+            If red IsNot Nothing Then result = red.CreateRegularEventMembers AndAlso result
+        Next
+
+        Return result
+    End Function
+
+    Public Function CreateWithEventsMembers() As Boolean
+        Dim result As Boolean = True
+
+        For i As Integer = 0 To Types.Length - 1
+            result = CreateWithEventsMembers(Types(i)) AndAlso result
+        Next
+
+        Return result
+    End Function
+
+    Private Function CreateWithEventsMembers(ByVal member As IMember) As Boolean
+        Dim result As Boolean = True
+        Dim tvd As TypeVariableDeclaration
+        Dim t As TypeDeclaration
+
+        tvd = TryCast(member, TypeVariableDeclaration)
+        If tvd IsNot Nothing Then result = tvd.CreateWithEventsMembers AndAlso result
+
+        t = TryCast(member, TypeDeclaration)
+        If t Is Nothing Then Return result
+
+        For i As Integer = 0 To t.Members.Count - 1
+            result = CreateWithEventsMembers(t.Members(i)) AndAlso result
+        Next
+
+        Return result
+    End Function
+
+    Public Function CreateMyGroupMembers() As Boolean
+        Dim result As Boolean = True
+
+        For i As Integer = 0 To Me.Types.Length - 1
+            result = CreateMyGroupMembers(Types(i)) AndAlso result
+        Next
+
+        Return result
+    End Function
+
+    Private Function CreateMyGroupMembers(ByVal Type As TypeDeclaration) As Boolean
+        Dim cd As ClassDeclaration
+        Dim result As Boolean = True
+
+        cd = TryCast(Type, ClassDeclaration)
+        If cd IsNot Nothing Then result = cd.CreateMyGroupMembers() AndAlso result
+
+        For i As Integer = 0 To Type.Members.Count - 1
+            Dim t As TypeDeclaration = TryCast(Type.Members(i), TypeDeclaration)
+            If t Is Nothing Then Continue For
+            result = CreateMyGroupMembers(t) AndAlso result
+        Next
+
+        Return result
+    End Function
+
     Private Function CreateImplicitMembers(ByVal Type As TypeDeclaration) As Boolean
         Dim result As Boolean = True
 
@@ -329,29 +461,6 @@ Public Class AssemblyDeclaration
         Return result
     End Function
 
-
-    ''' <summary>
-    ''' - Types are defined with the reflection.emit namespace. 
-    ''' - Only classes, modules, structures, interfaces, enums, delegates and eventnos (not a type by itself, bu an event might declare a new delegate). They are only defined, nothing else.
-    ''' - Classes, modules, structures, interfaces, enums,  delegates and events should implement IDefinable.DefineType()
-    ''' </summary>
-    ''' <returns></returns>
-    ''' <remarks></remarks>
-    Function DefineTypes() As Boolean
-        Dim result As Boolean = True
-
-        For Each type As TypeDeclaration In m_TypeDeclarations
-#If EXTENDEDDEBUG Then
-            Dim iCount As Integer
-            iCount += 1
-            Compiler.Report.WriteLine(vbnc.Report.ReportLevels.Debug, "DefineTypes " & type.FullName & " (" & iCount & " of " & m_TypeDeclarations.Length & " types)")
-#End If
-            result = DefineType(type) AndAlso result
-        Next
-
-        Return result
-    End Function
-
     ''' <summary>
     ''' - Base classes for classes, modules, structures, enums, interfaces and delegates are set.
     ''' - Implemented interfaces for classes are set.
@@ -375,31 +484,109 @@ Public Class AssemblyDeclaration
         Return result
     End Function
 
-    ''' <summary>
-    ''' - All the type's members are defined (methods, constructors, properties, fields, events, operators).
-    ''' </summary>
-    ''' <returns></returns>
-    ''' <remarks></remarks>
-    Function DefineMembers() As Boolean
+    Function DefineConstants() As Boolean
         Dim result As Boolean = True
 
-        For Each type As TypeDeclaration In m_TypeDeclarations
-#If EXTENDEDDEBUG Then
-            Dim iCount As Integer
-            iCount += 1
-            Try
-                System.Console.ForegroundColor = ConsoleColor.Green
-            Catch ex As Exception
+        For i As Integer = 0 To Types.Length - 1
+            result = DefineConstants(Types(i)) AndAlso result
+        Next
 
-            End Try
-            Compiler.Report.WriteLine(vbnc.Report.ReportLevels.Debug, "DefineMembers " & type.FullName & " (" & iCount & " of " & m_TypeDeclarations.Length & " types)")
-            Try
-                System.Console.ResetColor()
-            Catch ex As Exception
+        Return result
+    End Function
 
-            End Try
-#End If
-            result = DefineMembers(type) AndAlso result
+    Private Function DefineConstants(ByVal Type As TypeDeclaration) As Boolean
+        Dim result As Boolean = True
+
+        For i As Integer = 0 To Type.Members.Count - 1
+            Dim nestedType As TypeDeclaration = TryCast(Type.Members(i), TypeDeclaration)
+            If nestedType IsNot Nothing Then
+                result = DefineConstants(nestedType) AndAlso result
+                Continue For
+            End If
+
+            Dim constant As ConstantDeclaration = TryCast(Type.Members(i), ConstantDeclaration)
+            If constant IsNot Nothing Then
+                result = constant.DefineConstant AndAlso result
+                Continue For
+            End If
+
+            Dim enumc As EnumMemberDeclaration = TryCast(Type.Members(i), EnumMemberDeclaration)
+            If enumc IsNot Nothing Then
+                result = enumc.DefineConstant AndAlso result
+                Continue For
+            End If
+        Next
+
+        Return result
+    End Function
+
+    Function DefineOptionalParameters() As Boolean
+        Dim result As Boolean = True
+
+        For i As Integer = 0 To Types.Length - 1
+            result = DefineOptionalParameters(Types(i)) AndAlso result
+        Next
+
+        Return result
+    End Function
+
+    Private Function DefineOptionalParameters(ByVal Type As TypeDeclaration) As Boolean
+        Dim result As Boolean = True
+
+        For i As Integer = 0 To Type.Members.Count - 1
+            Dim nestedType As TypeDeclaration = TryCast(Type.Members(i), TypeDeclaration)
+            If nestedType IsNot Nothing Then
+                result = DefineOptionalParameters(nestedType) AndAlso result
+                Continue For
+            End If
+
+            Dim method As MethodBaseDeclaration = TryCast(Type.Members(i), MethodBaseDeclaration)
+            If method IsNot Nothing Then
+                result = method.DefineOptionalParameters AndAlso result
+                Continue For
+            End If
+
+            Dim prop As PropertyDeclaration = TryCast(Type.Members(i), PropertyDeclaration)
+            If prop IsNot Nothing Then
+                result = prop.Signature.Parameters.DefineOptionalParameters AndAlso result
+                If prop.SetDeclaration IsNot Nothing Then
+                    result = prop.SetDeclaration.Signature.Parameters.DefineOptionalParameters AndAlso result
+                End If
+                If prop.GetDeclaration IsNot Nothing Then
+                    result = prop.GetDeclaration.Signature.Parameters.DefineOptionalParameters AndAlso result
+                End If
+                Continue For
+            End If
+        Next
+
+        Return result
+    End Function
+
+    Public Function DefineSecurityDeclarations() As Boolean
+        Dim result As Boolean = True
+
+        For i As Integer = 0 To Types.Length - 1
+            result = DefineSecurityDeclarations(Types(i)) AndAlso result
+        Next
+
+        Return result
+    End Function
+
+    Private Function DefineSecurityDeclarations(ByVal Type As TypeDeclaration) As Boolean
+        Dim result As Boolean = True
+
+        For i As Integer = 0 To Type.Members.Count - 1
+            Dim nestedType As TypeDeclaration = TryCast(Type.Members(i), TypeDeclaration)
+            If nestedType IsNot Nothing Then
+                result = DefineSecurityDeclarations(nestedType) AndAlso result
+                Continue For
+            End If
+
+            Dim method As MethodBaseDeclaration = TryCast(Type.Members(i), MethodBaseDeclaration)
+            If method IsNot Nothing Then
+                result = method.DefineSecurityDeclarations AndAlso result
+                Continue For
+            End If
         Next
 
         Return result
@@ -721,7 +908,7 @@ Public Class AssemblyDeclaration
 
                 w.Write(win32versionresources)
 
-                Compiler.ModuleBuilderCecil.Win32resources = ms.ToArray()
+                Compiler.ModuleBuilderCecil.Win32Resources = ms.ToArray()
             End Using
         End Using
     End Sub
diff --git a/vbnc/vbnc/source/TypeDeclarations/ClassDeclaration.vb b/vbnc/vbnc/source/TypeDeclarations/ClassDeclaration.vb
index 995b7dd..19a5432 100755
--- a/vbnc/vbnc/source/TypeDeclarations/ClassDeclaration.vb
+++ b/vbnc/vbnc/source/TypeDeclarations/ClassDeclaration.vb
@@ -33,12 +33,12 @@ Imports System.Reflection.Emit
 ''' <remarks></remarks>
 Public Class ClassDeclaration
     Inherits PartialTypeDeclaration
-    Implements IHasImplicitMembers
 
     'Due to partial classes there may be more than one inherits clause per class
     Private m_InheritsClauses As Generic.List(Of NonArrayTypeName)
     Private m_InheritsType As Mono.Cecil.TypeReference
     Private m_CreatedImplicitMembers As Boolean
+    Private m_HasImplicitInstanceConstructor As Boolean
 
     Sub New(ByVal Parent As ParsedObject, ByVal [Namespace] As String, ByVal Name As Identifier, ByVal TypeParameters As TypeParameters)
         MyBase.New(Parent, [Namespace], Name, TypeParameters)
@@ -51,21 +51,9 @@ Public Class ClassDeclaration
         m_InheritsClauses.Add(Clause)
     End Sub
 
-    Function CreateBaseImplicitMembers() As Boolean
-        Dim tD As Mono.Cecil.TypeDefinition
-        Dim cD As ClassDeclaration
-
-        tD = CecilHelper.FindDefinition(Me.BaseType)
-        If tD Is Nothing Then Return True
-
-        cD = TryCast(tD.Annotations(Compiler), ClassDeclaration)
-        If cD Is Nothing Then Return True
-
-        Return cD.CreateImplicitMembers
-    End Function
-
     ''' <summary>
-    ''' Returns the default constructor (non-private, non-shared, with no parameters) for the base type (if any).          ''' If no constructor found, returns nothing.
+    ''' Returns the default constructor (non-private, non-shared, with no parameters) for the base type (if any).         
+    ''' If no constructor found, returns nothing.
     ''' </summary>
     ''' <returns></returns>
     ''' <remarks></remarks>
@@ -78,7 +66,8 @@ Public Class ClassDeclaration
     End Function
 
     ''' <summary>
-    ''' Returns the default constructor (non-private, non-shared, with no parameters) for the base type (if any).          ''' If no constructor found, returns nothing.
+    ''' Returns the default constructor (non-private, non-shared, with no parameters) for the base type (if any).          
+    ''' If no constructor found, returns nothing.
     ''' </summary>
     ''' <returns></returns>
     ''' <remarks></remarks>
@@ -90,28 +79,24 @@ Public Class ClassDeclaration
         End If
     End Function
 
-    Private Function GetTypeAttributes() As Mono.Cecil.TypeAttributes
-        Dim result As Mono.Cecil.TypeAttributes = MyBase.TypeAttributes
+    Public Overrides Function CreateDefinition() As Boolean
+        Dim result As Boolean = True
+
+        result = MyBase.CreateDefinition AndAlso result
 
         If Me.Modifiers.Is(ModifierMasks.MustInherit) Then
-            result = result Or Mono.Cecil.TypeAttributes.Abstract
+            TypeAttributes = TypeAttributes Or Mono.Cecil.TypeAttributes.Abstract
         ElseIf Me.Modifiers.Is(ModifierMasks.NotInheritable) Then
-            result = result Or Mono.Cecil.TypeAttributes.Sealed
+            TypeAttributes = TypeAttributes Or Mono.Cecil.TypeAttributes.Sealed
         End If
 
         Return result
     End Function
 
-    Public Overrides Sub UpdateDefinition()
-        MyBase.UpdateDefinition()
-
-        TypeAttributes = GetTypeAttributes()
-    End Sub
-
-    Overrides Function ResolveTypeReferences() As Boolean
+    Public Overrides Function ResolveBaseType() As Boolean
         Dim result As Boolean = True
 
-        Helper.Assert(m_InheritsClauses Is Nothing OrElse m_InheritsClauses.Count > 0) 'Perf check
+        result = MyBase.ResolveBaseType() AndAlso result
 
         If m_InheritsClauses IsNot Nothing AndAlso m_InheritsClauses.Count > 0 Then
             For i As Integer = 0 To m_InheritsClauses.Count - 1
@@ -131,10 +116,18 @@ Public Class ClassDeclaration
             BaseType = Compiler.TypeCache.System_Object
         End If
 
-        result = MyBase.ResolveTypeReferences AndAlso result
+        'We need to clear the member cache here since our base type has changed
+        Compiler.TypeManager.ClearCache(Me.CecilType)
 
-        'Find the default constructors for this class
-        Me.FindDefaultConstructors()
+        Return result
+    End Function
+
+    Overrides Function ResolveTypeReferences() As Boolean
+        Dim result As Boolean = True
+
+        Helper.Assert(m_InheritsClauses Is Nothing OrElse m_InheritsClauses.Count > 0) 'Perf check
+
+        result = MyBase.ResolveTypeReferences AndAlso result
 
         Return result
     End Function
@@ -142,8 +135,9 @@ Public Class ClassDeclaration
     Public Overrides Function ResolveCode(ByVal Info As ResolveInfo) As Boolean
         Dim result As Boolean = True
 
+        result = VerifyImplicitConstructor() AndAlso result
+
         result = MyBase.ResolveCode(Info) AndAlso result
-        'vbnc.Helper.Assert(result = (Compiler.Report.Errors = 0))
 
         Return result
     End Function
@@ -154,7 +148,7 @@ Public Class ClassDeclaration
         'If the class has the Microsoft.VisualBasic.CompilerServices.DesignerGeneratedAttribute, we call InitializeComponent.
         'InitializeComponent must be correctly spelled (case-sensitive), have no parameters (not even optional) and must be private
         Dim attribs As Generic.List(Of Attribute)
-        attribs = Me.CustomAttributes.FindAttributes(Compiler.TypeCache.MS_VB_CS_DesignerGeneratedAttribute)
+        attribs = Me.FindAttributes(Compiler.TypeCache.MS_VB_CS_DesignerGeneratedAttribute)
 
         If attribs Is Nothing OrElse attribs.Count = 0 Then Return result
 
@@ -206,14 +200,13 @@ Public Class ClassDeclaration
         Return result
     End Function
 
-    Private Function CreateImplicitMembers() As Boolean Implements IHasImplicitMembers.CreateImplicitMembers
+    Public Overrides Function CreateImplicitInstanceConstructors() As Boolean
         Dim result As Boolean = True
 
-        If m_CreatedImplicitMembers Then Return True
-
-        result = CreateBaseImplicitMembers() AndAlso result
+        'Find the default constructors for this class
+        Me.FindDefaultConstructors()
 
-        If result = False Then Return result
+        result = MyBase.CreateImplicitInstanceConstructors() AndAlso result
 
         'If a type contains no instance constructor declarations, a default constructor 
         'is automatically provided. The default constructor simply invokes the 
@@ -222,37 +215,56 @@ Public Class ClassDeclaration
         'a compile-time error occurs. 
         'The declared access type for the default constructor is always Public. 
         If HasInstanceConstructors = False Then
-            Dim baseDefaultCtor As Mono.Cecil.MethodReference
-            baseDefaultCtor = Me.GetBaseDefaultConstructor()
+            Dim ctor As ConstructorDeclaration
+            Dim modifiers As Modifiers
 
-            If baseDefaultCtor IsNot Nothing Then
-                If Helper.IsPrivate(baseDefaultCtor) Then
-                    result = Compiler.Report.ShowMessage(Messages.VBNC30387, Location, Name, BaseType.Name) AndAlso result
-                Else
-                    DefaultInstanceConstructor = ConstructorDeclaration.CreateDefaultConstructor(Me)
-                    Members.Add(DefaultInstanceConstructor)
-
-                    result = AddInitializeComponentCall(DefaultInstanceConstructor) AndAlso result
-                End If
-            Else
-                result = Compiler.Report.ShowMessage(Messages.VBNC30387, Location, Name, BaseType.Name) AndAlso result
+            If Me.Modifiers.Is(ModifierMasks.MustInherit) Then
+                modifiers.AddModifier(KS.Protected)
             End If
-        End If
 
-        If DefaultSharedConstructor Is Nothing AndAlso Me.HasSharedFieldsWithInitializers Then
-            DefaultSharedConstructor = ConstructorDeclaration.CreateTypeConstructor(Me)
-            Members.Add(DefaultSharedConstructor)
-            BeforeFieldInit = True
+            ctor = New ConstructorDeclaration(Me)
+            ctor.Init(modifiers, New SubSignature(ctor, ConstructorDeclaration.ConstructorName, New ParameterList(ctor)), New CodeBlock(ctor))
+
+            Members.Add(ctor)
+
+            result = ctor.CreateDefinition AndAlso result
+            result = AddInitializeComponentCall(ctor) AndAlso result
+
+            DefaultInstanceConstructor = ctor
+            m_HasImplicitInstanceConstructor = True
         End If
 
-        result = CreateMyGroupMembers() AndAlso result
+        Return result
+    End Function
+
+    Protected Overrides ReadOnly Property NeedsSharedConstructor As Boolean
+        Get
+            Return Me.HasSharedFieldsWithInitializers
+        End Get
+    End Property
+
+    Private Function VerifyImplicitConstructor() As Boolean
+        Dim result As Boolean = True
+        Dim baseDefaultCtor As Mono.Cecil.MethodReference
 
-        m_CreatedImplicitMembers = True
+        If m_HasImplicitInstanceConstructor = False Then Return result
+
+        baseDefaultCtor = Me.GetBaseDefaultConstructor()
+
+        If baseDefaultCtor IsNot Nothing Then
+            If Helper.IsPrivate(baseDefaultCtor) Then
+                result = Compiler.Report.ShowMessage(Messages.VBNC30387, Location, Name, BaseType.Name) AndAlso result
+            Else
+                result = AddInitializeComponentCall(Me.DefaultInstanceConstructor) AndAlso result
+            End If
+        Else
+            result = Compiler.Report.ShowMessage(Messages.VBNC30387, Location, Name, BaseType.Name) AndAlso result
+        End If
 
         Return result
     End Function
 
-    Private Function CreateMyGroupMembers() As Boolean
+    Public Function CreateMyGroupMembers() As Boolean
         Dim result As Boolean = True
 
         If Me.CustomAttributes Is Nothing Then Return result
@@ -506,14 +518,14 @@ Public Class ClassDeclaration
 
             setter.Code.AddStatement(set_if1)
 
-            result = setter.ResolveTypeReferences AndAlso result
-            result = getter.ResolveTypeReferences AndAlso result
-
             Members.Add(field)
             Members.Add(prop)
 
-            field.UpdateDefinition()
-            prop.UpdateDefinition()
+            result = field.CreateDefinition AndAlso result
+            result = prop.CreateDefinition AndAlso result
+
+            result = setter.ResolveTypeReferences AndAlso result
+            result = getter.ResolveTypeReferences AndAlso result
 
             'Me.TypeDescriptor.ClearCache()
 
diff --git a/vbnc/vbnc/source/TypeDeclarations/DelegateDeclaration.vb b/vbnc/vbnc/source/TypeDeclarations/DelegateDeclaration.vb
index 49c68e6..99cb326 100644
--- a/vbnc/vbnc/source/TypeDeclarations/DelegateDeclaration.vb
+++ b/vbnc/vbnc/source/TypeDeclarations/DelegateDeclaration.vb
@@ -31,7 +31,6 @@ Imports System.Reflection.Emit
 ''' <remarks></remarks>
 Public Class DelegateDeclaration
     Inherits GenericTypeDeclaration
-    Implements IHasImplicitTypes
 
     Public Const STR_Invoke As String = "Invoke"
     Public Const STR_EndInvoke As String = "EndInvoke"
@@ -55,13 +54,7 @@ Public Class DelegateDeclaration
         m_Signature = Signature
     End Sub
 
-    Public Overrides Sub Initialize(ByVal Parent As BaseObject)
-        MyBase.Initialize(Parent)
-
-        If m_Signature IsNot Nothing Then m_Signature.Initialize(Me)
-    End Sub
-
-    Function CreateImplicitElements() As Boolean Implements IHasImplicitTypes.CreateImplicitTypes
+    Function CreateDelegateMembers() As Boolean
         Dim result As Boolean = True
         Dim ReturnType As TypeName
         Dim Parameters As ParameterList = m_Signature.Parameters
@@ -83,6 +76,8 @@ Public Class DelegateDeclaration
         m_Constructor.Init(Nothing)
         m_Constructor.Signature.Parameters.Add("TargetObject", Compiler.TypeCache.System_Object)
         m_Constructor.Signature.Parameters.Add("TargetMethod", Compiler.TypeCache.System_IntPtr)
+        result = m_Constructor.CreateDefinition() AndAlso result
+
         m_Constructor.MethodAttributes = Mono.Cecil.MethodAttributes.Public Or Mono.Cecil.MethodAttributes.SpecialName Or Mono.Cecil.MethodAttributes.RTSpecialName
         m_Constructor.MethodImplAttributes = Mono.Cecil.MethodImplAttributes.Runtime
 
@@ -139,8 +134,11 @@ Public Class DelegateDeclaration
         beginInvokeSignature = New FunctionSignature(m_BeginInvoke, STR_BeginInvoke, beginInvokeParameters, Compiler.TypeCache.System_IAsyncResult, Me.Location)
 
         m_Invoke.Init(New Modifiers(), invokeSignature, Nothing, Nothing)
+        result = m_Invoke.CreateDefinition AndAlso result
         m_BeginInvoke.Init(New Modifiers(), beginInvokeSignature, Nothing, Nothing)
+        result = m_BeginInvoke.CreateDefinition AndAlso result
         m_EndInvoke.Init(New Modifiers(), endInvokeSignature, Nothing, Nothing)
+        result = m_EndInvoke.CreateDefinition AndAlso result
 
         Dim attr As Mono.Cecil.MethodAttributes
         Dim implattr As Mono.Cecil.MethodImplAttributes = Mono.Cecil.MethodImplAttributes.Runtime
@@ -162,10 +160,6 @@ Public Class DelegateDeclaration
         Members.Add(m_EndInvoke)
         Members.Add(m_Invoke)
 
-        m_BeginInvoke.Initialize(Me)
-        m_EndInvoke.Initialize(Me)
-        m_Invoke.Initialize(Me)
-
         Return result
     End Function
 
@@ -195,9 +189,14 @@ Public Class DelegateDeclaration
         End Get
     End Property
 
-    Public Overrides Sub UpdateDefinition()
-        MyBase.UpdateDefinition()
+    Public Overrides Function CreateDefinition() As Boolean
+        Dim result As Boolean = True
+
+        result = MyBase.CreateDefinition AndAlso result
 
         TypeAttributes = Helper.getTypeAttributeScopeFromScope(Modifiers, IsNestedType) Or Mono.Cecil.TypeAttributes.Sealed
-    End Sub
-End Class
\ No newline at end of file
+        If m_Signature IsNot Nothing Then result = m_Signature.CreateDefinition AndAlso result
+
+        Return result
+    End Function
+End Class
diff --git a/vbnc/vbnc/source/TypeDeclarations/EnumDeclaration.vb b/vbnc/vbnc/source/TypeDeclarations/EnumDeclaration.vb
index 99349bb..80730ca 100644
--- a/vbnc/vbnc/source/TypeDeclarations/EnumDeclaration.vb
+++ b/vbnc/vbnc/source/TypeDeclarations/EnumDeclaration.vb
@@ -31,15 +31,16 @@ Imports System.Reflection.Emit
 Public Class EnumDeclaration
     Inherits TypeDeclaration
 
-    Private m_QualifiedName As KS = KS.Integer
     Private m_Constants As Generic.List(Of EnumMemberDeclaration)
     Private m_ValueField As Mono.Cecil.FieldDefinition
+    Public EnumConstantType As TypeReference
+    Public EnumType As NonArrayTypeName
+    Public EnumConstantTypeKeyword As KS
 
     Public Const EnumTypeMemberName As String = "value__"
 
-    Sub New(ByVal Parent As ParsedObject, ByVal [Namespace] As String, ByVal Name As Identifier, ByVal EnumType As KS)
+    Sub New(ByVal Parent As ParsedObject, ByVal [Namespace] As String, ByVal Name As Identifier)
         MyBase.New(Parent, [Namespace], Name)
-        m_QualifiedName = EnumType
     End Sub
 
     ReadOnly Property Constants() As Generic.List(Of EnumMemberDeclaration)
@@ -52,45 +53,6 @@ Public Class EnumDeclaration
         End Get
     End Property
 
-    Public Overrides Function ResolveTypeReferences() As Boolean
-        Dim result As Boolean = True
-
-        result = MyBase.ResolveTypeReferences() AndAlso result
-        UpdateDefinition()
-
-        Return result
-    End Function
-
-    ReadOnly Property EnumConstantTypeKeyword() As KS
-        Get
-            Return m_QualifiedName
-        End Get
-    End Property
-
-    ReadOnly Property EnumConstantType() As Mono.Cecil.TypeReference
-        Get
-            Return Compiler.TypeResolution.TypeCodeToType(TypeResolution.KeywordToTypeCode(m_QualifiedName))
-        End Get
-    End Property
-
-    Overrides Function DefineType() As Boolean
-        Dim result As Boolean = True
-
-        UpdateDefinition()
-
-        Return result
-    End Function
-
-    Public Overrides Function DefineTypeHierarchy() As Boolean
-        Dim result As Boolean = True
-
-        result = MyBase.DefineTypeHierarchy AndAlso result
-
-        UpdateDefinition()
-
-        Return result
-    End Function
-
     Shared Function IsMe(ByVal tm As tm) As Boolean
         Dim i As Integer
         While tm.PeekToken(i).Equals(ModifierMasks.TypeModifiers)
@@ -99,31 +61,63 @@ Public Class EnumDeclaration
         Return tm.PeekToken(i).Equals(KS.Enum)
     End Function
 
-    ReadOnly Property QualifiedName() As KS
-        Get
-            Return m_QualifiedName
-        End Get
-    End Property
+    Public Overrides Function CreateDefinition() As Boolean
+        Dim result As Boolean = True
+
+        Helper.Assert(m_ValueField Is Nothing)
 
-    Public Overrides Sub UpdateDefinition()
-        MyBase.UpdateDefinition()
+        result = MyBase.CreateDefinition() AndAlso result
 
-        TypeAttributes = Helper.getTypeAttributeScopeFromScope(Modifiers, IsNestedType) Or Mono.Cecil.TypeAttributes.Sealed
+        TypeAttributes = TypeAttributes Or Mono.Cecil.TypeAttributes.Sealed
         BaseType = Compiler.TypeCache.System_Enum
 
-        If m_ValueField Is Nothing AndAlso m_QualifiedName <> KS.None Then
-            m_ValueField = New Mono.Cecil.FieldDefinition(EnumTypeMemberName, Mono.Cecil.FieldAttributes.Public Or Mono.Cecil.FieldAttributes.SpecialName Or Mono.Cecil.FieldAttributes.RTSpecialName, Helper.GetTypeOrTypeReference(Compiler, EnumConstantType))
-            CecilType.Fields.Add(m_ValueField)
-        End If
+        m_ValueField = New Mono.Cecil.FieldDefinition(EnumTypeMemberName, Mono.Cecil.FieldAttributes.Public Or Mono.Cecil.FieldAttributes.SpecialName Or Mono.Cecil.FieldAttributes.RTSpecialName, Nothing)
+        CecilType.Fields.Add(m_ValueField)
 
-        If m_ValueField IsNot Nothing Then
-            m_ValueField.FieldType = Helper.GetTypeOrTypeReference(Compiler, EnumConstantType)
+        Return result
+    End Function
+
+    Public Overrides Function ResolveTypeReferences() As Boolean
+        Dim result As Boolean = True
+
+        result = MyBase.ResolveTypeReferences AndAlso result
+        If EnumConstantType Is Nothing Then
+            If EnumType IsNot Nothing Then
+                result = EnumType.ResolveTypeReferences AndAlso result
+                If result = False Then Return False
+                EnumConstantType = EnumType.ResolvedType
+            Else
+                EnumConstantType = Compiler.TypeCache.System_Int32
+            End If
         End If
-    End Sub
+        If Helper.CompareType(Compiler.TypeCache.System_Byte, EnumConstantType) Then
+            EnumConstantTypeKeyword = KS.Byte
+        ElseIf Helper.CompareType(EnumConstantType, Compiler.TypeCache.System_SByte) Then
+            EnumConstantTypeKeyword = KS.SByte
+        ElseIf Helper.CompareType(EnumConstantType, Compiler.TypeCache.System_UInt16) Then
+            EnumConstantTypeKeyword = KS.UShort
+        ElseIf Helper.CompareType(EnumConstantType, Compiler.TypeCache.System_Int16) Then
+            EnumConstantTypeKeyword = KS.Short
+        ElseIf Helper.CompareType(EnumConstantType, Compiler.TypeCache.System_UInt32) Then
+            EnumConstantTypeKeyword = KS.UInteger
+        ElseIf Helper.CompareType(EnumConstantType, Compiler.TypeCache.System_Int32) Then
+            EnumConstantTypeKeyword = KS.Integer
+        ElseIf Helper.CompareType(EnumConstantType, Compiler.TypeCache.System_UInt64) Then
+            EnumConstantTypeKeyword = KS.ULong
+        ElseIf Helper.CompareType(EnumConstantType, Compiler.TypeCache.System_Int64) Then
+            EnumConstantTypeKeyword = KS.Long
+        Else
+            result = Compiler.Report.ShowMessage(Messages.VBNC30650, Me.Location)
+        End If
+        m_ValueField.FieldType = Helper.GetTypeOrTypeReference(Compiler, EnumConstantType)
+
+        Return result
+    End Function
 
     Public Overrides ReadOnly Property IsShared() As Boolean
         Get
             Return True
         End Get
     End Property
-End Class
\ No newline at end of file
+End Class
+
diff --git a/vbnc/vbnc/source/TypeDeclarations/GenericTypeDeclaration.vb b/vbnc/vbnc/source/TypeDeclarations/GenericTypeDeclaration.vb
index 308b6a8..d5b3b18 100644
--- a/vbnc/vbnc/source/TypeDeclarations/GenericTypeDeclaration.vb
+++ b/vbnc/vbnc/source/TypeDeclarations/GenericTypeDeclaration.vb
@@ -28,12 +28,6 @@ Public MustInherit Class GenericTypeDeclaration
         m_TypeParameters = TypeParameters
     End Sub
 
-    Public Overrides Sub Initialize(ByVal Parent As BaseObject)
-        MyBase.Initialize(Parent)
-
-        If m_TypeParameters IsNot Nothing Then m_TypeParameters.Initialize(Me)
-    End Sub
-
     ReadOnly Property TypeParameters() As TypeParameters Implements IConstructable.TypeParameters
         Get
             Return m_TypeParameters
@@ -59,5 +53,13 @@ Public MustInherit Class GenericTypeDeclaration
         Return result
     End Function
 
+    Public Overrides Function CreateDefinition() As Boolean
+        Dim result As Boolean = True
+
+        result = MyBase.CreateDefinition() AndAlso result
+
+        If m_TypeParameters IsNot Nothing Then result = m_TypeParameters.CreateDefinition AndAlso result
 
+        Return result
+    End Function
 End Class
diff --git a/vbnc/vbnc/source/TypeDeclarations/InterfaceDeclaration.vb b/vbnc/vbnc/source/TypeDeclarations/InterfaceDeclaration.vb
index b963cc6..1537877 100644
--- a/vbnc/vbnc/source/TypeDeclarations/InterfaceDeclaration.vb
+++ b/vbnc/vbnc/source/TypeDeclarations/InterfaceDeclaration.vb
@@ -34,11 +34,15 @@ Public Class InterfaceDeclaration
         MyBase.New(Parent, [Namespace], Name, TypeParameters)
     End Sub
 
-    Public Overrides Sub UpdateDefinition()
-        MyBase.UpdateDefinition()
 
+    Public Overrides Function CreateDefinition() As Boolean
+        Dim result As Boolean = True
+
+        result = MyBase.CreateDefinition AndAlso result
         TypeAttributes = Helper.getTypeAttributeScopeFromScope(Modifiers, IsNestedType) Or Mono.Cecil.TypeAttributes.Interface Or Mono.Cecil.TypeAttributes.Abstract
-    End Sub
+
+        Return result
+    End Function
 
     Public Overrides ReadOnly Property IsShared() As Boolean
         Get
diff --git a/vbnc/vbnc/source/TypeDeclarations/ModuleDeclaration.vb b/vbnc/vbnc/source/TypeDeclarations/ModuleDeclaration.vb
index 659a210..f0a6f41 100644
--- a/vbnc/vbnc/source/TypeDeclarations/ModuleDeclaration.vb
+++ b/vbnc/vbnc/source/TypeDeclarations/ModuleDeclaration.vb
@@ -27,16 +27,22 @@
 ''' <remarks></remarks>
 Public Class ModuleDeclaration
     Inherits TypeDeclaration
-    Implements IHasImplicitMembers
 
-    Private m_DefinedStandardModuleAttribute As Boolean
+    Public Overrides Function CreateDefinition() As Boolean
+        Dim result As Boolean = True
+
+        result = MyBase.CreateDefinition() AndAlso result
+        result = AddAttribute() AndAlso result
+
+        TypeAttributes = TypeAttributes Or Mono.Cecil.TypeAttributes.Sealed
+
+        Return result
+    End Function
 
     Private Function AddAttribute() As Boolean
         Dim result As Boolean = True
         Dim newAttrib As Attribute
 
-        If m_DefinedStandardModuleAttribute Then Return True
-
         If Compiler.TypeCache.MS_VB_CS_StandardModuleAttribute Is Nothing Then Return True
 
         newAttrib = New Attribute(Me, Compiler.TypeCache.MS_VB_CS_StandardModuleAttribute)
@@ -44,16 +50,6 @@ Public Class ModuleDeclaration
 
         If MyBase.CustomAttributes Is Nothing Then MyBase.CustomAttributes = New Attributes(Me)
         MyBase.CustomAttributes.Add(newAttrib)
-        m_DefinedStandardModuleAttribute = True
-
-        Return result
-    End Function
-
-    Public Overrides Function DefineType() As Boolean
-        Dim result As Boolean = True
-
-        result = AddAttribute() AndAlso result
-        result = MyBase.DefineType() AndAlso result
 
         Return result
     End Function
@@ -68,8 +64,6 @@ Public Class ModuleDeclaration
         MyBase.BaseType = Compiler.TypeCache.System_Object
         result = MyBase.ResolveTypeReferences AndAlso result
 
-        Me.FindDefaultConstructors()
-
         Return result
     End Function
 
@@ -81,30 +75,15 @@ Public Class ModuleDeclaration
         Return tm.PeekToken(i).Equals(KS.Module)
     End Function
 
-    Public Overrides Sub UpdateDefinition()
-        MyBase.UpdateDefinition()
-
-        TypeAttributes = Helper.getTypeAttributeScopeFromScope(Modifiers, IsNestedType) Or Mono.Cecil.TypeAttributes.Sealed
-        AddAttribute()
-    End Sub
-
     Public Overrides ReadOnly Property IsShared() As Boolean
         Get
             Return True
         End Get
     End Property
 
-    Private Function CreateImplicitMembers() As Boolean Implements IHasImplicitMembers.CreateImplicitMembers
-        Dim result As Boolean = True
-
-        If DefaultSharedConstructor Is Nothing AndAlso (Me.HasSharedConstantFields OrElse Me.HasSharedFieldsWithInitializers) Then
-            DefaultSharedConstructor = New ConstructorDeclaration(Me)
-            DefaultSharedConstructor.Init(New Modifiers(ModifierMasks.Shared), New SubSignature(DefaultSharedConstructor, ConstructorDeclaration.SharedConstructorName, New ParameterList(DefaultSharedConstructor)), New CodeBlock(DefaultSharedConstructor))
-            result = DefaultSharedConstructor.ResolveTypeReferences AndAlso result
-            Members.Add(DefaultSharedConstructor)
-            BeforeFieldInit = True
-        End If
-
-        Return result
-    End Function
-End Class
+    Protected Overrides ReadOnly Property NeedsSharedConstructor As Boolean
+        Get
+            Return Me.HasSharedConstantFields OrElse Me.HasSharedFieldsWithInitializers
+        End Get
+    End Property
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/source/TypeDeclarations/PartialTypeDeclaration.vb b/vbnc/vbnc/source/TypeDeclarations/PartialTypeDeclaration.vb
index 0f5c39c..010bda9 100644
--- a/vbnc/vbnc/source/TypeDeclarations/PartialTypeDeclaration.vb
+++ b/vbnc/vbnc/source/TypeDeclarations/PartialTypeDeclaration.vb
@@ -38,20 +38,6 @@ Public MustInherit Class PartialTypeDeclaration
         End Set
     End Property
 
-    Private Function GetTypeAttributes() As Mono.Cecil.TypeAttributes
-        Dim result As Mono.Cecil.TypeAttributes
-
-        result = Helper.getTypeAttributeScopeFromScope(Modifiers, IsNestedType)
-
-        Return result
-    End Function
-
-    Public Overrides Sub UpdateDefinition()
-        MyBase.UpdateDefinition()
-
-        TypeAttributes = GetTypeAttributes()
-    End Sub
-
     Public Overrides Function ResolveTypeReferences() As Boolean
         Dim result As Boolean = True
 
@@ -92,21 +78,6 @@ Public MustInherit Class PartialTypeDeclaration
         Return result
     End Function
 
-    '''' <summary>
-    '''' Checks that all types are equal.
-    '''' Returns nothing if types are not equal.
-    '''' </summary>
-    '''' <param name="Types"></param>
-    '''' <returns></returns>
-    '''' <remarks></remarks>
-    'Private Function CheckUniqueType(ByVal Types() As Mono.Cecil.TypeReference) As Mono.Cecil.TypeReference
-    '    Helper.Assert(Types.Length >= 1)
-    '    For i As Integer = 1 To Types.Length - 1
-    '        If Helper.CompareType(Types(0), Types(i)) = False Then Return Nothing
-    '    Next
-    '    Return Types(0)
-    'End Function
-
     ''' <summary>
     ''' Checks that all types are equal.
     ''' Returns nothing if types are not equal.
@@ -121,24 +92,4 @@ Public MustInherit Class PartialTypeDeclaration
         Next
         Return Types(0)
     End Function
-
-    '''' <summary>
-    '''' Returns the inherited types of all the partial classes.
-    '''' There will be one type for every class that has an inherits clause.
-    '''' Types may be duplicated.
-    '''' </summary>
-    '''' <returns></returns>
-    '''' <remarks></remarks>
-    'Private Function GetInheritedTypes() As Mono.Cecil.TypeReference()
-    '    Helper.Assert(Me.IsPartial)
-    '    If TypeOf Me Is StructureDeclaration Then Return New Mono.Cecil.TypeReference() {}
-    '    Dim result As New Generic.List(Of Mono.Cecil.TypeReference)
-    '    For Each partialDeclaration As ClassDeclaration In m_PartialDeclarations
-    '        If partialDeclaration.Inherits IsNot Nothing Then
-    '            Helper.Assert(partialDeclaration.Inherits.ResolvedCecilType IsNot Nothing)
-    '            result.Add(partialDeclaration.Inherits.ResolvedCecilType)
-    '        End If
-    '    Next
-    '    Return result.ToArray
-    'End Function
 End Class
diff --git a/vbnc/vbnc/source/TypeDeclarations/StructureDeclaration.vb b/vbnc/vbnc/source/TypeDeclarations/StructureDeclaration.vb
index 2d3a9fa..26496f9 100644
--- a/vbnc/vbnc/source/TypeDeclarations/StructureDeclaration.vb
+++ b/vbnc/vbnc/source/TypeDeclarations/StructureDeclaration.vb
@@ -33,15 +33,6 @@ Public Class StructureDeclaration
         MyBase.New(Parent, [Namespace], Name, TypeParameters)
     End Sub
 
-    Public Overrides Function ResolveTypeReferences() As Boolean
-        Dim result As Boolean = True
-
-        MyBase.BaseType = Compiler.TypeCache.System_ValueType
-        result = MyBase.ResolveTypeReferences AndAlso result
-
-        Return result
-    End Function
-
     Shared Function IsMe(ByVal tm As tm) As Boolean
         Dim i As Integer
         While tm.PeekToken(i).Equals(ModifierMasks.StructureModifiers)
@@ -50,9 +41,13 @@ Public Class StructureDeclaration
         Return tm.PeekToken(i).Equals(KS.Structure)
     End Function
 
-    Public Overrides Sub UpdateDefinition()
-        MyBase.UpdateDefinition()
+    Public Overrides Function CreateDefinition() As Boolean
+        Dim result As Boolean = True
 
-        TypeAttributes = MyBase.TypeAttributes Or Mono.Cecil.TypeAttributes.SequentialLayout Or Mono.Cecil.TypeAttributes.Sealed
-    End Sub
+        result = MyBase.CreateDefinition AndAlso result
+        TypeAttributes = Helper.getTypeAttributeScopeFromScope(Me.Modifiers, Me.IsNestedType) Or Mono.Cecil.TypeAttributes.SequentialLayout Or Mono.Cecil.TypeAttributes.Sealed
+        MyBase.BaseType = Compiler.TypeCache.System_ValueType
+
+        Return result
+    End Function
 End Class
diff --git a/vbnc/vbnc/source/TypeDeclarations/TypeDeclaration.vb b/vbnc/vbnc/source/TypeDeclarations/TypeDeclaration.vb
index 73daf4c..336d9a6 100644
--- a/vbnc/vbnc/source/TypeDeclarations/TypeDeclaration.vb
+++ b/vbnc/vbnc/source/TypeDeclarations/TypeDeclaration.vb
@@ -48,7 +48,6 @@ Public MustInherit Class TypeDeclaration
     Private m_DefaultInstanceConstructor As ConstructorDeclaration
     Private m_DefaultSharedConstructor As ConstructorDeclaration
     Private m_StaticVariables As Generic.List(Of LocalVariableDeclaration)
-    Private m_BeforeFieldInit As Boolean
     Private m_Serializable As Boolean
     Private m_AddedCompareTextAttribute As Boolean
 
@@ -79,14 +78,6 @@ Public MustInherit Class TypeDeclaration
         End Set
     End Property
 
-    Public Overrides Sub Initialize(ByVal Parent As BaseObject)
-        MyBase.Initialize(Parent)
-
-        For Each member As MemberDeclaration In m_Members
-            member.Initialize(Me)
-        Next
-    End Sub
-
     ReadOnly Property DescriptiveType() As String
         Get
             If TypeOf Me Is ClassDeclaration Then
@@ -122,38 +113,48 @@ Public MustInherit Class TypeDeclaration
 
         Helper.Assert(m_Namespace IsNot Nothing)
         Helper.Assert(m_Name IsNot Nothing)
-        UpdateDefinition()
     End Sub
 
-    Overrides Sub UpdateDefinition()
-        MyBase.UpdateDefinition()
+    Public Overrides Function CreateDefinition() As Boolean
+        Dim result As Boolean = True
 
-        If m_CecilType Is Nothing Then
-            If Me.IsNestedType Then
-                m_CecilType = New Mono.Cecil.TypeDefinition(Nothing, Me.Name, 0)
-            Else
-                m_CecilType = New Mono.Cecil.TypeDefinition(Me.Namespace, Me.Name, 0)
-            End If
-            m_CecilType.Annotations.Add(Compiler, Me)
+        result = MyBase.CreateDefinition AndAlso result
+
+        If m_CecilType IsNot Nothing Then
+            'This may happen with partial types
+            Return result
         End If
+
+        If Me.IsNestedType Then
+            m_CecilType = New Mono.Cecil.TypeDefinition(Nothing, Me.Name, 0)
+        Else
+            m_CecilType = New Mono.Cecil.TypeDefinition(Me.Namespace, Me.Name, 0)
+        End If
+        m_CecilType.Annotations.Add(Compiler, Me)
         m_CecilType.Name = Name
+        m_CecilType.Attributes = Helper.getTypeAttributeScopeFromScope(Modifiers, IsNestedType)
 
-        If CecilType.Module Is Nothing AndAlso Me.Name IsNot Nothing Then
-            If IsNestedType Then
-                DeclaringType.CecilType.NestedTypes.Add(CecilType)
-            Else
-                Compiler.ModuleBuilderCecil.Types.Add(CecilType)
-            End If
+        If IsNestedType Then
+            DeclaringType.CecilType.NestedTypes.Add(m_CecilType)
+            m_CecilType.DeclaringType = DeclaringType.CecilType
+        Else
+            Compiler.ModuleBuilderCecil.Types.Add(m_CecilType)
         End If
-    End Sub
 
-    Protected Property BeforeFieldInit() As Boolean
+        'create definitions for all members
+        For i As Integer = 0 To Members.Count - 1
+            result = Members(i).CreateDefinition() AndAlso result
+        Next
+
+        Return result
+    End Function
+
+    Public Property BeforeFieldInit() As Boolean
         Get
-            Return m_BeforeFieldInit
+            Return m_CecilType.IsBeforeFieldInit
         End Get
         Set(ByVal value As Boolean)
-            m_BeforeFieldInit = value
-            UpdateDefinition()
+            m_CecilType.IsBeforeFieldInit = value
         End Set
     End Property
 
@@ -191,11 +192,9 @@ Public MustInherit Class TypeDeclaration
             End If
             If isdefault Then
                 If ctor.IsShared Then
-                    Helper.Assert(m_DefaultSharedConstructor Is Nothing OrElse m_DefaultSharedConstructor Is ctor)
-                    m_DefaultSharedConstructor = ctor
+                    If m_DefaultSharedConstructor Is Nothing Then m_DefaultSharedConstructor = ctor
                 Else
-                    Helper.Assert(m_DefaultInstanceConstructor Is Nothing OrElse m_DefaultInstanceConstructor Is ctor)
-                    m_DefaultInstanceConstructor = ctor
+                    If m_DefaultInstanceConstructor Is Nothing Then m_DefaultInstanceConstructor = ctor
                 End If
             End If
         Next
@@ -286,6 +285,18 @@ Public MustInherit Class TypeDeclaration
         End Get
     End Property
 
+    Public Overrides Function ResolveBaseType() As Boolean
+        Dim result As Boolean = True
+
+        For i As Integer = 0 To Me.Members.Count - 1
+            Dim t As TypeDeclaration = TryCast(Members(i), TypeDeclaration)
+            If t Is Nothing Then Continue For
+            result = t.ResolveBaseType AndAlso result
+        Next
+
+        Return result
+    End Function
+
     Public Overrides Function ResolveTypeReferences() As Boolean
         Dim result As Boolean = True
 
@@ -347,15 +358,7 @@ Public MustInherit Class TypeDeclaration
         Return result
     End Function
 
-    Overridable Function DefineType() As Boolean Implements IDefinableType.DefineType
-        Dim result As Boolean = True
-
-        Helper.Assert(BaseType IsNot Nothing OrElse Me.CecilType.IsInterface)
-
-        Return result
-    End Function
-
-    Public Overridable Function DefineTypeHierarchy() As Boolean Implements IDefinableType.DefineTypeHierarchy
+    Public Overridable Function DefineTypeHierarchy() As Boolean
         Dim result As Boolean = True
 
         If BaseType Is Nothing Then
@@ -363,34 +366,34 @@ Public MustInherit Class TypeDeclaration
                 m_CecilType.BaseType = Helper.GetTypeOrTypeReference(Compiler, Compiler.TypeCache.System_Void)
             End If
         End If
-        If DeclaringType IsNot Nothing Then
-            m_CecilType.DeclaringType = DeclaringType.CecilType
-        End If
 
         Return result
     End Function
 
     Public Function SetDefaultAttribute(ByVal Name As String) As Boolean
         Dim result As Boolean = True
-        For Each att As Attribute In CustomAttributes
-            result = att.ResolveCode(ResolveInfo.Default(Compiler)) AndAlso result
-            If result = False Then Return result
-            If Helper.CompareType(att.AttributeType, Compiler.TypeCache.System_Reflection_DefaultMemberAttribute) Then
-                Dim tmpName As String
-                tmpName = TryCast(att.GetArgument(0), String)
-                If tmpName IsNot Nothing AndAlso Helper.CompareNameOrdinal(Name, tmpName) = False Then
-                    Compiler.Report.ShowMessage(Messages.VBNC32304, Location, Me.FullName, tmpName, Name)
-                    Return False
+
+        If CustomAttributes IsNot Nothing Then
+            For Each att As Attribute In CustomAttributes
+                result = att.ResolveCode(ResolveInfo.Default(Compiler)) AndAlso result
+                If result = False Then Return result
+                If Helper.CompareType(att.AttributeType, Compiler.TypeCache.System_Reflection_DefaultMemberAttribute) Then
+                    Dim tmpName As String
+                    tmpName = TryCast(att.GetArgument(0), String)
+                    If tmpName IsNot Nothing AndAlso Helper.CompareNameOrdinal(Name, tmpName) = False Then
+                        Compiler.Report.ShowMessage(Messages.VBNC32304, Location, Me.FullName, tmpName, Name)
+                        Return False
+                    End If
+                    Return True
                 End If
-                Return True
-            End If
-        Next
+            Next
+        End If
 
         'Helper.NotImplementedYet("Check that the property is indexed.")
         Dim attrib As Attribute
         attrib = New Attribute(Me, Compiler.TypeCache.System_Reflection_DefaultMemberAttribute, Name)
         result = attrib.ResolveCode(ResolveInfo.Default(Compiler)) AndAlso result
-        CustomAttributes.Add(attrib)
+        AddCustomAttribute(attrib)
         Return result
     End Function
 
@@ -427,7 +430,6 @@ Public MustInherit Class TypeDeclaration
         End Get
         Set(ByVal value As Mono.Cecil.TypeAttributes)
             m_CecilType.Attributes = value
-            m_CecilType.IsBeforeFieldInit = m_BeforeFieldInit
             m_CecilType.IsSerializable = m_Serializable
         End Set
     End Property
@@ -470,10 +472,10 @@ Public MustInherit Class TypeDeclaration
 
     ReadOnly Property HasInstanceConstructors() As Boolean
         Get
-            Dim ctors As Generic.List(Of ConstructorDeclaration)
-            ctors = Me.Members.GetSpecificMembers(Of ConstructorDeclaration)()
-            For Each item As ConstructorDeclaration In ctors
-                If item.IsShared = False Then Return True
+            For i As Integer = 0 To Me.Members.Count - 1
+                Dim cd As ConstructorDeclaration = TryCast(Me.Members(i), ConstructorDeclaration)
+                If cd Is Nothing Then Continue For
+                If cd.IsShared = False Then Return True
             Next
             Return False
         End Get
@@ -481,27 +483,57 @@ Public MustInherit Class TypeDeclaration
 
     ReadOnly Property HasSharedConstantFields() As Boolean
         Get
-            Dim ctors As Generic.List(Of ConstantDeclaration)
-            ctors = Me.Members.GetSpecificMembers(Of ConstantDeclaration)()
-            Return ctors.Count > 0
+            Return Me.Members.HasSpecificMember(Of ConstantDeclaration)()
         End Get
     End Property
 
     ReadOnly Property HasSharedFieldsWithInitializers() As Boolean
         Get
-            Dim ctors As Generic.List(Of VariableDeclaration)
-            ctors = Me.Members.GetSpecificMembers(Of VariableDeclaration)()
-            For Each item As VariableDeclaration In ctors
-                If item.IsShared AndAlso item.HasInitializer Then Return True
-            Next
-            For Each item As VariableDeclaration In m_StaticVariables
-                If item.DeclaringMethod.IsShared AndAlso item.HasInitializer Then Return True
-            Next
-            For Each item As ConstantDeclaration In Members.GetSpecificMembers(Of ConstantDeclaration)()
-                If item.RequiresSharedInitialization Then Return True
+            For i As Integer = 0 To Me.Members.Count - 1
+                Dim item As VariableDeclaration = TryCast(Me.Members(i), VariableDeclaration)
+                If item IsNot Nothing AndAlso item.IsShared AndAlso item.HasInitializer Then Return True
+
+                Dim cd As ConstantDeclaration = TryCast(Me.Members(i), ConstantDeclaration)
+                If cd IsNot Nothing AndAlso cd.RequiresSharedInitialization Then Return True
             Next
+
+            If m_StaticVariables IsNot Nothing Then
+                For i As Integer = 0 To m_StaticVariables.Count - 1
+                    Dim item As VariableDeclaration = m_StaticVariables(i)
+                    If item.DeclaringMethod.IsShared AndAlso item.HasInitializer Then Return True
+                Next
+            End If
+
             Return False
         End Get
     End Property
 
+    Public Overridable Function CreateImplicitInstanceConstructors() As Boolean
+        Return True
+    End Function
+
+    Public Overridable Function CreateImplicitSharedConstructors() As Boolean
+        Dim result As Boolean = True
+
+        If Not NeedsSharedConstructor Then Return result
+        If DefaultSharedConstructor IsNot Nothing Then Return result
+
+        Me.FindDefaultConstructors()
+
+        If DefaultSharedConstructor IsNot Nothing Then Return result
+
+        DefaultSharedConstructor = New ConstructorDeclaration(Me)
+        DefaultSharedConstructor.Init(New Modifiers(ModifierMasks.Shared), New SubSignature(DefaultSharedConstructor, ConstructorDeclaration.SharedConstructorName, New ParameterList(DefaultSharedConstructor)), New CodeBlock(DefaultSharedConstructor))
+        Members.Add(DefaultSharedConstructor)
+        result = DefaultSharedConstructor.CreateDefinition AndAlso result
+        BeforeFieldInit = True
+
+        Return result
+    End Function
+
+    Protected Overridable ReadOnly Property NeedsSharedConstructor As Boolean
+        Get
+            Return False
+        End Get
+    End Property
 End Class
diff --git a/vbnc/vbnc/source/Types/ArrayTypeName.vb b/vbnc/vbnc/source/Types/ArrayTypeName.vb
index 5c9b777..74fee40 100644
--- a/vbnc/vbnc/source/Types/ArrayTypeName.vb
+++ b/vbnc/vbnc/source/Types/ArrayTypeName.vb
@@ -52,15 +52,6 @@ Public Class ArrayTypeName
         m_ArrayTypeModifiers = ArrayTypeModifiers
     End Sub
 
-    Function Clone(Optional ByVal NewParent As ParsedObject = Nothing) As ArrayTypeName
-        If NewParent Is Nothing Then NewParent = Me.Parent
-        Dim result As New ArrayTypeName(NewParent)
-
-        result.Init(m_TypeName.Clone(result), m_ArrayTypeModifiers.Clone(result))
-
-        Return result
-    End Function
-
     ReadOnly Property ResolvedType() As Mono.Cecil.TypeReference
         Get
             Return m_ResolvedType
diff --git a/vbnc/vbnc/source/Types/BuiltInTypeName.vb b/vbnc/vbnc/source/Types/BuiltInTypeName.vb
index 9fece82..df6cd5f 100644
--- a/vbnc/vbnc/source/Types/BuiltInTypeName.vb
+++ b/vbnc/vbnc/source/Types/BuiltInTypeName.vb
@@ -33,11 +33,6 @@ Public Class BuiltInTypeName
         m_TypeName = Typename
     End Sub
 
-    Function Clone(Optional ByVal NewParent As ParsedObject = Nothing) As BuiltInTypeName
-        If NewParent Is Nothing Then NewParent = Me.Parent
-        Return New BuiltInTypeName(NewParent, m_TypeName)
-    End Function
-
     ReadOnly Property ResolvedType() As Mono.Cecil.TypeReference
         Get
             Return Compiler.TypeResolution.KeywordToType(m_TypeName)
@@ -71,5 +66,4 @@ Public Class BuiltInTypeName
     Shared Function IsBuiltInTypeName(ByVal tm As tm) As Boolean
         Return tm.CurrentToken.Equals(Enums.BuiltInTypeTypeNames)
     End Function
-
 End Class
diff --git a/vbnc/vbnc/source/Types/Constraint.vb b/vbnc/vbnc/source/Types/Constraint.vb
index 973bd4d..e46cb7e 100644
--- a/vbnc/vbnc/source/Types/Constraint.vb
+++ b/vbnc/vbnc/source/Types/Constraint.vb
@@ -38,14 +38,6 @@ Public Class Constraint
         m_Special = Special
     End Sub
 
-    Function Clone(Optional ByVal NewParent As ParsedObject = Nothing) As Constraint
-        If NewParent Is Nothing Then NewParent = Me.Parent
-        Dim result As New Constraint(NewParent)
-        If m_TypeName IsNot Nothing Then result.m_TypeName = m_TypeName.Clone(result)
-        result.m_Special = m_Special
-        Return result
-    End Function
-
     ReadOnly Property TypeName() As TypeName
         Get
             Return m_TypeName
diff --git a/vbnc/vbnc/source/Types/ConstraintList.vb b/vbnc/vbnc/source/Types/ConstraintList.vb
index 3bca0a7..f8f0682 100644
--- a/vbnc/vbnc/source/Types/ConstraintList.vb
+++ b/vbnc/vbnc/source/Types/ConstraintList.vb
@@ -28,15 +28,6 @@ Public Class ConstraintList
         MyBase.New(Parent, Objects)
     End Sub
 
-    Function Clone(Optional ByVal NewParent As ParsedObject = Nothing) As ConstraintList
-        If NewParent Is Nothing Then NewParent = Me.Parent
-        Dim result As New ConstraintList(NewParent)
-        For Each item As Constraint In Me
-            result.Add(item.Clone(result))
-        Next
-        Return result
-    End Function
-
     Public Overrides Function ResolveTypeReferences() As Boolean
         Dim result As Boolean = True
 
diff --git a/vbnc/vbnc/source/Types/ConstructedTypeName.vb b/vbnc/vbnc/source/Types/ConstructedTypeName.vb
index c33bace..b42f58e 100644
--- a/vbnc/vbnc/source/Types/ConstructedTypeName.vb
+++ b/vbnc/vbnc/source/Types/ConstructedTypeName.vb
@@ -59,13 +59,6 @@ Public Class ConstructedTypeName
         m_TypeArgumentList = TypeArgumentList
     End Sub
 
-    Function Clone(Optional ByVal NewParent As ParsedObject = Nothing) As ConstructedTypeName
-        If NewParent Is Nothing Then NewParent = Me.Parent
-        Dim result As New ConstructedTypeName(NewParent)
-        result.Init(m_QualifiedIdentifier.Clone(result), m_TypeArgumentList.Clone(result))
-        Return result
-    End Function
-
     Public ReadOnly Property ConstructedTypeName() As ConstructedTypeName
         Get
             Return m_ConstructedTypeName
@@ -113,76 +106,64 @@ Public Class ConstructedTypeName
         If m_ConstructedTypeName IsNot Nothing Then
             Dim cache As MemberCache
             Dim entry As MemberCacheEntry
-            Dim stack As New Generic.Stack(Of QualifiedIdentifier)
             Dim argumentCount As Integer
+            Dim tp As TypeReference
+            Dim git As GenericInstanceType
+            Dim tpGit As Mono.Cecil.GenericInstanceType
+            Dim allArguments As New Generic.List(Of TypeReference)
+            Dim declType As TypeReference
+            Dim declGit As GenericInstanceType
+
+            tp = m_ConstructedTypeName.ResolvedType
+            tpGit = TryCast(tp, GenericInstanceType)
+            cache = Compiler.TypeManager.GetCache(CecilHelper.GetGenericTypeDefinition(m_ConstructedTypeName.ResolvedType))
+
+            'Get the generic arguments
+            declType = tp
+            While declType IsNot Nothing
+                declGit = TryCast(declType, GenericInstanceType)
+                If declGit IsNot Nothing Then
+                    allArguments.InsertRange(0, declGit.GenericArguments)
+                End If
+                declType = declType.DeclaringType
+            End While
 
-            argumentCount = CecilHelper.GetGenericArguments(m_ConstructedTypeName.ResolvedType).Count
-            cache = Compiler.TypeManager.GetCache(m_ConstructedTypeName.ResolvedType)
+            If m_TypeArgumentList IsNot Nothing Then
+                argumentCount = allArguments.Count + m_TypeArgumentList.Count
+            Else
+                argumentCount = allArguments.Count
+            End If
 
-            Dim tmp As QualifiedIdentifier = m_QualifiedIdentifier
+            If m_TypeArgumentList IsNot Nothing Then
+                For i As Integer = 0 To m_TypeArgumentList.Count - 1
+                    allArguments.Add(m_TypeArgumentList(i).ResolvedType)
+                Next
+            End If
 
-            While tmp.IsFirstQualifiedIdentifier
-                stack.Push(tmp)
-                tmp = tmp.FirstAsQualifiedIdentifier
-            End While
+            entry = cache.LookupFlattened(Helper.CreateGenericTypename(m_QualifiedIdentifier.Name, If(m_TypeArgumentList IsNot Nothing, m_TypeArgumentList.Count, 0)), Me.FindFirstParent_IType.CecilType)
 
-            Do
-                If tmp.IsFirstIdentifier Then
-                    Dim id As Identifier = tmp.FirstAsIdentifier
-                    If tmp Is m_QualifiedIdentifier AndAlso m_TypeArgumentList IsNot Nothing Then
-                        argumentCount = m_TypeArgumentList.Count
-                    Else
-                        argumentCount = 0
-                    End If
-                    entry = cache.LookupFlattened(Helper.CreateGenericTypename(id.Name, argumentCount), Me.FindFirstParent_IType.CecilType)
-                    If entry Is Nothing OrElse entry.Members.Count = 0 Then
-                        Compiler.Report.ShowMessage(Messages.VBNC99997, Me.Location)
-                        Return False
-                    ElseIf entry.Members.Count > 1 Then
-                        Compiler.Report.ShowMessage(Messages.VBNC99997, Me.Location)
-                        Return False
-                    Else
-                        Dim memberType As Mono.Cecil.TypeReference = TryCast(entry.Members(0), Mono.Cecil.TypeReference)
-                        If memberType IsNot Nothing Then
-                            Dim nextCache As MemberCache
-
-                            nextCache = Compiler.TypeManager.GetCache(memberType)
-                            argumentCount += CecilHelper.GetGenericArguments(memberType).Count
-
-
-                            cache = nextCache
-                        Else
-                            Compiler.Report.ShowMessage(Messages.VBNC99997, Me.Location)
-                            Return False
-                        End If
-                    End If
-                ElseIf tmp.IsFirstGlobal Then
-                    Compiler.Report.ShowMessage(Messages.VBNC99997, Me.Location)
-                    Return False
+            If entry Is Nothing OrElse entry.Members.Count = 0 Then
+                Compiler.Report.ShowMessage(Messages.VBNC99997, Me.Location)
+                Return False
+            ElseIf entry.Members.Count > 1 Then
+                Compiler.Report.ShowMessage(Messages.VBNC99997, Me.Location)
+                Return False
+            Else
+                Dim memberType As Mono.Cecil.TypeReference = TryCast(entry.Members(0), Mono.Cecil.TypeReference)
+                If memberType IsNot Nothing Then
+                    git = New GenericInstanceType(CecilHelper.GetGenericTypeDefinition(memberType))
+                    git.GenericArguments.AddRange(allArguments)
                 Else
-                    Compiler.Report.ShowMessage(Messages.VBNC99999, Me.Location, "Internal compiler error.")
+                    Compiler.Report.ShowMessage(Messages.VBNC99997, Me.Location)
                     Return False
                 End If
+            End If
 
-                If stack.Count = 0 Then Exit Do
-                tmp = stack.Pop
-            Loop While True
-
-            Dim nextCacheGenericInstance As Mono.Cecil.GenericInstanceType
-            nextCacheGenericInstance = TryCast(cache.Type, Mono.Cecil.GenericInstanceType)
-            If m_TypeArgumentList IsNot Nothing AndAlso nextCacheGenericInstance IsNot Nothing Then
-                Dim gi As New Mono.Cecil.GenericInstanceType(nextCacheGenericInstance.ElementType)
-                For i As Integer = 0 To nextCacheGenericInstance.GenericArguments.Count - 1
-                    gi.GenericArguments.Add(nextCacheGenericInstance.GenericArguments(i))
-                Next
-                For i As Integer = 0 To m_TypeArgumentList.Count - 1
-                    gi.GenericArguments.Add(Helper.GetTypeOrTypeReference(Me.Compiler, m_TypeArgumentList(i).ResolvedType))
-                Next
-                m_ResolvedType = gi
+            If git IsNot Nothing Then
+                m_ResolvedType = git
             Else
                 m_ResolvedType = cache.Type
             End If
-
         ElseIf m_TypeArgumentList IsNot Nothing Then
             Dim nri As New TypeNameResolutionInfo(Me, Me, m_TypeArgumentList.Count)
             result = nri.Resolve AndAlso result
@@ -212,12 +193,12 @@ Public Class ConstructedTypeName
     Public Overrides Function ResolveCode(ByVal Info As ResolveInfo) As Boolean
         Dim result As Boolean = True
 
-        result = VerifyConstraints() AndAlso result
+        result = VerifyConstraints(True) AndAlso result
 
         Return result
     End Function
 
-    Function VerifyConstraints() As Boolean
+    Function VerifyConstraints(ByVal ShowErrors As Boolean) As Boolean
         Dim result As Boolean = True
 
         Dim parameters As Mono.Collections.Generic.Collection(Of GenericParameter)
@@ -233,7 +214,7 @@ Public Class ConstructedTypeName
         parameters = td.GenericParameters
         arguments = git.GenericArguments
 
-        result = Helper.VerifyConstraints(Me, parameters, arguments)
+        result = Helper.VerifyConstraints(Me, parameters, arguments, ShowErrors)
 
         Return result
     End Function
@@ -243,5 +224,4 @@ Public Class ConstructedTypeName
             Return m_QualifiedIdentifier.Name
         End Get
     End Property
-
 End Class
diff --git a/vbnc/vbnc/source/Types/NonArrayTypeName.vb b/vbnc/vbnc/source/Types/NonArrayTypeName.vb
index f18f801..640d7cc 100644
--- a/vbnc/vbnc/source/Types/NonArrayTypeName.vb
+++ b/vbnc/vbnc/source/Types/NonArrayTypeName.vb
@@ -57,20 +57,6 @@ Public Class NonArrayTypeName
         End Set
     End Property
 
-    Function Clone(Optional ByVal NewParent As ParsedObject = Nothing) As NonArrayTypeName
-        If NewParent Is Nothing Then NewParent = Me.Parent
-        Dim result As New NonArrayTypeName(NewParent)
-        result.IsNullable = IsNullable
-        If Me.IsConstructedTypeName Then
-            result.Init(Me.AsConstructedTypeName.Clone)
-        ElseIf Me.IsSimpleTypeName Then
-            result.Init(Me.AsSimpleTypeName.Clone)
-        Else
-            Throw New InternalException(Me)
-        End If
-        Return result
-    End Function
-
     ReadOnly Property AsString() As String
         Get
             Return ToString()
@@ -154,16 +140,7 @@ Public Class NonArrayTypeName
         End If
 
         If m_IsNullable Then
-            If CecilHelper.IsValueType(m_ResolvedType) = False Then
-                Dim gp As GenericParameter = TryCast(m_ResolvedType, GenericParameter)
-                If gp Is Nothing OrElse gp.HasNotNullableValueTypeConstraint = False Then
-                    result = Compiler.Report.ShowMessage(Messages.VBNC33101, Me.Location, Helper.ToString(Me, m_ResolvedType))
-                End If
-            End If
-
-            Dim git As New GenericInstanceType(Compiler.TypeCache.System_Nullable1)
-            git.GenericArguments.Add(m_ResolvedType)
-            m_ResolvedType = git
+            result = CecilHelper.CreateNullableType(Me, m_ResolvedType, m_ResolvedType) AndAlso result
         End If
 
         Helper.Assert(m_ResolvedType IsNot Nothing OrElse result = False)
diff --git a/vbnc/vbnc/source/Types/SimpleTypeName.vb b/vbnc/vbnc/source/Types/SimpleTypeName.vb
index b1fde18..d4c42c5 100644
--- a/vbnc/vbnc/source/Types/SimpleTypeName.vb
+++ b/vbnc/vbnc/source/Types/SimpleTypeName.vb
@@ -43,19 +43,6 @@ Public Class SimpleTypeName
         m_TypeName = BuiltInTypeName
     End Sub
 
-    Function Clone(Optional ByVal NewParent As ParsedObject = Nothing) As SimpleTypeName
-        If NewParent Is Nothing Then NewParent = Me.Parent
-        Dim result As New SimpleTypeName(NewParent)
-        If Me.IsBuiltInTypeName Then
-            result.Init(Me.AsBuiltInTypeName.Clone(result))
-        ElseIf Me.IsQualifiedIdentifier Then
-            result.Init(Me.AsQualifiedIdentifier.Clone(result))
-        Else
-            Throw New InternalException(Me)
-        End If
-        Return result
-    End Function
-
     Friend Sub ChangeQualifiedIdentifier(ByVal qi As QualifiedIdentifier)
         Helper.Assert(IsQualifiedIdentifier)
         'Helper.Assert(AsQualifiedIdentifier.Second IsNot Nothing)
diff --git a/vbnc/vbnc/source/Types/TokenManager.vb b/vbnc/vbnc/source/Types/TokenManager.vb
index 8325e59..839d433 100644
--- a/vbnc/vbnc/source/Types/TokenManager.vb
+++ b/vbnc/vbnc/source/Types/TokenManager.vb
@@ -377,9 +377,6 @@ Public Class tm
         If OnlyColon Then
             result = Accept(KS.Colon)
             If ReportError AndAlso result = False AndAlso CurrentToken.IsEndOfLineOnly = False Then
-#If DEBUG Then
-                System.Console.WriteLine("Found: " & CurrentToken.ToString)
-#End If
                 Compiler.Report.ShowMessage(Messages.VBNC30205, CurrentLocation)
             End If
             Return result
@@ -393,9 +390,6 @@ Public Class tm
                 Return True
             Else
                 If ReportError Then
-#If DEBUG Then
-                    System.Console.WriteLine("Found: " & CurrentToken.ToString)
-#End If
                     Compiler.Report.ShowMessage(Messages.VBNC30205, CurrentLocation)
                 End If
                 Return False
diff --git a/vbnc/vbnc/source/Types/TypeArgumentList.vb b/vbnc/vbnc/source/Types/TypeArgumentList.vb
index 5c6d46a..c5da32a 100644
--- a/vbnc/vbnc/source/Types/TypeArgumentList.vb
+++ b/vbnc/vbnc/source/Types/TypeArgumentList.vb
@@ -41,13 +41,4 @@ Public Class TypeArgumentList
             Return m_ArgumentCollection
         End Get
     End Property
-
-    Function Clone(Optional ByVal NewParent As ParsedObject = Nothing) As TypeArgumentList
-        If NewParent Is Nothing Then NewParent = Me.Parent
-        Dim result As New TypeArgumentList(NewParent)
-        For Each item As TypeName In Me
-            result.Add(item.Clone(result))
-        Next
-        Return result
-    End Function
 End Class
diff --git a/vbnc/vbnc/source/Types/TypeName.vb b/vbnc/vbnc/source/Types/TypeName.vb
index 70c0f2f..80088b2 100644
--- a/vbnc/vbnc/source/Types/TypeName.vb
+++ b/vbnc/vbnc/source/Types/TypeName.vb
@@ -61,19 +61,6 @@ Public Class TypeName
         m_ResolvedType = Type
     End Sub
 
-    Function Clone(Optional ByVal NewParent As ParsedObject = Nothing) As TypeName
-        If NewParent Is Nothing Then NewParent = Me.Parent
-        Dim result As New TypeName(NewParent)
-        If Me.IsNonArrayTypeName Then
-            result.Init(Me.AsNonArrayTypeName.clone)
-        ElseIf Me.IsArrayTypeName Then
-            result.Init(Me.AsArrayTypeName.clone)
-        Else
-            Throw New InternalException(Me)
-        End If
-        Return result
-    End Function
-
     ReadOnly Property AsString() As String
         Get
             If TypeOf m_TypeName Is NonArrayTypeName Then Return AsNonArrayTypeName.Name
diff --git a/vbnc/vbnc/source/Types/TypeNameResolutionInfo.vb b/vbnc/vbnc/source/Types/TypeNameResolutionInfo.vb
index e982136..be155f5 100644
--- a/vbnc/vbnc/source/Types/TypeNameResolutionInfo.vb
+++ b/vbnc/vbnc/source/Types/TypeNameResolutionInfo.vb
@@ -366,8 +366,7 @@ Public Class TypeNameResolutionInfo
                 '** exactly one standard module, then the qualified name refers to that type. If R 
                 '** matches the name of types in more than one standard module, a compile-time error occurs.
                 If m_FoundObjects.Count = 0 Then
-                    Return Name.Compiler.Report.ShowMessage(Messages.VBNC99997, Name.Location)
-                    modules = Helper.CreateList(CecilHelper.GetNestedTypes(tp))
+                    Return Name.Compiler.Report.ShowMessage(Messages.VBNC30002, Name.Location, tp.FullName.Replace("/"c, "."c) & "." & R)
                 End If
             Else
                 '**	If resolution of N fails, resolves to a type parameter, or does not resolve to a namespace 
@@ -449,25 +448,18 @@ Public Class TypeNameResolutionInfo
             obj = DirectCast(tp, BaseObject)
 
             'First check if there are nested types with the corresponding name.
-            'Get all the members in the type corresponding to the Name
-            Dim members As Generic.List(Of INameable)
-            members = tp.Members.Declarations.Index.Item(vbnc.Helper.CreateGenericTypename(R, TypeArgumentCount))
-            If members IsNot Nothing Then
-                Dim i As Integer = 0
-                While i <= members.Count - 1
-                    Dim member As INameable = members(i)
-                    'Remove all members that aren't types.
-                    If TypeOf member Is IType = False Then
-                        members.RemoveAt(i)
-                    Else
-                        i += 1
+            Dim nestedName As String = Helper.CreateGenericTypename(R, TypeArgumentCount)
+            Dim nestedType As TypeDefinition = tp.CecilType
+
+            Do
+                For i As Integer = 0 To nestedType.NestedTypes.Count - 1
+                    If Helper.CompareName(nestedType.NestedTypes(i).Name, nestedName) Then
+                        m_FoundObjects.Add(nestedType.NestedTypes(i))
+                        Return True 'There can only be one nested type with the same name
                     End If
-                End While
-                If members.Count > 0 Then
-                    m_FoundObjects.AddRange(members.ToArray)
-                    Return True
-                End If
-            End If
+                Next
+                nestedType = CecilHelper.FindDefinition(nestedType.BaseType)
+            Loop While nestedType IsNot Nothing
 
             'Then check if there are type parameters with the corresponding name
             'in the type (only if the current type is a class or a structure)
diff --git a/vbnc/vbnc/source/Types/TypeParameter.vb b/vbnc/vbnc/source/Types/TypeParameter.vb
index e957c94..71f3271 100644
--- a/vbnc/vbnc/source/Types/TypeParameter.vb
+++ b/vbnc/vbnc/source/Types/TypeParameter.vb
@@ -35,34 +35,38 @@ Public Class TypeParameter
         MyBase.New(Parent)
     End Sub
 
-    Public Overrides Sub Initialize(ByVal Parent As BaseObject)
-        MyBase.Initialize(Parent)
-
-        Helper.Assert(m_Identifier IsNot Nothing)
-
-        If m_CecilBuilder Is Nothing Then
-            Dim p As BaseObject = Me.Parent
-            Dim owner As Mono.Cecil.IGenericParameterProvider = Nothing
-            While p IsNot Nothing AndAlso owner Is Nothing
-                Dim tD As TypeDeclaration = TryCast(p, TypeDeclaration)
-                Dim mD As MethodBaseDeclaration = TryCast(p, MethodBaseDeclaration)
-
-                If tD IsNot Nothing Then
-                    owner = tD.CecilType
-                    Exit While
-                ElseIf mD IsNot Nothing Then
-                    owner = mD.CecilBuilder
-                    Exit While
-                Else
-                    p = p.Parent
-                End If
-            End While
-            Helper.Assert(owner IsNot Nothing)
-            m_CecilBuilder = New Mono.Cecil.GenericParameter(m_Identifier.Identifier, owner)
-            m_CecilBuilder.Annotations.Add(Compiler, Me)
-            owner.GenericParameters.Add(m_CecilBuilder)
-        End If
-    End Sub
+    Public Overrides Function CreateDefinition() As Boolean
+        Dim result As Boolean = True
+
+        result = MyBase.CreateDefinition() AndAlso result
+
+        If m_CecilBuilder IsNot Nothing Then Return result
+
+        Dim p As BaseObject = Me.Parent
+        Dim owner As Mono.Cecil.IGenericParameterProvider = Nothing
+        While p IsNot Nothing AndAlso owner Is Nothing
+            Dim tD As TypeDeclaration = TryCast(p, TypeDeclaration)
+            Dim mD As MethodBaseDeclaration = TryCast(p, MethodBaseDeclaration)
+
+            If tD IsNot Nothing Then
+                owner = tD.CecilType
+                Exit While
+            ElseIf mD IsNot Nothing Then
+                owner = mD.CecilBuilder
+                Exit While
+            Else
+                p = p.Parent
+            End If
+        End While
+
+        Helper.Assert(owner IsNot Nothing)
+
+        m_CecilBuilder = New Mono.Cecil.GenericParameter(m_Identifier.Identifier, owner)
+        m_CecilBuilder.Annotations.Add(Compiler, Me)
+        owner.GenericParameters.Add(m_CecilBuilder)
+
+        Return result
+    End Function
 
     ReadOnly Property CecilBuilder() As Mono.Cecil.GenericParameter
         Get
@@ -70,14 +74,6 @@ Public Class TypeParameter
         End Get
     End Property
 
-    Function Clone(Optional ByVal NewParent As ParsedObject = Nothing) As TypeParameter
-        If NewParent Is Nothing Then NewParent = Me.Parent
-        Dim result As New TypeParameter(NewParent)
-        result.m_Identifier = m_Identifier
-        If m_TypeParameterConstraints IsNot Nothing Then result.m_TypeParameterConstraints = m_TypeParameterConstraints.Clone(result)
-        Return result
-    End Function
-
     Shared Function Clone(ByVal Builder As Mono.Cecil.GenericParameter, ByVal Owner As Mono.Cecil.IGenericParameterProvider, ByVal Position As Integer) As Mono.Cecil.GenericParameter
         Dim result As New Mono.Cecil.GenericParameter(Builder.Name, Owner)
 
@@ -214,5 +210,4 @@ Public Class TypeParameter
         m_CecilBuilder.Attributes = CType(attributes, Mono.Cecil.GenericParameterAttributes)
         Return result
     End Function
-
 End Class
diff --git a/vbnc/vbnc/source/Types/TypeParameterConstraints.vb b/vbnc/vbnc/source/Types/TypeParameterConstraints.vb
index a29d600..6dabd96 100644
--- a/vbnc/vbnc/source/Types/TypeParameterConstraints.vb
+++ b/vbnc/vbnc/source/Types/TypeParameterConstraints.vb
@@ -52,13 +52,6 @@ Public Class TypeParameterConstraints
         Return result
     End Function
 
-    Function Clone(Optional ByVal NewParent As ParsedObject = Nothing) As TypeParameterConstraints
-        If NewParent Is Nothing Then NewParent = Me.Parent
-        Dim result As New TypeParameterConstraints(NewParent)
-        result.Init(m_ConstraintList.clone(result))
-        Return result
-    End Function
-
     ReadOnly Property Constraints() As ConstraintList
         Get
             Return m_Constraintlist
diff --git a/vbnc/vbnc/source/Types/TypeParameterList.vb b/vbnc/vbnc/source/Types/TypeParameterList.vb
index 29d33ad..67941a3 100644
--- a/vbnc/vbnc/source/Types/TypeParameterList.vb
+++ b/vbnc/vbnc/source/Types/TypeParameterList.vb
@@ -44,13 +44,4 @@ Public Class TypeParameterList
 
         Return result
     End Function
-
-    Function Clone(Optional ByVal NewParent As ParsedObject = Nothing) As TypeParameterList
-        If NewParent Is Nothing Then NewParent = Me.Parent
-        Dim result As New TypeParameterList(NewParent)
-        For Each item As TypeParameter In Me
-            result.Add(item.clone(result))
-        Next
-        Return result
-    End Function
 End Class
diff --git a/vbnc/vbnc/source/Types/TypeParameters.vb b/vbnc/vbnc/source/Types/TypeParameters.vb
index 23ac3cd..0598201 100644
--- a/vbnc/vbnc/source/Types/TypeParameters.vb
+++ b/vbnc/vbnc/source/Types/TypeParameters.vb
@@ -27,11 +27,9 @@ Public Class TypeParameters
 
     Private m_TypeParameters As New TypeParameterList(Me)
 
-    Function Clone() As TypeParameters
-        Dim result As New TypeParameters()
-        result.Parameters.AddRange(m_TypeParameters.Clone())
-        Return result
-    End Function
+    Sub New(ByVal Parent As ParsedObject)
+        MyBase.New(Parent)
+    End Sub
 
     ReadOnly Property Parameters() As TypeParameterList
         Get
@@ -51,9 +49,12 @@ Public Class TypeParameters
         Return tm.CurrentToken = KS.LParenthesis AndAlso tm.PeekToken = KS.Of
     End Function
 
-    Public Overrides Sub Initialize(ByVal Parent As BaseObject)
-        MyBase.Initialize(Parent)
+    Public Overrides Function CreateDefinition() As Boolean
+        Dim result As Boolean = True
 
-        m_TypeParameters.Initialize(Me)
-    End Sub
+        result = MyBase.CreateDefinition AndAlso result
+        result = m_TypeParameters.CreateDefinition() AndAlso result
+
+        Return result
+    End Function
 End Class
diff --git a/vbnc/vbnc/source/vbnc.vbproj b/vbnc/vbnc/source/vbnc.vbproj
index 2e6b7e7..ef6ea67 100755
--- a/vbnc/vbnc/source/vbnc.vbproj
+++ b/vbnc/vbnc/source/vbnc.vbproj
@@ -33,7 +33,7 @@
     <UpgradeBackupLocation>
     </UpgradeBackupLocation>
     <OptionStrict>On</OptionStrict>
-    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>
+    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
     <PublishUrl>http://localhost/vbnc</PublishUrl>
     <Install>true</Install>
     <InstallFrom>Web</InstallFrom>
@@ -48,6 +48,7 @@
     <ApplicationVersion>0.0.0.0</ApplicationVersion>
     <UseApplicationTrust>false</UseApplicationTrust>
     <BootstrapperEnabled>true</BootstrapperEnabled>
+    <TargetFrameworkProfile />
   </PropertyGroup>
   <PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
     <OutputPath>..\bin\</OutputPath>
@@ -175,6 +176,7 @@
     <Compile Include="Expressions\Classifications\VariableClassification.vb" />
     <Compile Include="Expressions\Classifications\VoidClassification.vb" />
     <Compile Include="Expressions\CompilerGeneratedExpression.vb" />
+    <Compile Include="Expressions\Conversions\ConversionType.vb" />
     <Compile Include="Expressions\IfExpression.vb" />
     <Compile Include="Expressions\LateBoundAccessToExpression.vb" />
     <Compile Include="Expressions\LateBoundAccessToPropertyAccessExpression.vb" />
@@ -201,6 +203,7 @@
     <Compile Include="General\NamespaceDictionary.vb" />
     <Compile Include="General\TypeDictionary.vb" />
     <Compile Include="General\TypeList.vb" />
+    <Compile Include="General\Version.vb" />
     <Compile Include="Infos\ExpressionResolveInfo.vb" />
     <Compile Include="Interfaces\IHasImplicitMembers.vb" />
     <Compile Include="Interfaces\IHasImplicitTypes.vb" />
@@ -228,9 +231,7 @@
     <Compile Include="Interfaces\IAttributableDeclaration.vb" />
     <Compile Include="Interfaces\IAttributableNamedDeclaration.vb" />
     <Compile Include="Interfaces\IBaseObject.vb" />
-    <Compile Include="Interfaces\IDefinableType.vb" />
     <Compile Include="Interfaces\IEmittable.vb" />
-    <Compile Include="Interfaces\IDefinableMember.vb" />
     <Compile Include="Interfaces\IMember.vb" />
     <Compile Include="Interfaces\IMethod.vb" />
     <Compile Include="Interfaces\INameable.vb" />
@@ -514,9 +515,12 @@
     <Compile Include="Types\TypeParameters.vb" />
     <Compile Include="General\TypeResolution.vb" />
     <Compile Include="Expressions\Classifications\ExpressionClassification.Classifications.vb" />
-    <EmbeddedResource Include="Resources\Errors.resx" />
+    <EmbeddedResource Include="Resources\Errors.resx">
+      <SubType>Designer</SubType>
+    </EmbeddedResource>
     <EmbeddedResource Include="vbnc.rsp" />
     <Content Include="Notes.txt" />
+    <None Include="app.config" />
     <None Include="General\TypeCache.in" />
     <None Include="Resources\Source.xml">
       <SubType>Designer</SubType>
diff --git a/vbnc/vbnc/tests/1Declarations/ParamArray1.vb b/vbnc/vbnc/tests/1Declarations/ParamArray1.vb
index d9c51a3..0b11b8b 100644
--- a/vbnc/vbnc/tests/1Declarations/ParamArray1.vb
+++ b/vbnc/vbnc/tests/1Declarations/ParamArray1.vb
@@ -5,4 +5,8 @@ Class ParamArray1
     Sub Test2(ByVal OtherParam As String, ByVal ParamArray Values() As Date)
 
     End Sub
-End Class
\ No newline at end of file
+    Sub Test3(ByVal a As Object, ByVal ParamArray b() As Object)
+        Test3("")
+    End Sub
+End Class
+
diff --git a/vbnc/vbnc/tests/Bugs/bug-2087.vb b/vbnc/vbnc/tests/Bugs/bug-2087.vb
new file mode 100644
index 0000000..ff73742
--- /dev/null
+++ b/vbnc/vbnc/tests/Bugs/bug-2087.vb
@@ -0,0 +1,17 @@
+Imports System
+
+Public Class Base
+
+    Public Sub New(ByVal param As Integer)
+    End Sub
+
+End Class
+
+Public Class D
+    Inherits Base
+
+    Public Sub New(ByVal newParam As Integer)
+        MyBase.New(p)
+        Dim p As Integer = newParam
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Bugs/bug-3769.vb b/vbnc/vbnc/tests/Bugs/bug-3769.vb
new file mode 100644
index 0000000..2caec99
--- /dev/null
+++ b/vbnc/vbnc/tests/Bugs/bug-3769.vb
@@ -0,0 +1,12 @@
+Option Explicit On
+Option Strict On
+Option Compare Binary
+REM Option Infer Off
+
+Public Class Test1
+    Public Shared Sub Main()
+        a = 3
+        Dim a As Integer
+        System.Console.WriteLine(a)
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Bugs/bug-433952.vb b/vbnc/vbnc/tests/Bugs/bug-433952.vb
new file mode 100644
index 0000000..5493464
--- /dev/null
+++ b/vbnc/vbnc/tests/Bugs/bug-433952.vb
@@ -0,0 +1,6 @@
+Class C
+    Shared Sub Main()
+        Dim d As Double = 1
+        System.Threading.Thread.Sleep(d)
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Bugs/bug-434288.vb b/vbnc/vbnc/tests/Bugs/bug-434288.vb
new file mode 100644
index 0000000..587b876
--- /dev/null
+++ b/vbnc/vbnc/tests/Bugs/bug-434288.vb
@@ -0,0 +1,19 @@
+Imports FooSpace
+
+Namespace MySpace
+    Public Class SomeClass
+        Inherits FooBase
+
+        Dim i As FooInternal ' Erorr's here
+
+    End Class
+End Namespace
+
+Namespace FooSpace
+    Public Class FooBase
+        Public Class FooInternal
+            '
+        End Class
+    End Class
+End Namespace
+
diff --git a/vbnc/vbnc/tests/Bugs/bug-438669.vb b/vbnc/vbnc/tests/Bugs/bug-438669.vb
new file mode 100644
index 0000000..a41b901
--- /dev/null
+++ b/vbnc/vbnc/tests/Bugs/bug-438669.vb
@@ -0,0 +1,20 @@
+Class C
+    Shared Sub Main()
+    End Sub
+    ReadOnly Property P(Optional ByVal arg As Integer = -1)
+        Get
+        End Get
+    End Property
+    Property Q(Optional ByVal arg As Integer = -1)
+        Get
+        End Get
+        Set(ByVal value)
+
+        End Set
+    End Property
+    WriteOnly Property R(Optional ByVal arg As Integer = -1)
+        Set(ByVal value)
+        End Set
+    End Property
+
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Bugs/bug-438672.vb b/vbnc/vbnc/tests/Bugs/bug-438672.vb
new file mode 100644
index 0000000..20d8289
--- /dev/null
+++ b/vbnc/vbnc/tests/Bugs/bug-438672.vb
@@ -0,0 +1,38 @@
+Class c
+    Const b As Byte = CType(2UL, Byte)
+    Const sb As SByte = CType(2UL, SByte)
+    Const s As Short = CType(2UL, Short)
+    Const us As UShort = CType(2UL, UShort)
+    Const i As Integer = CType(2UL, Integer)
+    Const ui As UInteger = CType(2UL, UInteger)
+    Const l As Long = CType(2UL, Long)
+    Const ul As ULong = CType(2D, ULong)
+    Const sng As Single = CType(2.0, Single)
+    Const dbl As Double = CType(2D, Double)
+    Const dec As Decimal = CType(1, Decimal)
+    Const dt As Date = CType(#12:00:00 AM#, Date)
+    Const chr As Char = CType("a", Char)
+    Const str As String = CType("bb", String)
+    Const boo As Boolean = CType(True, Boolean)
+
+    Shared Sub main()
+    End Sub
+End Class
+
+Class c2
+    Const b As Byte = CType(Nothing, Byte)
+    Const sb As SByte = CType(Nothing, SByte)
+    Const s As Short = CType(Nothing, Short)
+    Const us As UShort = CType(Nothing, UShort)
+    Const i As Integer = CType(Nothing, Integer)
+    Const ui As UInteger = CType(Nothing, UInteger)
+    Const l As Long = CType(Nothing, Long)
+    Const ul As ULong = CType(Nothing, ULong)
+    Const sng As Single = CType(Nothing, Single)
+    Const dbl As Double = CType(Nothing, Double)
+    Const dec As Decimal = CType(Nothing, Decimal)
+    Const dt As Date = CType(Nothing, Date)
+    Const chr As Char = CType(Nothing, Char)
+    Const str As String = CType(Nothing, String)
+    Const boo As Boolean = CType(Nothing, Boolean)
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Bugs/bug-5630.vb b/vbnc/vbnc/tests/Bugs/bug-5630.vb
new file mode 100644
index 0000000..0387b50
--- /dev/null
+++ b/vbnc/vbnc/tests/Bugs/bug-5630.vb
@@ -0,0 +1,23 @@
+Module Module1
+
+    Public Class Test
+
+        Public Ambiguous As Integer
+
+        Public Class NestedTest
+
+            Public Function Impossible() As Integer
+
+                Return Ambiguous
+            End Function
+        End Class
+    End Class
+
+    Sub Main()
+
+        Dim instance As New Test.NestedTest
+        Dim x As Integer = instance.Impossible
+        'Runtime error:
+        'Unhandled Exception: System.InvalidProgramException: Invalid IL code in ConsoleApplication1.Module1/Test/NestedTest:Impossible (): IL_0001: ldfld   0:      x04000001()
+    End Sub
+End Module
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Bugs/bug-656602.vb b/vbnc/vbnc/tests/Bugs/bug-656602.vb
new file mode 100644
index 0000000..209d67b
--- /dev/null
+++ b/vbnc/vbnc/tests/Bugs/bug-656602.vb
@@ -0,0 +1,8 @@
+Option Explicit On
+Option Strict On
+
+Class X
+    Public Shared Sub Main()
+        Dim x As Integer = "5"
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Bugs/bug-674365.vb b/vbnc/vbnc/tests/Bugs/bug-674365.vb
new file mode 100644
index 0000000..aaa5d81
--- /dev/null
+++ b/vbnc/vbnc/tests/Bugs/bug-674365.vb
@@ -0,0 +1,8 @@
+Class C
+    Shared Sub Main()
+        System.Console.WriteLine(“abc”)
+        'System.Console.WriteLine("”")
+        System.Console.WriteLine("””")
+        System.Console.WriteLine(““"”)
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Bugs/bug-680380.vb b/vbnc/vbnc/tests/Bugs/bug-680380.vb
new file mode 100644
index 0000000..ad97ac5
--- /dev/null
+++ b/vbnc/vbnc/tests/Bugs/bug-680380.vb
@@ -0,0 +1,9 @@
+Public Module MyMod
+
+    Public Sub Main()
+    End Sub
+
+    Public Sub Foo(<System.Runtime.InteropServices.Out()> ByRef i As Integer)
+    End Sub
+
+End Module
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Bugs/bug-7616.vb b/vbnc/vbnc/tests/Bugs/bug-7616.vb
new file mode 100644
index 0000000..41f25ed
--- /dev/null
+++ b/vbnc/vbnc/tests/Bugs/bug-7616.vb
@@ -0,0 +1,10 @@
+Class B7616
+    Sub Test()
+        Select Case 1
+            Case 1
+            Case Else
+            Case 2
+            Case Else
+        End Select
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Bugs/bug-7646.vb b/vbnc/vbnc/tests/Bugs/bug-7646.vb
new file mode 100644
index 0000000..f3a6a99
--- /dev/null
+++ b/vbnc/vbnc/tests/Bugs/bug-7646.vb
@@ -0,0 +1,18 @@
+Module Module1
+    Function Main() As Integer
+        On Error GoTo HandleErrors
+
+        Console.WriteLine("Throwing exception")
+        Throw New Exception()
+
+ExitHere:
+        Console.WriteLine("In resume label")
+        Return 0
+
+HandleErrors:
+        Console.WriteLine("In error handler")
+        Resume ExitHere
+
+        Return 1
+    End Function
+End Module
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/CompileTime/StaticVariable6.vb b/vbnc/vbnc/tests/CompileTime/StaticVariable6.vb
new file mode 100644
index 0000000..8c3b5d7
--- /dev/null
+++ b/vbnc/vbnc/tests/CompileTime/StaticVariable6.vb
@@ -0,0 +1,11 @@
+Class T
+    Sub New(ByVal foo As Object)
+
+    End Sub
+
+    Public ReadOnly Property P As Object
+        Get
+            Static res As New T("foo")
+        End Get
+    End Property
+End Class
diff --git a/vbnc/vbnc/tests/CompileTime2/ByRef6.vb b/vbnc/vbnc/tests/CompileTime2/ByRef6.vb
index 56b3ef1..b1f5d18 100644
--- a/vbnc/vbnc/tests/CompileTime2/ByRef6.vb
+++ b/vbnc/vbnc/tests/CompileTime2/ByRef6.vb
@@ -21,6 +21,15 @@ Namespace ByRef6
         End Property
 
         Shared Function Main() As Integer
+            Try
+                Return Main2
+            Catch ex As Exception
+                Console.WriteLine(ex)
+                Return 1
+            End Try
+        End Function
+
+        Shared Function Main2() As Integer
             Console.WriteLine(String.Format("Pushed stack type ({1} left on the stack): {0,-30} Stack now: {2}", Type.ToString, Count.ToString, StackState))
             Return 0
         End Function
diff --git a/vbnc/vbnc/tests/CompileTime2/DictionaryAccessExpression.vb b/vbnc/vbnc/tests/CompileTime2/DictionaryAccessExpression.vb
new file mode 100644
index 0000000..4c426a8
--- /dev/null
+++ b/vbnc/vbnc/tests/CompileTime2/DictionaryAccessExpression.vb
@@ -0,0 +1,24 @@
+Option Strict Off
+
+Imports System.Data
+Class R
+    Shared Function Main() As Integer
+        Dim result As Integer
+        Dim a As New a
+
+        If Not a!foo Then
+            Console.WriteLine("a failed")
+            result += 1
+        End If
+
+        Return result
+    End Function
+End Class
+
+Class A
+    Default ReadOnly Property I(ByVal a As Integer) As Boolean
+        Get
+            Return False
+        End Get
+    End Property
+End Class
diff --git a/vbnc/vbnc/tests/CompileTime2/DictionaryAccessExpressionStrict.vb b/vbnc/vbnc/tests/CompileTime2/DictionaryAccessExpressionStrict.vb
new file mode 100644
index 0000000..a96d7d6
--- /dev/null
+++ b/vbnc/vbnc/tests/CompileTime2/DictionaryAccessExpressionStrict.vb
@@ -0,0 +1,61 @@
+Option Strict On
+Imports System.Data
+Class R
+    Shared Function Main() As Integer
+        Dim result As Integer
+        Dim a As New a
+        Dim b As New b
+        Dim c As New c
+
+        If Not a!foo Then
+            Console.WriteLine("a failed")
+            result += 1
+        End If
+
+        If Not b!foo Then
+            Console.WriteLine("b failed")
+            result += 1
+        End If
+
+        If Not c!foo Then
+            Console.WriteLine("c failed")
+            result += 1
+        End If
+
+        Return result
+    End Function
+End Class
+
+Class A
+    Default ReadOnly Property I(ByVal a As Integer) As Boolean
+        Get
+            Return False
+        End Get
+    End Property
+    Default ReadOnly Property I(ByVal a As String) As Boolean
+        Get
+            Return True
+        End Get
+    End Property
+End Class
+
+Class B
+    Default ReadOnly Property I(ByVal a As Object) As Boolean
+        Get
+            Return True
+        End Get
+    End Property
+End Class
+
+Class C
+    Default ReadOnly Property I(ByVal a As Object) As Boolean
+        Get
+            Return False
+        End Get
+    End Property
+    Default ReadOnly Property I(ByVal a As String) As Boolean
+        Get
+            Return True
+        End Get
+    End Property
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/CompileTime2/DoLoopWhile2.vb b/vbnc/vbnc/tests/CompileTime2/DoLoopWhile2.vb
new file mode 100644
index 0000000..8e3a2b5
--- /dev/null
+++ b/vbnc/vbnc/tests/CompileTime2/DoLoopWhile2.vb
@@ -0,0 +1,26 @@
+Imports System
+Imports System.Web.UI.WebControls
+
+Public Class D
+    Shared counter As Integer
+    Shared looped As Integer
+
+    Public Shared Function Main() As Integer
+        console.writeline("main")
+        counter += 1
+        If counter > 1 Then
+            console.writeline("failed")
+            Return 1
+        End If
+        Console.WriteLine("test")
+
+        Do
+            looped += 1
+            If looped > counter Then
+                console.writeline("done")
+                Return 0
+            End If
+            Continue Do
+        Loop
+    End Function
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/CompileTime2/Enum.vb b/vbnc/vbnc/tests/CompileTime2/Enum.vb
new file mode 100644
index 0000000..6e7e0af
--- /dev/null
+++ b/vbnc/vbnc/tests/CompileTime2/Enum.vb
@@ -0,0 +1,81 @@
+Imports S = System
+
+Enum E1
+    e
+End Enum
+
+Enum B1 As Byte
+    e
+End Enum
+Enum SB1 As SByte
+    e
+End Enum
+Enum S1 As Short
+    e
+End Enum
+Enum US1 As UShort
+    e
+End Enum
+Enum I1 As Integer
+    e
+End Enum
+Enum UI1 As UInteger
+    e
+End Enum
+Enum L1 As Long
+    e
+End Enum
+Enum UL1 As ULong
+    e
+End Enum
+
+Enum B2 As System.Byte
+    e
+End Enum
+Enum SB2 As System.SByte
+    e
+End Enum
+Enum S2 As System.Int16
+    e
+End Enum
+Enum US2 As System.UInt16
+    e
+End Enum
+Enum I2 As System.Int32
+    e
+End Enum
+Enum UI2 As System.UInt32
+    e
+End Enum
+Enum L2 As System.Int64
+    e
+End Enum
+Enum UL2 As System.UInt64
+    e
+End Enum
+
+Enum B3 As S.Byte
+    e
+End Enum
+Enum SB3 As S.SByte
+    e
+End Enum
+Enum S3 As S.Int16
+    e
+End Enum
+Enum US3 As S.UInt16
+    e
+End Enum
+Enum I3 As S.Int32
+    e
+End Enum
+Enum UI3 As S.UInt32
+    e
+End Enum
+Enum L3 As S.Int64
+    e
+End Enum
+Enum UL3 As S.UInt64
+    e
+End Enum
+
diff --git a/vbnc/vbnc/tests/CompileTime2/Enum6.vb b/vbnc/vbnc/tests/CompileTime2/Enum6.vb
new file mode 100644
index 0000000..487c4d1
--- /dev/null
+++ b/vbnc/vbnc/tests/CompileTime2/Enum6.vb
@@ -0,0 +1,61 @@
+Option Strict On
+Class E
+    Sub Test()
+        Dim b As Byte
+        Dim sb As SByte
+        Dim s As Short
+        Dim us As UShort
+        Dim i As Integer
+        Dim ui As UInteger
+        Dim l As Long
+        Dim ul As ULong
+
+        Dim eb As b
+        Dim esb As sb
+        Dim es As s
+        Dim eus As us
+        Dim ei As i
+        Dim eui As ui
+        Dim el As l
+        Dim eul As ul
+
+        b = eb
+        b = Not eb
+        b = eb And (+eb) Or eb
+        b = eb Or eb
+        b = eb And eb
+        b = eb And (Not eb) Or eb
+        eb = eb And (Not eb) Or eb
+
+        eus = eus.a And (Not (eus.b Or eus.c))
+        Dim eus2 As us = eus.a And (Not (eus.b Or eus.c))
+
+    End Sub
+End Class
+
+Enum B As Byte
+    a
+End Enum
+Enum SB As SByte
+    a
+End Enum
+Enum S As Short
+    a
+End Enum
+Enum US As UShort
+    a
+    b
+    c
+End Enum
+Enum I As Integer
+    a
+End Enum
+Enum UI As UInteger
+    a
+End Enum
+Enum L As Long
+    a
+End Enum
+Enum UL As ULong
+    a
+End Enum
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/CompileTime2/ForEach.vb b/vbnc/vbnc/tests/CompileTime2/ForEach.vb
index 0ca7813..8d1a0e4 100644
--- a/vbnc/vbnc/tests/CompileTime2/ForEach.vb
+++ b/vbnc/vbnc/tests/CompileTime2/ForEach.vb
@@ -1,7 +1,7 @@
 Module ForEach
     Public Function test()
-        For Each item In
-            {0, 1, 2}
+        For Each item As Integer In
+             New Integer() {0, 1, 2}
 
         Next item
         Return 0
diff --git a/vbnc/vbnc/tests/CompileTime2/ImplicitLineContinuations.vb b/vbnc/vbnc/tests/CompileTime2/ImplicitLineContinuations.vb
new file mode 100644
index 0000000..a739e3c
--- /dev/null
+++ b/vbnc/vbnc/tests/CompileTime2/ImplicitLineContinuations.vb
@@ -0,0 +1,274 @@
+Imports System.Reflection
+
+<Assembly: A("4.3.2.1")> 
+<
+Assembly: A("en")> 
+<Assembly: A("4.3.2.1")
+> 
+<
+Assembly: A("4.3.2.1")
+> 
+
+<Assembly: A(b:=
+"b", a:=
+"a")> 
+
+Namespace Attributes
+    <Obsolete("C")>
+    Class Obs
+        <Obsolete("S")>
+        Sub S()
+        End Sub
+
+        <Obsolete("F")>
+        Function F() As Integer
+        End Function
+
+        <Obsolete("P")>
+        Property P As Object
+            <Obsolete("PG")>
+            Get
+            End Get
+            <Obsolete("PS")>
+            Set(ByVal value As Object)
+            End Set
+        End Property
+
+        <Obsolete("D")>
+        Delegate Sub D()
+
+        <obsolete("NE")>
+        Enum E
+            a
+        End Enum
+
+        <Obsolete("NS")>
+        Structure NS
+            Dim i As Integer
+        End Structure
+    End Class
+    <
+    Obsolete("s2")
+    >
+    Class S2
+
+    End Class
+End Namespace
+
+Namespace AfterComma
+    Module Comma
+        <A("",
+            "")>
+        Public Function test1(ByVal x As Integer,
+                          ByVal y As Object, ByVal z As Object)
+            Return 1
+        End Function
+        Sub S(ByVal a As Integer,
+              ByVal b As Short)
+            Dim i,
+                j As Integer(,
+                    )
+            test1(3,
+                  4, 6)
+            j(2,
+                3) = 2
+        End Sub
+    End Module
+End Namespace
+
+Namespace Parenthesis
+    Module Parenthesis
+        <A(
+            "")>
+        Public Function test2(
+                         ByVal x As Integer, ByVal y As Object, ByVal z As Object)
+            Return 1
+        End Function
+        Public Function A(
+                         ByVal x As Integer(
+                                     ),
+                                 ByVal y As Integer) As Short
+            Dim i(,
+                  ) As Integer
+            test2(
+                1, 2, 3)
+            test2(
+                1, i(
+                    1, 2), 4)
+            ReDim i(
+                3, 4)
+
+        End Function
+        Sub S(
+             )
+        End Sub
+        Delegate Sub D(
+                      )
+
+        Sub S(ByVal i As Integer
+            )
+        End Sub
+    End Module
+End Namespace
+
+Namespace Braces
+    Module Braces
+        Dim i As Integer() = {
+            1, 2}
+        Dim j As Integer(,) = {
+            {
+                1,
+                2},
+     {
+  1, 2}}
+    End Module
+End Namespace
+
+Class AfterMemberQualifier
+    Class A
+        Implements AfterMemberQualifier.
+            I
+    End Class
+    Class B
+        Inherits AfterMemberQualifier.
+            A
+    End Class
+    Interface I
+
+    End Interface
+    Interface I2
+        Inherits AfterMemberQualifier.
+            I
+    End Interface
+    Structure S
+        Dim i As AfterMemberQualifier.
+            I2
+    End Structure
+    Enum E As System.
+        Byte
+        e
+    End Enum
+    Delegate Sub D(ByVal i As Global.
+                   system.
+                   int32)
+    Sub M()
+        Dim i As system.
+            int32
+        Dim e As Object = aftermemberqualifier.
+            E.
+            e
+    End Sub
+End Class
+
+Class BinaryOperators
+    Dim i As Integer = 1 +
+        2 -
+        3 *
+        4 /
+        5 \
+        6 Mod
+        7 And
+        8 Or
+        9 Xor
+        10 ^
+        1 &
+        2 >>
+        3 <<
+        4 =
+        5 >
+        6 <
+        7 <=
+        8 >=
+        9 <>
+        10 Like
+        3 AndAlso
+        4 OrElse
+        5
+    Dim i2 As Boolean = "" Is
+        "?"
+    Dim i3 As Boolean = "?" IsNot
+        "!"
+End Class
+
+Class AssignmentOperators
+    Dim i As Integer = 2
+    Const c As Integer =
+        3
+    Sub S()
+        Dim k As Integer
+        k =
+            1
+        k +=
+            2
+        k -=
+            3
+        k /=
+            4
+        k \=
+            5
+        k <<=
+            6
+        k >>=
+            7
+        k ^=
+            8
+        k &=
+            9
+
+        S2(b:=
+            2, a:=
+            1)
+        For i As Integer =
+            2 To 3
+        Next
+    End Sub
+    Sub S2(ByVal a As Integer, ByVal b As Integer)
+    End Sub
+    Sub S3(Optional ByVal a As Integer =
+           3)
+        Dim i As Integer =
+            3
+    End Sub
+End Class
+
+Public Class Misc
+    Sub S()
+        Dim o As Object
+        Dim b As Boolean
+        Dim i As Integer
+
+        b = TypeOf o Is
+            Object
+        b = o Is
+            o
+        b = o IsNot
+            o
+
+        Select Case i
+            Case Is
+                = 2
+            Case Is
+                =
+                3
+            Case =
+3
+        End Select
+
+    End Sub
+End Class
+
+<AttributeUsage(System.AttributeTargets.All, AllowMultiple:=True)>
+Class AAttribute
+    Inherits System.Attribute
+    Public a As String
+    Public b As String
+    Sub New()
+    End Sub
+
+    Sub New(ByVal a As String)
+    End Sub
+
+    Sub New(ByVal a As String, ByVal b As String)
+    End Sub
+End Class
+
diff --git a/vbnc/vbnc/tests/CompileTime2/MethodOverloads.vb b/vbnc/vbnc/tests/CompileTime2/MethodOverloads.vb
new file mode 100644
index 0000000..e9bc460
--- /dev/null
+++ b/vbnc/vbnc/tests/CompileTime2/MethodOverloads.vb
@@ -0,0 +1,8 @@
+Option Strict Off
+Class C1
+    Sub A()
+        Dim s() As String
+        Dim e As String
+        e = Microsoft.VisualBasic.Join(s, Microsoft.VisualBasic.vbNewLine)
+    End Sub
+End Class
diff --git a/vbnc/vbnc/tests/CompileTime2/MethodOverloadsStrict.vb b/vbnc/vbnc/tests/CompileTime2/MethodOverloadsStrict.vb
new file mode 100644
index 0000000..c37269f
--- /dev/null
+++ b/vbnc/vbnc/tests/CompileTime2/MethodOverloadsStrict.vb
@@ -0,0 +1,43 @@
+Option Strict On
+Class C1
+    Sub F()
+        Math.Round(2.2, 0)
+    End Sub
+
+    Sub E()
+        Dim s() As String
+        Dim e As String
+        e = Microsoft.VisualBasic.Join(s, Microsoft.VisualBasic.vbNewLine)
+    End Sub
+
+    Sub D()
+        Dim D() As Derived
+        Dim I1 As System.Collections.Generic.IList(Of Base) = D
+        Dim E1 As System.Collections.Generic.IEnumerable(Of Base) = D
+        Dim C1 As System.Collections.Generic.ICollection(Of Base) = D
+    End Sub
+
+    Sub C(ByVal lst As system.collections.generic.Ilist(Of Base))
+        Dim l As system.collections.generic.list(Of derived)
+        C(l)
+    End Sub
+    Sub C(ByVal lst As system.collections.generic.Ilist(Of Derived))
+    End Sub
+
+    Sub B()
+        Console.WriteLine(1)
+    End Sub
+
+    Sub A()
+        Dim d1? As Decimal
+        Dim d2? As Decimal
+        Dim b As Boolean = Decimal.Equals(d1, d2)
+    End Sub
+
+End Class
+
+Class Base
+End Class
+Class Derived
+    Inherits Base
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/CompileTime2/NestedDeclarations2.vb b/vbnc/vbnc/tests/CompileTime2/NestedDeclarations2.vb
new file mode 100755
index 0000000..24bc3e1
--- /dev/null
+++ b/vbnc/vbnc/tests/CompileTime2/NestedDeclarations2.vb
@@ -0,0 +1,10 @@
+Public Class C
+    Public Class B
+    End Class
+End Class
+Public Class A
+    Inherits C
+
+    Function F() As A.B
+    End Function
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/CompileTime2/NestedType4.vb b/vbnc/vbnc/tests/CompileTime2/NestedType4.vb
new file mode 100644
index 0000000..2744204
--- /dev/null
+++ b/vbnc/vbnc/tests/CompileTime2/NestedType4.vb
@@ -0,0 +1,16 @@
+Class T
+    Shared Function F() As D.BC
+
+    End Function
+End Class
+
+Class D
+    Inherits B
+
+End Class
+
+Class B
+    Public Class BC
+
+    End Class
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/CompileTime2/Nullable5.vb b/vbnc/vbnc/tests/CompileTime2/Nullable5.vb
new file mode 100644
index 0000000..b91ec40
--- /dev/null
+++ b/vbnc/vbnc/tests/CompileTime2/Nullable5.vb
@@ -0,0 +1,8 @@
+Class Nullable5
+    Sub Main()
+        Dim a? As Integer
+        Dim b? As Integer
+
+        If a = b Then Return
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/CompileTime2/OperatorIntrinsic.vb b/vbnc/vbnc/tests/CompileTime2/OperatorIntrinsic.vb
new file mode 100644
index 0000000..6d6efd8
--- /dev/null
+++ b/vbnc/vbnc/tests/CompileTime2/OperatorIntrinsic.vb
@@ -0,0 +1,81 @@
+Class IntrinsicOperatorTests
+    Public Shared expected_tc As System.TypeCode
+    Public Shared bool As Boolean = True
+    Public Shared b As Byte = 1
+    Public Shared sb As SByte = 1
+    Public Shared s As Short = 1
+    Public Shared us As UShort = 1
+    Public Shared i As Integer = 1
+    Public Shared ui As UInteger = 1
+    Public Shared l As Long = 1
+    Public Shared ul As ULong = 1
+    Public Shared dec As Decimal = 1
+    Public Shared sng As Single = 1
+    Public Shared dbl As Double = 1
+    Public Shared chr As Char = "1"c
+    Public Shared str As String = "1"
+    Public Shared dt As Date
+    Public Shared dbnull As System.DBNull
+    Public Shared obj As Object
+
+    Public Shared Failures As Integer
+
+    Shared Sub Verify(ByVal real_tc As System.TypeCode, ByVal msg As String)
+        If real_tc = expected_tc Then Return
+
+        failures += 1
+        Console.WriteLine("{2}: Expected {0} got {1}", expected_tc, real_tc, msg)
+    End Sub
+
+    Shared Sub M(ByVal v As Boolean, ByVal msg As String)
+        Verify(TypeCode.Boolean, msg)
+    End Sub
+    Shared Sub M(ByVal v As Byte, ByVal msg As String)
+        Verify(TypeCode.Byte, msg)
+    End Sub
+    Shared Sub M(ByVal v As SByte, ByVal msg As String)
+        Verify(TypeCode.SByte, msg)
+    End Sub
+    Shared Sub M(ByVal v As Short, ByVal msg As String)
+        Verify(TypeCode.Int16, msg)
+    End Sub
+    Shared Sub M(ByVal v As UShort, ByVal msg As String)
+        Verify(TypeCode.UInt16, msg)
+    End Sub
+    Shared Sub M(ByVal v As Integer, ByVal msg As String)
+        Verify(TypeCode.Int32, msg)
+    End Sub
+    Shared Sub M(ByVal v As UInteger, ByVal msg As String)
+        Verify(TypeCode.UInt32, msg)
+    End Sub
+    Shared Sub M(ByVal v As Long, ByVal msg As String)
+        Verify(TypeCode.Int64, msg)
+    End Sub
+    Shared Sub M(ByVal v As ULong, ByVal msg As String)
+        Verify(TypeCode.UInt64, msg)
+    End Sub
+    Shared Sub M(ByVal v As Decimal, ByVal msg As String)
+        Verify(TypeCode.Decimal, msg)
+    End Sub
+    Shared Sub M(ByVal v As Single, ByVal msg As String)
+        Verify(TypeCode.Single, msg)
+    End Sub
+    Shared Sub M(ByVal v As Double, ByVal msg As String)
+        Verify(TypeCode.Double, msg)
+    End Sub
+    Shared Sub M(ByVal v As Char, ByVal msg As String)
+        Verify(TypeCode.Char, msg)
+    End Sub
+    Shared Sub M(ByVal v As String, ByVal msg As String)
+        Verify(TypeCode.String, msg)
+    End Sub
+    Shared Sub M(ByVal v As Date, ByVal msg As String)
+        Verify(TypeCode.DateTime, msg)
+    End Sub
+    Shared Sub M(ByVal v As System.DBNull, ByVal msg As String)
+        Verify(TypeCode.DBNull, msg)
+    End Sub
+    Shared Sub M(ByVal v As Object, ByVal msg As String)
+        Verify(TypeCode.Object, msg)
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/CompileTime2/OperatorIntrinsicAnd.vb b/vbnc/vbnc/tests/CompileTime2/OperatorIntrinsicAnd.vb
new file mode 100644
index 0000000..e105548
--- /dev/null
+++ b/vbnc/vbnc/tests/CompileTime2/OperatorIntrinsicAnd.vb
@@ -0,0 +1,975 @@
+Class BinaryOperatorAnd
+    Inherits IntrinsicOperatorTests
+    Shared Function Main As Integer
+        Try
+            expected_tc = TypeCode.Boolean
+            M(bool And bool, "bool And bool")
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Int16
+            M(bool And b, "bool And b")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.SByte
+            M(bool And sb, "bool And sb")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Int16
+            M(bool And s, "bool And s")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Int32
+            M(bool And us, "bool And us")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Int32
+            M(bool And i, "bool And i")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Int64
+            M(bool And ui, "bool And ui")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Int64
+            M(bool And l, "bool And l")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Int64
+            M(bool And ul, "bool And ul")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Int64
+            M(bool And dec, "bool And dec")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Int64
+            M(bool And sng, "bool And sng")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Int64
+            M(bool And dbl, "bool And dbl")
+#End If
+#If Boolean_ERRORS
+            M(bool And chr, "bool And chr")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(bool And str, "bool And str")
+#End If
+#If Boolean_ERRORS
+            M(bool And dt, "bool And dt")
+#End If
+#If Boolean_ERRORS
+            M(bool And dbnull, "bool And dbnull")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Object
+            M(bool And obj, "bool And obj")
+#End If
+#If Not STRICT Or Byte_ERRORS
+            expected_tc = TypeCode.Int16
+            M(b And bool, "b And bool")
+#End If
+            expected_tc = TypeCode.Byte
+            M(b And b, "b And b")
+            expected_tc = TypeCode.Int16
+            M(b And sb, "b And sb")
+            expected_tc = TypeCode.Int16
+            M(b And s, "b And s")
+            expected_tc = TypeCode.UInt16
+            M(b And us, "b And us")
+            expected_tc = TypeCode.Int32
+            M(b And i, "b And i")
+            expected_tc = TypeCode.UInt32
+            M(b And ui, "b And ui")
+            expected_tc = TypeCode.Int64
+            M(b And l, "b And l")
+#If Not STRICT Or Byte_ERRORS
+            expected_tc = TypeCode.UInt64
+            M(b And ul, "b And ul")
+#End If
+#If Not STRICT Or Byte_ERRORS
+            expected_tc = TypeCode.Int64
+            M(b And dec, "b And dec")
+#End If
+#If Not STRICT Or Byte_ERRORS
+            expected_tc = TypeCode.Int64
+            M(b And sng, "b And sng")
+#End If
+#If Not STRICT Or Byte_ERRORS
+            expected_tc = TypeCode.Int64
+            M(b And dbl, "b And dbl")
+#End If
+#If Byte_ERRORS
+            M(b And chr, "b And chr")
+#End If
+#If Not STRICT Or Byte_ERRORS
+            expected_tc = TypeCode.Int64
+            M(b And str, "b And str")
+#End If
+#If Byte_ERRORS
+            M(b And dt, "b And dt")
+#End If
+#If Byte_ERRORS
+            M(b And dbnull, "b And dbnull")
+#End If
+#If Not STRICT Or Byte_ERRORS
+            expected_tc = TypeCode.Object
+            M(b And obj, "b And obj")
+#End If
+#If Not STRICT Or SByte_ERRORS
+            expected_tc = TypeCode.SByte
+            M(sb And bool, "sb And bool")
+#End If
+            expected_tc = TypeCode.Int16
+            M(sb And b, "sb And b")
+            expected_tc = TypeCode.SByte
+            M(sb And sb, "sb And sb")
+            expected_tc = TypeCode.Int16
+            M(sb And s, "sb And s")
+            expected_tc = TypeCode.Int32
+            M(sb And us, "sb And us")
+            expected_tc = TypeCode.Int32
+            M(sb And i, "sb And i")
+            expected_tc = TypeCode.Int64
+            M(sb And ui, "sb And ui")
+            expected_tc = TypeCode.Int64
+            M(sb And l, "sb And l")
+#If Not STRICT Or SByte_ERRORS
+            expected_tc = TypeCode.Int64
+            M(sb And ul, "sb And ul")
+#End If
+#If Not STRICT Or SByte_ERRORS
+            expected_tc = TypeCode.Int64
+            M(sb And dec, "sb And dec")
+#End If
+#If Not STRICT Or SByte_ERRORS
+            expected_tc = TypeCode.Int64
+            M(sb And sng, "sb And sng")
+#End If
+#If Not STRICT Or SByte_ERRORS
+            expected_tc = TypeCode.Int64
+            M(sb And dbl, "sb And dbl")
+#End If
+#If SByte_ERRORS
+            M(sb And chr, "sb And chr")
+#End If
+#If Not STRICT Or SByte_ERRORS
+            expected_tc = TypeCode.Int64
+            M(sb And str, "sb And str")
+#End If
+#If SByte_ERRORS
+            M(sb And dt, "sb And dt")
+#End If
+#If SByte_ERRORS
+            M(sb And dbnull, "sb And dbnull")
+#End If
+#If Not STRICT Or SByte_ERRORS
+            expected_tc = TypeCode.Object
+            M(sb And obj, "sb And obj")
+#End If
+#If Not STRICT Or Int16_ERRORS
+            expected_tc = TypeCode.Int16
+            M(s And bool, "s And bool")
+#End If
+            expected_tc = TypeCode.Int16
+            M(s And b, "s And b")
+            expected_tc = TypeCode.Int16
+            M(s And sb, "s And sb")
+            expected_tc = TypeCode.Int16
+            M(s And s, "s And s")
+            expected_tc = TypeCode.Int32
+            M(s And us, "s And us")
+            expected_tc = TypeCode.Int32
+            M(s And i, "s And i")
+            expected_tc = TypeCode.Int64
+            M(s And ui, "s And ui")
+            expected_tc = TypeCode.Int64
+            M(s And l, "s And l")
+#If Not STRICT Or Int16_ERRORS
+            expected_tc = TypeCode.Int64
+            M(s And ul, "s And ul")
+#End If
+#If Not STRICT Or Int16_ERRORS
+            expected_tc = TypeCode.Int64
+            M(s And dec, "s And dec")
+#End If
+#If Not STRICT Or Int16_ERRORS
+            expected_tc = TypeCode.Int64
+            M(s And sng, "s And sng")
+#End If
+#If Not STRICT Or Int16_ERRORS
+            expected_tc = TypeCode.Int64
+            M(s And dbl, "s And dbl")
+#End If
+#If Int16_ERRORS
+            M(s And chr, "s And chr")
+#End If
+#If Not STRICT Or Int16_ERRORS
+            expected_tc = TypeCode.Int64
+            M(s And str, "s And str")
+#End If
+#If Int16_ERRORS
+            M(s And dt, "s And dt")
+#End If
+#If Int16_ERRORS
+            M(s And dbnull, "s And dbnull")
+#End If
+#If Not STRICT Or Int16_ERRORS
+            expected_tc = TypeCode.Object
+            M(s And obj, "s And obj")
+#End If
+#If Not STRICT Or UInt16_ERRORS
+            expected_tc = TypeCode.Int32
+            M(us And bool, "us And bool")
+#End If
+            expected_tc = TypeCode.UInt16
+            M(us And b, "us And b")
+            expected_tc = TypeCode.Int32
+            M(us And sb, "us And sb")
+            expected_tc = TypeCode.Int32
+            M(us And s, "us And s")
+            expected_tc = TypeCode.UInt16
+            M(us And us, "us And us")
+            expected_tc = TypeCode.Int32
+            M(us And i, "us And i")
+            expected_tc = TypeCode.UInt32
+            M(us And ui, "us And ui")
+            expected_tc = TypeCode.Int64
+            M(us And l, "us And l")
+#If Not STRICT Or UInt16_ERRORS
+            expected_tc = TypeCode.UInt64
+            M(us And ul, "us And ul")
+#End If
+#If Not STRICT Or UInt16_ERRORS
+            expected_tc = TypeCode.Int64
+            M(us And dec, "us And dec")
+#End If
+#If Not STRICT Or UInt16_ERRORS
+            expected_tc = TypeCode.Int64
+            M(us And sng, "us And sng")
+#End If
+#If Not STRICT Or UInt16_ERRORS
+            expected_tc = TypeCode.Int64
+            M(us And dbl, "us And dbl")
+#End If
+#If UInt16_ERRORS
+            M(us And chr, "us And chr")
+#End If
+#If Not STRICT Or UInt16_ERRORS
+            expected_tc = TypeCode.Int64
+            M(us And str, "us And str")
+#End If
+#If UInt16_ERRORS
+            M(us And dt, "us And dt")
+#End If
+#If UInt16_ERRORS
+            M(us And dbnull, "us And dbnull")
+#End If
+#If Not STRICT Or UInt16_ERRORS
+            expected_tc = TypeCode.Object
+            M(us And obj, "us And obj")
+#End If
+#If Not STRICT Or Int32_ERRORS
+            expected_tc = TypeCode.Int32
+            M(i And bool, "i And bool")
+#End If
+            expected_tc = TypeCode.Int32
+            M(i And b, "i And b")
+            expected_tc = TypeCode.Int32
+            M(i And sb, "i And sb")
+            expected_tc = TypeCode.Int32
+            M(i And s, "i And s")
+            expected_tc = TypeCode.Int32
+            M(i And us, "i And us")
+            expected_tc = TypeCode.Int32
+            M(i And i, "i And i")
+            expected_tc = TypeCode.Int64
+            M(i And ui, "i And ui")
+            expected_tc = TypeCode.Int64
+            M(i And l, "i And l")
+#If Not STRICT Or Int32_ERRORS
+            expected_tc = TypeCode.Int64
+            M(i And ul, "i And ul")
+#End If
+#If Not STRICT Or Int32_ERRORS
+            expected_tc = TypeCode.Int64
+            M(i And dec, "i And dec")
+#End If
+#If Not STRICT Or Int32_ERRORS
+            expected_tc = TypeCode.Int64
+            M(i And sng, "i And sng")
+#End If
+#If Not STRICT Or Int32_ERRORS
+            expected_tc = TypeCode.Int64
+            M(i And dbl, "i And dbl")
+#End If
+#If Int32_ERRORS
+            M(i And chr, "i And chr")
+#End If
+#If Not STRICT Or Int32_ERRORS
+            expected_tc = TypeCode.Int64
+            M(i And str, "i And str")
+#End If
+#If Int32_ERRORS
+            M(i And dt, "i And dt")
+#End If
+#If Int32_ERRORS
+            M(i And dbnull, "i And dbnull")
+#End If
+#If Not STRICT Or Int32_ERRORS
+            expected_tc = TypeCode.Object
+            M(i And obj, "i And obj")
+#End If
+#If Not STRICT Or UInt32_ERRORS
+            expected_tc = TypeCode.Int64
+            M(ui And bool, "ui And bool")
+#End If
+            expected_tc = TypeCode.UInt32
+            M(ui And b, "ui And b")
+            expected_tc = TypeCode.Int64
+            M(ui And sb, "ui And sb")
+            expected_tc = TypeCode.Int64
+            M(ui And s, "ui And s")
+            expected_tc = TypeCode.UInt32
+            M(ui And us, "ui And us")
+            expected_tc = TypeCode.Int64
+            M(ui And i, "ui And i")
+            expected_tc = TypeCode.UInt32
+            M(ui And ui, "ui And ui")
+            expected_tc = TypeCode.Int64
+            M(ui And l, "ui And l")
+#If Not STRICT Or UInt32_ERRORS
+            expected_tc = TypeCode.UInt64
+            M(ui And ul, "ui And ul")
+#End If
+#If Not STRICT Or UInt32_ERRORS
+            expected_tc = TypeCode.Int64
+            M(ui And dec, "ui And dec")
+#End If
+#If Not STRICT Or UInt32_ERRORS
+            expected_tc = TypeCode.Int64
+            M(ui And sng, "ui And sng")
+#End If
+#If Not STRICT Or UInt32_ERRORS
+            expected_tc = TypeCode.Int64
+            M(ui And dbl, "ui And dbl")
+#End If
+#If UInt32_ERRORS
+            M(ui And chr, "ui And chr")
+#End If
+#If Not STRICT Or UInt32_ERRORS
+            expected_tc = TypeCode.Int64
+            M(ui And str, "ui And str")
+#End If
+#If UInt32_ERRORS
+            M(ui And dt, "ui And dt")
+#End If
+#If UInt32_ERRORS
+            M(ui And dbnull, "ui And dbnull")
+#End If
+#If Not STRICT Or UInt32_ERRORS
+            expected_tc = TypeCode.Object
+            M(ui And obj, "ui And obj")
+#End If
+#If Not STRICT Or Int64_ERRORS
+            expected_tc = TypeCode.Int64
+            M(l And bool, "l And bool")
+#End If
+            expected_tc = TypeCode.Int64
+            M(l And b, "l And b")
+            expected_tc = TypeCode.Int64
+            M(l And sb, "l And sb")
+            expected_tc = TypeCode.Int64
+            M(l And s, "l And s")
+            expected_tc = TypeCode.Int64
+            M(l And us, "l And us")
+            expected_tc = TypeCode.Int64
+            M(l And i, "l And i")
+            expected_tc = TypeCode.Int64
+            M(l And ui, "l And ui")
+            expected_tc = TypeCode.Int64
+            M(l And l, "l And l")
+#If Not STRICT Or Int64_ERRORS
+            expected_tc = TypeCode.Int64
+            M(l And ul, "l And ul")
+#End If
+#If Not STRICT Or Int64_ERRORS
+            expected_tc = TypeCode.Int64
+            M(l And dec, "l And dec")
+#End If
+#If Not STRICT Or Int64_ERRORS
+            expected_tc = TypeCode.Int64
+            M(l And sng, "l And sng")
+#End If
+#If Not STRICT Or Int64_ERRORS
+            expected_tc = TypeCode.Int64
+            M(l And dbl, "l And dbl")
+#End If
+#If Int64_ERRORS
+            M(l And chr, "l And chr")
+#End If
+#If Not STRICT Or Int64_ERRORS
+            expected_tc = TypeCode.Int64
+            M(l And str, "l And str")
+#End If
+#If Int64_ERRORS
+            M(l And dt, "l And dt")
+#End If
+#If Int64_ERRORS
+            M(l And dbnull, "l And dbnull")
+#End If
+#If Not STRICT Or Int64_ERRORS
+            expected_tc = TypeCode.Object
+            M(l And obj, "l And obj")
+#End If
+#If Not STRICT Or UInt64_ERRORS
+            expected_tc = TypeCode.Int64
+            M(ul And bool, "ul And bool")
+#End If
+#If Not STRICT Or UInt64_ERRORS
+            expected_tc = TypeCode.UInt64
+            M(ul And b, "ul And b")
+#End If
+#If Not STRICT Or UInt64_ERRORS
+            expected_tc = TypeCode.Int64
+            M(ul And sb, "ul And sb")
+#End If
+#If Not STRICT Or UInt64_ERRORS
+            expected_tc = TypeCode.Int64
+            M(ul And s, "ul And s")
+#End If
+#If Not STRICT Or UInt64_ERRORS
+            expected_tc = TypeCode.UInt64
+            M(ul And us, "ul And us")
+#End If
+#If Not STRICT Or UInt64_ERRORS
+            expected_tc = TypeCode.Int64
+            M(ul And i, "ul And i")
+#End If
+#If Not STRICT Or UInt64_ERRORS
+            expected_tc = TypeCode.UInt64
+            M(ul And ui, "ul And ui")
+#End If
+#If Not STRICT Or UInt64_ERRORS
+            expected_tc = TypeCode.Int64
+            M(ul And l, "ul And l")
+#End If
+#If Not STRICT Or UInt64_ERRORS
+            expected_tc = TypeCode.UInt64
+            M(ul And ul, "ul And ul")
+#End If
+#If Not STRICT Or UInt64_ERRORS
+            expected_tc = TypeCode.Int64
+            M(ul And dec, "ul And dec")
+#End If
+#If Not STRICT Or UInt64_ERRORS
+            expected_tc = TypeCode.Int64
+            M(ul And sng, "ul And sng")
+#End If
+#If Not STRICT Or UInt64_ERRORS
+            expected_tc = TypeCode.Int64
+            M(ul And dbl, "ul And dbl")
+#End If
+#If UInt64_ERRORS
+            M(ul And chr, "ul And chr")
+#End If
+#If Not STRICT Or UInt64_ERRORS
+            expected_tc = TypeCode.Int64
+            M(ul And str, "ul And str")
+#End If
+#If UInt64_ERRORS
+            M(ul And dt, "ul And dt")
+#End If
+#If UInt64_ERRORS
+            M(ul And dbnull, "ul And dbnull")
+#End If
+#If Not STRICT Or UInt64_ERRORS
+            expected_tc = TypeCode.Object
+            M(ul And obj, "ul And obj")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Int64
+            M(dec And bool, "dec And bool")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Int64
+            M(dec And b, "dec And b")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Int64
+            M(dec And sb, "dec And sb")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Int64
+            M(dec And s, "dec And s")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Int64
+            M(dec And us, "dec And us")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Int64
+            M(dec And i, "dec And i")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Int64
+            M(dec And ui, "dec And ui")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Int64
+            M(dec And l, "dec And l")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Int64
+            M(dec And ul, "dec And ul")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Int64
+            M(dec And dec, "dec And dec")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Int64
+            M(dec And sng, "dec And sng")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Int64
+            M(dec And dbl, "dec And dbl")
+#End If
+#If Decimal_ERRORS
+            M(dec And chr, "dec And chr")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Int64
+            M(dec And str, "dec And str")
+#End If
+#If Decimal_ERRORS
+            M(dec And dt, "dec And dt")
+#End If
+#If Decimal_ERRORS
+            M(dec And dbnull, "dec And dbnull")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Object
+            M(dec And obj, "dec And obj")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Int64
+            M(sng And bool, "sng And bool")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Int64
+            M(sng And b, "sng And b")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Int64
+            M(sng And sb, "sng And sb")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Int64
+            M(sng And s, "sng And s")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Int64
+            M(sng And us, "sng And us")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Int64
+            M(sng And i, "sng And i")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Int64
+            M(sng And ui, "sng And ui")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Int64
+            M(sng And l, "sng And l")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Int64
+            M(sng And ul, "sng And ul")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Int64
+            M(sng And dec, "sng And dec")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Int64
+            M(sng And sng, "sng And sng")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Int64
+            M(sng And dbl, "sng And dbl")
+#End If
+#If Single_ERRORS
+            M(sng And chr, "sng And chr")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Int64
+            M(sng And str, "sng And str")
+#End If
+#If Single_ERRORS
+            M(sng And dt, "sng And dt")
+#End If
+#If Single_ERRORS
+            M(sng And dbnull, "sng And dbnull")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Object
+            M(sng And obj, "sng And obj")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Int64
+            M(dbl And bool, "dbl And bool")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Int64
+            M(dbl And b, "dbl And b")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Int64
+            M(dbl And sb, "dbl And sb")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Int64
+            M(dbl And s, "dbl And s")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Int64
+            M(dbl And us, "dbl And us")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Int64
+            M(dbl And i, "dbl And i")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Int64
+            M(dbl And ui, "dbl And ui")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Int64
+            M(dbl And l, "dbl And l")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Int64
+            M(dbl And ul, "dbl And ul")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Int64
+            M(dbl And dec, "dbl And dec")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Int64
+            M(dbl And sng, "dbl And sng")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Int64
+            M(dbl And dbl, "dbl And dbl")
+#End If
+#If Double_ERRORS
+            M(dbl And chr, "dbl And chr")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Int64
+            M(dbl And str, "dbl And str")
+#End If
+#If Double_ERRORS
+            M(dbl And dt, "dbl And dt")
+#End If
+#If Double_ERRORS
+            M(dbl And dbnull, "dbl And dbnull")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Object
+            M(dbl And obj, "dbl And obj")
+#End If
+#If Char_ERRORS
+            M(chr And bool, "chr And bool")
+#End If
+#If Char_ERRORS
+            M(chr And b, "chr And b")
+#End If
+#If Char_ERRORS
+            M(chr And sb, "chr And sb")
+#End If
+#If Char_ERRORS
+            M(chr And s, "chr And s")
+#End If
+#If Char_ERRORS
+            M(chr And us, "chr And us")
+#End If
+#If Char_ERRORS
+            M(chr And i, "chr And i")
+#End If
+#If Char_ERRORS
+            M(chr And ui, "chr And ui")
+#End If
+#If Char_ERRORS
+            M(chr And l, "chr And l")
+#End If
+#If Char_ERRORS
+            M(chr And ul, "chr And ul")
+#End If
+#If Char_ERRORS
+            M(chr And dec, "chr And dec")
+#End If
+#If Char_ERRORS
+            M(chr And sng, "chr And sng")
+#End If
+#If Char_ERRORS
+            M(chr And dbl, "chr And dbl")
+#End If
+#If Char_ERRORS
+            M(chr And chr, "chr And chr")
+#End If
+#If Char_ERRORS
+            M(chr And str, "chr And str")
+#End If
+#If Char_ERRORS
+            M(chr And dt, "chr And dt")
+#End If
+#If Char_ERRORS
+            M(chr And dbnull, "chr And dbnull")
+#End If
+#If Char_ERRORS
+            M(chr And obj, "chr And obj")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(str And bool, "str And bool")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Int64
+            M(str And b, "str And b")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Int64
+            M(str And sb, "str And sb")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Int64
+            M(str And s, "str And s")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Int64
+            M(str And us, "str And us")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Int64
+            M(str And i, "str And i")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Int64
+            M(str And ui, "str And ui")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Int64
+            M(str And l, "str And l")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Int64
+            M(str And ul, "str And ul")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Int64
+            M(str And dec, "str And dec")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Int64
+            M(str And sng, "str And sng")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Int64
+            M(str And dbl, "str And dbl")
+#End If
+#If String_ERRORS
+            M(str And chr, "str And chr")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Int64
+            M(str And str, "str And str")
+#End If
+#If String_ERRORS
+            M(str And dt, "str And dt")
+#End If
+#If String_ERRORS
+            M(str And dbnull, "str And dbnull")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Object
+            M(str And obj, "str And obj")
+#End If
+#If DateTime_ERRORS
+            M(dt And bool, "dt And bool")
+#End If
+#If DateTime_ERRORS
+            M(dt And b, "dt And b")
+#End If
+#If DateTime_ERRORS
+            M(dt And sb, "dt And sb")
+#End If
+#If DateTime_ERRORS
+            M(dt And s, "dt And s")
+#End If
+#If DateTime_ERRORS
+            M(dt And us, "dt And us")
+#End If
+#If DateTime_ERRORS
+            M(dt And i, "dt And i")
+#End If
+#If DateTime_ERRORS
+            M(dt And ui, "dt And ui")
+#End If
+#If DateTime_ERRORS
+            M(dt And l, "dt And l")
+#End If
+#If DateTime_ERRORS
+            M(dt And ul, "dt And ul")
+#End If
+#If DateTime_ERRORS
+            M(dt And dec, "dt And dec")
+#End If
+#If DateTime_ERRORS
+            M(dt And sng, "dt And sng")
+#End If
+#If DateTime_ERRORS
+            M(dt And dbl, "dt And dbl")
+#End If
+#If DateTime_ERRORS
+            M(dt And chr, "dt And chr")
+#End If
+#If DateTime_ERRORS
+            M(dt And str, "dt And str")
+#End If
+#If DateTime_ERRORS
+            M(dt And dt, "dt And dt")
+#End If
+#If DateTime_ERRORS
+            M(dt And dbnull, "dt And dbnull")
+#End If
+#If DateTime_ERRORS
+            M(dt And obj, "dt And obj")
+#End If
+#If DBNull_ERRORS
+            M(dbnull And bool, "dbnull And bool")
+#End If
+#If DBNull_ERRORS
+            M(dbnull And b, "dbnull And b")
+#End If
+#If DBNull_ERRORS
+            M(dbnull And sb, "dbnull And sb")
+#End If
+#If DBNull_ERRORS
+            M(dbnull And s, "dbnull And s")
+#End If
+#If DBNull_ERRORS
+            M(dbnull And us, "dbnull And us")
+#End If
+#If DBNull_ERRORS
+            M(dbnull And i, "dbnull And i")
+#End If
+#If DBNull_ERRORS
+            M(dbnull And ui, "dbnull And ui")
+#End If
+#If DBNull_ERRORS
+            M(dbnull And l, "dbnull And l")
+#End If
+#If DBNull_ERRORS
+            M(dbnull And ul, "dbnull And ul")
+#End If
+#If DBNull_ERRORS
+            M(dbnull And dec, "dbnull And dec")
+#End If
+#If DBNull_ERRORS
+            M(dbnull And sng, "dbnull And sng")
+#End If
+#If DBNull_ERRORS
+            M(dbnull And dbl, "dbnull And dbl")
+#End If
+#If DBNull_ERRORS
+            M(dbnull And chr, "dbnull And chr")
+#End If
+#If DBNull_ERRORS
+            M(dbnull And str, "dbnull And str")
+#End If
+#If DBNull_ERRORS
+            M(dbnull And dt, "dbnull And dt")
+#End If
+#If DBNull_ERRORS
+            M(dbnull And dbnull, "dbnull And dbnull")
+#End If
+#If DBNull_ERRORS
+            M(dbnull And obj, "dbnull And obj")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj And bool, "obj And bool")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj And b, "obj And b")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj And sb, "obj And sb")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj And s, "obj And s")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj And us, "obj And us")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj And i, "obj And i")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj And ui, "obj And ui")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj And l, "obj And l")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj And ul, "obj And ul")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj And dec, "obj And dec")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj And sng, "obj And sng")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj And dbl, "obj And dbl")
+#End If
+#If Object_ERRORS
+            M(obj And chr, "obj And chr")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj And str, "obj And str")
+#End If
+#If Object_ERRORS
+            M(obj And dt, "obj And dt")
+#End If
+#If Object_ERRORS
+            M(obj And dbnull, "obj And dbnull")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj And obj, "obj And obj")
+#End If
+        If failures > 0 Then Return 1
+    Catch ex As Exception
+        Console.WriteLine ("Exception: {0}", ex)
+        Return 2
+    End Try
+    Return 0
+    End Function
+End Class
diff --git a/vbnc/vbnc/tests/CompileTime2/OperatorIntrinsicAndAlso.vb b/vbnc/vbnc/tests/CompileTime2/OperatorIntrinsicAndAlso.vb
new file mode 100644
index 0000000..85b54ca
--- /dev/null
+++ b/vbnc/vbnc/tests/CompileTime2/OperatorIntrinsicAndAlso.vb
@@ -0,0 +1,1073 @@
+Class BinaryOperatorAndAlso
+    Inherits IntrinsicOperatorTests
+    Shared Function Main As Integer
+        Try
+            expected_tc = TypeCode.Boolean
+            M(bool AndAlso bool, "bool AndAlso bool")
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(bool AndAlso b, "bool AndAlso b")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(bool AndAlso sb, "bool AndAlso sb")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(bool AndAlso s, "bool AndAlso s")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(bool AndAlso us, "bool AndAlso us")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(bool AndAlso i, "bool AndAlso i")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(bool AndAlso ui, "bool AndAlso ui")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(bool AndAlso l, "bool AndAlso l")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(bool AndAlso ul, "bool AndAlso ul")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(bool AndAlso dec, "bool AndAlso dec")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(bool AndAlso sng, "bool AndAlso sng")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(bool AndAlso dbl, "bool AndAlso dbl")
+#End If
+#If Boolean_ERRORS
+            M(bool AndAlso chr, "bool AndAlso chr")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(bool AndAlso str, "bool AndAlso str")
+#End If
+#If Boolean_ERRORS
+            M(bool AndAlso dt, "bool AndAlso dt")
+#End If
+#If Boolean_ERRORS
+            M(bool AndAlso dbnull, "bool AndAlso dbnull")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Object
+            M(bool AndAlso obj, "bool AndAlso obj")
+#End If
+#If Not STRICT Or Byte_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(b AndAlso bool, "b AndAlso bool")
+#End If
+#If Not STRICT Or Byte_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(b AndAlso b, "b AndAlso b")
+#End If
+#If Not STRICT Or Byte_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(b AndAlso sb, "b AndAlso sb")
+#End If
+#If Not STRICT Or Byte_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(b AndAlso s, "b AndAlso s")
+#End If
+#If Not STRICT Or Byte_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(b AndAlso us, "b AndAlso us")
+#End If
+#If Not STRICT Or Byte_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(b AndAlso i, "b AndAlso i")
+#End If
+#If Not STRICT Or Byte_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(b AndAlso ui, "b AndAlso ui")
+#End If
+#If Not STRICT Or Byte_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(b AndAlso l, "b AndAlso l")
+#End If
+#If Not STRICT Or Byte_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(b AndAlso ul, "b AndAlso ul")
+#End If
+#If Not STRICT Or Byte_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(b AndAlso dec, "b AndAlso dec")
+#End If
+#If Not STRICT Or Byte_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(b AndAlso sng, "b AndAlso sng")
+#End If
+#If Not STRICT Or Byte_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(b AndAlso dbl, "b AndAlso dbl")
+#End If
+#If Byte_ERRORS
+            M(b AndAlso chr, "b AndAlso chr")
+#End If
+#If Not STRICT Or Byte_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(b AndAlso str, "b AndAlso str")
+#End If
+#If Byte_ERRORS
+            M(b AndAlso dt, "b AndAlso dt")
+#End If
+#If Byte_ERRORS
+            M(b AndAlso dbnull, "b AndAlso dbnull")
+#End If
+#If Not STRICT Or Byte_ERRORS
+            expected_tc = TypeCode.Object
+            M(b AndAlso obj, "b AndAlso obj")
+#End If
+#If Not STRICT Or SByte_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(sb AndAlso bool, "sb AndAlso bool")
+#End If
+#If Not STRICT Or SByte_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(sb AndAlso b, "sb AndAlso b")
+#End If
+#If Not STRICT Or SByte_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(sb AndAlso sb, "sb AndAlso sb")
+#End If
+#If Not STRICT Or SByte_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(sb AndAlso s, "sb AndAlso s")
+#End If
+#If Not STRICT Or SByte_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(sb AndAlso us, "sb AndAlso us")
+#End If
+#If Not STRICT Or SByte_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(sb AndAlso i, "sb AndAlso i")
+#End If
+#If Not STRICT Or SByte_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(sb AndAlso ui, "sb AndAlso ui")
+#End If
+#If Not STRICT Or SByte_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(sb AndAlso l, "sb AndAlso l")
+#End If
+#If Not STRICT Or SByte_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(sb AndAlso ul, "sb AndAlso ul")
+#End If
+#If Not STRICT Or SByte_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(sb AndAlso dec, "sb AndAlso dec")
+#End If
+#If Not STRICT Or SByte_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(sb AndAlso sng, "sb AndAlso sng")
+#End If
+#If Not STRICT Or SByte_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(sb AndAlso dbl, "sb AndAlso dbl")
+#End If
+#If SByte_ERRORS
+            M(sb AndAlso chr, "sb AndAlso chr")
+#End If
+#If Not STRICT Or SByte_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(sb AndAlso str, "sb AndAlso str")
+#End If
+#If SByte_ERRORS
+            M(sb AndAlso dt, "sb AndAlso dt")
+#End If
+#If SByte_ERRORS
+            M(sb AndAlso dbnull, "sb AndAlso dbnull")
+#End If
+#If Not STRICT Or SByte_ERRORS
+            expected_tc = TypeCode.Object
+            M(sb AndAlso obj, "sb AndAlso obj")
+#End If
+#If Not STRICT Or Int16_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(s AndAlso bool, "s AndAlso bool")
+#End If
+#If Not STRICT Or Int16_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(s AndAlso b, "s AndAlso b")
+#End If
+#If Not STRICT Or Int16_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(s AndAlso sb, "s AndAlso sb")
+#End If
+#If Not STRICT Or Int16_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(s AndAlso s, "s AndAlso s")
+#End If
+#If Not STRICT Or Int16_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(s AndAlso us, "s AndAlso us")
+#End If
+#If Not STRICT Or Int16_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(s AndAlso i, "s AndAlso i")
+#End If
+#If Not STRICT Or Int16_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(s AndAlso ui, "s AndAlso ui")
+#End If
+#If Not STRICT Or Int16_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(s AndAlso l, "s AndAlso l")
+#End If
+#If Not STRICT Or Int16_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(s AndAlso ul, "s AndAlso ul")
+#End If
+#If Not STRICT Or Int16_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(s AndAlso dec, "s AndAlso dec")
+#End If
+#If Not STRICT Or Int16_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(s AndAlso sng, "s AndAlso sng")
+#End If
+#If Not STRICT Or Int16_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(s AndAlso dbl, "s AndAlso dbl")
+#End If
+#If Int16_ERRORS
+            M(s AndAlso chr, "s AndAlso chr")
+#End If
+#If Not STRICT Or Int16_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(s AndAlso str, "s AndAlso str")
+#End If
+#If Int16_ERRORS
+            M(s AndAlso dt, "s AndAlso dt")
+#End If
+#If Int16_ERRORS
+            M(s AndAlso dbnull, "s AndAlso dbnull")
+#End If
+#If Not STRICT Or Int16_ERRORS
+            expected_tc = TypeCode.Object
+            M(s AndAlso obj, "s AndAlso obj")
+#End If
+#If Not STRICT Or UInt16_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(us AndAlso bool, "us AndAlso bool")
+#End If
+#If Not STRICT Or UInt16_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(us AndAlso b, "us AndAlso b")
+#End If
+#If Not STRICT Or UInt16_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(us AndAlso sb, "us AndAlso sb")
+#End If
+#If Not STRICT Or UInt16_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(us AndAlso s, "us AndAlso s")
+#End If
+#If Not STRICT Or UInt16_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(us AndAlso us, "us AndAlso us")
+#End If
+#If Not STRICT Or UInt16_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(us AndAlso i, "us AndAlso i")
+#End If
+#If Not STRICT Or UInt16_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(us AndAlso ui, "us AndAlso ui")
+#End If
+#If Not STRICT Or UInt16_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(us AndAlso l, "us AndAlso l")
+#End If
+#If Not STRICT Or UInt16_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(us AndAlso ul, "us AndAlso ul")
+#End If
+#If Not STRICT Or UInt16_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(us AndAlso dec, "us AndAlso dec")
+#End If
+#If Not STRICT Or UInt16_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(us AndAlso sng, "us AndAlso sng")
+#End If
+#If Not STRICT Or UInt16_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(us AndAlso dbl, "us AndAlso dbl")
+#End If
+#If UInt16_ERRORS
+            M(us AndAlso chr, "us AndAlso chr")
+#End If
+#If Not STRICT Or UInt16_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(us AndAlso str, "us AndAlso str")
+#End If
+#If UInt16_ERRORS
+            M(us AndAlso dt, "us AndAlso dt")
+#End If
+#If UInt16_ERRORS
+            M(us AndAlso dbnull, "us AndAlso dbnull")
+#End If
+#If Not STRICT Or UInt16_ERRORS
+            expected_tc = TypeCode.Object
+            M(us AndAlso obj, "us AndAlso obj")
+#End If
+#If Not STRICT Or Int32_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(i AndAlso bool, "i AndAlso bool")
+#End If
+#If Not STRICT Or Int32_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(i AndAlso b, "i AndAlso b")
+#End If
+#If Not STRICT Or Int32_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(i AndAlso sb, "i AndAlso sb")
+#End If
+#If Not STRICT Or Int32_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(i AndAlso s, "i AndAlso s")
+#End If
+#If Not STRICT Or Int32_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(i AndAlso us, "i AndAlso us")
+#End If
+#If Not STRICT Or Int32_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(i AndAlso i, "i AndAlso i")
+#End If
+#If Not STRICT Or Int32_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(i AndAlso ui, "i AndAlso ui")
+#End If
+#If Not STRICT Or Int32_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(i AndAlso l, "i AndAlso l")
+#End If
+#If Not STRICT Or Int32_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(i AndAlso ul, "i AndAlso ul")
+#End If
+#If Not STRICT Or Int32_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(i AndAlso dec, "i AndAlso dec")
+#End If
+#If Not STRICT Or Int32_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(i AndAlso sng, "i AndAlso sng")
+#End If
+#If Not STRICT Or Int32_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(i AndAlso dbl, "i AndAlso dbl")
+#End If
+#If Int32_ERRORS
+            M(i AndAlso chr, "i AndAlso chr")
+#End If
+#If Not STRICT Or Int32_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(i AndAlso str, "i AndAlso str")
+#End If
+#If Int32_ERRORS
+            M(i AndAlso dt, "i AndAlso dt")
+#End If
+#If Int32_ERRORS
+            M(i AndAlso dbnull, "i AndAlso dbnull")
+#End If
+#If Not STRICT Or Int32_ERRORS
+            expected_tc = TypeCode.Object
+            M(i AndAlso obj, "i AndAlso obj")
+#End If
+#If Not STRICT Or UInt32_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(ui AndAlso bool, "ui AndAlso bool")
+#End If
+#If Not STRICT Or UInt32_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(ui AndAlso b, "ui AndAlso b")
+#End If
+#If Not STRICT Or UInt32_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(ui AndAlso sb, "ui AndAlso sb")
+#End If
+#If Not STRICT Or UInt32_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(ui AndAlso s, "ui AndAlso s")
+#End If
+#If Not STRICT Or UInt32_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(ui AndAlso us, "ui AndAlso us")
+#End If
+#If Not STRICT Or UInt32_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(ui AndAlso i, "ui AndAlso i")
+#End If
+#If Not STRICT Or UInt32_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(ui AndAlso ui, "ui AndAlso ui")
+#End If
+#If Not STRICT Or UInt32_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(ui AndAlso l, "ui AndAlso l")
+#End If
+#If Not STRICT Or UInt32_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(ui AndAlso ul, "ui AndAlso ul")
+#End If
+#If Not STRICT Or UInt32_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(ui AndAlso dec, "ui AndAlso dec")
+#End If
+#If Not STRICT Or UInt32_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(ui AndAlso sng, "ui AndAlso sng")
+#End If
+#If Not STRICT Or UInt32_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(ui AndAlso dbl, "ui AndAlso dbl")
+#End If
+#If UInt32_ERRORS
+            M(ui AndAlso chr, "ui AndAlso chr")
+#End If
+#If Not STRICT Or UInt32_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(ui AndAlso str, "ui AndAlso str")
+#End If
+#If UInt32_ERRORS
+            M(ui AndAlso dt, "ui AndAlso dt")
+#End If
+#If UInt32_ERRORS
+            M(ui AndAlso dbnull, "ui AndAlso dbnull")
+#End If
+#If Not STRICT Or UInt32_ERRORS
+            expected_tc = TypeCode.Object
+            M(ui AndAlso obj, "ui AndAlso obj")
+#End If
+#If Not STRICT Or Int64_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(l AndAlso bool, "l AndAlso bool")
+#End If
+#If Not STRICT Or Int64_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(l AndAlso b, "l AndAlso b")
+#End If
+#If Not STRICT Or Int64_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(l AndAlso sb, "l AndAlso sb")
+#End If
+#If Not STRICT Or Int64_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(l AndAlso s, "l AndAlso s")
+#End If
+#If Not STRICT Or Int64_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(l AndAlso us, "l AndAlso us")
+#End If
+#If Not STRICT Or Int64_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(l AndAlso i, "l AndAlso i")
+#End If
+#If Not STRICT Or Int64_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(l AndAlso ui, "l AndAlso ui")
+#End If
+#If Not STRICT Or Int64_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(l AndAlso l, "l AndAlso l")
+#End If
+#If Not STRICT Or Int64_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(l AndAlso ul, "l AndAlso ul")
+#End If
+#If Not STRICT Or Int64_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(l AndAlso dec, "l AndAlso dec")
+#End If
+#If Not STRICT Or Int64_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(l AndAlso sng, "l AndAlso sng")
+#End If
+#If Not STRICT Or Int64_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(l AndAlso dbl, "l AndAlso dbl")
+#End If
+#If Int64_ERRORS
+            M(l AndAlso chr, "l AndAlso chr")
+#End If
+#If Not STRICT Or Int64_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(l AndAlso str, "l AndAlso str")
+#End If
+#If Int64_ERRORS
+            M(l AndAlso dt, "l AndAlso dt")
+#End If
+#If Int64_ERRORS
+            M(l AndAlso dbnull, "l AndAlso dbnull")
+#End If
+#If Not STRICT Or Int64_ERRORS
+            expected_tc = TypeCode.Object
+            M(l AndAlso obj, "l AndAlso obj")
+#End If
+#If Not STRICT Or UInt64_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(ul AndAlso bool, "ul AndAlso bool")
+#End If
+#If Not STRICT Or UInt64_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(ul AndAlso b, "ul AndAlso b")
+#End If
+#If Not STRICT Or UInt64_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(ul AndAlso sb, "ul AndAlso sb")
+#End If
+#If Not STRICT Or UInt64_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(ul AndAlso s, "ul AndAlso s")
+#End If
+#If Not STRICT Or UInt64_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(ul AndAlso us, "ul AndAlso us")
+#End If
+#If Not STRICT Or UInt64_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(ul AndAlso i, "ul AndAlso i")
+#End If
+#If Not STRICT Or UInt64_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(ul AndAlso ui, "ul AndAlso ui")
+#End If
+#If Not STRICT Or UInt64_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(ul AndAlso l, "ul AndAlso l")
+#End If
+#If Not STRICT Or UInt64_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(ul AndAlso ul, "ul AndAlso ul")
+#End If
+#If Not STRICT Or UInt64_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(ul AndAlso dec, "ul AndAlso dec")
+#End If
+#If Not STRICT Or UInt64_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(ul AndAlso sng, "ul AndAlso sng")
+#End If
+#If Not STRICT Or UInt64_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(ul AndAlso dbl, "ul AndAlso dbl")
+#End If
+#If UInt64_ERRORS
+            M(ul AndAlso chr, "ul AndAlso chr")
+#End If
+#If Not STRICT Or UInt64_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(ul AndAlso str, "ul AndAlso str")
+#End If
+#If UInt64_ERRORS
+            M(ul AndAlso dt, "ul AndAlso dt")
+#End If
+#If UInt64_ERRORS
+            M(ul AndAlso dbnull, "ul AndAlso dbnull")
+#End If
+#If Not STRICT Or UInt64_ERRORS
+            expected_tc = TypeCode.Object
+            M(ul AndAlso obj, "ul AndAlso obj")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(dec AndAlso bool, "dec AndAlso bool")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(dec AndAlso b, "dec AndAlso b")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(dec AndAlso sb, "dec AndAlso sb")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(dec AndAlso s, "dec AndAlso s")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(dec AndAlso us, "dec AndAlso us")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(dec AndAlso i, "dec AndAlso i")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(dec AndAlso ui, "dec AndAlso ui")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(dec AndAlso l, "dec AndAlso l")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(dec AndAlso ul, "dec AndAlso ul")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(dec AndAlso dec, "dec AndAlso dec")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(dec AndAlso sng, "dec AndAlso sng")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(dec AndAlso dbl, "dec AndAlso dbl")
+#End If
+#If Decimal_ERRORS
+            M(dec AndAlso chr, "dec AndAlso chr")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(dec AndAlso str, "dec AndAlso str")
+#End If
+#If Decimal_ERRORS
+            M(dec AndAlso dt, "dec AndAlso dt")
+#End If
+#If Decimal_ERRORS
+            M(dec AndAlso dbnull, "dec AndAlso dbnull")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Object
+            M(dec AndAlso obj, "dec AndAlso obj")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(sng AndAlso bool, "sng AndAlso bool")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(sng AndAlso b, "sng AndAlso b")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(sng AndAlso sb, "sng AndAlso sb")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(sng AndAlso s, "sng AndAlso s")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(sng AndAlso us, "sng AndAlso us")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(sng AndAlso i, "sng AndAlso i")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(sng AndAlso ui, "sng AndAlso ui")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(sng AndAlso l, "sng AndAlso l")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(sng AndAlso ul, "sng AndAlso ul")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(sng AndAlso dec, "sng AndAlso dec")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(sng AndAlso sng, "sng AndAlso sng")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(sng AndAlso dbl, "sng AndAlso dbl")
+#End If
+#If Single_ERRORS
+            M(sng AndAlso chr, "sng AndAlso chr")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(sng AndAlso str, "sng AndAlso str")
+#End If
+#If Single_ERRORS
+            M(sng AndAlso dt, "sng AndAlso dt")
+#End If
+#If Single_ERRORS
+            M(sng AndAlso dbnull, "sng AndAlso dbnull")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Object
+            M(sng AndAlso obj, "sng AndAlso obj")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(dbl AndAlso bool, "dbl AndAlso bool")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(dbl AndAlso b, "dbl AndAlso b")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(dbl AndAlso sb, "dbl AndAlso sb")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(dbl AndAlso s, "dbl AndAlso s")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(dbl AndAlso us, "dbl AndAlso us")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(dbl AndAlso i, "dbl AndAlso i")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(dbl AndAlso ui, "dbl AndAlso ui")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(dbl AndAlso l, "dbl AndAlso l")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(dbl AndAlso ul, "dbl AndAlso ul")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(dbl AndAlso dec, "dbl AndAlso dec")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(dbl AndAlso sng, "dbl AndAlso sng")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(dbl AndAlso dbl, "dbl AndAlso dbl")
+#End If
+#If Double_ERRORS
+            M(dbl AndAlso chr, "dbl AndAlso chr")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(dbl AndAlso str, "dbl AndAlso str")
+#End If
+#If Double_ERRORS
+            M(dbl AndAlso dt, "dbl AndAlso dt")
+#End If
+#If Double_ERRORS
+            M(dbl AndAlso dbnull, "dbl AndAlso dbnull")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Object
+            M(dbl AndAlso obj, "dbl AndAlso obj")
+#End If
+#If Char_ERRORS
+            M(chr AndAlso bool, "chr AndAlso bool")
+#End If
+#If Char_ERRORS
+            M(chr AndAlso b, "chr AndAlso b")
+#End If
+#If Char_ERRORS
+            M(chr AndAlso sb, "chr AndAlso sb")
+#End If
+#If Char_ERRORS
+            M(chr AndAlso s, "chr AndAlso s")
+#End If
+#If Char_ERRORS
+            M(chr AndAlso us, "chr AndAlso us")
+#End If
+#If Char_ERRORS
+            M(chr AndAlso i, "chr AndAlso i")
+#End If
+#If Char_ERRORS
+            M(chr AndAlso ui, "chr AndAlso ui")
+#End If
+#If Char_ERRORS
+            M(chr AndAlso l, "chr AndAlso l")
+#End If
+#If Char_ERRORS
+            M(chr AndAlso ul, "chr AndAlso ul")
+#End If
+#If Char_ERRORS
+            M(chr AndAlso dec, "chr AndAlso dec")
+#End If
+#If Char_ERRORS
+            M(chr AndAlso sng, "chr AndAlso sng")
+#End If
+#If Char_ERRORS
+            M(chr AndAlso dbl, "chr AndAlso dbl")
+#End If
+#If Char_ERRORS
+            M(chr AndAlso chr, "chr AndAlso chr")
+#End If
+#If Char_ERRORS
+            M(chr AndAlso str, "chr AndAlso str")
+#End If
+#If Char_ERRORS
+            M(chr AndAlso dt, "chr AndAlso dt")
+#End If
+#If Char_ERRORS
+            M(chr AndAlso dbnull, "chr AndAlso dbnull")
+#End If
+#If Char_ERRORS
+            M(chr AndAlso obj, "chr AndAlso obj")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(str AndAlso bool, "str AndAlso bool")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(str AndAlso b, "str AndAlso b")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(str AndAlso sb, "str AndAlso sb")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(str AndAlso s, "str AndAlso s")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(str AndAlso us, "str AndAlso us")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(str AndAlso i, "str AndAlso i")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(str AndAlso ui, "str AndAlso ui")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(str AndAlso l, "str AndAlso l")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(str AndAlso ul, "str AndAlso ul")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(str AndAlso dec, "str AndAlso dec")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(str AndAlso sng, "str AndAlso sng")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(str AndAlso dbl, "str AndAlso dbl")
+#End If
+#If String_ERRORS
+            M(str AndAlso chr, "str AndAlso chr")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(str AndAlso str, "str AndAlso str")
+#End If
+#If String_ERRORS
+            M(str AndAlso dt, "str AndAlso dt")
+#End If
+#If String_ERRORS
+            M(str AndAlso dbnull, "str AndAlso dbnull")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Object
+            M(str AndAlso obj, "str AndAlso obj")
+#End If
+#If DateTime_ERRORS
+            M(dt AndAlso bool, "dt AndAlso bool")
+#End If
+#If DateTime_ERRORS
+            M(dt AndAlso b, "dt AndAlso b")
+#End If
+#If DateTime_ERRORS
+            M(dt AndAlso sb, "dt AndAlso sb")
+#End If
+#If DateTime_ERRORS
+            M(dt AndAlso s, "dt AndAlso s")
+#End If
+#If DateTime_ERRORS
+            M(dt AndAlso us, "dt AndAlso us")
+#End If
+#If DateTime_ERRORS
+            M(dt AndAlso i, "dt AndAlso i")
+#End If
+#If DateTime_ERRORS
+            M(dt AndAlso ui, "dt AndAlso ui")
+#End If
+#If DateTime_ERRORS
+            M(dt AndAlso l, "dt AndAlso l")
+#End If
+#If DateTime_ERRORS
+            M(dt AndAlso ul, "dt AndAlso ul")
+#End If
+#If DateTime_ERRORS
+            M(dt AndAlso dec, "dt AndAlso dec")
+#End If
+#If DateTime_ERRORS
+            M(dt AndAlso sng, "dt AndAlso sng")
+#End If
+#If DateTime_ERRORS
+            M(dt AndAlso dbl, "dt AndAlso dbl")
+#End If
+#If DateTime_ERRORS
+            M(dt AndAlso chr, "dt AndAlso chr")
+#End If
+#If DateTime_ERRORS
+            M(dt AndAlso str, "dt AndAlso str")
+#End If
+#If DateTime_ERRORS
+            M(dt AndAlso dt, "dt AndAlso dt")
+#End If
+#If DateTime_ERRORS
+            M(dt AndAlso dbnull, "dt AndAlso dbnull")
+#End If
+#If DateTime_ERRORS
+            M(dt AndAlso obj, "dt AndAlso obj")
+#End If
+#If DBNull_ERRORS
+            M(dbnull AndAlso bool, "dbnull AndAlso bool")
+#End If
+#If DBNull_ERRORS
+            M(dbnull AndAlso b, "dbnull AndAlso b")
+#End If
+#If DBNull_ERRORS
+            M(dbnull AndAlso sb, "dbnull AndAlso sb")
+#End If
+#If DBNull_ERRORS
+            M(dbnull AndAlso s, "dbnull AndAlso s")
+#End If
+#If DBNull_ERRORS
+            M(dbnull AndAlso us, "dbnull AndAlso us")
+#End If
+#If DBNull_ERRORS
+            M(dbnull AndAlso i, "dbnull AndAlso i")
+#End If
+#If DBNull_ERRORS
+            M(dbnull AndAlso ui, "dbnull AndAlso ui")
+#End If
+#If DBNull_ERRORS
+            M(dbnull AndAlso l, "dbnull AndAlso l")
+#End If
+#If DBNull_ERRORS
+            M(dbnull AndAlso ul, "dbnull AndAlso ul")
+#End If
+#If DBNull_ERRORS
+            M(dbnull AndAlso dec, "dbnull AndAlso dec")
+#End If
+#If DBNull_ERRORS
+            M(dbnull AndAlso sng, "dbnull AndAlso sng")
+#End If
+#If DBNull_ERRORS
+            M(dbnull AndAlso dbl, "dbnull AndAlso dbl")
+#End If
+#If DBNull_ERRORS
+            M(dbnull AndAlso chr, "dbnull AndAlso chr")
+#End If
+#If DBNull_ERRORS
+            M(dbnull AndAlso str, "dbnull AndAlso str")
+#End If
+#If DBNull_ERRORS
+            M(dbnull AndAlso dt, "dbnull AndAlso dt")
+#End If
+#If DBNull_ERRORS
+            M(dbnull AndAlso dbnull, "dbnull AndAlso dbnull")
+#End If
+#If DBNull_ERRORS
+            M(dbnull AndAlso obj, "dbnull AndAlso obj")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj AndAlso bool, "obj AndAlso bool")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj AndAlso b, "obj AndAlso b")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj AndAlso sb, "obj AndAlso sb")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj AndAlso s, "obj AndAlso s")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj AndAlso us, "obj AndAlso us")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj AndAlso i, "obj AndAlso i")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj AndAlso ui, "obj AndAlso ui")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj AndAlso l, "obj AndAlso l")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj AndAlso ul, "obj AndAlso ul")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj AndAlso dec, "obj AndAlso dec")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj AndAlso sng, "obj AndAlso sng")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj AndAlso dbl, "obj AndAlso dbl")
+#End If
+#If Object_ERRORS
+            M(obj AndAlso chr, "obj AndAlso chr")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj AndAlso str, "obj AndAlso str")
+#End If
+#If Object_ERRORS
+            M(obj AndAlso dt, "obj AndAlso dt")
+#End If
+#If Object_ERRORS
+            M(obj AndAlso dbnull, "obj AndAlso dbnull")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj AndAlso obj, "obj AndAlso obj")
+#End If
+        If failures > 0 Then Return 1
+    Catch ex As Exception
+        Console.WriteLine ("Exception: {0}", ex)
+        Return 2
+    End Try
+    Return 0
+    End Function
+End Class
diff --git a/vbnc/vbnc/tests/CompileTime2/OperatorIntrinsicBinaryAdd.vb b/vbnc/vbnc/tests/CompileTime2/OperatorIntrinsicBinaryAdd.vb
new file mode 100644
index 0000000..8bf89a7
--- /dev/null
+++ b/vbnc/vbnc/tests/CompileTime2/OperatorIntrinsicBinaryAdd.vb
@@ -0,0 +1,840 @@
+Class BinaryOperatorBinaryAdd
+    Inherits IntrinsicOperatorTests
+    Shared Function Main As Integer
+        Try
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Int16
+            M(bool + bool, "bool + bool")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Int16
+            M(bool + b, "bool + b")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.SByte
+            M(bool + sb, "bool + sb")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Int16
+            M(bool + s, "bool + s")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Int32
+            M(bool + us, "bool + us")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Int32
+            M(bool + i, "bool + i")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Int64
+            M(bool + ui, "bool + ui")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Int64
+            M(bool + l, "bool + l")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Decimal
+            M(bool + ul, "bool + ul")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Decimal
+            M(bool + dec, "bool + dec")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Single
+            M(bool + sng, "bool + sng")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Double
+            M(bool + dbl, "bool + dbl")
+#End If
+#If Boolean_ERRORS
+            M(bool + chr, "bool + chr")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Double
+            M(bool + str, "bool + str")
+#End If
+#If Boolean_ERRORS
+            M(bool + dt, "bool + dt")
+#End If
+#If Boolean_ERRORS
+            M(bool + dbnull, "bool + dbnull")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Object
+            M(bool + obj, "bool + obj")
+#End If
+#If Not STRICT Or Byte_ERRORS
+            expected_tc = TypeCode.Int16
+            M(b + bool, "b + bool")
+#End If
+            expected_tc = TypeCode.Byte
+            M(b + b, "b + b")
+            expected_tc = TypeCode.Int16
+            M(b + sb, "b + sb")
+            expected_tc = TypeCode.Int16
+            M(b + s, "b + s")
+            expected_tc = TypeCode.UInt16
+            M(b + us, "b + us")
+            expected_tc = TypeCode.Int32
+            M(b + i, "b + i")
+            expected_tc = TypeCode.UInt32
+            M(b + ui, "b + ui")
+            expected_tc = TypeCode.Int64
+            M(b + l, "b + l")
+            expected_tc = TypeCode.UInt64
+            M(b + ul, "b + ul")
+            expected_tc = TypeCode.Decimal
+            M(b + dec, "b + dec")
+            expected_tc = TypeCode.Single
+            M(b + sng, "b + sng")
+            expected_tc = TypeCode.Double
+            M(b + dbl, "b + dbl")
+#If Byte_ERRORS
+            M(b + chr, "b + chr")
+#End If
+#If Not STRICT Or Byte_ERRORS
+            expected_tc = TypeCode.Double
+            M(b + str, "b + str")
+#End If
+#If Byte_ERRORS
+            M(b + dt, "b + dt")
+#End If
+#If Byte_ERRORS
+            M(b + dbnull, "b + dbnull")
+#End If
+#If Not STRICT Or Byte_ERRORS
+            expected_tc = TypeCode.Object
+            M(b + obj, "b + obj")
+#End If
+#If Not STRICT Or SByte_ERRORS
+            expected_tc = TypeCode.SByte
+            M(sb + bool, "sb + bool")
+#End If
+            expected_tc = TypeCode.Int16
+            M(sb + b, "sb + b")
+            expected_tc = TypeCode.SByte
+            M(sb + sb, "sb + sb")
+            expected_tc = TypeCode.Int16
+            M(sb + s, "sb + s")
+            expected_tc = TypeCode.Int32
+            M(sb + us, "sb + us")
+            expected_tc = TypeCode.Int32
+            M(sb + i, "sb + i")
+            expected_tc = TypeCode.Int64
+            M(sb + ui, "sb + ui")
+            expected_tc = TypeCode.Int64
+            M(sb + l, "sb + l")
+            expected_tc = TypeCode.Decimal
+            M(sb + ul, "sb + ul")
+            expected_tc = TypeCode.Decimal
+            M(sb + dec, "sb + dec")
+            expected_tc = TypeCode.Single
+            M(sb + sng, "sb + sng")
+            expected_tc = TypeCode.Double
+            M(sb + dbl, "sb + dbl")
+#If SByte_ERRORS
+            M(sb + chr, "sb + chr")
+#End If
+#If Not STRICT Or SByte_ERRORS
+            expected_tc = TypeCode.Double
+            M(sb + str, "sb + str")
+#End If
+#If SByte_ERRORS
+            M(sb + dt, "sb + dt")
+#End If
+#If SByte_ERRORS
+            M(sb + dbnull, "sb + dbnull")
+#End If
+#If Not STRICT Or SByte_ERRORS
+            expected_tc = TypeCode.Object
+            M(sb + obj, "sb + obj")
+#End If
+#If Not STRICT Or Int16_ERRORS
+            expected_tc = TypeCode.Int16
+            M(s + bool, "s + bool")
+#End If
+            expected_tc = TypeCode.Int16
+            M(s + b, "s + b")
+            expected_tc = TypeCode.Int16
+            M(s + sb, "s + sb")
+            expected_tc = TypeCode.Int16
+            M(s + s, "s + s")
+            expected_tc = TypeCode.Int32
+            M(s + us, "s + us")
+            expected_tc = TypeCode.Int32
+            M(s + i, "s + i")
+            expected_tc = TypeCode.Int64
+            M(s + ui, "s + ui")
+            expected_tc = TypeCode.Int64
+            M(s + l, "s + l")
+            expected_tc = TypeCode.Decimal
+            M(s + ul, "s + ul")
+            expected_tc = TypeCode.Decimal
+            M(s + dec, "s + dec")
+            expected_tc = TypeCode.Single
+            M(s + sng, "s + sng")
+            expected_tc = TypeCode.Double
+            M(s + dbl, "s + dbl")
+#If Int16_ERRORS
+            M(s + chr, "s + chr")
+#End If
+#If Not STRICT Or Int16_ERRORS
+            expected_tc = TypeCode.Double
+            M(s + str, "s + str")
+#End If
+#If Int16_ERRORS
+            M(s + dt, "s + dt")
+#End If
+#If Int16_ERRORS
+            M(s + dbnull, "s + dbnull")
+#End If
+#If Not STRICT Or Int16_ERRORS
+            expected_tc = TypeCode.Object
+            M(s + obj, "s + obj")
+#End If
+#If Not STRICT Or UInt16_ERRORS
+            expected_tc = TypeCode.Int32
+            M(us + bool, "us + bool")
+#End If
+            expected_tc = TypeCode.UInt16
+            M(us + b, "us + b")
+            expected_tc = TypeCode.Int32
+            M(us + sb, "us + sb")
+            expected_tc = TypeCode.Int32
+            M(us + s, "us + s")
+            expected_tc = TypeCode.UInt16
+            M(us + us, "us + us")
+            expected_tc = TypeCode.Int32
+            M(us + i, "us + i")
+            expected_tc = TypeCode.UInt32
+            M(us + ui, "us + ui")
+            expected_tc = TypeCode.Int64
+            M(us + l, "us + l")
+            expected_tc = TypeCode.UInt64
+            M(us + ul, "us + ul")
+            expected_tc = TypeCode.Decimal
+            M(us + dec, "us + dec")
+            expected_tc = TypeCode.Single
+            M(us + sng, "us + sng")
+            expected_tc = TypeCode.Double
+            M(us + dbl, "us + dbl")
+#If UInt16_ERRORS
+            M(us + chr, "us + chr")
+#End If
+#If Not STRICT Or UInt16_ERRORS
+            expected_tc = TypeCode.Double
+            M(us + str, "us + str")
+#End If
+#If UInt16_ERRORS
+            M(us + dt, "us + dt")
+#End If
+#If UInt16_ERRORS
+            M(us + dbnull, "us + dbnull")
+#End If
+#If Not STRICT Or UInt16_ERRORS
+            expected_tc = TypeCode.Object
+            M(us + obj, "us + obj")
+#End If
+#If Not STRICT Or Int32_ERRORS
+            expected_tc = TypeCode.Int32
+            M(i + bool, "i + bool")
+#End If
+            expected_tc = TypeCode.Int32
+            M(i + b, "i + b")
+            expected_tc = TypeCode.Int32
+            M(i + sb, "i + sb")
+            expected_tc = TypeCode.Int32
+            M(i + s, "i + s")
+            expected_tc = TypeCode.Int32
+            M(i + us, "i + us")
+            expected_tc = TypeCode.Int32
+            M(i + i, "i + i")
+            expected_tc = TypeCode.Int64
+            M(i + ui, "i + ui")
+            expected_tc = TypeCode.Int64
+            M(i + l, "i + l")
+            expected_tc = TypeCode.Decimal
+            M(i + ul, "i + ul")
+            expected_tc = TypeCode.Decimal
+            M(i + dec, "i + dec")
+            expected_tc = TypeCode.Single
+            M(i + sng, "i + sng")
+            expected_tc = TypeCode.Double
+            M(i + dbl, "i + dbl")
+#If Int32_ERRORS
+            M(i + chr, "i + chr")
+#End If
+#If Not STRICT Or Int32_ERRORS
+            expected_tc = TypeCode.Double
+            M(i + str, "i + str")
+#End If
+#If Int32_ERRORS
+            M(i + dt, "i + dt")
+#End If
+#If Int32_ERRORS
+            M(i + dbnull, "i + dbnull")
+#End If
+#If Not STRICT Or Int32_ERRORS
+            expected_tc = TypeCode.Object
+            M(i + obj, "i + obj")
+#End If
+#If Not STRICT Or UInt32_ERRORS
+            expected_tc = TypeCode.Int64
+            M(ui + bool, "ui + bool")
+#End If
+            expected_tc = TypeCode.UInt32
+            M(ui + b, "ui + b")
+            expected_tc = TypeCode.Int64
+            M(ui + sb, "ui + sb")
+            expected_tc = TypeCode.Int64
+            M(ui + s, "ui + s")
+            expected_tc = TypeCode.UInt32
+            M(ui + us, "ui + us")
+            expected_tc = TypeCode.Int64
+            M(ui + i, "ui + i")
+            expected_tc = TypeCode.UInt32
+            M(ui + ui, "ui + ui")
+            expected_tc = TypeCode.Int64
+            M(ui + l, "ui + l")
+            expected_tc = TypeCode.UInt64
+            M(ui + ul, "ui + ul")
+            expected_tc = TypeCode.Decimal
+            M(ui + dec, "ui + dec")
+            expected_tc = TypeCode.Single
+            M(ui + sng, "ui + sng")
+            expected_tc = TypeCode.Double
+            M(ui + dbl, "ui + dbl")
+#If UInt32_ERRORS
+            M(ui + chr, "ui + chr")
+#End If
+#If Not STRICT Or UInt32_ERRORS
+            expected_tc = TypeCode.Double
+            M(ui + str, "ui + str")
+#End If
+#If UInt32_ERRORS
+            M(ui + dt, "ui + dt")
+#End If
+#If UInt32_ERRORS
+            M(ui + dbnull, "ui + dbnull")
+#End If
+#If Not STRICT Or UInt32_ERRORS
+            expected_tc = TypeCode.Object
+            M(ui + obj, "ui + obj")
+#End If
+#If Not STRICT Or Int64_ERRORS
+            expected_tc = TypeCode.Int64
+            M(l + bool, "l + bool")
+#End If
+            expected_tc = TypeCode.Int64
+            M(l + b, "l + b")
+            expected_tc = TypeCode.Int64
+            M(l + sb, "l + sb")
+            expected_tc = TypeCode.Int64
+            M(l + s, "l + s")
+            expected_tc = TypeCode.Int64
+            M(l + us, "l + us")
+            expected_tc = TypeCode.Int64
+            M(l + i, "l + i")
+            expected_tc = TypeCode.Int64
+            M(l + ui, "l + ui")
+            expected_tc = TypeCode.Int64
+            M(l + l, "l + l")
+            expected_tc = TypeCode.Decimal
+            M(l + ul, "l + ul")
+            expected_tc = TypeCode.Decimal
+            M(l + dec, "l + dec")
+            expected_tc = TypeCode.Single
+            M(l + sng, "l + sng")
+            expected_tc = TypeCode.Double
+            M(l + dbl, "l + dbl")
+#If Int64_ERRORS
+            M(l + chr, "l + chr")
+#End If
+#If Not STRICT Or Int64_ERRORS
+            expected_tc = TypeCode.Double
+            M(l + str, "l + str")
+#End If
+#If Int64_ERRORS
+            M(l + dt, "l + dt")
+#End If
+#If Int64_ERRORS
+            M(l + dbnull, "l + dbnull")
+#End If
+#If Not STRICT Or Int64_ERRORS
+            expected_tc = TypeCode.Object
+            M(l + obj, "l + obj")
+#End If
+#If Not STRICT Or UInt64_ERRORS
+            expected_tc = TypeCode.Decimal
+            M(ul + bool, "ul + bool")
+#End If
+            expected_tc = TypeCode.UInt64
+            M(ul + b, "ul + b")
+            expected_tc = TypeCode.Decimal
+            M(ul + sb, "ul + sb")
+            expected_tc = TypeCode.Decimal
+            M(ul + s, "ul + s")
+            expected_tc = TypeCode.UInt64
+            M(ul + us, "ul + us")
+            expected_tc = TypeCode.Decimal
+            M(ul + i, "ul + i")
+            expected_tc = TypeCode.UInt64
+            M(ul + ui, "ul + ui")
+            expected_tc = TypeCode.Decimal
+            M(ul + l, "ul + l")
+            expected_tc = TypeCode.UInt64
+            M(ul + ul, "ul + ul")
+            expected_tc = TypeCode.Decimal
+            M(ul + dec, "ul + dec")
+            expected_tc = TypeCode.Single
+            M(ul + sng, "ul + sng")
+            expected_tc = TypeCode.Double
+            M(ul + dbl, "ul + dbl")
+#If UInt64_ERRORS
+            M(ul + chr, "ul + chr")
+#End If
+#If Not STRICT Or UInt64_ERRORS
+            expected_tc = TypeCode.Double
+            M(ul + str, "ul + str")
+#End If
+#If UInt64_ERRORS
+            M(ul + dt, "ul + dt")
+#End If
+#If UInt64_ERRORS
+            M(ul + dbnull, "ul + dbnull")
+#End If
+#If Not STRICT Or UInt64_ERRORS
+            expected_tc = TypeCode.Object
+            M(ul + obj, "ul + obj")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Decimal
+            M(dec + bool, "dec + bool")
+#End If
+            expected_tc = TypeCode.Decimal
+            M(dec + b, "dec + b")
+            expected_tc = TypeCode.Decimal
+            M(dec + sb, "dec + sb")
+            expected_tc = TypeCode.Decimal
+            M(dec + s, "dec + s")
+            expected_tc = TypeCode.Decimal
+            M(dec + us, "dec + us")
+            expected_tc = TypeCode.Decimal
+            M(dec + i, "dec + i")
+            expected_tc = TypeCode.Decimal
+            M(dec + ui, "dec + ui")
+            expected_tc = TypeCode.Decimal
+            M(dec + l, "dec + l")
+            expected_tc = TypeCode.Decimal
+            M(dec + ul, "dec + ul")
+            expected_tc = TypeCode.Decimal
+            M(dec + dec, "dec + dec")
+            expected_tc = TypeCode.Single
+            M(dec + sng, "dec + sng")
+            expected_tc = TypeCode.Double
+            M(dec + dbl, "dec + dbl")
+#If Decimal_ERRORS
+            M(dec + chr, "dec + chr")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Double
+            M(dec + str, "dec + str")
+#End If
+#If Decimal_ERRORS
+            M(dec + dt, "dec + dt")
+#End If
+#If Decimal_ERRORS
+            M(dec + dbnull, "dec + dbnull")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Object
+            M(dec + obj, "dec + obj")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Single
+            M(sng + bool, "sng + bool")
+#End If
+            expected_tc = TypeCode.Single
+            M(sng + b, "sng + b")
+            expected_tc = TypeCode.Single
+            M(sng + sb, "sng + sb")
+            expected_tc = TypeCode.Single
+            M(sng + s, "sng + s")
+            expected_tc = TypeCode.Single
+            M(sng + us, "sng + us")
+            expected_tc = TypeCode.Single
+            M(sng + i, "sng + i")
+            expected_tc = TypeCode.Single
+            M(sng + ui, "sng + ui")
+            expected_tc = TypeCode.Single
+            M(sng + l, "sng + l")
+            expected_tc = TypeCode.Single
+            M(sng + ul, "sng + ul")
+            expected_tc = TypeCode.Single
+            M(sng + dec, "sng + dec")
+            expected_tc = TypeCode.Single
+            M(sng + sng, "sng + sng")
+            expected_tc = TypeCode.Double
+            M(sng + dbl, "sng + dbl")
+#If Single_ERRORS
+            M(sng + chr, "sng + chr")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Double
+            M(sng + str, "sng + str")
+#End If
+#If Single_ERRORS
+            M(sng + dt, "sng + dt")
+#End If
+#If Single_ERRORS
+            M(sng + dbnull, "sng + dbnull")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Object
+            M(sng + obj, "sng + obj")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Double
+            M(dbl + bool, "dbl + bool")
+#End If
+            expected_tc = TypeCode.Double
+            M(dbl + b, "dbl + b")
+            expected_tc = TypeCode.Double
+            M(dbl + sb, "dbl + sb")
+            expected_tc = TypeCode.Double
+            M(dbl + s, "dbl + s")
+            expected_tc = TypeCode.Double
+            M(dbl + us, "dbl + us")
+            expected_tc = TypeCode.Double
+            M(dbl + i, "dbl + i")
+            expected_tc = TypeCode.Double
+            M(dbl + ui, "dbl + ui")
+            expected_tc = TypeCode.Double
+            M(dbl + l, "dbl + l")
+            expected_tc = TypeCode.Double
+            M(dbl + ul, "dbl + ul")
+            expected_tc = TypeCode.Double
+            M(dbl + dec, "dbl + dec")
+            expected_tc = TypeCode.Double
+            M(dbl + sng, "dbl + sng")
+            expected_tc = TypeCode.Double
+            M(dbl + dbl, "dbl + dbl")
+#If Double_ERRORS
+            M(dbl + chr, "dbl + chr")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Double
+            M(dbl + str, "dbl + str")
+#End If
+#If Double_ERRORS
+            M(dbl + dt, "dbl + dt")
+#End If
+#If Double_ERRORS
+            M(dbl + dbnull, "dbl + dbnull")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Object
+            M(dbl + obj, "dbl + obj")
+#End If
+#If Char_ERRORS
+            M(chr + bool, "chr + bool")
+#End If
+#If Char_ERRORS
+            M(chr + b, "chr + b")
+#End If
+#If Char_ERRORS
+            M(chr + sb, "chr + sb")
+#End If
+#If Char_ERRORS
+            M(chr + s, "chr + s")
+#End If
+#If Char_ERRORS
+            M(chr + us, "chr + us")
+#End If
+#If Char_ERRORS
+            M(chr + i, "chr + i")
+#End If
+#If Char_ERRORS
+            M(chr + ui, "chr + ui")
+#End If
+#If Char_ERRORS
+            M(chr + l, "chr + l")
+#End If
+#If Char_ERRORS
+            M(chr + ul, "chr + ul")
+#End If
+#If Char_ERRORS
+            M(chr + dec, "chr + dec")
+#End If
+#If Char_ERRORS
+            M(chr + sng, "chr + sng")
+#End If
+#If Char_ERRORS
+            M(chr + dbl, "chr + dbl")
+#End If
+#If Char_ERRORS
+            M(chr + chr, "chr + chr")
+#End If
+#If Not STRICT Or Char_ERRORS
+            expected_tc = TypeCode.String
+            M(chr + str, "chr + str")
+#End If
+#If Char_ERRORS
+            M(chr + dt, "chr + dt")
+#End If
+#If Char_ERRORS
+            M(chr + dbnull, "chr + dbnull")
+#End If
+#If Not STRICT Or Char_ERRORS
+            expected_tc = TypeCode.Object
+            M(chr + obj, "chr + obj")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Double
+            M(str + bool, "str + bool")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Double
+            M(str + b, "str + b")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Double
+            M(str + sb, "str + sb")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Double
+            M(str + s, "str + s")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Double
+            M(str + us, "str + us")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Double
+            M(str + i, "str + i")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Double
+            M(str + ui, "str + ui")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Double
+            M(str + l, "str + l")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Double
+            M(str + ul, "str + ul")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Double
+            M(str + dec, "str + dec")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Double
+            M(str + sng, "str + sng")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Double
+            M(str + dbl, "str + dbl")
+#End If
+#If String_ERRORS
+            M(str + chr, "str + chr")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.String
+            M(str + str, "str + str")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.String
+            M(str + dt, "str + dt")
+#End If
+#If String_ERRORS
+            M(str + dbnull, "str + dbnull")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Object
+            M(str + obj, "str + obj")
+#End If
+#If DateTime_ERRORS
+            M(dt + bool, "dt + bool")
+#End If
+#If DateTime_ERRORS
+            M(dt + b, "dt + b")
+#End If
+#If DateTime_ERRORS
+            M(dt + sb, "dt + sb")
+#End If
+#If DateTime_ERRORS
+            M(dt + s, "dt + s")
+#End If
+#If DateTime_ERRORS
+            M(dt + us, "dt + us")
+#End If
+#If DateTime_ERRORS
+            M(dt + i, "dt + i")
+#End If
+#If DateTime_ERRORS
+            M(dt + ui, "dt + ui")
+#End If
+#If DateTime_ERRORS
+            M(dt + l, "dt + l")
+#End If
+#If DateTime_ERRORS
+            M(dt + ul, "dt + ul")
+#End If
+#If DateTime_ERRORS
+            M(dt + dec, "dt + dec")
+#End If
+#If DateTime_ERRORS
+            M(dt + sng, "dt + sng")
+#End If
+#If DateTime_ERRORS
+            M(dt + dbl, "dt + dbl")
+#End If
+#If DateTime_ERRORS
+            M(dt + chr, "dt + chr")
+#End If
+#If Not STRICT Or DateTime_ERRORS
+            expected_tc = TypeCode.String
+            M(dt + str, "dt + str")
+#End If
+#If DateTime_ERRORS
+            M(dt + dt, "dt + dt")
+#End If
+#If DateTime_ERRORS
+            M(dt + dbnull, "dt + dbnull")
+#End If
+#If Not STRICT Or DateTime_ERRORS
+            expected_tc = TypeCode.Object
+            M(dt + obj, "dt + obj")
+#End If
+#If DBNull_ERRORS
+            M(dbnull + bool, "dbnull + bool")
+#End If
+#If DBNull_ERRORS
+            M(dbnull + b, "dbnull + b")
+#End If
+#If DBNull_ERRORS
+            M(dbnull + sb, "dbnull + sb")
+#End If
+#If DBNull_ERRORS
+            M(dbnull + s, "dbnull + s")
+#End If
+#If DBNull_ERRORS
+            M(dbnull + us, "dbnull + us")
+#End If
+#If DBNull_ERRORS
+            M(dbnull + i, "dbnull + i")
+#End If
+#If DBNull_ERRORS
+            M(dbnull + ui, "dbnull + ui")
+#End If
+#If DBNull_ERRORS
+            M(dbnull + l, "dbnull + l")
+#End If
+#If DBNull_ERRORS
+            M(dbnull + ul, "dbnull + ul")
+#End If
+#If DBNull_ERRORS
+            M(dbnull + dec, "dbnull + dec")
+#End If
+#If DBNull_ERRORS
+            M(dbnull + sng, "dbnull + sng")
+#End If
+#If DBNull_ERRORS
+            M(dbnull + dbl, "dbnull + dbl")
+#End If
+#If DBNull_ERRORS
+            M(dbnull + chr, "dbnull + chr")
+#End If
+#If DBNull_ERRORS
+            M(dbnull + str, "dbnull + str")
+#End If
+#If DBNull_ERRORS
+            M(dbnull + dt, "dbnull + dt")
+#End If
+#If DBNull_ERRORS
+            M(dbnull + dbnull, "dbnull + dbnull")
+#End If
+#If DBNull_ERRORS
+            M(dbnull + obj, "dbnull + obj")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj + bool, "obj + bool")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj + b, "obj + b")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj + sb, "obj + sb")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj + s, "obj + s")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj + us, "obj + us")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj + i, "obj + i")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj + ui, "obj + ui")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj + l, "obj + l")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj + ul, "obj + ul")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj + dec, "obj + dec")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj + sng, "obj + sng")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj + dbl, "obj + dbl")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj + chr, "obj + chr")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj + str, "obj + str")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj + dt, "obj + dt")
+#End If
+#If Object_ERRORS
+            M(obj + dbnull, "obj + dbnull")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj + obj, "obj + obj")
+#End If
+        If failures > 0 Then Return 1
+    Catch ex As Exception
+        Console.WriteLine ("Exception: {0}", ex)
+        Return 2
+    End Try
+    Return 0
+    End Function
+End Class
diff --git a/vbnc/vbnc/tests/CompileTime2/OperatorIntrinsicBinarySub.vb b/vbnc/vbnc/tests/CompileTime2/OperatorIntrinsicBinarySub.vb
new file mode 100644
index 0000000..a0e71d8
--- /dev/null
+++ b/vbnc/vbnc/tests/CompileTime2/OperatorIntrinsicBinarySub.vb
@@ -0,0 +1,833 @@
+Class BinaryOperatorBinarySub
+    Inherits IntrinsicOperatorTests
+    Shared Function Main As Integer
+        Try
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Int16
+            M(bool - bool, "bool - bool")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Int16
+            M(bool - b, "bool - b")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.SByte
+            M(bool - sb, "bool - sb")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Int16
+            M(bool - s, "bool - s")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Int32
+            M(bool - us, "bool - us")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Int32
+            M(bool - i, "bool - i")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Int64
+            M(bool - ui, "bool - ui")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Int64
+            M(bool - l, "bool - l")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Decimal
+            M(bool - ul, "bool - ul")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Decimal
+            M(bool - dec, "bool - dec")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Single
+            M(bool - sng, "bool - sng")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Double
+            M(bool - dbl, "bool - dbl")
+#End If
+#If Boolean_ERRORS
+            M(bool - chr, "bool - chr")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Double
+            M(bool - str, "bool - str")
+#End If
+#If Boolean_ERRORS
+            M(bool - dt, "bool - dt")
+#End If
+#If Boolean_ERRORS
+            M(bool - dbnull, "bool - dbnull")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Object
+            M(bool - obj, "bool - obj")
+#End If
+#If Not STRICT Or Byte_ERRORS
+            expected_tc = TypeCode.Int16
+            M(b - bool, "b - bool")
+#End If
+            expected_tc = TypeCode.Byte
+            M(b - b, "b - b")
+            expected_tc = TypeCode.Int16
+            M(b - sb, "b - sb")
+            expected_tc = TypeCode.Int16
+            M(b - s, "b - s")
+            expected_tc = TypeCode.UInt16
+            M(b - us, "b - us")
+            expected_tc = TypeCode.Int32
+            M(b - i, "b - i")
+            expected_tc = TypeCode.UInt32
+            M(b - ui, "b - ui")
+            expected_tc = TypeCode.Int64
+            M(b - l, "b - l")
+            expected_tc = TypeCode.UInt64
+            M(b - ul, "b - ul")
+            expected_tc = TypeCode.Decimal
+            M(b - dec, "b - dec")
+            expected_tc = TypeCode.Single
+            M(b - sng, "b - sng")
+            expected_tc = TypeCode.Double
+            M(b - dbl, "b - dbl")
+#If Byte_ERRORS
+            M(b - chr, "b - chr")
+#End If
+#If Not STRICT Or Byte_ERRORS
+            expected_tc = TypeCode.Double
+            M(b - str, "b - str")
+#End If
+#If Byte_ERRORS
+            M(b - dt, "b - dt")
+#End If
+#If Byte_ERRORS
+            M(b - dbnull, "b - dbnull")
+#End If
+#If Not STRICT Or Byte_ERRORS
+            expected_tc = TypeCode.Object
+            M(b - obj, "b - obj")
+#End If
+#If Not STRICT Or SByte_ERRORS
+            expected_tc = TypeCode.SByte
+            M(sb - bool, "sb - bool")
+#End If
+            expected_tc = TypeCode.Int16
+            M(sb - b, "sb - b")
+            expected_tc = TypeCode.SByte
+            M(sb - sb, "sb - sb")
+            expected_tc = TypeCode.Int16
+            M(sb - s, "sb - s")
+            expected_tc = TypeCode.Int32
+            M(sb - us, "sb - us")
+            expected_tc = TypeCode.Int32
+            M(sb - i, "sb - i")
+            expected_tc = TypeCode.Int64
+            M(sb - ui, "sb - ui")
+            expected_tc = TypeCode.Int64
+            M(sb - l, "sb - l")
+            expected_tc = TypeCode.Decimal
+            M(sb - ul, "sb - ul")
+            expected_tc = TypeCode.Decimal
+            M(sb - dec, "sb - dec")
+            expected_tc = TypeCode.Single
+            M(sb - sng, "sb - sng")
+            expected_tc = TypeCode.Double
+            M(sb - dbl, "sb - dbl")
+#If SByte_ERRORS
+            M(sb - chr, "sb - chr")
+#End If
+#If Not STRICT Or SByte_ERRORS
+            expected_tc = TypeCode.Double
+            M(sb - str, "sb - str")
+#End If
+#If SByte_ERRORS
+            M(sb - dt, "sb - dt")
+#End If
+#If SByte_ERRORS
+            M(sb - dbnull, "sb - dbnull")
+#End If
+#If Not STRICT Or SByte_ERRORS
+            expected_tc = TypeCode.Object
+            M(sb - obj, "sb - obj")
+#End If
+#If Not STRICT Or Int16_ERRORS
+            expected_tc = TypeCode.Int16
+            M(s - bool, "s - bool")
+#End If
+            expected_tc = TypeCode.Int16
+            M(s - b, "s - b")
+            expected_tc = TypeCode.Int16
+            M(s - sb, "s - sb")
+            expected_tc = TypeCode.Int16
+            M(s - s, "s - s")
+            expected_tc = TypeCode.Int32
+            M(s - us, "s - us")
+            expected_tc = TypeCode.Int32
+            M(s - i, "s - i")
+            expected_tc = TypeCode.Int64
+            M(s - ui, "s - ui")
+            expected_tc = TypeCode.Int64
+            M(s - l, "s - l")
+            expected_tc = TypeCode.Decimal
+            M(s - ul, "s - ul")
+            expected_tc = TypeCode.Decimal
+            M(s - dec, "s - dec")
+            expected_tc = TypeCode.Single
+            M(s - sng, "s - sng")
+            expected_tc = TypeCode.Double
+            M(s - dbl, "s - dbl")
+#If Int16_ERRORS
+            M(s - chr, "s - chr")
+#End If
+#If Not STRICT Or Int16_ERRORS
+            expected_tc = TypeCode.Double
+            M(s - str, "s - str")
+#End If
+#If Int16_ERRORS
+            M(s - dt, "s - dt")
+#End If
+#If Int16_ERRORS
+            M(s - dbnull, "s - dbnull")
+#End If
+#If Not STRICT Or Int16_ERRORS
+            expected_tc = TypeCode.Object
+            M(s - obj, "s - obj")
+#End If
+#If Not STRICT Or UInt16_ERRORS
+            expected_tc = TypeCode.Int32
+            M(us - bool, "us - bool")
+#End If
+            expected_tc = TypeCode.UInt16
+            M(us - b, "us - b")
+            expected_tc = TypeCode.Int32
+            M(us - sb, "us - sb")
+            expected_tc = TypeCode.Int32
+            M(us - s, "us - s")
+            expected_tc = TypeCode.UInt16
+            M(us - us, "us - us")
+            expected_tc = TypeCode.Int32
+            M(us - i, "us - i")
+            expected_tc = TypeCode.UInt32
+            M(us - ui, "us - ui")
+            expected_tc = TypeCode.Int64
+            M(us - l, "us - l")
+            expected_tc = TypeCode.UInt64
+            M(us - ul, "us - ul")
+            expected_tc = TypeCode.Decimal
+            M(us - dec, "us - dec")
+            expected_tc = TypeCode.Single
+            M(us - sng, "us - sng")
+            expected_tc = TypeCode.Double
+            M(us - dbl, "us - dbl")
+#If UInt16_ERRORS
+            M(us - chr, "us - chr")
+#End If
+#If Not STRICT Or UInt16_ERRORS
+            expected_tc = TypeCode.Double
+            M(us - str, "us - str")
+#End If
+#If UInt16_ERRORS
+            M(us - dt, "us - dt")
+#End If
+#If UInt16_ERRORS
+            M(us - dbnull, "us - dbnull")
+#End If
+#If Not STRICT Or UInt16_ERRORS
+            expected_tc = TypeCode.Object
+            M(us - obj, "us - obj")
+#End If
+#If Not STRICT Or Int32_ERRORS
+            expected_tc = TypeCode.Int32
+            M(i - bool, "i - bool")
+#End If
+            expected_tc = TypeCode.Int32
+            M(i - b, "i - b")
+            expected_tc = TypeCode.Int32
+            M(i - sb, "i - sb")
+            expected_tc = TypeCode.Int32
+            M(i - s, "i - s")
+            expected_tc = TypeCode.Int32
+            M(i - us, "i - us")
+            expected_tc = TypeCode.Int32
+            M(i - i, "i - i")
+            expected_tc = TypeCode.Int64
+            M(i - ui, "i - ui")
+            expected_tc = TypeCode.Int64
+            M(i - l, "i - l")
+            expected_tc = TypeCode.Decimal
+            M(i - ul, "i - ul")
+            expected_tc = TypeCode.Decimal
+            M(i - dec, "i - dec")
+            expected_tc = TypeCode.Single
+            M(i - sng, "i - sng")
+            expected_tc = TypeCode.Double
+            M(i - dbl, "i - dbl")
+#If Int32_ERRORS
+            M(i - chr, "i - chr")
+#End If
+#If Not STRICT Or Int32_ERRORS
+            expected_tc = TypeCode.Double
+            M(i - str, "i - str")
+#End If
+#If Int32_ERRORS
+            M(i - dt, "i - dt")
+#End If
+#If Int32_ERRORS
+            M(i - dbnull, "i - dbnull")
+#End If
+#If Not STRICT Or Int32_ERRORS
+            expected_tc = TypeCode.Object
+            M(i - obj, "i - obj")
+#End If
+#If Not STRICT Or UInt32_ERRORS
+            expected_tc = TypeCode.Int64
+            M(ui - bool, "ui - bool")
+#End If
+            expected_tc = TypeCode.UInt32
+            M(ui - b, "ui - b")
+            expected_tc = TypeCode.Int64
+            M(ui - sb, "ui - sb")
+            expected_tc = TypeCode.Int64
+            M(ui - s, "ui - s")
+            expected_tc = TypeCode.UInt32
+            M(ui - us, "ui - us")
+            expected_tc = TypeCode.Int64
+            M(ui - i, "ui - i")
+            expected_tc = TypeCode.UInt32
+            M(ui - ui, "ui - ui")
+            expected_tc = TypeCode.Int64
+            M(ui - l, "ui - l")
+            expected_tc = TypeCode.UInt64
+            M(ui - ul, "ui - ul")
+            expected_tc = TypeCode.Decimal
+            M(ui - dec, "ui - dec")
+            expected_tc = TypeCode.Single
+            M(ui - sng, "ui - sng")
+            expected_tc = TypeCode.Double
+            M(ui - dbl, "ui - dbl")
+#If UInt32_ERRORS
+            M(ui - chr, "ui - chr")
+#End If
+#If Not STRICT Or UInt32_ERRORS
+            expected_tc = TypeCode.Double
+            M(ui - str, "ui - str")
+#End If
+#If UInt32_ERRORS
+            M(ui - dt, "ui - dt")
+#End If
+#If UInt32_ERRORS
+            M(ui - dbnull, "ui - dbnull")
+#End If
+#If Not STRICT Or UInt32_ERRORS
+            expected_tc = TypeCode.Object
+            M(ui - obj, "ui - obj")
+#End If
+#If Not STRICT Or Int64_ERRORS
+            expected_tc = TypeCode.Int64
+            M(l - bool, "l - bool")
+#End If
+            expected_tc = TypeCode.Int64
+            M(l - b, "l - b")
+            expected_tc = TypeCode.Int64
+            M(l - sb, "l - sb")
+            expected_tc = TypeCode.Int64
+            M(l - s, "l - s")
+            expected_tc = TypeCode.Int64
+            M(l - us, "l - us")
+            expected_tc = TypeCode.Int64
+            M(l - i, "l - i")
+            expected_tc = TypeCode.Int64
+            M(l - ui, "l - ui")
+            expected_tc = TypeCode.Int64
+            M(l - l, "l - l")
+            expected_tc = TypeCode.Decimal
+            M(l - ul, "l - ul")
+            expected_tc = TypeCode.Decimal
+            M(l - dec, "l - dec")
+            expected_tc = TypeCode.Single
+            M(l - sng, "l - sng")
+            expected_tc = TypeCode.Double
+            M(l - dbl, "l - dbl")
+#If Int64_ERRORS
+            M(l - chr, "l - chr")
+#End If
+#If Not STRICT Or Int64_ERRORS
+            expected_tc = TypeCode.Double
+            M(l - str, "l - str")
+#End If
+#If Int64_ERRORS
+            M(l - dt, "l - dt")
+#End If
+#If Int64_ERRORS
+            M(l - dbnull, "l - dbnull")
+#End If
+#If Not STRICT Or Int64_ERRORS
+            expected_tc = TypeCode.Object
+            M(l - obj, "l - obj")
+#End If
+#If Not STRICT Or UInt64_ERRORS
+            expected_tc = TypeCode.Decimal
+            M(ul - bool, "ul - bool")
+#End If
+            expected_tc = TypeCode.UInt64
+            M(ul - b, "ul - b")
+            expected_tc = TypeCode.Decimal
+            M(ul - sb, "ul - sb")
+            expected_tc = TypeCode.Decimal
+            M(ul - s, "ul - s")
+            expected_tc = TypeCode.UInt64
+            M(ul - us, "ul - us")
+            expected_tc = TypeCode.Decimal
+            M(ul - i, "ul - i")
+            expected_tc = TypeCode.UInt64
+            M(ul - ui, "ul - ui")
+            expected_tc = TypeCode.Decimal
+            M(ul - l, "ul - l")
+            expected_tc = TypeCode.UInt64
+            M(ul - ul, "ul - ul")
+            expected_tc = TypeCode.Decimal
+            M(ul - dec, "ul - dec")
+            expected_tc = TypeCode.Single
+            M(ul - sng, "ul - sng")
+            expected_tc = TypeCode.Double
+            M(ul - dbl, "ul - dbl")
+#If UInt64_ERRORS
+            M(ul - chr, "ul - chr")
+#End If
+#If Not STRICT Or UInt64_ERRORS
+            expected_tc = TypeCode.Double
+            M(ul - str, "ul - str")
+#End If
+#If UInt64_ERRORS
+            M(ul - dt, "ul - dt")
+#End If
+#If UInt64_ERRORS
+            M(ul - dbnull, "ul - dbnull")
+#End If
+#If Not STRICT Or UInt64_ERRORS
+            expected_tc = TypeCode.Object
+            M(ul - obj, "ul - obj")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Decimal
+            M(dec - bool, "dec - bool")
+#End If
+            expected_tc = TypeCode.Decimal
+            M(dec - b, "dec - b")
+            expected_tc = TypeCode.Decimal
+            M(dec - sb, "dec - sb")
+            expected_tc = TypeCode.Decimal
+            M(dec - s, "dec - s")
+            expected_tc = TypeCode.Decimal
+            M(dec - us, "dec - us")
+            expected_tc = TypeCode.Decimal
+            M(dec - i, "dec - i")
+            expected_tc = TypeCode.Decimal
+            M(dec - ui, "dec - ui")
+            expected_tc = TypeCode.Decimal
+            M(dec - l, "dec - l")
+            expected_tc = TypeCode.Decimal
+            M(dec - ul, "dec - ul")
+            expected_tc = TypeCode.Decimal
+            M(dec - dec, "dec - dec")
+            expected_tc = TypeCode.Single
+            M(dec - sng, "dec - sng")
+            expected_tc = TypeCode.Double
+            M(dec - dbl, "dec - dbl")
+#If Decimal_ERRORS
+            M(dec - chr, "dec - chr")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Double
+            M(dec - str, "dec - str")
+#End If
+#If Decimal_ERRORS
+            M(dec - dt, "dec - dt")
+#End If
+#If Decimal_ERRORS
+            M(dec - dbnull, "dec - dbnull")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Object
+            M(dec - obj, "dec - obj")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Single
+            M(sng - bool, "sng - bool")
+#End If
+            expected_tc = TypeCode.Single
+            M(sng - b, "sng - b")
+            expected_tc = TypeCode.Single
+            M(sng - sb, "sng - sb")
+            expected_tc = TypeCode.Single
+            M(sng - s, "sng - s")
+            expected_tc = TypeCode.Single
+            M(sng - us, "sng - us")
+            expected_tc = TypeCode.Single
+            M(sng - i, "sng - i")
+            expected_tc = TypeCode.Single
+            M(sng - ui, "sng - ui")
+            expected_tc = TypeCode.Single
+            M(sng - l, "sng - l")
+            expected_tc = TypeCode.Single
+            M(sng - ul, "sng - ul")
+            expected_tc = TypeCode.Single
+            M(sng - dec, "sng - dec")
+            expected_tc = TypeCode.Single
+            M(sng - sng, "sng - sng")
+            expected_tc = TypeCode.Double
+            M(sng - dbl, "sng - dbl")
+#If Single_ERRORS
+            M(sng - chr, "sng - chr")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Double
+            M(sng - str, "sng - str")
+#End If
+#If Single_ERRORS
+            M(sng - dt, "sng - dt")
+#End If
+#If Single_ERRORS
+            M(sng - dbnull, "sng - dbnull")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Object
+            M(sng - obj, "sng - obj")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Double
+            M(dbl - bool, "dbl - bool")
+#End If
+            expected_tc = TypeCode.Double
+            M(dbl - b, "dbl - b")
+            expected_tc = TypeCode.Double
+            M(dbl - sb, "dbl - sb")
+            expected_tc = TypeCode.Double
+            M(dbl - s, "dbl - s")
+            expected_tc = TypeCode.Double
+            M(dbl - us, "dbl - us")
+            expected_tc = TypeCode.Double
+            M(dbl - i, "dbl - i")
+            expected_tc = TypeCode.Double
+            M(dbl - ui, "dbl - ui")
+            expected_tc = TypeCode.Double
+            M(dbl - l, "dbl - l")
+            expected_tc = TypeCode.Double
+            M(dbl - ul, "dbl - ul")
+            expected_tc = TypeCode.Double
+            M(dbl - dec, "dbl - dec")
+            expected_tc = TypeCode.Double
+            M(dbl - sng, "dbl - sng")
+            expected_tc = TypeCode.Double
+            M(dbl - dbl, "dbl - dbl")
+#If Double_ERRORS
+            M(dbl - chr, "dbl - chr")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Double
+            M(dbl - str, "dbl - str")
+#End If
+#If Double_ERRORS
+            M(dbl - dt, "dbl - dt")
+#End If
+#If Double_ERRORS
+            M(dbl - dbnull, "dbl - dbnull")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Object
+            M(dbl - obj, "dbl - obj")
+#End If
+#If Char_ERRORS
+            M(chr - bool, "chr - bool")
+#End If
+#If Char_ERRORS
+            M(chr - b, "chr - b")
+#End If
+#If Char_ERRORS
+            M(chr - sb, "chr - sb")
+#End If
+#If Char_ERRORS
+            M(chr - s, "chr - s")
+#End If
+#If Char_ERRORS
+            M(chr - us, "chr - us")
+#End If
+#If Char_ERRORS
+            M(chr - i, "chr - i")
+#End If
+#If Char_ERRORS
+            M(chr - ui, "chr - ui")
+#End If
+#If Char_ERRORS
+            M(chr - l, "chr - l")
+#End If
+#If Char_ERRORS
+            M(chr - ul, "chr - ul")
+#End If
+#If Char_ERRORS
+            M(chr - dec, "chr - dec")
+#End If
+#If Char_ERRORS
+            M(chr - sng, "chr - sng")
+#End If
+#If Char_ERRORS
+            M(chr - dbl, "chr - dbl")
+#End If
+#If Char_ERRORS
+            M(chr - chr, "chr - chr")
+#End If
+#If Char_ERRORS
+            M(chr - str, "chr - str")
+#End If
+#If Char_ERRORS
+            M(chr - dt, "chr - dt")
+#End If
+#If Char_ERRORS
+            M(chr - dbnull, "chr - dbnull")
+#End If
+#If Char_ERRORS
+            M(chr - obj, "chr - obj")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Double
+            M(str - bool, "str - bool")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Double
+            M(str - b, "str - b")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Double
+            M(str - sb, "str - sb")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Double
+            M(str - s, "str - s")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Double
+            M(str - us, "str - us")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Double
+            M(str - i, "str - i")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Double
+            M(str - ui, "str - ui")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Double
+            M(str - l, "str - l")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Double
+            M(str - ul, "str - ul")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Double
+            M(str - dec, "str - dec")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Double
+            M(str - sng, "str - sng")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Double
+            M(str - dbl, "str - dbl")
+#End If
+#If String_ERRORS
+            M(str - chr, "str - chr")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Double
+            M(str - str, "str - str")
+#End If
+#If String_ERRORS
+            M(str - dt, "str - dt")
+#End If
+#If String_ERRORS
+            M(str - dbnull, "str - dbnull")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Object
+            M(str - obj, "str - obj")
+#End If
+#If DateTime_ERRORS
+            M(dt - bool, "dt - bool")
+#End If
+#If DateTime_ERRORS
+            M(dt - b, "dt - b")
+#End If
+#If DateTime_ERRORS
+            M(dt - sb, "dt - sb")
+#End If
+#If DateTime_ERRORS
+            M(dt - s, "dt - s")
+#End If
+#If DateTime_ERRORS
+            M(dt - us, "dt - us")
+#End If
+#If DateTime_ERRORS
+            M(dt - i, "dt - i")
+#End If
+#If DateTime_ERRORS
+            M(dt - ui, "dt - ui")
+#End If
+#If DateTime_ERRORS
+            M(dt - l, "dt - l")
+#End If
+#If DateTime_ERRORS
+            M(dt - ul, "dt - ul")
+#End If
+#If DateTime_ERRORS
+            M(dt - dec, "dt - dec")
+#End If
+#If DateTime_ERRORS
+            M(dt - sng, "dt - sng")
+#End If
+#If DateTime_ERRORS
+            M(dt - dbl, "dt - dbl")
+#End If
+#If DateTime_ERRORS
+            M(dt - chr, "dt - chr")
+#End If
+#If DateTime_ERRORS
+            M(dt - str, "dt - str")
+#End If
+#If DateTime_ERRORS
+            M(dt - dt, "dt - dt")
+#End If
+#If DateTime_ERRORS
+            M(dt - dbnull, "dt - dbnull")
+#End If
+#If DateTime_ERRORS
+            M(dt - obj, "dt - obj")
+#End If
+#If DBNull_ERRORS
+            M(dbnull - bool, "dbnull - bool")
+#End If
+#If DBNull_ERRORS
+            M(dbnull - b, "dbnull - b")
+#End If
+#If DBNull_ERRORS
+            M(dbnull - sb, "dbnull - sb")
+#End If
+#If DBNull_ERRORS
+            M(dbnull - s, "dbnull - s")
+#End If
+#If DBNull_ERRORS
+            M(dbnull - us, "dbnull - us")
+#End If
+#If DBNull_ERRORS
+            M(dbnull - i, "dbnull - i")
+#End If
+#If DBNull_ERRORS
+            M(dbnull - ui, "dbnull - ui")
+#End If
+#If DBNull_ERRORS
+            M(dbnull - l, "dbnull - l")
+#End If
+#If DBNull_ERRORS
+            M(dbnull - ul, "dbnull - ul")
+#End If
+#If DBNull_ERRORS
+            M(dbnull - dec, "dbnull - dec")
+#End If
+#If DBNull_ERRORS
+            M(dbnull - sng, "dbnull - sng")
+#End If
+#If DBNull_ERRORS
+            M(dbnull - dbl, "dbnull - dbl")
+#End If
+#If DBNull_ERRORS
+            M(dbnull - chr, "dbnull - chr")
+#End If
+#If DBNull_ERRORS
+            M(dbnull - str, "dbnull - str")
+#End If
+#If DBNull_ERRORS
+            M(dbnull - dt, "dbnull - dt")
+#End If
+#If DBNull_ERRORS
+            M(dbnull - dbnull, "dbnull - dbnull")
+#End If
+#If DBNull_ERRORS
+            M(dbnull - obj, "dbnull - obj")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj - bool, "obj - bool")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj - b, "obj - b")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj - sb, "obj - sb")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj - s, "obj - s")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj - us, "obj - us")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj - i, "obj - i")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj - ui, "obj - ui")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj - l, "obj - l")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj - ul, "obj - ul")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj - dec, "obj - dec")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj - sng, "obj - sng")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj - dbl, "obj - dbl")
+#End If
+#If Object_ERRORS
+            M(obj - chr, "obj - chr")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj - str, "obj - str")
+#End If
+#If Object_ERRORS
+            M(obj - dt, "obj - dt")
+#End If
+#If Object_ERRORS
+            M(obj - dbnull, "obj - dbnull")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj - obj, "obj - obj")
+#End If
+        If failures > 0 Then Return 1
+    Catch ex As Exception
+        Console.WriteLine ("Exception: {0}", ex)
+        Return 2
+    End Try
+    Return 0
+    End Function
+End Class
diff --git a/vbnc/vbnc/tests/CompileTime2/OperatorIntrinsicConcat.vb b/vbnc/vbnc/tests/CompileTime2/OperatorIntrinsicConcat.vb
new file mode 100644
index 0000000..2389c15
--- /dev/null
+++ b/vbnc/vbnc/tests/CompileTime2/OperatorIntrinsicConcat.vb
@@ -0,0 +1,685 @@
+Class BinaryOperatorConcat
+    Inherits IntrinsicOperatorTests
+    Shared Function Main As Integer
+        Try
+            expected_tc = TypeCode.String
+            M(bool & bool, "bool & bool")
+            expected_tc = TypeCode.String
+            M(bool & b, "bool & b")
+            expected_tc = TypeCode.String
+            M(bool & sb, "bool & sb")
+            expected_tc = TypeCode.String
+            M(bool & s, "bool & s")
+            expected_tc = TypeCode.String
+            M(bool & us, "bool & us")
+            expected_tc = TypeCode.String
+            M(bool & i, "bool & i")
+            expected_tc = TypeCode.String
+            M(bool & ui, "bool & ui")
+            expected_tc = TypeCode.String
+            M(bool & l, "bool & l")
+            expected_tc = TypeCode.String
+            M(bool & ul, "bool & ul")
+            expected_tc = TypeCode.String
+            M(bool & dec, "bool & dec")
+            expected_tc = TypeCode.String
+            M(bool & sng, "bool & sng")
+            expected_tc = TypeCode.String
+            M(bool & dbl, "bool & dbl")
+            expected_tc = TypeCode.String
+            M(bool & chr, "bool & chr")
+            expected_tc = TypeCode.String
+            M(bool & str, "bool & str")
+            expected_tc = TypeCode.String
+            M(bool & dt, "bool & dt")
+#If Boolean_ERRORS
+            M(bool & dbnull, "bool & dbnull")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Object
+            M(bool & obj, "bool & obj")
+#End If
+            expected_tc = TypeCode.String
+            M(b & bool, "b & bool")
+            expected_tc = TypeCode.String
+            M(b & b, "b & b")
+            expected_tc = TypeCode.String
+            M(b & sb, "b & sb")
+            expected_tc = TypeCode.String
+            M(b & s, "b & s")
+            expected_tc = TypeCode.String
+            M(b & us, "b & us")
+            expected_tc = TypeCode.String
+            M(b & i, "b & i")
+            expected_tc = TypeCode.String
+            M(b & ui, "b & ui")
+            expected_tc = TypeCode.String
+            M(b & l, "b & l")
+            expected_tc = TypeCode.String
+            M(b & ul, "b & ul")
+            expected_tc = TypeCode.String
+            M(b & dec, "b & dec")
+            expected_tc = TypeCode.String
+            M(b & sng, "b & sng")
+            expected_tc = TypeCode.String
+            M(b & dbl, "b & dbl")
+            expected_tc = TypeCode.String
+            M(b & chr, "b & chr")
+            expected_tc = TypeCode.String
+            M(b & str, "b & str")
+            expected_tc = TypeCode.String
+            M(b & dt, "b & dt")
+#If Byte_ERRORS
+            M(b & dbnull, "b & dbnull")
+#End If
+#If Not STRICT Or Byte_ERRORS
+            expected_tc = TypeCode.Object
+            M(b & obj, "b & obj")
+#End If
+            expected_tc = TypeCode.String
+            M(sb & bool, "sb & bool")
+            expected_tc = TypeCode.String
+            M(sb & b, "sb & b")
+            expected_tc = TypeCode.String
+            M(sb & sb, "sb & sb")
+            expected_tc = TypeCode.String
+            M(sb & s, "sb & s")
+            expected_tc = TypeCode.String
+            M(sb & us, "sb & us")
+            expected_tc = TypeCode.String
+            M(sb & i, "sb & i")
+            expected_tc = TypeCode.String
+            M(sb & ui, "sb & ui")
+            expected_tc = TypeCode.String
+            M(sb & l, "sb & l")
+            expected_tc = TypeCode.String
+            M(sb & ul, "sb & ul")
+            expected_tc = TypeCode.String
+            M(sb & dec, "sb & dec")
+            expected_tc = TypeCode.String
+            M(sb & sng, "sb & sng")
+            expected_tc = TypeCode.String
+            M(sb & dbl, "sb & dbl")
+            expected_tc = TypeCode.String
+            M(sb & chr, "sb & chr")
+            expected_tc = TypeCode.String
+            M(sb & str, "sb & str")
+            expected_tc = TypeCode.String
+            M(sb & dt, "sb & dt")
+#If SByte_ERRORS
+            M(sb & dbnull, "sb & dbnull")
+#End If
+#If Not STRICT Or SByte_ERRORS
+            expected_tc = TypeCode.Object
+            M(sb & obj, "sb & obj")
+#End If
+            expected_tc = TypeCode.String
+            M(s & bool, "s & bool")
+            expected_tc = TypeCode.String
+            M(s & b, "s & b")
+            expected_tc = TypeCode.String
+            M(s & sb, "s & sb")
+            expected_tc = TypeCode.String
+            M(s & s, "s & s")
+            expected_tc = TypeCode.String
+            M(s & us, "s & us")
+            expected_tc = TypeCode.String
+            M(s & i, "s & i")
+            expected_tc = TypeCode.String
+            M(s & ui, "s & ui")
+            expected_tc = TypeCode.String
+            M(s & l, "s & l")
+            expected_tc = TypeCode.String
+            M(s & ul, "s & ul")
+            expected_tc = TypeCode.String
+            M(s & dec, "s & dec")
+            expected_tc = TypeCode.String
+            M(s & sng, "s & sng")
+            expected_tc = TypeCode.String
+            M(s & dbl, "s & dbl")
+            expected_tc = TypeCode.String
+            M(s & chr, "s & chr")
+            expected_tc = TypeCode.String
+            M(s & str, "s & str")
+            expected_tc = TypeCode.String
+            M(s & dt, "s & dt")
+#If Int16_ERRORS
+            M(s & dbnull, "s & dbnull")
+#End If
+#If Not STRICT Or Int16_ERRORS
+            expected_tc = TypeCode.Object
+            M(s & obj, "s & obj")
+#End If
+            expected_tc = TypeCode.String
+            M(us & bool, "us & bool")
+            expected_tc = TypeCode.String
+            M(us & b, "us & b")
+            expected_tc = TypeCode.String
+            M(us & sb, "us & sb")
+            expected_tc = TypeCode.String
+            M(us & s, "us & s")
+            expected_tc = TypeCode.String
+            M(us & us, "us & us")
+            expected_tc = TypeCode.String
+            M(us & i, "us & i")
+            expected_tc = TypeCode.String
+            M(us & ui, "us & ui")
+            expected_tc = TypeCode.String
+            M(us & l, "us & l")
+            expected_tc = TypeCode.String
+            M(us & ul, "us & ul")
+            expected_tc = TypeCode.String
+            M(us & dec, "us & dec")
+            expected_tc = TypeCode.String
+            M(us & sng, "us & sng")
+            expected_tc = TypeCode.String
+            M(us & dbl, "us & dbl")
+            expected_tc = TypeCode.String
+            M(us & chr, "us & chr")
+            expected_tc = TypeCode.String
+            M(us & str, "us & str")
+            expected_tc = TypeCode.String
+            M(us & dt, "us & dt")
+#If UInt16_ERRORS
+            M(us & dbnull, "us & dbnull")
+#End If
+#If Not STRICT Or UInt16_ERRORS
+            expected_tc = TypeCode.Object
+            M(us & obj, "us & obj")
+#End If
+            expected_tc = TypeCode.String
+            M(i & bool, "i & bool")
+            expected_tc = TypeCode.String
+            M(i & b, "i & b")
+            expected_tc = TypeCode.String
+            M(i & sb, "i & sb")
+            expected_tc = TypeCode.String
+            M(i & s, "i & s")
+            expected_tc = TypeCode.String
+            M(i & us, "i & us")
+            expected_tc = TypeCode.String
+            M(i & i, "i & i")
+            expected_tc = TypeCode.String
+            M(i & ui, "i & ui")
+            expected_tc = TypeCode.String
+            M(i & l, "i & l")
+            expected_tc = TypeCode.String
+            M(i & ul, "i & ul")
+            expected_tc = TypeCode.String
+            M(i & dec, "i & dec")
+            expected_tc = TypeCode.String
+            M(i & sng, "i & sng")
+            expected_tc = TypeCode.String
+            M(i & dbl, "i & dbl")
+            expected_tc = TypeCode.String
+            M(i & chr, "i & chr")
+            expected_tc = TypeCode.String
+            M(i & str, "i & str")
+            expected_tc = TypeCode.String
+            M(i & dt, "i & dt")
+#If Int32_ERRORS
+            M(i & dbnull, "i & dbnull")
+#End If
+#If Not STRICT Or Int32_ERRORS
+            expected_tc = TypeCode.Object
+            M(i & obj, "i & obj")
+#End If
+            expected_tc = TypeCode.String
+            M(ui & bool, "ui & bool")
+            expected_tc = TypeCode.String
+            M(ui & b, "ui & b")
+            expected_tc = TypeCode.String
+            M(ui & sb, "ui & sb")
+            expected_tc = TypeCode.String
+            M(ui & s, "ui & s")
+            expected_tc = TypeCode.String
+            M(ui & us, "ui & us")
+            expected_tc = TypeCode.String
+            M(ui & i, "ui & i")
+            expected_tc = TypeCode.String
+            M(ui & ui, "ui & ui")
+            expected_tc = TypeCode.String
+            M(ui & l, "ui & l")
+            expected_tc = TypeCode.String
+            M(ui & ul, "ui & ul")
+            expected_tc = TypeCode.String
+            M(ui & dec, "ui & dec")
+            expected_tc = TypeCode.String
+            M(ui & sng, "ui & sng")
+            expected_tc = TypeCode.String
+            M(ui & dbl, "ui & dbl")
+            expected_tc = TypeCode.String
+            M(ui & chr, "ui & chr")
+            expected_tc = TypeCode.String
+            M(ui & str, "ui & str")
+            expected_tc = TypeCode.String
+            M(ui & dt, "ui & dt")
+#If UInt32_ERRORS
+            M(ui & dbnull, "ui & dbnull")
+#End If
+#If Not STRICT Or UInt32_ERRORS
+            expected_tc = TypeCode.Object
+            M(ui & obj, "ui & obj")
+#End If
+            expected_tc = TypeCode.String
+            M(l & bool, "l & bool")
+            expected_tc = TypeCode.String
+            M(l & b, "l & b")
+            expected_tc = TypeCode.String
+            M(l & sb, "l & sb")
+            expected_tc = TypeCode.String
+            M(l & s, "l & s")
+            expected_tc = TypeCode.String
+            M(l & us, "l & us")
+            expected_tc = TypeCode.String
+            M(l & i, "l & i")
+            expected_tc = TypeCode.String
+            M(l & ui, "l & ui")
+            expected_tc = TypeCode.String
+            M(l & l, "l & l")
+            expected_tc = TypeCode.String
+            M(l & ul, "l & ul")
+            expected_tc = TypeCode.String
+            M(l & dec, "l & dec")
+            expected_tc = TypeCode.String
+            M(l & sng, "l & sng")
+            expected_tc = TypeCode.String
+            M(l & dbl, "l & dbl")
+            expected_tc = TypeCode.String
+            M(l & chr, "l & chr")
+            expected_tc = TypeCode.String
+            M(l & str, "l & str")
+            expected_tc = TypeCode.String
+            M(l & dt, "l & dt")
+#If Int64_ERRORS
+            M(l & dbnull, "l & dbnull")
+#End If
+#If Not STRICT Or Int64_ERRORS
+            expected_tc = TypeCode.Object
+            M(l & obj, "l & obj")
+#End If
+            expected_tc = TypeCode.String
+            M(ul & bool, "ul & bool")
+            expected_tc = TypeCode.String
+            M(ul & b, "ul & b")
+            expected_tc = TypeCode.String
+            M(ul & sb, "ul & sb")
+            expected_tc = TypeCode.String
+            M(ul & s, "ul & s")
+            expected_tc = TypeCode.String
+            M(ul & us, "ul & us")
+            expected_tc = TypeCode.String
+            M(ul & i, "ul & i")
+            expected_tc = TypeCode.String
+            M(ul & ui, "ul & ui")
+            expected_tc = TypeCode.String
+            M(ul & l, "ul & l")
+            expected_tc = TypeCode.String
+            M(ul & ul, "ul & ul")
+            expected_tc = TypeCode.String
+            M(ul & dec, "ul & dec")
+            expected_tc = TypeCode.String
+            M(ul & sng, "ul & sng")
+            expected_tc = TypeCode.String
+            M(ul & dbl, "ul & dbl")
+            expected_tc = TypeCode.String
+            M(ul & chr, "ul & chr")
+            expected_tc = TypeCode.String
+            M(ul & str, "ul & str")
+            expected_tc = TypeCode.String
+            M(ul & dt, "ul & dt")
+#If UInt64_ERRORS
+            M(ul & dbnull, "ul & dbnull")
+#End If
+#If Not STRICT Or UInt64_ERRORS
+            expected_tc = TypeCode.Object
+            M(ul & obj, "ul & obj")
+#End If
+            expected_tc = TypeCode.String
+            M(dec & bool, "dec & bool")
+            expected_tc = TypeCode.String
+            M(dec & b, "dec & b")
+            expected_tc = TypeCode.String
+            M(dec & sb, "dec & sb")
+            expected_tc = TypeCode.String
+            M(dec & s, "dec & s")
+            expected_tc = TypeCode.String
+            M(dec & us, "dec & us")
+            expected_tc = TypeCode.String
+            M(dec & i, "dec & i")
+            expected_tc = TypeCode.String
+            M(dec & ui, "dec & ui")
+            expected_tc = TypeCode.String
+            M(dec & l, "dec & l")
+            expected_tc = TypeCode.String
+            M(dec & ul, "dec & ul")
+            expected_tc = TypeCode.String
+            M(dec & dec, "dec & dec")
+            expected_tc = TypeCode.String
+            M(dec & sng, "dec & sng")
+            expected_tc = TypeCode.String
+            M(dec & dbl, "dec & dbl")
+            expected_tc = TypeCode.String
+            M(dec & chr, "dec & chr")
+            expected_tc = TypeCode.String
+            M(dec & str, "dec & str")
+            expected_tc = TypeCode.String
+            M(dec & dt, "dec & dt")
+#If Decimal_ERRORS
+            M(dec & dbnull, "dec & dbnull")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Object
+            M(dec & obj, "dec & obj")
+#End If
+            expected_tc = TypeCode.String
+            M(sng & bool, "sng & bool")
+            expected_tc = TypeCode.String
+            M(sng & b, "sng & b")
+            expected_tc = TypeCode.String
+            M(sng & sb, "sng & sb")
+            expected_tc = TypeCode.String
+            M(sng & s, "sng & s")
+            expected_tc = TypeCode.String
+            M(sng & us, "sng & us")
+            expected_tc = TypeCode.String
+            M(sng & i, "sng & i")
+            expected_tc = TypeCode.String
+            M(sng & ui, "sng & ui")
+            expected_tc = TypeCode.String
+            M(sng & l, "sng & l")
+            expected_tc = TypeCode.String
+            M(sng & ul, "sng & ul")
+            expected_tc = TypeCode.String
+            M(sng & dec, "sng & dec")
+            expected_tc = TypeCode.String
+            M(sng & sng, "sng & sng")
+            expected_tc = TypeCode.String
+            M(sng & dbl, "sng & dbl")
+            expected_tc = TypeCode.String
+            M(sng & chr, "sng & chr")
+            expected_tc = TypeCode.String
+            M(sng & str, "sng & str")
+            expected_tc = TypeCode.String
+            M(sng & dt, "sng & dt")
+#If Single_ERRORS
+            M(sng & dbnull, "sng & dbnull")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Object
+            M(sng & obj, "sng & obj")
+#End If
+            expected_tc = TypeCode.String
+            M(dbl & bool, "dbl & bool")
+            expected_tc = TypeCode.String
+            M(dbl & b, "dbl & b")
+            expected_tc = TypeCode.String
+            M(dbl & sb, "dbl & sb")
+            expected_tc = TypeCode.String
+            M(dbl & s, "dbl & s")
+            expected_tc = TypeCode.String
+            M(dbl & us, "dbl & us")
+            expected_tc = TypeCode.String
+            M(dbl & i, "dbl & i")
+            expected_tc = TypeCode.String
+            M(dbl & ui, "dbl & ui")
+            expected_tc = TypeCode.String
+            M(dbl & l, "dbl & l")
+            expected_tc = TypeCode.String
+            M(dbl & ul, "dbl & ul")
+            expected_tc = TypeCode.String
+            M(dbl & dec, "dbl & dec")
+            expected_tc = TypeCode.String
+            M(dbl & sng, "dbl & sng")
+            expected_tc = TypeCode.String
+            M(dbl & dbl, "dbl & dbl")
+            expected_tc = TypeCode.String
+            M(dbl & chr, "dbl & chr")
+            expected_tc = TypeCode.String
+            M(dbl & str, "dbl & str")
+            expected_tc = TypeCode.String
+            M(dbl & dt, "dbl & dt")
+#If Double_ERRORS
+            M(dbl & dbnull, "dbl & dbnull")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Object
+            M(dbl & obj, "dbl & obj")
+#End If
+            expected_tc = TypeCode.String
+            M(chr & bool, "chr & bool")
+            expected_tc = TypeCode.String
+            M(chr & b, "chr & b")
+            expected_tc = TypeCode.String
+            M(chr & sb, "chr & sb")
+            expected_tc = TypeCode.String
+            M(chr & s, "chr & s")
+            expected_tc = TypeCode.String
+            M(chr & us, "chr & us")
+            expected_tc = TypeCode.String
+            M(chr & i, "chr & i")
+            expected_tc = TypeCode.String
+            M(chr & ui, "chr & ui")
+            expected_tc = TypeCode.String
+            M(chr & l, "chr & l")
+            expected_tc = TypeCode.String
+            M(chr & ul, "chr & ul")
+            expected_tc = TypeCode.String
+            M(chr & dec, "chr & dec")
+            expected_tc = TypeCode.String
+            M(chr & sng, "chr & sng")
+            expected_tc = TypeCode.String
+            M(chr & dbl, "chr & dbl")
+            expected_tc = TypeCode.String
+            M(chr & chr, "chr & chr")
+            expected_tc = TypeCode.String
+            M(chr & str, "chr & str")
+            expected_tc = TypeCode.String
+            M(chr & dt, "chr & dt")
+#If Char_ERRORS
+            M(chr & dbnull, "chr & dbnull")
+#End If
+#If Not STRICT Or Char_ERRORS
+            expected_tc = TypeCode.Object
+            M(chr & obj, "chr & obj")
+#End If
+            expected_tc = TypeCode.String
+            M(str & bool, "str & bool")
+            expected_tc = TypeCode.String
+            M(str & b, "str & b")
+            expected_tc = TypeCode.String
+            M(str & sb, "str & sb")
+            expected_tc = TypeCode.String
+            M(str & s, "str & s")
+            expected_tc = TypeCode.String
+            M(str & us, "str & us")
+            expected_tc = TypeCode.String
+            M(str & i, "str & i")
+            expected_tc = TypeCode.String
+            M(str & ui, "str & ui")
+            expected_tc = TypeCode.String
+            M(str & l, "str & l")
+            expected_tc = TypeCode.String
+            M(str & ul, "str & ul")
+            expected_tc = TypeCode.String
+            M(str & dec, "str & dec")
+            expected_tc = TypeCode.String
+            M(str & sng, "str & sng")
+            expected_tc = TypeCode.String
+            M(str & dbl, "str & dbl")
+            expected_tc = TypeCode.String
+            M(str & chr, "str & chr")
+            expected_tc = TypeCode.String
+            M(str & str, "str & str")
+            expected_tc = TypeCode.String
+            M(str & dt, "str & dt")
+#If String_ERRORS
+            M(str & dbnull, "str & dbnull")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Object
+            M(str & obj, "str & obj")
+#End If
+            expected_tc = TypeCode.String
+            M(dt & bool, "dt & bool")
+            expected_tc = TypeCode.String
+            M(dt & b, "dt & b")
+            expected_tc = TypeCode.String
+            M(dt & sb, "dt & sb")
+            expected_tc = TypeCode.String
+            M(dt & s, "dt & s")
+            expected_tc = TypeCode.String
+            M(dt & us, "dt & us")
+            expected_tc = TypeCode.String
+            M(dt & i, "dt & i")
+            expected_tc = TypeCode.String
+            M(dt & ui, "dt & ui")
+            expected_tc = TypeCode.String
+            M(dt & l, "dt & l")
+            expected_tc = TypeCode.String
+            M(dt & ul, "dt & ul")
+            expected_tc = TypeCode.String
+            M(dt & dec, "dt & dec")
+            expected_tc = TypeCode.String
+            M(dt & sng, "dt & sng")
+            expected_tc = TypeCode.String
+            M(dt & dbl, "dt & dbl")
+            expected_tc = TypeCode.String
+            M(dt & chr, "dt & chr")
+            expected_tc = TypeCode.String
+            M(dt & str, "dt & str")
+            expected_tc = TypeCode.String
+            M(dt & dt, "dt & dt")
+#If DateTime_ERRORS
+            M(dt & dbnull, "dt & dbnull")
+#End If
+#If Not STRICT Or DateTime_ERRORS
+            expected_tc = TypeCode.Object
+            M(dt & obj, "dt & obj")
+#End If
+#If DBNull_ERRORS
+            M(dbnull & bool, "dbnull & bool")
+#End If
+#If DBNull_ERRORS
+            M(dbnull & b, "dbnull & b")
+#End If
+#If DBNull_ERRORS
+            M(dbnull & sb, "dbnull & sb")
+#End If
+#If DBNull_ERRORS
+            M(dbnull & s, "dbnull & s")
+#End If
+#If DBNull_ERRORS
+            M(dbnull & us, "dbnull & us")
+#End If
+#If DBNull_ERRORS
+            M(dbnull & i, "dbnull & i")
+#End If
+#If DBNull_ERRORS
+            M(dbnull & ui, "dbnull & ui")
+#End If
+#If DBNull_ERRORS
+            M(dbnull & l, "dbnull & l")
+#End If
+#If DBNull_ERRORS
+            M(dbnull & ul, "dbnull & ul")
+#End If
+#If DBNull_ERRORS
+            M(dbnull & dec, "dbnull & dec")
+#End If
+#If DBNull_ERRORS
+            M(dbnull & sng, "dbnull & sng")
+#End If
+#If DBNull_ERRORS
+            M(dbnull & dbl, "dbnull & dbl")
+#End If
+#If DBNull_ERRORS
+            M(dbnull & chr, "dbnull & chr")
+#End If
+#If DBNull_ERRORS
+            M(dbnull & str, "dbnull & str")
+#End If
+#If DBNull_ERRORS
+            M(dbnull & dt, "dbnull & dt")
+#End If
+#If DBNull_ERRORS
+            M(dbnull & dbnull, "dbnull & dbnull")
+#End If
+#If DBNull_ERRORS
+            M(dbnull & obj, "dbnull & obj")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj & bool, "obj & bool")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj & b, "obj & b")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj & sb, "obj & sb")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj & s, "obj & s")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj & us, "obj & us")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj & i, "obj & i")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj & ui, "obj & ui")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj & l, "obj & l")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj & ul, "obj & ul")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj & dec, "obj & dec")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj & sng, "obj & sng")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj & dbl, "obj & dbl")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj & chr, "obj & chr")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj & str, "obj & str")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj & dt, "obj & dt")
+#End If
+#If Object_ERRORS
+            M(obj & dbnull, "obj & dbnull")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj & obj, "obj & obj")
+#End If
+        If failures > 0 Then Return 1
+    Catch ex As Exception
+        Console.WriteLine ("Exception: {0}", ex)
+        Return 2
+    End Try
+    Return 0
+    End Function
+End Class
diff --git a/vbnc/vbnc/tests/CompileTime2/OperatorIntrinsicEquals.vb b/vbnc/vbnc/tests/CompileTime2/OperatorIntrinsicEquals.vb
new file mode 100644
index 0000000..322c500
--- /dev/null
+++ b/vbnc/vbnc/tests/CompileTime2/OperatorIntrinsicEquals.vb
@@ -0,0 +1,785 @@
+Class BinaryOperatorEquals
+    Inherits IntrinsicOperatorTests
+    Shared Function Main As Integer
+        Try
+#If Boolean_ERRORS
+            M(bool = bool, "bool = bool")
+#End If
+#If Boolean_ERRORS
+            M(bool = b, "bool = b")
+#End If
+#If Boolean_ERRORS
+            M(bool = sb, "bool = sb")
+#End If
+#If Boolean_ERRORS
+            M(bool = s, "bool = s")
+#End If
+#If Boolean_ERRORS
+            M(bool = us, "bool = us")
+#End If
+#If Boolean_ERRORS
+            M(bool = i, "bool = i")
+#End If
+#If Boolean_ERRORS
+            M(bool = ui, "bool = ui")
+#End If
+#If Boolean_ERRORS
+            M(bool = l, "bool = l")
+#End If
+#If Boolean_ERRORS
+            M(bool = ul, "bool = ul")
+#End If
+#If Boolean_ERRORS
+            M(bool = dec, "bool = dec")
+#End If
+#If Boolean_ERRORS
+            M(bool = sng, "bool = sng")
+#End If
+#If Boolean_ERRORS
+            M(bool = dbl, "bool = dbl")
+#End If
+#If Boolean_ERRORS
+            M(bool = chr, "bool = chr")
+#End If
+#If Boolean_ERRORS
+            M(bool = str, "bool = str")
+#End If
+#If Boolean_ERRORS
+            M(bool = dt, "bool = dt")
+#End If
+#If Boolean_ERRORS
+            M(bool = dbnull, "bool = dbnull")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Object
+            M(bool = obj, "bool = obj")
+#End If
+#If Byte_ERRORS
+            M(b = bool, "b = bool")
+#End If
+            expected_tc = TypeCode.Boolean
+            M(b = b, "b = b")
+            expected_tc = TypeCode.Boolean
+            M(b = sb, "b = sb")
+            expected_tc = TypeCode.Boolean
+            M(b = s, "b = s")
+            expected_tc = TypeCode.Boolean
+            M(b = us, "b = us")
+            expected_tc = TypeCode.Boolean
+            M(b = i, "b = i")
+            expected_tc = TypeCode.Boolean
+            M(b = ui, "b = ui")
+            expected_tc = TypeCode.Boolean
+            M(b = l, "b = l")
+            expected_tc = TypeCode.Boolean
+            M(b = ul, "b = ul")
+            expected_tc = TypeCode.Boolean
+            M(b = dec, "b = dec")
+            expected_tc = TypeCode.Boolean
+            M(b = sng, "b = sng")
+            expected_tc = TypeCode.Boolean
+            M(b = dbl, "b = dbl")
+#If Byte_ERRORS
+            M(b = chr, "b = chr")
+#End If
+#If Byte_ERRORS
+            M(b = str, "b = str")
+#End If
+#If Byte_ERRORS
+            M(b = dt, "b = dt")
+#End If
+#If Byte_ERRORS
+            M(b = dbnull, "b = dbnull")
+#End If
+#If Not STRICT Or Byte_ERRORS
+            expected_tc = TypeCode.Object
+            M(b = obj, "b = obj")
+#End If
+#If SByte_ERRORS
+            M(sb = bool, "sb = bool")
+#End If
+            expected_tc = TypeCode.Boolean
+            M(sb = b, "sb = b")
+            expected_tc = TypeCode.Boolean
+            M(sb = sb, "sb = sb")
+            expected_tc = TypeCode.Boolean
+            M(sb = s, "sb = s")
+            expected_tc = TypeCode.Boolean
+            M(sb = us, "sb = us")
+            expected_tc = TypeCode.Boolean
+            M(sb = i, "sb = i")
+            expected_tc = TypeCode.Boolean
+            M(sb = ui, "sb = ui")
+            expected_tc = TypeCode.Boolean
+            M(sb = l, "sb = l")
+            expected_tc = TypeCode.Boolean
+            M(sb = ul, "sb = ul")
+            expected_tc = TypeCode.Boolean
+            M(sb = dec, "sb = dec")
+            expected_tc = TypeCode.Boolean
+            M(sb = sng, "sb = sng")
+            expected_tc = TypeCode.Boolean
+            M(sb = dbl, "sb = dbl")
+#If SByte_ERRORS
+            M(sb = chr, "sb = chr")
+#End If
+#If SByte_ERRORS
+            M(sb = str, "sb = str")
+#End If
+#If SByte_ERRORS
+            M(sb = dt, "sb = dt")
+#End If
+#If SByte_ERRORS
+            M(sb = dbnull, "sb = dbnull")
+#End If
+#If Not STRICT Or SByte_ERRORS
+            expected_tc = TypeCode.Object
+            M(sb = obj, "sb = obj")
+#End If
+#If Int16_ERRORS
+            M(s = bool, "s = bool")
+#End If
+            expected_tc = TypeCode.Boolean
+            M(s = b, "s = b")
+            expected_tc = TypeCode.Boolean
+            M(s = sb, "s = sb")
+            expected_tc = TypeCode.Boolean
+            M(s = s, "s = s")
+            expected_tc = TypeCode.Boolean
+            M(s = us, "s = us")
+            expected_tc = TypeCode.Boolean
+            M(s = i, "s = i")
+            expected_tc = TypeCode.Boolean
+            M(s = ui, "s = ui")
+            expected_tc = TypeCode.Boolean
+            M(s = l, "s = l")
+            expected_tc = TypeCode.Boolean
+            M(s = ul, "s = ul")
+            expected_tc = TypeCode.Boolean
+            M(s = dec, "s = dec")
+            expected_tc = TypeCode.Boolean
+            M(s = sng, "s = sng")
+            expected_tc = TypeCode.Boolean
+            M(s = dbl, "s = dbl")
+#If Int16_ERRORS
+            M(s = chr, "s = chr")
+#End If
+#If Int16_ERRORS
+            M(s = str, "s = str")
+#End If
+#If Int16_ERRORS
+            M(s = dt, "s = dt")
+#End If
+#If Int16_ERRORS
+            M(s = dbnull, "s = dbnull")
+#End If
+#If Not STRICT Or Int16_ERRORS
+            expected_tc = TypeCode.Object
+            M(s = obj, "s = obj")
+#End If
+#If UInt16_ERRORS
+            M(us = bool, "us = bool")
+#End If
+            expected_tc = TypeCode.Boolean
+            M(us = b, "us = b")
+            expected_tc = TypeCode.Boolean
+            M(us = sb, "us = sb")
+            expected_tc = TypeCode.Boolean
+            M(us = s, "us = s")
+            expected_tc = TypeCode.Boolean
+            M(us = us, "us = us")
+            expected_tc = TypeCode.Boolean
+            M(us = i, "us = i")
+            expected_tc = TypeCode.Boolean
+            M(us = ui, "us = ui")
+            expected_tc = TypeCode.Boolean
+            M(us = l, "us = l")
+            expected_tc = TypeCode.Boolean
+            M(us = ul, "us = ul")
+            expected_tc = TypeCode.Boolean
+            M(us = dec, "us = dec")
+            expected_tc = TypeCode.Boolean
+            M(us = sng, "us = sng")
+            expected_tc = TypeCode.Boolean
+            M(us = dbl, "us = dbl")
+#If UInt16_ERRORS
+            M(us = chr, "us = chr")
+#End If
+#If UInt16_ERRORS
+            M(us = str, "us = str")
+#End If
+#If UInt16_ERRORS
+            M(us = dt, "us = dt")
+#End If
+#If UInt16_ERRORS
+            M(us = dbnull, "us = dbnull")
+#End If
+#If Not STRICT Or UInt16_ERRORS
+            expected_tc = TypeCode.Object
+            M(us = obj, "us = obj")
+#End If
+#If Int32_ERRORS
+            M(i = bool, "i = bool")
+#End If
+            expected_tc = TypeCode.Boolean
+            M(i = b, "i = b")
+            expected_tc = TypeCode.Boolean
+            M(i = sb, "i = sb")
+            expected_tc = TypeCode.Boolean
+            M(i = s, "i = s")
+            expected_tc = TypeCode.Boolean
+            M(i = us, "i = us")
+            expected_tc = TypeCode.Boolean
+            M(i = i, "i = i")
+            expected_tc = TypeCode.Boolean
+            M(i = ui, "i = ui")
+            expected_tc = TypeCode.Boolean
+            M(i = l, "i = l")
+            expected_tc = TypeCode.Boolean
+            M(i = ul, "i = ul")
+            expected_tc = TypeCode.Boolean
+            M(i = dec, "i = dec")
+            expected_tc = TypeCode.Boolean
+            M(i = sng, "i = sng")
+            expected_tc = TypeCode.Boolean
+            M(i = dbl, "i = dbl")
+#If Int32_ERRORS
+            M(i = chr, "i = chr")
+#End If
+#If Int32_ERRORS
+            M(i = str, "i = str")
+#End If
+#If Int32_ERRORS
+            M(i = dt, "i = dt")
+#End If
+#If Int32_ERRORS
+            M(i = dbnull, "i = dbnull")
+#End If
+#If Not STRICT Or Int32_ERRORS
+            expected_tc = TypeCode.Object
+            M(i = obj, "i = obj")
+#End If
+#If UInt32_ERRORS
+            M(ui = bool, "ui = bool")
+#End If
+            expected_tc = TypeCode.Boolean
+            M(ui = b, "ui = b")
+            expected_tc = TypeCode.Boolean
+            M(ui = sb, "ui = sb")
+            expected_tc = TypeCode.Boolean
+            M(ui = s, "ui = s")
+            expected_tc = TypeCode.Boolean
+            M(ui = us, "ui = us")
+            expected_tc = TypeCode.Boolean
+            M(ui = i, "ui = i")
+            expected_tc = TypeCode.Boolean
+            M(ui = ui, "ui = ui")
+            expected_tc = TypeCode.Boolean
+            M(ui = l, "ui = l")
+            expected_tc = TypeCode.Boolean
+            M(ui = ul, "ui = ul")
+            expected_tc = TypeCode.Boolean
+            M(ui = dec, "ui = dec")
+            expected_tc = TypeCode.Boolean
+            M(ui = sng, "ui = sng")
+            expected_tc = TypeCode.Boolean
+            M(ui = dbl, "ui = dbl")
+#If UInt32_ERRORS
+            M(ui = chr, "ui = chr")
+#End If
+#If UInt32_ERRORS
+            M(ui = str, "ui = str")
+#End If
+#If UInt32_ERRORS
+            M(ui = dt, "ui = dt")
+#End If
+#If UInt32_ERRORS
+            M(ui = dbnull, "ui = dbnull")
+#End If
+#If Not STRICT Or UInt32_ERRORS
+            expected_tc = TypeCode.Object
+            M(ui = obj, "ui = obj")
+#End If
+#If Int64_ERRORS
+            M(l = bool, "l = bool")
+#End If
+            expected_tc = TypeCode.Boolean
+            M(l = b, "l = b")
+            expected_tc = TypeCode.Boolean
+            M(l = sb, "l = sb")
+            expected_tc = TypeCode.Boolean
+            M(l = s, "l = s")
+            expected_tc = TypeCode.Boolean
+            M(l = us, "l = us")
+            expected_tc = TypeCode.Boolean
+            M(l = i, "l = i")
+            expected_tc = TypeCode.Boolean
+            M(l = ui, "l = ui")
+            expected_tc = TypeCode.Boolean
+            M(l = l, "l = l")
+            expected_tc = TypeCode.Boolean
+            M(l = ul, "l = ul")
+            expected_tc = TypeCode.Boolean
+            M(l = dec, "l = dec")
+            expected_tc = TypeCode.Boolean
+            M(l = sng, "l = sng")
+            expected_tc = TypeCode.Boolean
+            M(l = dbl, "l = dbl")
+#If Int64_ERRORS
+            M(l = chr, "l = chr")
+#End If
+#If Int64_ERRORS
+            M(l = str, "l = str")
+#End If
+#If Int64_ERRORS
+            M(l = dt, "l = dt")
+#End If
+#If Int64_ERRORS
+            M(l = dbnull, "l = dbnull")
+#End If
+#If Not STRICT Or Int64_ERRORS
+            expected_tc = TypeCode.Object
+            M(l = obj, "l = obj")
+#End If
+#If UInt64_ERRORS
+            M(ul = bool, "ul = bool")
+#End If
+            expected_tc = TypeCode.Boolean
+            M(ul = b, "ul = b")
+            expected_tc = TypeCode.Boolean
+            M(ul = sb, "ul = sb")
+            expected_tc = TypeCode.Boolean
+            M(ul = s, "ul = s")
+            expected_tc = TypeCode.Boolean
+            M(ul = us, "ul = us")
+            expected_tc = TypeCode.Boolean
+            M(ul = i, "ul = i")
+            expected_tc = TypeCode.Boolean
+            M(ul = ui, "ul = ui")
+            expected_tc = TypeCode.Boolean
+            M(ul = l, "ul = l")
+            expected_tc = TypeCode.Boolean
+            M(ul = ul, "ul = ul")
+            expected_tc = TypeCode.Boolean
+            M(ul = dec, "ul = dec")
+            expected_tc = TypeCode.Boolean
+            M(ul = sng, "ul = sng")
+            expected_tc = TypeCode.Boolean
+            M(ul = dbl, "ul = dbl")
+#If UInt64_ERRORS
+            M(ul = chr, "ul = chr")
+#End If
+#If UInt64_ERRORS
+            M(ul = str, "ul = str")
+#End If
+#If UInt64_ERRORS
+            M(ul = dt, "ul = dt")
+#End If
+#If UInt64_ERRORS
+            M(ul = dbnull, "ul = dbnull")
+#End If
+#If Not STRICT Or UInt64_ERRORS
+            expected_tc = TypeCode.Object
+            M(ul = obj, "ul = obj")
+#End If
+#If Decimal_ERRORS
+            M(dec = bool, "dec = bool")
+#End If
+            expected_tc = TypeCode.Boolean
+            M(dec = b, "dec = b")
+            expected_tc = TypeCode.Boolean
+            M(dec = sb, "dec = sb")
+            expected_tc = TypeCode.Boolean
+            M(dec = s, "dec = s")
+            expected_tc = TypeCode.Boolean
+            M(dec = us, "dec = us")
+            expected_tc = TypeCode.Boolean
+            M(dec = i, "dec = i")
+            expected_tc = TypeCode.Boolean
+            M(dec = ui, "dec = ui")
+            expected_tc = TypeCode.Boolean
+            M(dec = l, "dec = l")
+            expected_tc = TypeCode.Boolean
+            M(dec = ul, "dec = ul")
+            expected_tc = TypeCode.Boolean
+            M(dec = dec, "dec = dec")
+            expected_tc = TypeCode.Boolean
+            M(dec = sng, "dec = sng")
+            expected_tc = TypeCode.Boolean
+            M(dec = dbl, "dec = dbl")
+#If Decimal_ERRORS
+            M(dec = chr, "dec = chr")
+#End If
+#If Decimal_ERRORS
+            M(dec = str, "dec = str")
+#End If
+#If Decimal_ERRORS
+            M(dec = dt, "dec = dt")
+#End If
+#If Decimal_ERRORS
+            M(dec = dbnull, "dec = dbnull")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Object
+            M(dec = obj, "dec = obj")
+#End If
+#If Single_ERRORS
+            M(sng = bool, "sng = bool")
+#End If
+            expected_tc = TypeCode.Boolean
+            M(sng = b, "sng = b")
+            expected_tc = TypeCode.Boolean
+            M(sng = sb, "sng = sb")
+            expected_tc = TypeCode.Boolean
+            M(sng = s, "sng = s")
+            expected_tc = TypeCode.Boolean
+            M(sng = us, "sng = us")
+            expected_tc = TypeCode.Boolean
+            M(sng = i, "sng = i")
+            expected_tc = TypeCode.Boolean
+            M(sng = ui, "sng = ui")
+            expected_tc = TypeCode.Boolean
+            M(sng = l, "sng = l")
+            expected_tc = TypeCode.Boolean
+            M(sng = ul, "sng = ul")
+            expected_tc = TypeCode.Boolean
+            M(sng = dec, "sng = dec")
+            expected_tc = TypeCode.Boolean
+            M(sng = sng, "sng = sng")
+            expected_tc = TypeCode.Boolean
+            M(sng = dbl, "sng = dbl")
+#If Single_ERRORS
+            M(sng = chr, "sng = chr")
+#End If
+#If Single_ERRORS
+            M(sng = str, "sng = str")
+#End If
+#If Single_ERRORS
+            M(sng = dt, "sng = dt")
+#End If
+#If Single_ERRORS
+            M(sng = dbnull, "sng = dbnull")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Object
+            M(sng = obj, "sng = obj")
+#End If
+#If Double_ERRORS
+            M(dbl = bool, "dbl = bool")
+#End If
+            expected_tc = TypeCode.Boolean
+            M(dbl = b, "dbl = b")
+            expected_tc = TypeCode.Boolean
+            M(dbl = sb, "dbl = sb")
+            expected_tc = TypeCode.Boolean
+            M(dbl = s, "dbl = s")
+            expected_tc = TypeCode.Boolean
+            M(dbl = us, "dbl = us")
+            expected_tc = TypeCode.Boolean
+            M(dbl = i, "dbl = i")
+            expected_tc = TypeCode.Boolean
+            M(dbl = ui, "dbl = ui")
+            expected_tc = TypeCode.Boolean
+            M(dbl = l, "dbl = l")
+            expected_tc = TypeCode.Boolean
+            M(dbl = ul, "dbl = ul")
+            expected_tc = TypeCode.Boolean
+            M(dbl = dec, "dbl = dec")
+            expected_tc = TypeCode.Boolean
+            M(dbl = sng, "dbl = sng")
+            expected_tc = TypeCode.Boolean
+            M(dbl = dbl, "dbl = dbl")
+#If Double_ERRORS
+            M(dbl = chr, "dbl = chr")
+#End If
+#If Double_ERRORS
+            M(dbl = str, "dbl = str")
+#End If
+#If Double_ERRORS
+            M(dbl = dt, "dbl = dt")
+#End If
+#If Double_ERRORS
+            M(dbl = dbnull, "dbl = dbnull")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Object
+            M(dbl = obj, "dbl = obj")
+#End If
+#If Char_ERRORS
+            M(chr = bool, "chr = bool")
+#End If
+#If Char_ERRORS
+            M(chr = b, "chr = b")
+#End If
+#If Char_ERRORS
+            M(chr = sb, "chr = sb")
+#End If
+#If Char_ERRORS
+            M(chr = s, "chr = s")
+#End If
+#If Char_ERRORS
+            M(chr = us, "chr = us")
+#End If
+#If Char_ERRORS
+            M(chr = i, "chr = i")
+#End If
+#If Char_ERRORS
+            M(chr = ui, "chr = ui")
+#End If
+#If Char_ERRORS
+            M(chr = l, "chr = l")
+#End If
+#If Char_ERRORS
+            M(chr = ul, "chr = ul")
+#End If
+#If Char_ERRORS
+            M(chr = dec, "chr = dec")
+#End If
+#If Char_ERRORS
+            M(chr = sng, "chr = sng")
+#End If
+#If Char_ERRORS
+            M(chr = dbl, "chr = dbl")
+#End If
+#If Char_ERRORS
+            M(chr = chr, "chr = chr")
+#End If
+#If Char_ERRORS
+            M(chr = str, "chr = str")
+#End If
+#If Char_ERRORS
+            M(chr = dt, "chr = dt")
+#End If
+#If Char_ERRORS
+            M(chr = dbnull, "chr = dbnull")
+#End If
+#If Char_ERRORS
+            M(chr = obj, "chr = obj")
+#End If
+#If String_ERRORS
+            M(str = bool, "str = bool")
+#End If
+#If String_ERRORS
+            M(str = b, "str = b")
+#End If
+#If String_ERRORS
+            M(str = sb, "str = sb")
+#End If
+#If String_ERRORS
+            M(str = s, "str = s")
+#End If
+#If String_ERRORS
+            M(str = us, "str = us")
+#End If
+#If String_ERRORS
+            M(str = i, "str = i")
+#End If
+#If String_ERRORS
+            M(str = ui, "str = ui")
+#End If
+#If String_ERRORS
+            M(str = l, "str = l")
+#End If
+#If String_ERRORS
+            M(str = ul, "str = ul")
+#End If
+#If String_ERRORS
+            M(str = dec, "str = dec")
+#End If
+#If String_ERRORS
+            M(str = sng, "str = sng")
+#End If
+#If String_ERRORS
+            M(str = dbl, "str = dbl")
+#End If
+#If String_ERRORS
+            M(str = chr, "str = chr")
+#End If
+            expected_tc = TypeCode.Boolean
+            M(str = str, "str = str")
+#If String_ERRORS
+            M(str = dt, "str = dt")
+#End If
+#If String_ERRORS
+            M(str = dbnull, "str = dbnull")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Object
+            M(str = obj, "str = obj")
+#End If
+#If DateTime_ERRORS
+            M(dt = bool, "dt = bool")
+#End If
+#If DateTime_ERRORS
+            M(dt = b, "dt = b")
+#End If
+#If DateTime_ERRORS
+            M(dt = sb, "dt = sb")
+#End If
+#If DateTime_ERRORS
+            M(dt = s, "dt = s")
+#End If
+#If DateTime_ERRORS
+            M(dt = us, "dt = us")
+#End If
+#If DateTime_ERRORS
+            M(dt = i, "dt = i")
+#End If
+#If DateTime_ERRORS
+            M(dt = ui, "dt = ui")
+#End If
+#If DateTime_ERRORS
+            M(dt = l, "dt = l")
+#End If
+#If DateTime_ERRORS
+            M(dt = ul, "dt = ul")
+#End If
+#If DateTime_ERRORS
+            M(dt = dec, "dt = dec")
+#End If
+#If DateTime_ERRORS
+            M(dt = sng, "dt = sng")
+#End If
+#If DateTime_ERRORS
+            M(dt = dbl, "dt = dbl")
+#End If
+#If DateTime_ERRORS
+            M(dt = chr, "dt = chr")
+#End If
+#If DateTime_ERRORS
+            M(dt = str, "dt = str")
+#End If
+            expected_tc = TypeCode.Boolean
+            M(dt = dt, "dt = dt")
+#If DateTime_ERRORS
+            M(dt = dbnull, "dt = dbnull")
+#End If
+#If Not STRICT Or DateTime_ERRORS
+            expected_tc = TypeCode.Object
+            M(dt = obj, "dt = obj")
+#End If
+#If DBNull_ERRORS
+            M(dbnull = bool, "dbnull = bool")
+#End If
+#If DBNull_ERRORS
+            M(dbnull = b, "dbnull = b")
+#End If
+#If DBNull_ERRORS
+            M(dbnull = sb, "dbnull = sb")
+#End If
+#If DBNull_ERRORS
+            M(dbnull = s, "dbnull = s")
+#End If
+#If DBNull_ERRORS
+            M(dbnull = us, "dbnull = us")
+#End If
+#If DBNull_ERRORS
+            M(dbnull = i, "dbnull = i")
+#End If
+#If DBNull_ERRORS
+            M(dbnull = ui, "dbnull = ui")
+#End If
+#If DBNull_ERRORS
+            M(dbnull = l, "dbnull = l")
+#End If
+#If DBNull_ERRORS
+            M(dbnull = ul, "dbnull = ul")
+#End If
+#If DBNull_ERRORS
+            M(dbnull = dec, "dbnull = dec")
+#End If
+#If DBNull_ERRORS
+            M(dbnull = sng, "dbnull = sng")
+#End If
+#If DBNull_ERRORS
+            M(dbnull = dbl, "dbnull = dbl")
+#End If
+#If DBNull_ERRORS
+            M(dbnull = chr, "dbnull = chr")
+#End If
+#If DBNull_ERRORS
+            M(dbnull = str, "dbnull = str")
+#End If
+#If DBNull_ERRORS
+            M(dbnull = dt, "dbnull = dt")
+#End If
+#If DBNull_ERRORS
+            M(dbnull = dbnull, "dbnull = dbnull")
+#End If
+#If DBNull_ERRORS
+            M(dbnull = obj, "dbnull = obj")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj = bool, "obj = bool")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj = b, "obj = b")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj = sb, "obj = sb")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj = s, "obj = s")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj = us, "obj = us")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj = i, "obj = i")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj = ui, "obj = ui")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj = l, "obj = l")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj = ul, "obj = ul")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj = dec, "obj = dec")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj = sng, "obj = sng")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj = dbl, "obj = dbl")
+#End If
+#If Object_ERRORS
+            M(obj = chr, "obj = chr")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj = str, "obj = str")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj = dt, "obj = dt")
+#End If
+#If Object_ERRORS
+            M(obj = dbnull, "obj = dbnull")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj = obj, "obj = obj")
+#End If
+        If failures > 0 Then Return 1
+    Catch ex As Exception
+        Console.WriteLine ("Exception: {0}", ex)
+        Return 2
+    End Try
+    Return 0
+    End Function
+End Class
diff --git a/vbnc/vbnc/tests/CompileTime2/OperatorIntrinsicExponent.vb b/vbnc/vbnc/tests/CompileTime2/OperatorIntrinsicExponent.vb
new file mode 100644
index 0000000..53e2d0f
--- /dev/null
+++ b/vbnc/vbnc/tests/CompileTime2/OperatorIntrinsicExponent.vb
@@ -0,0 +1,806 @@
+Class BinaryOperatorExponent
+    Inherits IntrinsicOperatorTests
+    Shared Function Main As Integer
+        Try
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Double
+            M(bool ^ bool, "bool ^ bool")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Double
+            M(bool ^ b, "bool ^ b")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Double
+            M(bool ^ sb, "bool ^ sb")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Double
+            M(bool ^ s, "bool ^ s")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Double
+            M(bool ^ us, "bool ^ us")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Double
+            M(bool ^ i, "bool ^ i")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Double
+            M(bool ^ ui, "bool ^ ui")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Double
+            M(bool ^ l, "bool ^ l")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Double
+            M(bool ^ ul, "bool ^ ul")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Double
+            M(bool ^ dec, "bool ^ dec")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Double
+            M(bool ^ sng, "bool ^ sng")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Double
+            M(bool ^ dbl, "bool ^ dbl")
+#End If
+#If Boolean_ERRORS
+            M(bool ^ chr, "bool ^ chr")
+#End If
+#If Boolean_ERRORS
+            M(bool ^ str, "bool ^ str")
+#End If
+#If Boolean_ERRORS
+            M(bool ^ dt, "bool ^ dt")
+#End If
+#If Boolean_ERRORS
+            M(bool ^ dbnull, "bool ^ dbnull")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Object
+            M(bool ^ obj, "bool ^ obj")
+#End If
+#If Not STRICT Or Byte_ERRORS
+            expected_tc = TypeCode.Double
+            M(b ^ bool, "b ^ bool")
+#End If
+            expected_tc = TypeCode.Double
+            M(b ^ b, "b ^ b")
+            expected_tc = TypeCode.Double
+            M(b ^ sb, "b ^ sb")
+            expected_tc = TypeCode.Double
+            M(b ^ s, "b ^ s")
+            expected_tc = TypeCode.Double
+            M(b ^ us, "b ^ us")
+            expected_tc = TypeCode.Double
+            M(b ^ i, "b ^ i")
+            expected_tc = TypeCode.Double
+            M(b ^ ui, "b ^ ui")
+            expected_tc = TypeCode.Double
+            M(b ^ l, "b ^ l")
+            expected_tc = TypeCode.Double
+            M(b ^ ul, "b ^ ul")
+            expected_tc = TypeCode.Double
+            M(b ^ dec, "b ^ dec")
+            expected_tc = TypeCode.Double
+            M(b ^ sng, "b ^ sng")
+            expected_tc = TypeCode.Double
+            M(b ^ dbl, "b ^ dbl")
+#If Byte_ERRORS
+            M(b ^ chr, "b ^ chr")
+#End If
+#If Byte_ERRORS
+            M(b ^ str, "b ^ str")
+#End If
+#If Byte_ERRORS
+            M(b ^ dt, "b ^ dt")
+#End If
+#If Byte_ERRORS
+            M(b ^ dbnull, "b ^ dbnull")
+#End If
+#If Not STRICT Or Byte_ERRORS
+            expected_tc = TypeCode.Object
+            M(b ^ obj, "b ^ obj")
+#End If
+#If Not STRICT Or SByte_ERRORS
+            expected_tc = TypeCode.Double
+            M(sb ^ bool, "sb ^ bool")
+#End If
+            expected_tc = TypeCode.Double
+            M(sb ^ b, "sb ^ b")
+            expected_tc = TypeCode.Double
+            M(sb ^ sb, "sb ^ sb")
+            expected_tc = TypeCode.Double
+            M(sb ^ s, "sb ^ s")
+            expected_tc = TypeCode.Double
+            M(sb ^ us, "sb ^ us")
+            expected_tc = TypeCode.Double
+            M(sb ^ i, "sb ^ i")
+            expected_tc = TypeCode.Double
+            M(sb ^ ui, "sb ^ ui")
+            expected_tc = TypeCode.Double
+            M(sb ^ l, "sb ^ l")
+            expected_tc = TypeCode.Double
+            M(sb ^ ul, "sb ^ ul")
+            expected_tc = TypeCode.Double
+            M(sb ^ dec, "sb ^ dec")
+            expected_tc = TypeCode.Double
+            M(sb ^ sng, "sb ^ sng")
+            expected_tc = TypeCode.Double
+            M(sb ^ dbl, "sb ^ dbl")
+#If SByte_ERRORS
+            M(sb ^ chr, "sb ^ chr")
+#End If
+#If SByte_ERRORS
+            M(sb ^ str, "sb ^ str")
+#End If
+#If SByte_ERRORS
+            M(sb ^ dt, "sb ^ dt")
+#End If
+#If SByte_ERRORS
+            M(sb ^ dbnull, "sb ^ dbnull")
+#End If
+#If Not STRICT Or SByte_ERRORS
+            expected_tc = TypeCode.Object
+            M(sb ^ obj, "sb ^ obj")
+#End If
+#If Not STRICT Or Int16_ERRORS
+            expected_tc = TypeCode.Double
+            M(s ^ bool, "s ^ bool")
+#End If
+            expected_tc = TypeCode.Double
+            M(s ^ b, "s ^ b")
+            expected_tc = TypeCode.Double
+            M(s ^ sb, "s ^ sb")
+            expected_tc = TypeCode.Double
+            M(s ^ s, "s ^ s")
+            expected_tc = TypeCode.Double
+            M(s ^ us, "s ^ us")
+            expected_tc = TypeCode.Double
+            M(s ^ i, "s ^ i")
+            expected_tc = TypeCode.Double
+            M(s ^ ui, "s ^ ui")
+            expected_tc = TypeCode.Double
+            M(s ^ l, "s ^ l")
+            expected_tc = TypeCode.Double
+            M(s ^ ul, "s ^ ul")
+            expected_tc = TypeCode.Double
+            M(s ^ dec, "s ^ dec")
+            expected_tc = TypeCode.Double
+            M(s ^ sng, "s ^ sng")
+            expected_tc = TypeCode.Double
+            M(s ^ dbl, "s ^ dbl")
+#If Int16_ERRORS
+            M(s ^ chr, "s ^ chr")
+#End If
+#If Int16_ERRORS
+            M(s ^ str, "s ^ str")
+#End If
+#If Int16_ERRORS
+            M(s ^ dt, "s ^ dt")
+#End If
+#If Int16_ERRORS
+            M(s ^ dbnull, "s ^ dbnull")
+#End If
+#If Not STRICT Or Int16_ERRORS
+            expected_tc = TypeCode.Object
+            M(s ^ obj, "s ^ obj")
+#End If
+#If Not STRICT Or UInt16_ERRORS
+            expected_tc = TypeCode.Double
+            M(us ^ bool, "us ^ bool")
+#End If
+            expected_tc = TypeCode.Double
+            M(us ^ b, "us ^ b")
+            expected_tc = TypeCode.Double
+            M(us ^ sb, "us ^ sb")
+            expected_tc = TypeCode.Double
+            M(us ^ s, "us ^ s")
+            expected_tc = TypeCode.Double
+            M(us ^ us, "us ^ us")
+            expected_tc = TypeCode.Double
+            M(us ^ i, "us ^ i")
+            expected_tc = TypeCode.Double
+            M(us ^ ui, "us ^ ui")
+            expected_tc = TypeCode.Double
+            M(us ^ l, "us ^ l")
+            expected_tc = TypeCode.Double
+            M(us ^ ul, "us ^ ul")
+            expected_tc = TypeCode.Double
+            M(us ^ dec, "us ^ dec")
+            expected_tc = TypeCode.Double
+            M(us ^ sng, "us ^ sng")
+            expected_tc = TypeCode.Double
+            M(us ^ dbl, "us ^ dbl")
+#If UInt16_ERRORS
+            M(us ^ chr, "us ^ chr")
+#End If
+#If UInt16_ERRORS
+            M(us ^ str, "us ^ str")
+#End If
+#If UInt16_ERRORS
+            M(us ^ dt, "us ^ dt")
+#End If
+#If UInt16_ERRORS
+            M(us ^ dbnull, "us ^ dbnull")
+#End If
+#If Not STRICT Or UInt16_ERRORS
+            expected_tc = TypeCode.Object
+            M(us ^ obj, "us ^ obj")
+#End If
+#If Not STRICT Or Int32_ERRORS
+            expected_tc = TypeCode.Double
+            M(i ^ bool, "i ^ bool")
+#End If
+            expected_tc = TypeCode.Double
+            M(i ^ b, "i ^ b")
+            expected_tc = TypeCode.Double
+            M(i ^ sb, "i ^ sb")
+            expected_tc = TypeCode.Double
+            M(i ^ s, "i ^ s")
+            expected_tc = TypeCode.Double
+            M(i ^ us, "i ^ us")
+            expected_tc = TypeCode.Double
+            M(i ^ i, "i ^ i")
+            expected_tc = TypeCode.Double
+            M(i ^ ui, "i ^ ui")
+            expected_tc = TypeCode.Double
+            M(i ^ l, "i ^ l")
+            expected_tc = TypeCode.Double
+            M(i ^ ul, "i ^ ul")
+            expected_tc = TypeCode.Double
+            M(i ^ dec, "i ^ dec")
+            expected_tc = TypeCode.Double
+            M(i ^ sng, "i ^ sng")
+            expected_tc = TypeCode.Double
+            M(i ^ dbl, "i ^ dbl")
+#If Int32_ERRORS
+            M(i ^ chr, "i ^ chr")
+#End If
+#If Int32_ERRORS
+            M(i ^ str, "i ^ str")
+#End If
+#If Int32_ERRORS
+            M(i ^ dt, "i ^ dt")
+#End If
+#If Int32_ERRORS
+            M(i ^ dbnull, "i ^ dbnull")
+#End If
+#If Not STRICT Or Int32_ERRORS
+            expected_tc = TypeCode.Object
+            M(i ^ obj, "i ^ obj")
+#End If
+#If Not STRICT Or UInt32_ERRORS
+            expected_tc = TypeCode.Double
+            M(ui ^ bool, "ui ^ bool")
+#End If
+            expected_tc = TypeCode.Double
+            M(ui ^ b, "ui ^ b")
+            expected_tc = TypeCode.Double
+            M(ui ^ sb, "ui ^ sb")
+            expected_tc = TypeCode.Double
+            M(ui ^ s, "ui ^ s")
+            expected_tc = TypeCode.Double
+            M(ui ^ us, "ui ^ us")
+            expected_tc = TypeCode.Double
+            M(ui ^ i, "ui ^ i")
+            expected_tc = TypeCode.Double
+            M(ui ^ ui, "ui ^ ui")
+            expected_tc = TypeCode.Double
+            M(ui ^ l, "ui ^ l")
+            expected_tc = TypeCode.Double
+            M(ui ^ ul, "ui ^ ul")
+            expected_tc = TypeCode.Double
+            M(ui ^ dec, "ui ^ dec")
+            expected_tc = TypeCode.Double
+            M(ui ^ sng, "ui ^ sng")
+            expected_tc = TypeCode.Double
+            M(ui ^ dbl, "ui ^ dbl")
+#If UInt32_ERRORS
+            M(ui ^ chr, "ui ^ chr")
+#End If
+#If UInt32_ERRORS
+            M(ui ^ str, "ui ^ str")
+#End If
+#If UInt32_ERRORS
+            M(ui ^ dt, "ui ^ dt")
+#End If
+#If UInt32_ERRORS
+            M(ui ^ dbnull, "ui ^ dbnull")
+#End If
+#If Not STRICT Or UInt32_ERRORS
+            expected_tc = TypeCode.Object
+            M(ui ^ obj, "ui ^ obj")
+#End If
+#If Not STRICT Or Int64_ERRORS
+            expected_tc = TypeCode.Double
+            M(l ^ bool, "l ^ bool")
+#End If
+            expected_tc = TypeCode.Double
+            M(l ^ b, "l ^ b")
+            expected_tc = TypeCode.Double
+            M(l ^ sb, "l ^ sb")
+            expected_tc = TypeCode.Double
+            M(l ^ s, "l ^ s")
+            expected_tc = TypeCode.Double
+            M(l ^ us, "l ^ us")
+            expected_tc = TypeCode.Double
+            M(l ^ i, "l ^ i")
+            expected_tc = TypeCode.Double
+            M(l ^ ui, "l ^ ui")
+            expected_tc = TypeCode.Double
+            M(l ^ l, "l ^ l")
+            expected_tc = TypeCode.Double
+            M(l ^ ul, "l ^ ul")
+            expected_tc = TypeCode.Double
+            M(l ^ dec, "l ^ dec")
+            expected_tc = TypeCode.Double
+            M(l ^ sng, "l ^ sng")
+            expected_tc = TypeCode.Double
+            M(l ^ dbl, "l ^ dbl")
+#If Int64_ERRORS
+            M(l ^ chr, "l ^ chr")
+#End If
+#If Int64_ERRORS
+            M(l ^ str, "l ^ str")
+#End If
+#If Int64_ERRORS
+            M(l ^ dt, "l ^ dt")
+#End If
+#If Int64_ERRORS
+            M(l ^ dbnull, "l ^ dbnull")
+#End If
+#If Not STRICT Or Int64_ERRORS
+            expected_tc = TypeCode.Object
+            M(l ^ obj, "l ^ obj")
+#End If
+#If Not STRICT Or UInt64_ERRORS
+            expected_tc = TypeCode.Double
+            M(ul ^ bool, "ul ^ bool")
+#End If
+            expected_tc = TypeCode.Double
+            M(ul ^ b, "ul ^ b")
+            expected_tc = TypeCode.Double
+            M(ul ^ sb, "ul ^ sb")
+            expected_tc = TypeCode.Double
+            M(ul ^ s, "ul ^ s")
+            expected_tc = TypeCode.Double
+            M(ul ^ us, "ul ^ us")
+            expected_tc = TypeCode.Double
+            M(ul ^ i, "ul ^ i")
+            expected_tc = TypeCode.Double
+            M(ul ^ ui, "ul ^ ui")
+            expected_tc = TypeCode.Double
+            M(ul ^ l, "ul ^ l")
+            expected_tc = TypeCode.Double
+            M(ul ^ ul, "ul ^ ul")
+            expected_tc = TypeCode.Double
+            M(ul ^ dec, "ul ^ dec")
+            expected_tc = TypeCode.Double
+            M(ul ^ sng, "ul ^ sng")
+            expected_tc = TypeCode.Double
+            M(ul ^ dbl, "ul ^ dbl")
+#If UInt64_ERRORS
+            M(ul ^ chr, "ul ^ chr")
+#End If
+#If UInt64_ERRORS
+            M(ul ^ str, "ul ^ str")
+#End If
+#If UInt64_ERRORS
+            M(ul ^ dt, "ul ^ dt")
+#End If
+#If UInt64_ERRORS
+            M(ul ^ dbnull, "ul ^ dbnull")
+#End If
+#If Not STRICT Or UInt64_ERRORS
+            expected_tc = TypeCode.Object
+            M(ul ^ obj, "ul ^ obj")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Double
+            M(dec ^ bool, "dec ^ bool")
+#End If
+            expected_tc = TypeCode.Double
+            M(dec ^ b, "dec ^ b")
+            expected_tc = TypeCode.Double
+            M(dec ^ sb, "dec ^ sb")
+            expected_tc = TypeCode.Double
+            M(dec ^ s, "dec ^ s")
+            expected_tc = TypeCode.Double
+            M(dec ^ us, "dec ^ us")
+            expected_tc = TypeCode.Double
+            M(dec ^ i, "dec ^ i")
+            expected_tc = TypeCode.Double
+            M(dec ^ ui, "dec ^ ui")
+            expected_tc = TypeCode.Double
+            M(dec ^ l, "dec ^ l")
+            expected_tc = TypeCode.Double
+            M(dec ^ ul, "dec ^ ul")
+            expected_tc = TypeCode.Double
+            M(dec ^ dec, "dec ^ dec")
+            expected_tc = TypeCode.Double
+            M(dec ^ sng, "dec ^ sng")
+            expected_tc = TypeCode.Double
+            M(dec ^ dbl, "dec ^ dbl")
+#If Decimal_ERRORS
+            M(dec ^ chr, "dec ^ chr")
+#End If
+#If Decimal_ERRORS
+            M(dec ^ str, "dec ^ str")
+#End If
+#If Decimal_ERRORS
+            M(dec ^ dt, "dec ^ dt")
+#End If
+#If Decimal_ERRORS
+            M(dec ^ dbnull, "dec ^ dbnull")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Object
+            M(dec ^ obj, "dec ^ obj")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Double
+            M(sng ^ bool, "sng ^ bool")
+#End If
+            expected_tc = TypeCode.Double
+            M(sng ^ b, "sng ^ b")
+            expected_tc = TypeCode.Double
+            M(sng ^ sb, "sng ^ sb")
+            expected_tc = TypeCode.Double
+            M(sng ^ s, "sng ^ s")
+            expected_tc = TypeCode.Double
+            M(sng ^ us, "sng ^ us")
+            expected_tc = TypeCode.Double
+            M(sng ^ i, "sng ^ i")
+            expected_tc = TypeCode.Double
+            M(sng ^ ui, "sng ^ ui")
+            expected_tc = TypeCode.Double
+            M(sng ^ l, "sng ^ l")
+            expected_tc = TypeCode.Double
+            M(sng ^ ul, "sng ^ ul")
+            expected_tc = TypeCode.Double
+            M(sng ^ dec, "sng ^ dec")
+            expected_tc = TypeCode.Double
+            M(sng ^ sng, "sng ^ sng")
+            expected_tc = TypeCode.Double
+            M(sng ^ dbl, "sng ^ dbl")
+#If Single_ERRORS
+            M(sng ^ chr, "sng ^ chr")
+#End If
+#If Single_ERRORS
+            M(sng ^ str, "sng ^ str")
+#End If
+#If Single_ERRORS
+            M(sng ^ dt, "sng ^ dt")
+#End If
+#If Single_ERRORS
+            M(sng ^ dbnull, "sng ^ dbnull")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Object
+            M(sng ^ obj, "sng ^ obj")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Double
+            M(dbl ^ bool, "dbl ^ bool")
+#End If
+            expected_tc = TypeCode.Double
+            M(dbl ^ b, "dbl ^ b")
+            expected_tc = TypeCode.Double
+            M(dbl ^ sb, "dbl ^ sb")
+            expected_tc = TypeCode.Double
+            M(dbl ^ s, "dbl ^ s")
+            expected_tc = TypeCode.Double
+            M(dbl ^ us, "dbl ^ us")
+            expected_tc = TypeCode.Double
+            M(dbl ^ i, "dbl ^ i")
+            expected_tc = TypeCode.Double
+            M(dbl ^ ui, "dbl ^ ui")
+            expected_tc = TypeCode.Double
+            M(dbl ^ l, "dbl ^ l")
+            expected_tc = TypeCode.Double
+            M(dbl ^ ul, "dbl ^ ul")
+            expected_tc = TypeCode.Double
+            M(dbl ^ dec, "dbl ^ dec")
+            expected_tc = TypeCode.Double
+            M(dbl ^ sng, "dbl ^ sng")
+            expected_tc = TypeCode.Double
+            M(dbl ^ dbl, "dbl ^ dbl")
+#If Double_ERRORS
+            M(dbl ^ chr, "dbl ^ chr")
+#End If
+#If Double_ERRORS
+            M(dbl ^ str, "dbl ^ str")
+#End If
+#If Double_ERRORS
+            M(dbl ^ dt, "dbl ^ dt")
+#End If
+#If Double_ERRORS
+            M(dbl ^ dbnull, "dbl ^ dbnull")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Object
+            M(dbl ^ obj, "dbl ^ obj")
+#End If
+#If Char_ERRORS
+            M(chr ^ bool, "chr ^ bool")
+#End If
+#If Char_ERRORS
+            M(chr ^ b, "chr ^ b")
+#End If
+#If Char_ERRORS
+            M(chr ^ sb, "chr ^ sb")
+#End If
+#If Char_ERRORS
+            M(chr ^ s, "chr ^ s")
+#End If
+#If Char_ERRORS
+            M(chr ^ us, "chr ^ us")
+#End If
+#If Char_ERRORS
+            M(chr ^ i, "chr ^ i")
+#End If
+#If Char_ERRORS
+            M(chr ^ ui, "chr ^ ui")
+#End If
+#If Char_ERRORS
+            M(chr ^ l, "chr ^ l")
+#End If
+#If Char_ERRORS
+            M(chr ^ ul, "chr ^ ul")
+#End If
+#If Char_ERRORS
+            M(chr ^ dec, "chr ^ dec")
+#End If
+#If Char_ERRORS
+            M(chr ^ sng, "chr ^ sng")
+#End If
+#If Char_ERRORS
+            M(chr ^ dbl, "chr ^ dbl")
+#End If
+#If Char_ERRORS
+            M(chr ^ chr, "chr ^ chr")
+#End If
+#If Char_ERRORS
+            M(chr ^ str, "chr ^ str")
+#End If
+#If Char_ERRORS
+            M(chr ^ dt, "chr ^ dt")
+#End If
+#If Char_ERRORS
+            M(chr ^ dbnull, "chr ^ dbnull")
+#End If
+#If Char_ERRORS
+            M(chr ^ obj, "chr ^ obj")
+#End If
+#If String_ERRORS
+            M(str ^ bool, "str ^ bool")
+#End If
+#If String_ERRORS
+            M(str ^ b, "str ^ b")
+#End If
+#If String_ERRORS
+            M(str ^ sb, "str ^ sb")
+#End If
+#If String_ERRORS
+            M(str ^ s, "str ^ s")
+#End If
+#If String_ERRORS
+            M(str ^ us, "str ^ us")
+#End If
+#If String_ERRORS
+            M(str ^ i, "str ^ i")
+#End If
+#If String_ERRORS
+            M(str ^ ui, "str ^ ui")
+#End If
+#If String_ERRORS
+            M(str ^ l, "str ^ l")
+#End If
+#If String_ERRORS
+            M(str ^ ul, "str ^ ul")
+#End If
+#If String_ERRORS
+            M(str ^ dec, "str ^ dec")
+#End If
+#If String_ERRORS
+            M(str ^ sng, "str ^ sng")
+#End If
+#If String_ERRORS
+            M(str ^ dbl, "str ^ dbl")
+#End If
+#If String_ERRORS
+            M(str ^ chr, "str ^ chr")
+#End If
+#If String_ERRORS
+            M(str ^ str, "str ^ str")
+#End If
+#If String_ERRORS
+            M(str ^ dt, "str ^ dt")
+#End If
+#If String_ERRORS
+            M(str ^ dbnull, "str ^ dbnull")
+#End If
+#If String_ERRORS
+            M(str ^ obj, "str ^ obj")
+#End If
+#If DateTime_ERRORS
+            M(dt ^ bool, "dt ^ bool")
+#End If
+#If DateTime_ERRORS
+            M(dt ^ b, "dt ^ b")
+#End If
+#If DateTime_ERRORS
+            M(dt ^ sb, "dt ^ sb")
+#End If
+#If DateTime_ERRORS
+            M(dt ^ s, "dt ^ s")
+#End If
+#If DateTime_ERRORS
+            M(dt ^ us, "dt ^ us")
+#End If
+#If DateTime_ERRORS
+            M(dt ^ i, "dt ^ i")
+#End If
+#If DateTime_ERRORS
+            M(dt ^ ui, "dt ^ ui")
+#End If
+#If DateTime_ERRORS
+            M(dt ^ l, "dt ^ l")
+#End If
+#If DateTime_ERRORS
+            M(dt ^ ul, "dt ^ ul")
+#End If
+#If DateTime_ERRORS
+            M(dt ^ dec, "dt ^ dec")
+#End If
+#If DateTime_ERRORS
+            M(dt ^ sng, "dt ^ sng")
+#End If
+#If DateTime_ERRORS
+            M(dt ^ dbl, "dt ^ dbl")
+#End If
+#If DateTime_ERRORS
+            M(dt ^ chr, "dt ^ chr")
+#End If
+#If DateTime_ERRORS
+            M(dt ^ str, "dt ^ str")
+#End If
+#If DateTime_ERRORS
+            M(dt ^ dt, "dt ^ dt")
+#End If
+#If DateTime_ERRORS
+            M(dt ^ dbnull, "dt ^ dbnull")
+#End If
+#If DateTime_ERRORS
+            M(dt ^ obj, "dt ^ obj")
+#End If
+#If DBNull_ERRORS
+            M(dbnull ^ bool, "dbnull ^ bool")
+#End If
+#If DBNull_ERRORS
+            M(dbnull ^ b, "dbnull ^ b")
+#End If
+#If DBNull_ERRORS
+            M(dbnull ^ sb, "dbnull ^ sb")
+#End If
+#If DBNull_ERRORS
+            M(dbnull ^ s, "dbnull ^ s")
+#End If
+#If DBNull_ERRORS
+            M(dbnull ^ us, "dbnull ^ us")
+#End If
+#If DBNull_ERRORS
+            M(dbnull ^ i, "dbnull ^ i")
+#End If
+#If DBNull_ERRORS
+            M(dbnull ^ ui, "dbnull ^ ui")
+#End If
+#If DBNull_ERRORS
+            M(dbnull ^ l, "dbnull ^ l")
+#End If
+#If DBNull_ERRORS
+            M(dbnull ^ ul, "dbnull ^ ul")
+#End If
+#If DBNull_ERRORS
+            M(dbnull ^ dec, "dbnull ^ dec")
+#End If
+#If DBNull_ERRORS
+            M(dbnull ^ sng, "dbnull ^ sng")
+#End If
+#If DBNull_ERRORS
+            M(dbnull ^ dbl, "dbnull ^ dbl")
+#End If
+#If DBNull_ERRORS
+            M(dbnull ^ chr, "dbnull ^ chr")
+#End If
+#If DBNull_ERRORS
+            M(dbnull ^ str, "dbnull ^ str")
+#End If
+#If DBNull_ERRORS
+            M(dbnull ^ dt, "dbnull ^ dt")
+#End If
+#If DBNull_ERRORS
+            M(dbnull ^ dbnull, "dbnull ^ dbnull")
+#End If
+#If DBNull_ERRORS
+            M(dbnull ^ obj, "dbnull ^ obj")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj ^ bool, "obj ^ bool")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj ^ b, "obj ^ b")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj ^ sb, "obj ^ sb")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj ^ s, "obj ^ s")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj ^ us, "obj ^ us")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj ^ i, "obj ^ i")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj ^ ui, "obj ^ ui")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj ^ l, "obj ^ l")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj ^ ul, "obj ^ ul")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj ^ dec, "obj ^ dec")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj ^ sng, "obj ^ sng")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj ^ dbl, "obj ^ dbl")
+#End If
+#If Object_ERRORS
+            M(obj ^ chr, "obj ^ chr")
+#End If
+#If Object_ERRORS
+            M(obj ^ str, "obj ^ str")
+#End If
+#If Object_ERRORS
+            M(obj ^ dt, "obj ^ dt")
+#End If
+#If Object_ERRORS
+            M(obj ^ dbnull, "obj ^ dbnull")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj ^ obj, "obj ^ obj")
+#End If
+        If failures > 0 Then Return 1
+    Catch ex As Exception
+        Console.WriteLine ("Exception: {0}", ex)
+        Return 2
+    End Try
+    Return 0
+    End Function
+End Class
diff --git a/vbnc/vbnc/tests/CompileTime2/OperatorIntrinsicGE.vb b/vbnc/vbnc/tests/CompileTime2/OperatorIntrinsicGE.vb
new file mode 100644
index 0000000..602e193
--- /dev/null
+++ b/vbnc/vbnc/tests/CompileTime2/OperatorIntrinsicGE.vb
@@ -0,0 +1,785 @@
+Class BinaryOperatorGE
+    Inherits IntrinsicOperatorTests
+    Shared Function Main As Integer
+        Try
+#If Boolean_ERRORS
+            M(bool >= bool, "bool >= bool")
+#End If
+#If Boolean_ERRORS
+            M(bool >= b, "bool >= b")
+#End If
+#If Boolean_ERRORS
+            M(bool >= sb, "bool >= sb")
+#End If
+#If Boolean_ERRORS
+            M(bool >= s, "bool >= s")
+#End If
+#If Boolean_ERRORS
+            M(bool >= us, "bool >= us")
+#End If
+#If Boolean_ERRORS
+            M(bool >= i, "bool >= i")
+#End If
+#If Boolean_ERRORS
+            M(bool >= ui, "bool >= ui")
+#End If
+#If Boolean_ERRORS
+            M(bool >= l, "bool >= l")
+#End If
+#If Boolean_ERRORS
+            M(bool >= ul, "bool >= ul")
+#End If
+#If Boolean_ERRORS
+            M(bool >= dec, "bool >= dec")
+#End If
+#If Boolean_ERRORS
+            M(bool >= sng, "bool >= sng")
+#End If
+#If Boolean_ERRORS
+            M(bool >= dbl, "bool >= dbl")
+#End If
+#If Boolean_ERRORS
+            M(bool >= chr, "bool >= chr")
+#End If
+#If Boolean_ERRORS
+            M(bool >= str, "bool >= str")
+#End If
+#If Boolean_ERRORS
+            M(bool >= dt, "bool >= dt")
+#End If
+#If Boolean_ERRORS
+            M(bool >= dbnull, "bool >= dbnull")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Object
+            M(bool >= obj, "bool >= obj")
+#End If
+#If Byte_ERRORS
+            M(b >= bool, "b >= bool")
+#End If
+            expected_tc = TypeCode.Boolean
+            M(b >= b, "b >= b")
+            expected_tc = TypeCode.Boolean
+            M(b >= sb, "b >= sb")
+            expected_tc = TypeCode.Boolean
+            M(b >= s, "b >= s")
+            expected_tc = TypeCode.Boolean
+            M(b >= us, "b >= us")
+            expected_tc = TypeCode.Boolean
+            M(b >= i, "b >= i")
+            expected_tc = TypeCode.Boolean
+            M(b >= ui, "b >= ui")
+            expected_tc = TypeCode.Boolean
+            M(b >= l, "b >= l")
+            expected_tc = TypeCode.Boolean
+            M(b >= ul, "b >= ul")
+            expected_tc = TypeCode.Boolean
+            M(b >= dec, "b >= dec")
+            expected_tc = TypeCode.Boolean
+            M(b >= sng, "b >= sng")
+            expected_tc = TypeCode.Boolean
+            M(b >= dbl, "b >= dbl")
+#If Byte_ERRORS
+            M(b >= chr, "b >= chr")
+#End If
+#If Byte_ERRORS
+            M(b >= str, "b >= str")
+#End If
+#If Byte_ERRORS
+            M(b >= dt, "b >= dt")
+#End If
+#If Byte_ERRORS
+            M(b >= dbnull, "b >= dbnull")
+#End If
+#If Not STRICT Or Byte_ERRORS
+            expected_tc = TypeCode.Object
+            M(b >= obj, "b >= obj")
+#End If
+#If SByte_ERRORS
+            M(sb >= bool, "sb >= bool")
+#End If
+            expected_tc = TypeCode.Boolean
+            M(sb >= b, "sb >= b")
+            expected_tc = TypeCode.Boolean
+            M(sb >= sb, "sb >= sb")
+            expected_tc = TypeCode.Boolean
+            M(sb >= s, "sb >= s")
+            expected_tc = TypeCode.Boolean
+            M(sb >= us, "sb >= us")
+            expected_tc = TypeCode.Boolean
+            M(sb >= i, "sb >= i")
+            expected_tc = TypeCode.Boolean
+            M(sb >= ui, "sb >= ui")
+            expected_tc = TypeCode.Boolean
+            M(sb >= l, "sb >= l")
+            expected_tc = TypeCode.Boolean
+            M(sb >= ul, "sb >= ul")
+            expected_tc = TypeCode.Boolean
+            M(sb >= dec, "sb >= dec")
+            expected_tc = TypeCode.Boolean
+            M(sb >= sng, "sb >= sng")
+            expected_tc = TypeCode.Boolean
+            M(sb >= dbl, "sb >= dbl")
+#If SByte_ERRORS
+            M(sb >= chr, "sb >= chr")
+#End If
+#If SByte_ERRORS
+            M(sb >= str, "sb >= str")
+#End If
+#If SByte_ERRORS
+            M(sb >= dt, "sb >= dt")
+#End If
+#If SByte_ERRORS
+            M(sb >= dbnull, "sb >= dbnull")
+#End If
+#If Not STRICT Or SByte_ERRORS
+            expected_tc = TypeCode.Object
+            M(sb >= obj, "sb >= obj")
+#End If
+#If Int16_ERRORS
+            M(s >= bool, "s >= bool")
+#End If
+            expected_tc = TypeCode.Boolean
+            M(s >= b, "s >= b")
+            expected_tc = TypeCode.Boolean
+            M(s >= sb, "s >= sb")
+            expected_tc = TypeCode.Boolean
+            M(s >= s, "s >= s")
+            expected_tc = TypeCode.Boolean
+            M(s >= us, "s >= us")
+            expected_tc = TypeCode.Boolean
+            M(s >= i, "s >= i")
+            expected_tc = TypeCode.Boolean
+            M(s >= ui, "s >= ui")
+            expected_tc = TypeCode.Boolean
+            M(s >= l, "s >= l")
+            expected_tc = TypeCode.Boolean
+            M(s >= ul, "s >= ul")
+            expected_tc = TypeCode.Boolean
+            M(s >= dec, "s >= dec")
+            expected_tc = TypeCode.Boolean
+            M(s >= sng, "s >= sng")
+            expected_tc = TypeCode.Boolean
+            M(s >= dbl, "s >= dbl")
+#If Int16_ERRORS
+            M(s >= chr, "s >= chr")
+#End If
+#If Int16_ERRORS
+            M(s >= str, "s >= str")
+#End If
+#If Int16_ERRORS
+            M(s >= dt, "s >= dt")
+#End If
+#If Int16_ERRORS
+            M(s >= dbnull, "s >= dbnull")
+#End If
+#If Not STRICT Or Int16_ERRORS
+            expected_tc = TypeCode.Object
+            M(s >= obj, "s >= obj")
+#End If
+#If UInt16_ERRORS
+            M(us >= bool, "us >= bool")
+#End If
+            expected_tc = TypeCode.Boolean
+            M(us >= b, "us >= b")
+            expected_tc = TypeCode.Boolean
+            M(us >= sb, "us >= sb")
+            expected_tc = TypeCode.Boolean
+            M(us >= s, "us >= s")
+            expected_tc = TypeCode.Boolean
+            M(us >= us, "us >= us")
+            expected_tc = TypeCode.Boolean
+            M(us >= i, "us >= i")
+            expected_tc = TypeCode.Boolean
+            M(us >= ui, "us >= ui")
+            expected_tc = TypeCode.Boolean
+            M(us >= l, "us >= l")
+            expected_tc = TypeCode.Boolean
+            M(us >= ul, "us >= ul")
+            expected_tc = TypeCode.Boolean
+            M(us >= dec, "us >= dec")
+            expected_tc = TypeCode.Boolean
+            M(us >= sng, "us >= sng")
+            expected_tc = TypeCode.Boolean
+            M(us >= dbl, "us >= dbl")
+#If UInt16_ERRORS
+            M(us >= chr, "us >= chr")
+#End If
+#If UInt16_ERRORS
+            M(us >= str, "us >= str")
+#End If
+#If UInt16_ERRORS
+            M(us >= dt, "us >= dt")
+#End If
+#If UInt16_ERRORS
+            M(us >= dbnull, "us >= dbnull")
+#End If
+#If Not STRICT Or UInt16_ERRORS
+            expected_tc = TypeCode.Object
+            M(us >= obj, "us >= obj")
+#End If
+#If Int32_ERRORS
+            M(i >= bool, "i >= bool")
+#End If
+            expected_tc = TypeCode.Boolean
+            M(i >= b, "i >= b")
+            expected_tc = TypeCode.Boolean
+            M(i >= sb, "i >= sb")
+            expected_tc = TypeCode.Boolean
+            M(i >= s, "i >= s")
+            expected_tc = TypeCode.Boolean
+            M(i >= us, "i >= us")
+            expected_tc = TypeCode.Boolean
+            M(i >= i, "i >= i")
+            expected_tc = TypeCode.Boolean
+            M(i >= ui, "i >= ui")
+            expected_tc = TypeCode.Boolean
+            M(i >= l, "i >= l")
+            expected_tc = TypeCode.Boolean
+            M(i >= ul, "i >= ul")
+            expected_tc = TypeCode.Boolean
+            M(i >= dec, "i >= dec")
+            expected_tc = TypeCode.Boolean
+            M(i >= sng, "i >= sng")
+            expected_tc = TypeCode.Boolean
+            M(i >= dbl, "i >= dbl")
+#If Int32_ERRORS
+            M(i >= chr, "i >= chr")
+#End If
+#If Int32_ERRORS
+            M(i >= str, "i >= str")
+#End If
+#If Int32_ERRORS
+            M(i >= dt, "i >= dt")
+#End If
+#If Int32_ERRORS
+            M(i >= dbnull, "i >= dbnull")
+#End If
+#If Not STRICT Or Int32_ERRORS
+            expected_tc = TypeCode.Object
+            M(i >= obj, "i >= obj")
+#End If
+#If UInt32_ERRORS
+            M(ui >= bool, "ui >= bool")
+#End If
+            expected_tc = TypeCode.Boolean
+            M(ui >= b, "ui >= b")
+            expected_tc = TypeCode.Boolean
+            M(ui >= sb, "ui >= sb")
+            expected_tc = TypeCode.Boolean
+            M(ui >= s, "ui >= s")
+            expected_tc = TypeCode.Boolean
+            M(ui >= us, "ui >= us")
+            expected_tc = TypeCode.Boolean
+            M(ui >= i, "ui >= i")
+            expected_tc = TypeCode.Boolean
+            M(ui >= ui, "ui >= ui")
+            expected_tc = TypeCode.Boolean
+            M(ui >= l, "ui >= l")
+            expected_tc = TypeCode.Boolean
+            M(ui >= ul, "ui >= ul")
+            expected_tc = TypeCode.Boolean
+            M(ui >= dec, "ui >= dec")
+            expected_tc = TypeCode.Boolean
+            M(ui >= sng, "ui >= sng")
+            expected_tc = TypeCode.Boolean
+            M(ui >= dbl, "ui >= dbl")
+#If UInt32_ERRORS
+            M(ui >= chr, "ui >= chr")
+#End If
+#If UInt32_ERRORS
+            M(ui >= str, "ui >= str")
+#End If
+#If UInt32_ERRORS
+            M(ui >= dt, "ui >= dt")
+#End If
+#If UInt32_ERRORS
+            M(ui >= dbnull, "ui >= dbnull")
+#End If
+#If Not STRICT Or UInt32_ERRORS
+            expected_tc = TypeCode.Object
+            M(ui >= obj, "ui >= obj")
+#End If
+#If Int64_ERRORS
+            M(l >= bool, "l >= bool")
+#End If
+            expected_tc = TypeCode.Boolean
+            M(l >= b, "l >= b")
+            expected_tc = TypeCode.Boolean
+            M(l >= sb, "l >= sb")
+            expected_tc = TypeCode.Boolean
+            M(l >= s, "l >= s")
+            expected_tc = TypeCode.Boolean
+            M(l >= us, "l >= us")
+            expected_tc = TypeCode.Boolean
+            M(l >= i, "l >= i")
+            expected_tc = TypeCode.Boolean
+            M(l >= ui, "l >= ui")
+            expected_tc = TypeCode.Boolean
+            M(l >= l, "l >= l")
+            expected_tc = TypeCode.Boolean
+            M(l >= ul, "l >= ul")
+            expected_tc = TypeCode.Boolean
+            M(l >= dec, "l >= dec")
+            expected_tc = TypeCode.Boolean
+            M(l >= sng, "l >= sng")
+            expected_tc = TypeCode.Boolean
+            M(l >= dbl, "l >= dbl")
+#If Int64_ERRORS
+            M(l >= chr, "l >= chr")
+#End If
+#If Int64_ERRORS
+            M(l >= str, "l >= str")
+#End If
+#If Int64_ERRORS
+            M(l >= dt, "l >= dt")
+#End If
+#If Int64_ERRORS
+            M(l >= dbnull, "l >= dbnull")
+#End If
+#If Not STRICT Or Int64_ERRORS
+            expected_tc = TypeCode.Object
+            M(l >= obj, "l >= obj")
+#End If
+#If UInt64_ERRORS
+            M(ul >= bool, "ul >= bool")
+#End If
+            expected_tc = TypeCode.Boolean
+            M(ul >= b, "ul >= b")
+            expected_tc = TypeCode.Boolean
+            M(ul >= sb, "ul >= sb")
+            expected_tc = TypeCode.Boolean
+            M(ul >= s, "ul >= s")
+            expected_tc = TypeCode.Boolean
+            M(ul >= us, "ul >= us")
+            expected_tc = TypeCode.Boolean
+            M(ul >= i, "ul >= i")
+            expected_tc = TypeCode.Boolean
+            M(ul >= ui, "ul >= ui")
+            expected_tc = TypeCode.Boolean
+            M(ul >= l, "ul >= l")
+            expected_tc = TypeCode.Boolean
+            M(ul >= ul, "ul >= ul")
+            expected_tc = TypeCode.Boolean
+            M(ul >= dec, "ul >= dec")
+            expected_tc = TypeCode.Boolean
+            M(ul >= sng, "ul >= sng")
+            expected_tc = TypeCode.Boolean
+            M(ul >= dbl, "ul >= dbl")
+#If UInt64_ERRORS
+            M(ul >= chr, "ul >= chr")
+#End If
+#If UInt64_ERRORS
+            M(ul >= str, "ul >= str")
+#End If
+#If UInt64_ERRORS
+            M(ul >= dt, "ul >= dt")
+#End If
+#If UInt64_ERRORS
+            M(ul >= dbnull, "ul >= dbnull")
+#End If
+#If Not STRICT Or UInt64_ERRORS
+            expected_tc = TypeCode.Object
+            M(ul >= obj, "ul >= obj")
+#End If
+#If Decimal_ERRORS
+            M(dec >= bool, "dec >= bool")
+#End If
+            expected_tc = TypeCode.Boolean
+            M(dec >= b, "dec >= b")
+            expected_tc = TypeCode.Boolean
+            M(dec >= sb, "dec >= sb")
+            expected_tc = TypeCode.Boolean
+            M(dec >= s, "dec >= s")
+            expected_tc = TypeCode.Boolean
+            M(dec >= us, "dec >= us")
+            expected_tc = TypeCode.Boolean
+            M(dec >= i, "dec >= i")
+            expected_tc = TypeCode.Boolean
+            M(dec >= ui, "dec >= ui")
+            expected_tc = TypeCode.Boolean
+            M(dec >= l, "dec >= l")
+            expected_tc = TypeCode.Boolean
+            M(dec >= ul, "dec >= ul")
+            expected_tc = TypeCode.Boolean
+            M(dec >= dec, "dec >= dec")
+            expected_tc = TypeCode.Boolean
+            M(dec >= sng, "dec >= sng")
+            expected_tc = TypeCode.Boolean
+            M(dec >= dbl, "dec >= dbl")
+#If Decimal_ERRORS
+            M(dec >= chr, "dec >= chr")
+#End If
+#If Decimal_ERRORS
+            M(dec >= str, "dec >= str")
+#End If
+#If Decimal_ERRORS
+            M(dec >= dt, "dec >= dt")
+#End If
+#If Decimal_ERRORS
+            M(dec >= dbnull, "dec >= dbnull")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Object
+            M(dec >= obj, "dec >= obj")
+#End If
+#If Single_ERRORS
+            M(sng >= bool, "sng >= bool")
+#End If
+            expected_tc = TypeCode.Boolean
+            M(sng >= b, "sng >= b")
+            expected_tc = TypeCode.Boolean
+            M(sng >= sb, "sng >= sb")
+            expected_tc = TypeCode.Boolean
+            M(sng >= s, "sng >= s")
+            expected_tc = TypeCode.Boolean
+            M(sng >= us, "sng >= us")
+            expected_tc = TypeCode.Boolean
+            M(sng >= i, "sng >= i")
+            expected_tc = TypeCode.Boolean
+            M(sng >= ui, "sng >= ui")
+            expected_tc = TypeCode.Boolean
+            M(sng >= l, "sng >= l")
+            expected_tc = TypeCode.Boolean
+            M(sng >= ul, "sng >= ul")
+            expected_tc = TypeCode.Boolean
+            M(sng >= dec, "sng >= dec")
+            expected_tc = TypeCode.Boolean
+            M(sng >= sng, "sng >= sng")
+            expected_tc = TypeCode.Boolean
+            M(sng >= dbl, "sng >= dbl")
+#If Single_ERRORS
+            M(sng >= chr, "sng >= chr")
+#End If
+#If Single_ERRORS
+            M(sng >= str, "sng >= str")
+#End If
+#If Single_ERRORS
+            M(sng >= dt, "sng >= dt")
+#End If
+#If Single_ERRORS
+            M(sng >= dbnull, "sng >= dbnull")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Object
+            M(sng >= obj, "sng >= obj")
+#End If
+#If Double_ERRORS
+            M(dbl >= bool, "dbl >= bool")
+#End If
+            expected_tc = TypeCode.Boolean
+            M(dbl >= b, "dbl >= b")
+            expected_tc = TypeCode.Boolean
+            M(dbl >= sb, "dbl >= sb")
+            expected_tc = TypeCode.Boolean
+            M(dbl >= s, "dbl >= s")
+            expected_tc = TypeCode.Boolean
+            M(dbl >= us, "dbl >= us")
+            expected_tc = TypeCode.Boolean
+            M(dbl >= i, "dbl >= i")
+            expected_tc = TypeCode.Boolean
+            M(dbl >= ui, "dbl >= ui")
+            expected_tc = TypeCode.Boolean
+            M(dbl >= l, "dbl >= l")
+            expected_tc = TypeCode.Boolean
+            M(dbl >= ul, "dbl >= ul")
+            expected_tc = TypeCode.Boolean
+            M(dbl >= dec, "dbl >= dec")
+            expected_tc = TypeCode.Boolean
+            M(dbl >= sng, "dbl >= sng")
+            expected_tc = TypeCode.Boolean
+            M(dbl >= dbl, "dbl >= dbl")
+#If Double_ERRORS
+            M(dbl >= chr, "dbl >= chr")
+#End If
+#If Double_ERRORS
+            M(dbl >= str, "dbl >= str")
+#End If
+#If Double_ERRORS
+            M(dbl >= dt, "dbl >= dt")
+#End If
+#If Double_ERRORS
+            M(dbl >= dbnull, "dbl >= dbnull")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Object
+            M(dbl >= obj, "dbl >= obj")
+#End If
+#If Char_ERRORS
+            M(chr >= bool, "chr >= bool")
+#End If
+#If Char_ERRORS
+            M(chr >= b, "chr >= b")
+#End If
+#If Char_ERRORS
+            M(chr >= sb, "chr >= sb")
+#End If
+#If Char_ERRORS
+            M(chr >= s, "chr >= s")
+#End If
+#If Char_ERRORS
+            M(chr >= us, "chr >= us")
+#End If
+#If Char_ERRORS
+            M(chr >= i, "chr >= i")
+#End If
+#If Char_ERRORS
+            M(chr >= ui, "chr >= ui")
+#End If
+#If Char_ERRORS
+            M(chr >= l, "chr >= l")
+#End If
+#If Char_ERRORS
+            M(chr >= ul, "chr >= ul")
+#End If
+#If Char_ERRORS
+            M(chr >= dec, "chr >= dec")
+#End If
+#If Char_ERRORS
+            M(chr >= sng, "chr >= sng")
+#End If
+#If Char_ERRORS
+            M(chr >= dbl, "chr >= dbl")
+#End If
+#If Char_ERRORS
+            M(chr >= chr, "chr >= chr")
+#End If
+#If Char_ERRORS
+            M(chr >= str, "chr >= str")
+#End If
+#If Char_ERRORS
+            M(chr >= dt, "chr >= dt")
+#End If
+#If Char_ERRORS
+            M(chr >= dbnull, "chr >= dbnull")
+#End If
+#If Char_ERRORS
+            M(chr >= obj, "chr >= obj")
+#End If
+#If String_ERRORS
+            M(str >= bool, "str >= bool")
+#End If
+#If String_ERRORS
+            M(str >= b, "str >= b")
+#End If
+#If String_ERRORS
+            M(str >= sb, "str >= sb")
+#End If
+#If String_ERRORS
+            M(str >= s, "str >= s")
+#End If
+#If String_ERRORS
+            M(str >= us, "str >= us")
+#End If
+#If String_ERRORS
+            M(str >= i, "str >= i")
+#End If
+#If String_ERRORS
+            M(str >= ui, "str >= ui")
+#End If
+#If String_ERRORS
+            M(str >= l, "str >= l")
+#End If
+#If String_ERRORS
+            M(str >= ul, "str >= ul")
+#End If
+#If String_ERRORS
+            M(str >= dec, "str >= dec")
+#End If
+#If String_ERRORS
+            M(str >= sng, "str >= sng")
+#End If
+#If String_ERRORS
+            M(str >= dbl, "str >= dbl")
+#End If
+#If String_ERRORS
+            M(str >= chr, "str >= chr")
+#End If
+            expected_tc = TypeCode.Boolean
+            M(str >= str, "str >= str")
+#If String_ERRORS
+            M(str >= dt, "str >= dt")
+#End If
+#If String_ERRORS
+            M(str >= dbnull, "str >= dbnull")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Object
+            M(str >= obj, "str >= obj")
+#End If
+#If DateTime_ERRORS
+            M(dt >= bool, "dt >= bool")
+#End If
+#If DateTime_ERRORS
+            M(dt >= b, "dt >= b")
+#End If
+#If DateTime_ERRORS
+            M(dt >= sb, "dt >= sb")
+#End If
+#If DateTime_ERRORS
+            M(dt >= s, "dt >= s")
+#End If
+#If DateTime_ERRORS
+            M(dt >= us, "dt >= us")
+#End If
+#If DateTime_ERRORS
+            M(dt >= i, "dt >= i")
+#End If
+#If DateTime_ERRORS
+            M(dt >= ui, "dt >= ui")
+#End If
+#If DateTime_ERRORS
+            M(dt >= l, "dt >= l")
+#End If
+#If DateTime_ERRORS
+            M(dt >= ul, "dt >= ul")
+#End If
+#If DateTime_ERRORS
+            M(dt >= dec, "dt >= dec")
+#End If
+#If DateTime_ERRORS
+            M(dt >= sng, "dt >= sng")
+#End If
+#If DateTime_ERRORS
+            M(dt >= dbl, "dt >= dbl")
+#End If
+#If DateTime_ERRORS
+            M(dt >= chr, "dt >= chr")
+#End If
+#If DateTime_ERRORS
+            M(dt >= str, "dt >= str")
+#End If
+            expected_tc = TypeCode.Boolean
+            M(dt >= dt, "dt >= dt")
+#If DateTime_ERRORS
+            M(dt >= dbnull, "dt >= dbnull")
+#End If
+#If Not STRICT Or DateTime_ERRORS
+            expected_tc = TypeCode.Object
+            M(dt >= obj, "dt >= obj")
+#End If
+#If DBNull_ERRORS
+            M(dbnull >= bool, "dbnull >= bool")
+#End If
+#If DBNull_ERRORS
+            M(dbnull >= b, "dbnull >= b")
+#End If
+#If DBNull_ERRORS
+            M(dbnull >= sb, "dbnull >= sb")
+#End If
+#If DBNull_ERRORS
+            M(dbnull >= s, "dbnull >= s")
+#End If
+#If DBNull_ERRORS
+            M(dbnull >= us, "dbnull >= us")
+#End If
+#If DBNull_ERRORS
+            M(dbnull >= i, "dbnull >= i")
+#End If
+#If DBNull_ERRORS
+            M(dbnull >= ui, "dbnull >= ui")
+#End If
+#If DBNull_ERRORS
+            M(dbnull >= l, "dbnull >= l")
+#End If
+#If DBNull_ERRORS
+            M(dbnull >= ul, "dbnull >= ul")
+#End If
+#If DBNull_ERRORS
+            M(dbnull >= dec, "dbnull >= dec")
+#End If
+#If DBNull_ERRORS
+            M(dbnull >= sng, "dbnull >= sng")
+#End If
+#If DBNull_ERRORS
+            M(dbnull >= dbl, "dbnull >= dbl")
+#End If
+#If DBNull_ERRORS
+            M(dbnull >= chr, "dbnull >= chr")
+#End If
+#If DBNull_ERRORS
+            M(dbnull >= str, "dbnull >= str")
+#End If
+#If DBNull_ERRORS
+            M(dbnull >= dt, "dbnull >= dt")
+#End If
+#If DBNull_ERRORS
+            M(dbnull >= dbnull, "dbnull >= dbnull")
+#End If
+#If DBNull_ERRORS
+            M(dbnull >= obj, "dbnull >= obj")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj >= bool, "obj >= bool")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj >= b, "obj >= b")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj >= sb, "obj >= sb")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj >= s, "obj >= s")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj >= us, "obj >= us")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj >= i, "obj >= i")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj >= ui, "obj >= ui")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj >= l, "obj >= l")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj >= ul, "obj >= ul")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj >= dec, "obj >= dec")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj >= sng, "obj >= sng")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj >= dbl, "obj >= dbl")
+#End If
+#If Object_ERRORS
+            M(obj >= chr, "obj >= chr")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj >= str, "obj >= str")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj >= dt, "obj >= dt")
+#End If
+#If Object_ERRORS
+            M(obj >= dbnull, "obj >= dbnull")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj >= obj, "obj >= obj")
+#End If
+        If failures > 0 Then Return 1
+    Catch ex As Exception
+        Console.WriteLine ("Exception: {0}", ex)
+        Return 2
+    End Try
+    Return 0
+    End Function
+End Class
diff --git a/vbnc/vbnc/tests/CompileTime2/OperatorIntrinsicGT.vb b/vbnc/vbnc/tests/CompileTime2/OperatorIntrinsicGT.vb
new file mode 100644
index 0000000..c9edb39
--- /dev/null
+++ b/vbnc/vbnc/tests/CompileTime2/OperatorIntrinsicGT.vb
@@ -0,0 +1,785 @@
+Class BinaryOperatorGT
+    Inherits IntrinsicOperatorTests
+    Shared Function Main As Integer
+        Try
+#If Boolean_ERRORS
+            M(bool > bool, "bool > bool")
+#End If
+#If Boolean_ERRORS
+            M(bool > b, "bool > b")
+#End If
+#If Boolean_ERRORS
+            M(bool > sb, "bool > sb")
+#End If
+#If Boolean_ERRORS
+            M(bool > s, "bool > s")
+#End If
+#If Boolean_ERRORS
+            M(bool > us, "bool > us")
+#End If
+#If Boolean_ERRORS
+            M(bool > i, "bool > i")
+#End If
+#If Boolean_ERRORS
+            M(bool > ui, "bool > ui")
+#End If
+#If Boolean_ERRORS
+            M(bool > l, "bool > l")
+#End If
+#If Boolean_ERRORS
+            M(bool > ul, "bool > ul")
+#End If
+#If Boolean_ERRORS
+            M(bool > dec, "bool > dec")
+#End If
+#If Boolean_ERRORS
+            M(bool > sng, "bool > sng")
+#End If
+#If Boolean_ERRORS
+            M(bool > dbl, "bool > dbl")
+#End If
+#If Boolean_ERRORS
+            M(bool > chr, "bool > chr")
+#End If
+#If Boolean_ERRORS
+            M(bool > str, "bool > str")
+#End If
+#If Boolean_ERRORS
+            M(bool > dt, "bool > dt")
+#End If
+#If Boolean_ERRORS
+            M(bool > dbnull, "bool > dbnull")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Object
+            M(bool > obj, "bool > obj")
+#End If
+#If Byte_ERRORS
+            M(b > bool, "b > bool")
+#End If
+            expected_tc = TypeCode.Boolean
+            M(b > b, "b > b")
+            expected_tc = TypeCode.Boolean
+            M(b > sb, "b > sb")
+            expected_tc = TypeCode.Boolean
+            M(b > s, "b > s")
+            expected_tc = TypeCode.Boolean
+            M(b > us, "b > us")
+            expected_tc = TypeCode.Boolean
+            M(b > i, "b > i")
+            expected_tc = TypeCode.Boolean
+            M(b > ui, "b > ui")
+            expected_tc = TypeCode.Boolean
+            M(b > l, "b > l")
+            expected_tc = TypeCode.Boolean
+            M(b > ul, "b > ul")
+            expected_tc = TypeCode.Boolean
+            M(b > dec, "b > dec")
+            expected_tc = TypeCode.Boolean
+            M(b > sng, "b > sng")
+            expected_tc = TypeCode.Boolean
+            M(b > dbl, "b > dbl")
+#If Byte_ERRORS
+            M(b > chr, "b > chr")
+#End If
+#If Byte_ERRORS
+            M(b > str, "b > str")
+#End If
+#If Byte_ERRORS
+            M(b > dt, "b > dt")
+#End If
+#If Byte_ERRORS
+            M(b > dbnull, "b > dbnull")
+#End If
+#If Not STRICT Or Byte_ERRORS
+            expected_tc = TypeCode.Object
+            M(b > obj, "b > obj")
+#End If
+#If SByte_ERRORS
+            M(sb > bool, "sb > bool")
+#End If
+            expected_tc = TypeCode.Boolean
+            M(sb > b, "sb > b")
+            expected_tc = TypeCode.Boolean
+            M(sb > sb, "sb > sb")
+            expected_tc = TypeCode.Boolean
+            M(sb > s, "sb > s")
+            expected_tc = TypeCode.Boolean
+            M(sb > us, "sb > us")
+            expected_tc = TypeCode.Boolean
+            M(sb > i, "sb > i")
+            expected_tc = TypeCode.Boolean
+            M(sb > ui, "sb > ui")
+            expected_tc = TypeCode.Boolean
+            M(sb > l, "sb > l")
+            expected_tc = TypeCode.Boolean
+            M(sb > ul, "sb > ul")
+            expected_tc = TypeCode.Boolean
+            M(sb > dec, "sb > dec")
+            expected_tc = TypeCode.Boolean
+            M(sb > sng, "sb > sng")
+            expected_tc = TypeCode.Boolean
+            M(sb > dbl, "sb > dbl")
+#If SByte_ERRORS
+            M(sb > chr, "sb > chr")
+#End If
+#If SByte_ERRORS
+            M(sb > str, "sb > str")
+#End If
+#If SByte_ERRORS
+            M(sb > dt, "sb > dt")
+#End If
+#If SByte_ERRORS
+            M(sb > dbnull, "sb > dbnull")
+#End If
+#If Not STRICT Or SByte_ERRORS
+            expected_tc = TypeCode.Object
+            M(sb > obj, "sb > obj")
+#End If
+#If Int16_ERRORS
+            M(s > bool, "s > bool")
+#End If
+            expected_tc = TypeCode.Boolean
+            M(s > b, "s > b")
+            expected_tc = TypeCode.Boolean
+            M(s > sb, "s > sb")
+            expected_tc = TypeCode.Boolean
+            M(s > s, "s > s")
+            expected_tc = TypeCode.Boolean
+            M(s > us, "s > us")
+            expected_tc = TypeCode.Boolean
+            M(s > i, "s > i")
+            expected_tc = TypeCode.Boolean
+            M(s > ui, "s > ui")
+            expected_tc = TypeCode.Boolean
+            M(s > l, "s > l")
+            expected_tc = TypeCode.Boolean
+            M(s > ul, "s > ul")
+            expected_tc = TypeCode.Boolean
+            M(s > dec, "s > dec")
+            expected_tc = TypeCode.Boolean
+            M(s > sng, "s > sng")
+            expected_tc = TypeCode.Boolean
+            M(s > dbl, "s > dbl")
+#If Int16_ERRORS
+            M(s > chr, "s > chr")
+#End If
+#If Int16_ERRORS
+            M(s > str, "s > str")
+#End If
+#If Int16_ERRORS
+            M(s > dt, "s > dt")
+#End If
+#If Int16_ERRORS
+            M(s > dbnull, "s > dbnull")
+#End If
+#If Not STRICT Or Int16_ERRORS
+            expected_tc = TypeCode.Object
+            M(s > obj, "s > obj")
+#End If
+#If UInt16_ERRORS
+            M(us > bool, "us > bool")
+#End If
+            expected_tc = TypeCode.Boolean
+            M(us > b, "us > b")
+            expected_tc = TypeCode.Boolean
+            M(us > sb, "us > sb")
+            expected_tc = TypeCode.Boolean
+            M(us > s, "us > s")
+            expected_tc = TypeCode.Boolean
+            M(us > us, "us > us")
+            expected_tc = TypeCode.Boolean
+            M(us > i, "us > i")
+            expected_tc = TypeCode.Boolean
+            M(us > ui, "us > ui")
+            expected_tc = TypeCode.Boolean
+            M(us > l, "us > l")
+            expected_tc = TypeCode.Boolean
+            M(us > ul, "us > ul")
+            expected_tc = TypeCode.Boolean
+            M(us > dec, "us > dec")
+            expected_tc = TypeCode.Boolean
+            M(us > sng, "us > sng")
+            expected_tc = TypeCode.Boolean
+            M(us > dbl, "us > dbl")
+#If UInt16_ERRORS
+            M(us > chr, "us > chr")
+#End If
+#If UInt16_ERRORS
+            M(us > str, "us > str")
+#End If
+#If UInt16_ERRORS
+            M(us > dt, "us > dt")
+#End If
+#If UInt16_ERRORS
+            M(us > dbnull, "us > dbnull")
+#End If
+#If Not STRICT Or UInt16_ERRORS
+            expected_tc = TypeCode.Object
+            M(us > obj, "us > obj")
+#End If
+#If Int32_ERRORS
+            M(i > bool, "i > bool")
+#End If
+            expected_tc = TypeCode.Boolean
+            M(i > b, "i > b")
+            expected_tc = TypeCode.Boolean
+            M(i > sb, "i > sb")
+            expected_tc = TypeCode.Boolean
+            M(i > s, "i > s")
+            expected_tc = TypeCode.Boolean
+            M(i > us, "i > us")
+            expected_tc = TypeCode.Boolean
+            M(i > i, "i > i")
+            expected_tc = TypeCode.Boolean
+            M(i > ui, "i > ui")
+            expected_tc = TypeCode.Boolean
+            M(i > l, "i > l")
+            expected_tc = TypeCode.Boolean
+            M(i > ul, "i > ul")
+            expected_tc = TypeCode.Boolean
+            M(i > dec, "i > dec")
+            expected_tc = TypeCode.Boolean
+            M(i > sng, "i > sng")
+            expected_tc = TypeCode.Boolean
+            M(i > dbl, "i > dbl")
+#If Int32_ERRORS
+            M(i > chr, "i > chr")
+#End If
+#If Int32_ERRORS
+            M(i > str, "i > str")
+#End If
+#If Int32_ERRORS
+            M(i > dt, "i > dt")
+#End If
+#If Int32_ERRORS
+            M(i > dbnull, "i > dbnull")
+#End If
+#If Not STRICT Or Int32_ERRORS
+            expected_tc = TypeCode.Object
+            M(i > obj, "i > obj")
+#End If
+#If UInt32_ERRORS
+            M(ui > bool, "ui > bool")
+#End If
+            expected_tc = TypeCode.Boolean
+            M(ui > b, "ui > b")
+            expected_tc = TypeCode.Boolean
+            M(ui > sb, "ui > sb")
+            expected_tc = TypeCode.Boolean
+            M(ui > s, "ui > s")
+            expected_tc = TypeCode.Boolean
+            M(ui > us, "ui > us")
+            expected_tc = TypeCode.Boolean
+            M(ui > i, "ui > i")
+            expected_tc = TypeCode.Boolean
+            M(ui > ui, "ui > ui")
+            expected_tc = TypeCode.Boolean
+            M(ui > l, "ui > l")
+            expected_tc = TypeCode.Boolean
+            M(ui > ul, "ui > ul")
+            expected_tc = TypeCode.Boolean
+            M(ui > dec, "ui > dec")
+            expected_tc = TypeCode.Boolean
+            M(ui > sng, "ui > sng")
+            expected_tc = TypeCode.Boolean
+            M(ui > dbl, "ui > dbl")
+#If UInt32_ERRORS
+            M(ui > chr, "ui > chr")
+#End If
+#If UInt32_ERRORS
+            M(ui > str, "ui > str")
+#End If
+#If UInt32_ERRORS
+            M(ui > dt, "ui > dt")
+#End If
+#If UInt32_ERRORS
+            M(ui > dbnull, "ui > dbnull")
+#End If
+#If Not STRICT Or UInt32_ERRORS
+            expected_tc = TypeCode.Object
+            M(ui > obj, "ui > obj")
+#End If
+#If Int64_ERRORS
+            M(l > bool, "l > bool")
+#End If
+            expected_tc = TypeCode.Boolean
+            M(l > b, "l > b")
+            expected_tc = TypeCode.Boolean
+            M(l > sb, "l > sb")
+            expected_tc = TypeCode.Boolean
+            M(l > s, "l > s")
+            expected_tc = TypeCode.Boolean
+            M(l > us, "l > us")
+            expected_tc = TypeCode.Boolean
+            M(l > i, "l > i")
+            expected_tc = TypeCode.Boolean
+            M(l > ui, "l > ui")
+            expected_tc = TypeCode.Boolean
+            M(l > l, "l > l")
+            expected_tc = TypeCode.Boolean
+            M(l > ul, "l > ul")
+            expected_tc = TypeCode.Boolean
+            M(l > dec, "l > dec")
+            expected_tc = TypeCode.Boolean
+            M(l > sng, "l > sng")
+            expected_tc = TypeCode.Boolean
+            M(l > dbl, "l > dbl")
+#If Int64_ERRORS
+            M(l > chr, "l > chr")
+#End If
+#If Int64_ERRORS
+            M(l > str, "l > str")
+#End If
+#If Int64_ERRORS
+            M(l > dt, "l > dt")
+#End If
+#If Int64_ERRORS
+            M(l > dbnull, "l > dbnull")
+#End If
+#If Not STRICT Or Int64_ERRORS
+            expected_tc = TypeCode.Object
+            M(l > obj, "l > obj")
+#End If
+#If UInt64_ERRORS
+            M(ul > bool, "ul > bool")
+#End If
+            expected_tc = TypeCode.Boolean
+            M(ul > b, "ul > b")
+            expected_tc = TypeCode.Boolean
+            M(ul > sb, "ul > sb")
+            expected_tc = TypeCode.Boolean
+            M(ul > s, "ul > s")
+            expected_tc = TypeCode.Boolean
+            M(ul > us, "ul > us")
+            expected_tc = TypeCode.Boolean
+            M(ul > i, "ul > i")
+            expected_tc = TypeCode.Boolean
+            M(ul > ui, "ul > ui")
+            expected_tc = TypeCode.Boolean
+            M(ul > l, "ul > l")
+            expected_tc = TypeCode.Boolean
+            M(ul > ul, "ul > ul")
+            expected_tc = TypeCode.Boolean
+            M(ul > dec, "ul > dec")
+            expected_tc = TypeCode.Boolean
+            M(ul > sng, "ul > sng")
+            expected_tc = TypeCode.Boolean
+            M(ul > dbl, "ul > dbl")
+#If UInt64_ERRORS
+            M(ul > chr, "ul > chr")
+#End If
+#If UInt64_ERRORS
+            M(ul > str, "ul > str")
+#End If
+#If UInt64_ERRORS
+            M(ul > dt, "ul > dt")
+#End If
+#If UInt64_ERRORS
+            M(ul > dbnull, "ul > dbnull")
+#End If
+#If Not STRICT Or UInt64_ERRORS
+            expected_tc = TypeCode.Object
+            M(ul > obj, "ul > obj")
+#End If
+#If Decimal_ERRORS
+            M(dec > bool, "dec > bool")
+#End If
+            expected_tc = TypeCode.Boolean
+            M(dec > b, "dec > b")
+            expected_tc = TypeCode.Boolean
+            M(dec > sb, "dec > sb")
+            expected_tc = TypeCode.Boolean
+            M(dec > s, "dec > s")
+            expected_tc = TypeCode.Boolean
+            M(dec > us, "dec > us")
+            expected_tc = TypeCode.Boolean
+            M(dec > i, "dec > i")
+            expected_tc = TypeCode.Boolean
+            M(dec > ui, "dec > ui")
+            expected_tc = TypeCode.Boolean
+            M(dec > l, "dec > l")
+            expected_tc = TypeCode.Boolean
+            M(dec > ul, "dec > ul")
+            expected_tc = TypeCode.Boolean
+            M(dec > dec, "dec > dec")
+            expected_tc = TypeCode.Boolean
+            M(dec > sng, "dec > sng")
+            expected_tc = TypeCode.Boolean
+            M(dec > dbl, "dec > dbl")
+#If Decimal_ERRORS
+            M(dec > chr, "dec > chr")
+#End If
+#If Decimal_ERRORS
+            M(dec > str, "dec > str")
+#End If
+#If Decimal_ERRORS
+            M(dec > dt, "dec > dt")
+#End If
+#If Decimal_ERRORS
+            M(dec > dbnull, "dec > dbnull")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Object
+            M(dec > obj, "dec > obj")
+#End If
+#If Single_ERRORS
+            M(sng > bool, "sng > bool")
+#End If
+            expected_tc = TypeCode.Boolean
+            M(sng > b, "sng > b")
+            expected_tc = TypeCode.Boolean
+            M(sng > sb, "sng > sb")
+            expected_tc = TypeCode.Boolean
+            M(sng > s, "sng > s")
+            expected_tc = TypeCode.Boolean
+            M(sng > us, "sng > us")
+            expected_tc = TypeCode.Boolean
+            M(sng > i, "sng > i")
+            expected_tc = TypeCode.Boolean
+            M(sng > ui, "sng > ui")
+            expected_tc = TypeCode.Boolean
+            M(sng > l, "sng > l")
+            expected_tc = TypeCode.Boolean
+            M(sng > ul, "sng > ul")
+            expected_tc = TypeCode.Boolean
+            M(sng > dec, "sng > dec")
+            expected_tc = TypeCode.Boolean
+            M(sng > sng, "sng > sng")
+            expected_tc = TypeCode.Boolean
+            M(sng > dbl, "sng > dbl")
+#If Single_ERRORS
+            M(sng > chr, "sng > chr")
+#End If
+#If Single_ERRORS
+            M(sng > str, "sng > str")
+#End If
+#If Single_ERRORS
+            M(sng > dt, "sng > dt")
+#End If
+#If Single_ERRORS
+            M(sng > dbnull, "sng > dbnull")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Object
+            M(sng > obj, "sng > obj")
+#End If
+#If Double_ERRORS
+            M(dbl > bool, "dbl > bool")
+#End If
+            expected_tc = TypeCode.Boolean
+            M(dbl > b, "dbl > b")
+            expected_tc = TypeCode.Boolean
+            M(dbl > sb, "dbl > sb")
+            expected_tc = TypeCode.Boolean
+            M(dbl > s, "dbl > s")
+            expected_tc = TypeCode.Boolean
+            M(dbl > us, "dbl > us")
+            expected_tc = TypeCode.Boolean
+            M(dbl > i, "dbl > i")
+            expected_tc = TypeCode.Boolean
+            M(dbl > ui, "dbl > ui")
+            expected_tc = TypeCode.Boolean
+            M(dbl > l, "dbl > l")
+            expected_tc = TypeCode.Boolean
+            M(dbl > ul, "dbl > ul")
+            expected_tc = TypeCode.Boolean
+            M(dbl > dec, "dbl > dec")
+            expected_tc = TypeCode.Boolean
+            M(dbl > sng, "dbl > sng")
+            expected_tc = TypeCode.Boolean
+            M(dbl > dbl, "dbl > dbl")
+#If Double_ERRORS
+            M(dbl > chr, "dbl > chr")
+#End If
+#If Double_ERRORS
+            M(dbl > str, "dbl > str")
+#End If
+#If Double_ERRORS
+            M(dbl > dt, "dbl > dt")
+#End If
+#If Double_ERRORS
+            M(dbl > dbnull, "dbl > dbnull")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Object
+            M(dbl > obj, "dbl > obj")
+#End If
+#If Char_ERRORS
+            M(chr > bool, "chr > bool")
+#End If
+#If Char_ERRORS
+            M(chr > b, "chr > b")
+#End If
+#If Char_ERRORS
+            M(chr > sb, "chr > sb")
+#End If
+#If Char_ERRORS
+            M(chr > s, "chr > s")
+#End If
+#If Char_ERRORS
+            M(chr > us, "chr > us")
+#End If
+#If Char_ERRORS
+            M(chr > i, "chr > i")
+#End If
+#If Char_ERRORS
+            M(chr > ui, "chr > ui")
+#End If
+#If Char_ERRORS
+            M(chr > l, "chr > l")
+#End If
+#If Char_ERRORS
+            M(chr > ul, "chr > ul")
+#End If
+#If Char_ERRORS
+            M(chr > dec, "chr > dec")
+#End If
+#If Char_ERRORS
+            M(chr > sng, "chr > sng")
+#End If
+#If Char_ERRORS
+            M(chr > dbl, "chr > dbl")
+#End If
+#If Char_ERRORS
+            M(chr > chr, "chr > chr")
+#End If
+#If Char_ERRORS
+            M(chr > str, "chr > str")
+#End If
+#If Char_ERRORS
+            M(chr > dt, "chr > dt")
+#End If
+#If Char_ERRORS
+            M(chr > dbnull, "chr > dbnull")
+#End If
+#If Char_ERRORS
+            M(chr > obj, "chr > obj")
+#End If
+#If String_ERRORS
+            M(str > bool, "str > bool")
+#End If
+#If String_ERRORS
+            M(str > b, "str > b")
+#End If
+#If String_ERRORS
+            M(str > sb, "str > sb")
+#End If
+#If String_ERRORS
+            M(str > s, "str > s")
+#End If
+#If String_ERRORS
+            M(str > us, "str > us")
+#End If
+#If String_ERRORS
+            M(str > i, "str > i")
+#End If
+#If String_ERRORS
+            M(str > ui, "str > ui")
+#End If
+#If String_ERRORS
+            M(str > l, "str > l")
+#End If
+#If String_ERRORS
+            M(str > ul, "str > ul")
+#End If
+#If String_ERRORS
+            M(str > dec, "str > dec")
+#End If
+#If String_ERRORS
+            M(str > sng, "str > sng")
+#End If
+#If String_ERRORS
+            M(str > dbl, "str > dbl")
+#End If
+#If String_ERRORS
+            M(str > chr, "str > chr")
+#End If
+            expected_tc = TypeCode.Boolean
+            M(str > str, "str > str")
+#If String_ERRORS
+            M(str > dt, "str > dt")
+#End If
+#If String_ERRORS
+            M(str > dbnull, "str > dbnull")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Object
+            M(str > obj, "str > obj")
+#End If
+#If DateTime_ERRORS
+            M(dt > bool, "dt > bool")
+#End If
+#If DateTime_ERRORS
+            M(dt > b, "dt > b")
+#End If
+#If DateTime_ERRORS
+            M(dt > sb, "dt > sb")
+#End If
+#If DateTime_ERRORS
+            M(dt > s, "dt > s")
+#End If
+#If DateTime_ERRORS
+            M(dt > us, "dt > us")
+#End If
+#If DateTime_ERRORS
+            M(dt > i, "dt > i")
+#End If
+#If DateTime_ERRORS
+            M(dt > ui, "dt > ui")
+#End If
+#If DateTime_ERRORS
+            M(dt > l, "dt > l")
+#End If
+#If DateTime_ERRORS
+            M(dt > ul, "dt > ul")
+#End If
+#If DateTime_ERRORS
+            M(dt > dec, "dt > dec")
+#End If
+#If DateTime_ERRORS
+            M(dt > sng, "dt > sng")
+#End If
+#If DateTime_ERRORS
+            M(dt > dbl, "dt > dbl")
+#End If
+#If DateTime_ERRORS
+            M(dt > chr, "dt > chr")
+#End If
+#If DateTime_ERRORS
+            M(dt > str, "dt > str")
+#End If
+            expected_tc = TypeCode.Boolean
+            M(dt > dt, "dt > dt")
+#If DateTime_ERRORS
+            M(dt > dbnull, "dt > dbnull")
+#End If
+#If Not STRICT Or DateTime_ERRORS
+            expected_tc = TypeCode.Object
+            M(dt > obj, "dt > obj")
+#End If
+#If DBNull_ERRORS
+            M(dbnull > bool, "dbnull > bool")
+#End If
+#If DBNull_ERRORS
+            M(dbnull > b, "dbnull > b")
+#End If
+#If DBNull_ERRORS
+            M(dbnull > sb, "dbnull > sb")
+#End If
+#If DBNull_ERRORS
+            M(dbnull > s, "dbnull > s")
+#End If
+#If DBNull_ERRORS
+            M(dbnull > us, "dbnull > us")
+#End If
+#If DBNull_ERRORS
+            M(dbnull > i, "dbnull > i")
+#End If
+#If DBNull_ERRORS
+            M(dbnull > ui, "dbnull > ui")
+#End If
+#If DBNull_ERRORS
+            M(dbnull > l, "dbnull > l")
+#End If
+#If DBNull_ERRORS
+            M(dbnull > ul, "dbnull > ul")
+#End If
+#If DBNull_ERRORS
+            M(dbnull > dec, "dbnull > dec")
+#End If
+#If DBNull_ERRORS
+            M(dbnull > sng, "dbnull > sng")
+#End If
+#If DBNull_ERRORS
+            M(dbnull > dbl, "dbnull > dbl")
+#End If
+#If DBNull_ERRORS
+            M(dbnull > chr, "dbnull > chr")
+#End If
+#If DBNull_ERRORS
+            M(dbnull > str, "dbnull > str")
+#End If
+#If DBNull_ERRORS
+            M(dbnull > dt, "dbnull > dt")
+#End If
+#If DBNull_ERRORS
+            M(dbnull > dbnull, "dbnull > dbnull")
+#End If
+#If DBNull_ERRORS
+            M(dbnull > obj, "dbnull > obj")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj > bool, "obj > bool")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj > b, "obj > b")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj > sb, "obj > sb")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj > s, "obj > s")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj > us, "obj > us")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj > i, "obj > i")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj > ui, "obj > ui")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj > l, "obj > l")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj > ul, "obj > ul")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj > dec, "obj > dec")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj > sng, "obj > sng")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj > dbl, "obj > dbl")
+#End If
+#If Object_ERRORS
+            M(obj > chr, "obj > chr")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj > str, "obj > str")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj > dt, "obj > dt")
+#End If
+#If Object_ERRORS
+            M(obj > dbnull, "obj > dbnull")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj > obj, "obj > obj")
+#End If
+        If failures > 0 Then Return 1
+    Catch ex As Exception
+        Console.WriteLine ("Exception: {0}", ex)
+        Return 2
+    End Try
+    Return 0
+    End Function
+End Class
diff --git a/vbnc/vbnc/tests/CompileTime2/OperatorIntrinsicIntDivision.vb b/vbnc/vbnc/tests/CompileTime2/OperatorIntrinsicIntDivision.vb
new file mode 100644
index 0000000..3f5cb19
--- /dev/null
+++ b/vbnc/vbnc/tests/CompileTime2/OperatorIntrinsicIntDivision.vb
@@ -0,0 +1,964 @@
+Class BinaryOperatorIntDivision
+    Inherits IntrinsicOperatorTests
+    Shared Function Main As Integer
+        Try
+            obj = 1
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Int16
+            M(bool \ bool, "bool \ bool")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Int16
+            M(bool \ b, "bool \ b")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.SByte
+            M(bool \ sb, "bool \ sb")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Int16
+            M(bool \ s, "bool \ s")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Int32
+            M(bool \ us, "bool \ us")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Int32
+            M(bool \ i, "bool \ i")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Int64
+            M(bool \ ui, "bool \ ui")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Int64
+            M(bool \ l, "bool \ l")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Int64
+            M(bool \ ul, "bool \ ul")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Int64
+            M(bool \ dec, "bool \ dec")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Int64
+            M(bool \ sng, "bool \ sng")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Int64
+            M(bool \ dbl, "bool \ dbl")
+#End If
+#If Boolean_ERRORS
+            M(bool \ chr, "bool \ chr")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Int64
+            M(bool \ str, "bool \ str")
+#End If
+#If Boolean_ERRORS
+            M(bool \ dt, "bool \ dt")
+#End If
+#If Boolean_ERRORS
+            M(bool \ dbnull, "bool \ dbnull")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Object
+            M(bool \ obj, "bool \ obj")
+#End If
+#If Not STRICT Or Byte_ERRORS
+            expected_tc = TypeCode.Int16
+            M(b \ bool, "b \ bool")
+#End If
+            expected_tc = TypeCode.Byte
+            M(b \ b, "b \ b")
+            expected_tc = TypeCode.Int16
+            M(b \ sb, "b \ sb")
+            expected_tc = TypeCode.Int16
+            M(b \ s, "b \ s")
+            expected_tc = TypeCode.UInt16
+            M(b \ us, "b \ us")
+            expected_tc = TypeCode.Int32
+            M(b \ i, "b \ i")
+            expected_tc = TypeCode.UInt32
+            M(b \ ui, "b \ ui")
+            expected_tc = TypeCode.Int64
+            M(b \ l, "b \ l")
+            expected_tc = TypeCode.UInt64
+            M(b \ ul, "b \ ul")
+#If Not STRICT Or Byte_ERRORS
+            expected_tc = TypeCode.Int64
+            M(b \ dec, "b \ dec")
+#End If
+#If Not STRICT Or Byte_ERRORS
+            expected_tc = TypeCode.Int64
+            M(b \ sng, "b \ sng")
+#End If
+#If Not STRICT Or Byte_ERRORS
+            expected_tc = TypeCode.Int64
+            M(b \ dbl, "b \ dbl")
+#End If
+#If Byte_ERRORS
+            M(b \ chr, "b \ chr")
+#End If
+#If Not STRICT Or Byte_ERRORS
+            expected_tc = TypeCode.Int64
+            M(b \ str, "b \ str")
+#End If
+#If Byte_ERRORS
+            M(b \ dt, "b \ dt")
+#End If
+#If Byte_ERRORS
+            M(b \ dbnull, "b \ dbnull")
+#End If
+#If Not STRICT Or Byte_ERRORS
+            expected_tc = TypeCode.Object
+            M(b \ obj, "b \ obj")
+#End If
+#If Not STRICT Or SByte_ERRORS
+            expected_tc = TypeCode.SByte
+            M(sb \ bool, "sb \ bool")
+#End If
+            expected_tc = TypeCode.Int16
+            M(sb \ b, "sb \ b")
+            expected_tc = TypeCode.SByte
+            M(sb \ sb, "sb \ sb")
+            expected_tc = TypeCode.Int16
+            M(sb \ s, "sb \ s")
+            expected_tc = TypeCode.Int32
+            M(sb \ us, "sb \ us")
+            expected_tc = TypeCode.Int32
+            M(sb \ i, "sb \ i")
+            expected_tc = TypeCode.Int64
+            M(sb \ ui, "sb \ ui")
+            expected_tc = TypeCode.Int64
+            M(sb \ l, "sb \ l")
+#If Not STRICT Or SByte_ERRORS
+            expected_tc = TypeCode.Int64
+            M(sb \ ul, "sb \ ul")
+#End If
+#If Not STRICT Or SByte_ERRORS
+            expected_tc = TypeCode.Int64
+            M(sb \ dec, "sb \ dec")
+#End If
+#If Not STRICT Or SByte_ERRORS
+            expected_tc = TypeCode.Int64
+            M(sb \ sng, "sb \ sng")
+#End If
+#If Not STRICT Or SByte_ERRORS
+            expected_tc = TypeCode.Int64
+            M(sb \ dbl, "sb \ dbl")
+#End If
+#If SByte_ERRORS
+            M(sb \ chr, "sb \ chr")
+#End If
+#If Not STRICT Or SByte_ERRORS
+            expected_tc = TypeCode.Int64
+            M(sb \ str, "sb \ str")
+#End If
+#If SByte_ERRORS
+            M(sb \ dt, "sb \ dt")
+#End If
+#If SByte_ERRORS
+            M(sb \ dbnull, "sb \ dbnull")
+#End If
+#If Not STRICT Or SByte_ERRORS
+            expected_tc = TypeCode.Object
+            M(sb \ obj, "sb \ obj")
+#End If
+#If Not STRICT Or Int16_ERRORS
+            expected_tc = TypeCode.Int16
+            M(s \ bool, "s \ bool")
+#End If
+            expected_tc = TypeCode.Int16
+            M(s \ b, "s \ b")
+            expected_tc = TypeCode.Int16
+            M(s \ sb, "s \ sb")
+            expected_tc = TypeCode.Int16
+            M(s \ s, "s \ s")
+            expected_tc = TypeCode.Int32
+            M(s \ us, "s \ us")
+            expected_tc = TypeCode.Int32
+            M(s \ i, "s \ i")
+            expected_tc = TypeCode.Int64
+            M(s \ ui, "s \ ui")
+            expected_tc = TypeCode.Int64
+            M(s \ l, "s \ l")
+#If Not STRICT Or Int16_ERRORS
+            expected_tc = TypeCode.Int64
+            M(s \ ul, "s \ ul")
+#End If
+#If Not STRICT Or Int16_ERRORS
+            expected_tc = TypeCode.Int64
+            M(s \ dec, "s \ dec")
+#End If
+#If Not STRICT Or Int16_ERRORS
+            expected_tc = TypeCode.Int64
+            M(s \ sng, "s \ sng")
+#End If
+#If Not STRICT Or Int16_ERRORS
+            expected_tc = TypeCode.Int64
+            M(s \ dbl, "s \ dbl")
+#End If
+#If Int16_ERRORS
+            M(s \ chr, "s \ chr")
+#End If
+#If Not STRICT Or Int16_ERRORS
+            expected_tc = TypeCode.Int64
+            M(s \ str, "s \ str")
+#End If
+#If Int16_ERRORS
+            M(s \ dt, "s \ dt")
+#End If
+#If Int16_ERRORS
+            M(s \ dbnull, "s \ dbnull")
+#End If
+#If Not STRICT Or Int16_ERRORS
+            expected_tc = TypeCode.Object
+            M(s \ obj, "s \ obj")
+#End If
+#If Not STRICT Or UInt16_ERRORS
+            expected_tc = TypeCode.Int32
+            M(us \ bool, "us \ bool")
+#End If
+            expected_tc = TypeCode.UInt16
+            M(us \ b, "us \ b")
+            expected_tc = TypeCode.Int32
+            M(us \ sb, "us \ sb")
+            expected_tc = TypeCode.Int32
+            M(us \ s, "us \ s")
+            expected_tc = TypeCode.UInt16
+            M(us \ us, "us \ us")
+            expected_tc = TypeCode.Int32
+            M(us \ i, "us \ i")
+            expected_tc = TypeCode.UInt32
+            M(us \ ui, "us \ ui")
+            expected_tc = TypeCode.Int64
+            M(us \ l, "us \ l")
+            expected_tc = TypeCode.UInt64
+            M(us \ ul, "us \ ul")
+#If Not STRICT Or UInt16_ERRORS
+            expected_tc = TypeCode.Int64
+            M(us \ dec, "us \ dec")
+#End If
+#If Not STRICT Or UInt16_ERRORS
+            expected_tc = TypeCode.Int64
+            M(us \ sng, "us \ sng")
+#End If
+#If Not STRICT Or UInt16_ERRORS
+            expected_tc = TypeCode.Int64
+            M(us \ dbl, "us \ dbl")
+#End If
+#If UInt16_ERRORS
+            M(us \ chr, "us \ chr")
+#End If
+#If Not STRICT Or UInt16_ERRORS
+            expected_tc = TypeCode.Int64
+            M(us \ str, "us \ str")
+#End If
+#If UInt16_ERRORS
+            M(us \ dt, "us \ dt")
+#End If
+#If UInt16_ERRORS
+            M(us \ dbnull, "us \ dbnull")
+#End If
+#If Not STRICT Or UInt16_ERRORS
+            expected_tc = TypeCode.Object
+            M(us \ obj, "us \ obj")
+#End If
+#If Not STRICT Or Int32_ERRORS
+            expected_tc = TypeCode.Int32
+            M(i \ bool, "i \ bool")
+#End If
+            expected_tc = TypeCode.Int32
+            M(i \ b, "i \ b")
+            expected_tc = TypeCode.Int32
+            M(i \ sb, "i \ sb")
+            expected_tc = TypeCode.Int32
+            M(i \ s, "i \ s")
+            expected_tc = TypeCode.Int32
+            M(i \ us, "i \ us")
+            expected_tc = TypeCode.Int32
+            M(i \ i, "i \ i")
+            expected_tc = TypeCode.Int64
+            M(i \ ui, "i \ ui")
+            expected_tc = TypeCode.Int64
+            M(i \ l, "i \ l")
+#If Not STRICT Or Int32_ERRORS
+            expected_tc = TypeCode.Int64
+            M(i \ ul, "i \ ul")
+#End If
+#If Not STRICT Or Int32_ERRORS
+            expected_tc = TypeCode.Int64
+            M(i \ dec, "i \ dec")
+#End If
+#If Not STRICT Or Int32_ERRORS
+            expected_tc = TypeCode.Int64
+            M(i \ sng, "i \ sng")
+#End If
+#If Not STRICT Or Int32_ERRORS
+            expected_tc = TypeCode.Int64
+            M(i \ dbl, "i \ dbl")
+#End If
+#If Int32_ERRORS
+            M(i \ chr, "i \ chr")
+#End If
+#If Not STRICT Or Int32_ERRORS
+            expected_tc = TypeCode.Int64
+            M(i \ str, "i \ str")
+#End If
+#If Int32_ERRORS
+            M(i \ dt, "i \ dt")
+#End If
+#If Int32_ERRORS
+            M(i \ dbnull, "i \ dbnull")
+#End If
+#If Not STRICT Or Int32_ERRORS
+            expected_tc = TypeCode.Object
+            M(i \ obj, "i \ obj")
+#End If
+#If Not STRICT Or UInt32_ERRORS
+            expected_tc = TypeCode.Int64
+            M(ui \ bool, "ui \ bool")
+#End If
+            expected_tc = TypeCode.UInt32
+            M(ui \ b, "ui \ b")
+            expected_tc = TypeCode.Int64
+            M(ui \ sb, "ui \ sb")
+            expected_tc = TypeCode.Int64
+            M(ui \ s, "ui \ s")
+            expected_tc = TypeCode.UInt32
+            M(ui \ us, "ui \ us")
+            expected_tc = TypeCode.Int64
+            M(ui \ i, "ui \ i")
+            expected_tc = TypeCode.UInt32
+            M(ui \ ui, "ui \ ui")
+            expected_tc = TypeCode.Int64
+            M(ui \ l, "ui \ l")
+            expected_tc = TypeCode.UInt64
+            M(ui \ ul, "ui \ ul")
+#If Not STRICT Or UInt32_ERRORS
+            expected_tc = TypeCode.Int64
+            M(ui \ dec, "ui \ dec")
+#End If
+#If Not STRICT Or UInt32_ERRORS
+            expected_tc = TypeCode.Int64
+            M(ui \ sng, "ui \ sng")
+#End If
+#If Not STRICT Or UInt32_ERRORS
+            expected_tc = TypeCode.Int64
+            M(ui \ dbl, "ui \ dbl")
+#End If
+#If UInt32_ERRORS
+            M(ui \ chr, "ui \ chr")
+#End If
+#If Not STRICT Or UInt32_ERRORS
+            expected_tc = TypeCode.Int64
+            M(ui \ str, "ui \ str")
+#End If
+#If UInt32_ERRORS
+            M(ui \ dt, "ui \ dt")
+#End If
+#If UInt32_ERRORS
+            M(ui \ dbnull, "ui \ dbnull")
+#End If
+#If Not STRICT Or UInt32_ERRORS
+            expected_tc = TypeCode.Object
+            M(ui \ obj, "ui \ obj")
+#End If
+#If Not STRICT Or Int64_ERRORS
+            expected_tc = TypeCode.Int64
+            M(l \ bool, "l \ bool")
+#End If
+            expected_tc = TypeCode.Int64
+            M(l \ b, "l \ b")
+            expected_tc = TypeCode.Int64
+            M(l \ sb, "l \ sb")
+            expected_tc = TypeCode.Int64
+            M(l \ s, "l \ s")
+            expected_tc = TypeCode.Int64
+            M(l \ us, "l \ us")
+            expected_tc = TypeCode.Int64
+            M(l \ i, "l \ i")
+            expected_tc = TypeCode.Int64
+            M(l \ ui, "l \ ui")
+            expected_tc = TypeCode.Int64
+            M(l \ l, "l \ l")
+#If Not STRICT Or Int64_ERRORS
+            expected_tc = TypeCode.Int64
+            M(l \ ul, "l \ ul")
+#End If
+#If Not STRICT Or Int64_ERRORS
+            expected_tc = TypeCode.Int64
+            M(l \ dec, "l \ dec")
+#End If
+#If Not STRICT Or Int64_ERRORS
+            expected_tc = TypeCode.Int64
+            M(l \ sng, "l \ sng")
+#End If
+#If Not STRICT Or Int64_ERRORS
+            expected_tc = TypeCode.Int64
+            M(l \ dbl, "l \ dbl")
+#End If
+#If Int64_ERRORS
+            M(l \ chr, "l \ chr")
+#End If
+#If Not STRICT Or Int64_ERRORS
+            expected_tc = TypeCode.Int64
+            M(l \ str, "l \ str")
+#End If
+#If Int64_ERRORS
+            M(l \ dt, "l \ dt")
+#End If
+#If Int64_ERRORS
+            M(l \ dbnull, "l \ dbnull")
+#End If
+#If Not STRICT Or Int64_ERRORS
+            expected_tc = TypeCode.Object
+            M(l \ obj, "l \ obj")
+#End If
+#If Not STRICT Or UInt64_ERRORS
+            expected_tc = TypeCode.Int64
+            M(ul \ bool, "ul \ bool")
+#End If
+            expected_tc = TypeCode.UInt64
+            M(ul \ b, "ul \ b")
+#If Not STRICT Or UInt64_ERRORS
+            expected_tc = TypeCode.Int64
+            M(ul \ sb, "ul \ sb")
+#End If
+#If Not STRICT Or UInt64_ERRORS
+            expected_tc = TypeCode.Int64
+            M(ul \ s, "ul \ s")
+#End If
+            expected_tc = TypeCode.UInt64
+            M(ul \ us, "ul \ us")
+#If Not STRICT Or UInt64_ERRORS
+            expected_tc = TypeCode.Int64
+            M(ul \ i, "ul \ i")
+#End If
+            expected_tc = TypeCode.UInt64
+            M(ul \ ui, "ul \ ui")
+#If Not STRICT Or UInt64_ERRORS
+            expected_tc = TypeCode.Int64
+            M(ul \ l, "ul \ l")
+#End If
+            expected_tc = TypeCode.UInt64
+            M(ul \ ul, "ul \ ul")
+#If Not STRICT Or UInt64_ERRORS
+            expected_tc = TypeCode.Int64
+            M(ul \ dec, "ul \ dec")
+#End If
+#If Not STRICT Or UInt64_ERRORS
+            expected_tc = TypeCode.Int64
+            M(ul \ sng, "ul \ sng")
+#End If
+#If Not STRICT Or UInt64_ERRORS
+            expected_tc = TypeCode.Int64
+            M(ul \ dbl, "ul \ dbl")
+#End If
+#If UInt64_ERRORS
+            M(ul \ chr, "ul \ chr")
+#End If
+#If Not STRICT Or UInt64_ERRORS
+            expected_tc = TypeCode.Int64
+            M(ul \ str, "ul \ str")
+#End If
+#If UInt64_ERRORS
+            M(ul \ dt, "ul \ dt")
+#End If
+#If UInt64_ERRORS
+            M(ul \ dbnull, "ul \ dbnull")
+#End If
+#If Not STRICT Or UInt64_ERRORS
+            expected_tc = TypeCode.Object
+            M(ul \ obj, "ul \ obj")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Int64
+            M(dec \ bool, "dec \ bool")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Int64
+            M(dec \ b, "dec \ b")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Int64
+            M(dec \ sb, "dec \ sb")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Int64
+            M(dec \ s, "dec \ s")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Int64
+            M(dec \ us, "dec \ us")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Int64
+            M(dec \ i, "dec \ i")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Int64
+            M(dec \ ui, "dec \ ui")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Int64
+            M(dec \ l, "dec \ l")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Int64
+            M(dec \ ul, "dec \ ul")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Int64
+            M(dec \ dec, "dec \ dec")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Int64
+            M(dec \ sng, "dec \ sng")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Int64
+            M(dec \ dbl, "dec \ dbl")
+#End If
+#If Decimal_ERRORS
+            M(dec \ chr, "dec \ chr")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Int64
+            M(dec \ str, "dec \ str")
+#End If
+#If Decimal_ERRORS
+            M(dec \ dt, "dec \ dt")
+#End If
+#If Decimal_ERRORS
+            M(dec \ dbnull, "dec \ dbnull")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Object
+            M(dec \ obj, "dec \ obj")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Int64
+            M(sng \ bool, "sng \ bool")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Int64
+            M(sng \ b, "sng \ b")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Int64
+            M(sng \ sb, "sng \ sb")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Int64
+            M(sng \ s, "sng \ s")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Int64
+            M(sng \ us, "sng \ us")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Int64
+            M(sng \ i, "sng \ i")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Int64
+            M(sng \ ui, "sng \ ui")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Int64
+            M(sng \ l, "sng \ l")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Int64
+            M(sng \ ul, "sng \ ul")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Int64
+            M(sng \ dec, "sng \ dec")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Int64
+            M(sng \ sng, "sng \ sng")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Int64
+            M(sng \ dbl, "sng \ dbl")
+#End If
+#If Single_ERRORS
+            M(sng \ chr, "sng \ chr")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Int64
+            M(sng \ str, "sng \ str")
+#End If
+#If Single_ERRORS
+            M(sng \ dt, "sng \ dt")
+#End If
+#If Single_ERRORS
+            M(sng \ dbnull, "sng \ dbnull")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Object
+            M(sng \ obj, "sng \ obj")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Int64
+            M(dbl \ bool, "dbl \ bool")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Int64
+            M(dbl \ b, "dbl \ b")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Int64
+            M(dbl \ sb, "dbl \ sb")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Int64
+            M(dbl \ s, "dbl \ s")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Int64
+            M(dbl \ us, "dbl \ us")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Int64
+            M(dbl \ i, "dbl \ i")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Int64
+            M(dbl \ ui, "dbl \ ui")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Int64
+            M(dbl \ l, "dbl \ l")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Int64
+            M(dbl \ ul, "dbl \ ul")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Int64
+            M(dbl \ dec, "dbl \ dec")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Int64
+            M(dbl \ sng, "dbl \ sng")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Int64
+            M(dbl \ dbl, "dbl \ dbl")
+#End If
+#If Double_ERRORS
+            M(dbl \ chr, "dbl \ chr")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Int64
+            M(dbl \ str, "dbl \ str")
+#End If
+#If Double_ERRORS
+            M(dbl \ dt, "dbl \ dt")
+#End If
+#If Double_ERRORS
+            M(dbl \ dbnull, "dbl \ dbnull")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Object
+            M(dbl \ obj, "dbl \ obj")
+#End If
+#If Char_ERRORS
+            M(chr \ bool, "chr \ bool")
+#End If
+#If Char_ERRORS
+            M(chr \ b, "chr \ b")
+#End If
+#If Char_ERRORS
+            M(chr \ sb, "chr \ sb")
+#End If
+#If Char_ERRORS
+            M(chr \ s, "chr \ s")
+#End If
+#If Char_ERRORS
+            M(chr \ us, "chr \ us")
+#End If
+#If Char_ERRORS
+            M(chr \ i, "chr \ i")
+#End If
+#If Char_ERRORS
+            M(chr \ ui, "chr \ ui")
+#End If
+#If Char_ERRORS
+            M(chr \ l, "chr \ l")
+#End If
+#If Char_ERRORS
+            M(chr \ ul, "chr \ ul")
+#End If
+#If Char_ERRORS
+            M(chr \ dec, "chr \ dec")
+#End If
+#If Char_ERRORS
+            M(chr \ sng, "chr \ sng")
+#End If
+#If Char_ERRORS
+            M(chr \ dbl, "chr \ dbl")
+#End If
+#If Char_ERRORS
+            M(chr \ chr, "chr \ chr")
+#End If
+#If Char_ERRORS
+            M(chr \ str, "chr \ str")
+#End If
+#If Char_ERRORS
+            M(chr \ dt, "chr \ dt")
+#End If
+#If Char_ERRORS
+            M(chr \ dbnull, "chr \ dbnull")
+#End If
+#If Char_ERRORS
+            M(chr \ obj, "chr \ obj")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Int64
+            M(str \ bool, "str \ bool")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Int64
+            M(str \ b, "str \ b")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Int64
+            M(str \ sb, "str \ sb")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Int64
+            M(str \ s, "str \ s")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Int64
+            M(str \ us, "str \ us")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Int64
+            M(str \ i, "str \ i")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Int64
+            M(str \ ui, "str \ ui")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Int64
+            M(str \ l, "str \ l")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Int64
+            M(str \ ul, "str \ ul")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Int64
+            M(str \ dec, "str \ dec")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Int64
+            M(str \ sng, "str \ sng")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Int64
+            M(str \ dbl, "str \ dbl")
+#End If
+#If String_ERRORS
+            M(str \ chr, "str \ chr")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Int64
+            M(str \ str, "str \ str")
+#End If
+#If String_ERRORS
+            M(str \ dt, "str \ dt")
+#End If
+#If String_ERRORS
+            M(str \ dbnull, "str \ dbnull")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Object
+            M(str \ obj, "str \ obj")
+#End If
+#If DateTime_ERRORS
+            M(dt \ bool, "dt \ bool")
+#End If
+#If DateTime_ERRORS
+            M(dt \ b, "dt \ b")
+#End If
+#If DateTime_ERRORS
+            M(dt \ sb, "dt \ sb")
+#End If
+#If DateTime_ERRORS
+            M(dt \ s, "dt \ s")
+#End If
+#If DateTime_ERRORS
+            M(dt \ us, "dt \ us")
+#End If
+#If DateTime_ERRORS
+            M(dt \ i, "dt \ i")
+#End If
+#If DateTime_ERRORS
+            M(dt \ ui, "dt \ ui")
+#End If
+#If DateTime_ERRORS
+            M(dt \ l, "dt \ l")
+#End If
+#If DateTime_ERRORS
+            M(dt \ ul, "dt \ ul")
+#End If
+#If DateTime_ERRORS
+            M(dt \ dec, "dt \ dec")
+#End If
+#If DateTime_ERRORS
+            M(dt \ sng, "dt \ sng")
+#End If
+#If DateTime_ERRORS
+            M(dt \ dbl, "dt \ dbl")
+#End If
+#If DateTime_ERRORS
+            M(dt \ chr, "dt \ chr")
+#End If
+#If DateTime_ERRORS
+            M(dt \ str, "dt \ str")
+#End If
+#If DateTime_ERRORS
+            M(dt \ dt, "dt \ dt")
+#End If
+#If DateTime_ERRORS
+            M(dt \ dbnull, "dt \ dbnull")
+#End If
+#If DateTime_ERRORS
+            M(dt \ obj, "dt \ obj")
+#End If
+#If DBNull_ERRORS
+            M(dbnull \ bool, "dbnull \ bool")
+#End If
+#If DBNull_ERRORS
+            M(dbnull \ b, "dbnull \ b")
+#End If
+#If DBNull_ERRORS
+            M(dbnull \ sb, "dbnull \ sb")
+#End If
+#If DBNull_ERRORS
+            M(dbnull \ s, "dbnull \ s")
+#End If
+#If DBNull_ERRORS
+            M(dbnull \ us, "dbnull \ us")
+#End If
+#If DBNull_ERRORS
+            M(dbnull \ i, "dbnull \ i")
+#End If
+#If DBNull_ERRORS
+            M(dbnull \ ui, "dbnull \ ui")
+#End If
+#If DBNull_ERRORS
+            M(dbnull \ l, "dbnull \ l")
+#End If
+#If DBNull_ERRORS
+            M(dbnull \ ul, "dbnull \ ul")
+#End If
+#If DBNull_ERRORS
+            M(dbnull \ dec, "dbnull \ dec")
+#End If
+#If DBNull_ERRORS
+            M(dbnull \ sng, "dbnull \ sng")
+#End If
+#If DBNull_ERRORS
+            M(dbnull \ dbl, "dbnull \ dbl")
+#End If
+#If DBNull_ERRORS
+            M(dbnull \ chr, "dbnull \ chr")
+#End If
+#If DBNull_ERRORS
+            M(dbnull \ str, "dbnull \ str")
+#End If
+#If DBNull_ERRORS
+            M(dbnull \ dt, "dbnull \ dt")
+#End If
+#If DBNull_ERRORS
+            M(dbnull \ dbnull, "dbnull \ dbnull")
+#End If
+#If DBNull_ERRORS
+            M(dbnull \ obj, "dbnull \ obj")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj \ bool, "obj \ bool")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj \ b, "obj \ b")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj \ sb, "obj \ sb")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj \ s, "obj \ s")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj \ us, "obj \ us")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj \ i, "obj \ i")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj \ ui, "obj \ ui")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj \ l, "obj \ l")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj \ ul, "obj \ ul")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj \ dec, "obj \ dec")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj \ sng, "obj \ sng")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj \ dbl, "obj \ dbl")
+#End If
+#If Object_ERRORS
+            M(obj \ chr, "obj \ chr")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj \ str, "obj \ str")
+#End If
+#If Object_ERRORS
+            M(obj \ dt, "obj \ dt")
+#End If
+#If Object_ERRORS
+            M(obj \ dbnull, "obj \ dbnull")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj \ obj, "obj \ obj")
+#End If
+        If failures > 0 Then Return 1
+    Catch ex As Exception
+        Console.WriteLine ("Exception: {0}", ex)
+        Return 2
+    End Try
+    Return 0
+    End Function
+End Class
diff --git a/vbnc/vbnc/tests/CompileTime2/OperatorIntrinsicIs.vb b/vbnc/vbnc/tests/CompileTime2/OperatorIntrinsicIs.vb
new file mode 100644
index 0000000..82ed41e
--- /dev/null
+++ b/vbnc/vbnc/tests/CompileTime2/OperatorIntrinsicIs.vb
@@ -0,0 +1,875 @@
+Class BinaryOperatorIs
+    Inherits IntrinsicOperatorTests
+    Shared Function Main As Integer
+        Try
+#If Boolean_ERRORS
+            M(bool Is bool, "bool Is bool")
+#End If
+#If Boolean_ERRORS
+            M(bool Is b, "bool Is b")
+#End If
+#If Boolean_ERRORS
+            M(bool Is sb, "bool Is sb")
+#End If
+#If Boolean_ERRORS
+            M(bool Is s, "bool Is s")
+#End If
+#If Boolean_ERRORS
+            M(bool Is us, "bool Is us")
+#End If
+#If Boolean_ERRORS
+            M(bool Is i, "bool Is i")
+#End If
+#If Boolean_ERRORS
+            M(bool Is ui, "bool Is ui")
+#End If
+#If Boolean_ERRORS
+            M(bool Is l, "bool Is l")
+#End If
+#If Boolean_ERRORS
+            M(bool Is ul, "bool Is ul")
+#End If
+#If Boolean_ERRORS
+            M(bool Is dec, "bool Is dec")
+#End If
+#If Boolean_ERRORS
+            M(bool Is sng, "bool Is sng")
+#End If
+#If Boolean_ERRORS
+            M(bool Is dbl, "bool Is dbl")
+#End If
+#If Boolean_ERRORS
+            M(bool Is chr, "bool Is chr")
+#End If
+#If Boolean_ERRORS
+            M(bool Is str, "bool Is str")
+#End If
+#If Boolean_ERRORS
+            M(bool Is dt, "bool Is dt")
+#End If
+#If Boolean_ERRORS
+            M(bool Is dbnull, "bool Is dbnull")
+#End If
+#If Boolean_ERRORS
+            M(bool Is obj, "bool Is obj")
+#End If
+#If Byte_ERRORS
+            M(b Is bool, "b Is bool")
+#End If
+#If Byte_ERRORS
+            M(b Is b, "b Is b")
+#End If
+#If Byte_ERRORS
+            M(b Is sb, "b Is sb")
+#End If
+#If Byte_ERRORS
+            M(b Is s, "b Is s")
+#End If
+#If Byte_ERRORS
+            M(b Is us, "b Is us")
+#End If
+#If Byte_ERRORS
+            M(b Is i, "b Is i")
+#End If
+#If Byte_ERRORS
+            M(b Is ui, "b Is ui")
+#End If
+#If Byte_ERRORS
+            M(b Is l, "b Is l")
+#End If
+#If Byte_ERRORS
+            M(b Is ul, "b Is ul")
+#End If
+#If Byte_ERRORS
+            M(b Is dec, "b Is dec")
+#End If
+#If Byte_ERRORS
+            M(b Is sng, "b Is sng")
+#End If
+#If Byte_ERRORS
+            M(b Is dbl, "b Is dbl")
+#End If
+#If Byte_ERRORS
+            M(b Is chr, "b Is chr")
+#End If
+#If Byte_ERRORS
+            M(b Is str, "b Is str")
+#End If
+#If Byte_ERRORS
+            M(b Is dt, "b Is dt")
+#End If
+#If Byte_ERRORS
+            M(b Is dbnull, "b Is dbnull")
+#End If
+#If Byte_ERRORS
+            M(b Is obj, "b Is obj")
+#End If
+#If SByte_ERRORS
+            M(sb Is bool, "sb Is bool")
+#End If
+#If SByte_ERRORS
+            M(sb Is b, "sb Is b")
+#End If
+#If SByte_ERRORS
+            M(sb Is sb, "sb Is sb")
+#End If
+#If SByte_ERRORS
+            M(sb Is s, "sb Is s")
+#End If
+#If SByte_ERRORS
+            M(sb Is us, "sb Is us")
+#End If
+#If SByte_ERRORS
+            M(sb Is i, "sb Is i")
+#End If
+#If SByte_ERRORS
+            M(sb Is ui, "sb Is ui")
+#End If
+#If SByte_ERRORS
+            M(sb Is l, "sb Is l")
+#End If
+#If SByte_ERRORS
+            M(sb Is ul, "sb Is ul")
+#End If
+#If SByte_ERRORS
+            M(sb Is dec, "sb Is dec")
+#End If
+#If SByte_ERRORS
+            M(sb Is sng, "sb Is sng")
+#End If
+#If SByte_ERRORS
+            M(sb Is dbl, "sb Is dbl")
+#End If
+#If SByte_ERRORS
+            M(sb Is chr, "sb Is chr")
+#End If
+#If SByte_ERRORS
+            M(sb Is str, "sb Is str")
+#End If
+#If SByte_ERRORS
+            M(sb Is dt, "sb Is dt")
+#End If
+#If SByte_ERRORS
+            M(sb Is dbnull, "sb Is dbnull")
+#End If
+#If SByte_ERRORS
+            M(sb Is obj, "sb Is obj")
+#End If
+#If Int16_ERRORS
+            M(s Is bool, "s Is bool")
+#End If
+#If Int16_ERRORS
+            M(s Is b, "s Is b")
+#End If
+#If Int16_ERRORS
+            M(s Is sb, "s Is sb")
+#End If
+#If Int16_ERRORS
+            M(s Is s, "s Is s")
+#End If
+#If Int16_ERRORS
+            M(s Is us, "s Is us")
+#End If
+#If Int16_ERRORS
+            M(s Is i, "s Is i")
+#End If
+#If Int16_ERRORS
+            M(s Is ui, "s Is ui")
+#End If
+#If Int16_ERRORS
+            M(s Is l, "s Is l")
+#End If
+#If Int16_ERRORS
+            M(s Is ul, "s Is ul")
+#End If
+#If Int16_ERRORS
+            M(s Is dec, "s Is dec")
+#End If
+#If Int16_ERRORS
+            M(s Is sng, "s Is sng")
+#End If
+#If Int16_ERRORS
+            M(s Is dbl, "s Is dbl")
+#End If
+#If Int16_ERRORS
+            M(s Is chr, "s Is chr")
+#End If
+#If Int16_ERRORS
+            M(s Is str, "s Is str")
+#End If
+#If Int16_ERRORS
+            M(s Is dt, "s Is dt")
+#End If
+#If Int16_ERRORS
+            M(s Is dbnull, "s Is dbnull")
+#End If
+#If Int16_ERRORS
+            M(s Is obj, "s Is obj")
+#End If
+#If UInt16_ERRORS
+            M(us Is bool, "us Is bool")
+#End If
+#If UInt16_ERRORS
+            M(us Is b, "us Is b")
+#End If
+#If UInt16_ERRORS
+            M(us Is sb, "us Is sb")
+#End If
+#If UInt16_ERRORS
+            M(us Is s, "us Is s")
+#End If
+#If UInt16_ERRORS
+            M(us Is us, "us Is us")
+#End If
+#If UInt16_ERRORS
+            M(us Is i, "us Is i")
+#End If
+#If UInt16_ERRORS
+            M(us Is ui, "us Is ui")
+#End If
+#If UInt16_ERRORS
+            M(us Is l, "us Is l")
+#End If
+#If UInt16_ERRORS
+            M(us Is ul, "us Is ul")
+#End If
+#If UInt16_ERRORS
+            M(us Is dec, "us Is dec")
+#End If
+#If UInt16_ERRORS
+            M(us Is sng, "us Is sng")
+#End If
+#If UInt16_ERRORS
+            M(us Is dbl, "us Is dbl")
+#End If
+#If UInt16_ERRORS
+            M(us Is chr, "us Is chr")
+#End If
+#If UInt16_ERRORS
+            M(us Is str, "us Is str")
+#End If
+#If UInt16_ERRORS
+            M(us Is dt, "us Is dt")
+#End If
+#If UInt16_ERRORS
+            M(us Is dbnull, "us Is dbnull")
+#End If
+#If UInt16_ERRORS
+            M(us Is obj, "us Is obj")
+#End If
+#If Int32_ERRORS
+            M(i Is bool, "i Is bool")
+#End If
+#If Int32_ERRORS
+            M(i Is b, "i Is b")
+#End If
+#If Int32_ERRORS
+            M(i Is sb, "i Is sb")
+#End If
+#If Int32_ERRORS
+            M(i Is s, "i Is s")
+#End If
+#If Int32_ERRORS
+            M(i Is us, "i Is us")
+#End If
+#If Int32_ERRORS
+            M(i Is i, "i Is i")
+#End If
+#If Int32_ERRORS
+            M(i Is ui, "i Is ui")
+#End If
+#If Int32_ERRORS
+            M(i Is l, "i Is l")
+#End If
+#If Int32_ERRORS
+            M(i Is ul, "i Is ul")
+#End If
+#If Int32_ERRORS
+            M(i Is dec, "i Is dec")
+#End If
+#If Int32_ERRORS
+            M(i Is sng, "i Is sng")
+#End If
+#If Int32_ERRORS
+            M(i Is dbl, "i Is dbl")
+#End If
+#If Int32_ERRORS
+            M(i Is chr, "i Is chr")
+#End If
+#If Int32_ERRORS
+            M(i Is str, "i Is str")
+#End If
+#If Int32_ERRORS
+            M(i Is dt, "i Is dt")
+#End If
+#If Int32_ERRORS
+            M(i Is dbnull, "i Is dbnull")
+#End If
+#If Int32_ERRORS
+            M(i Is obj, "i Is obj")
+#End If
+#If UInt32_ERRORS
+            M(ui Is bool, "ui Is bool")
+#End If
+#If UInt32_ERRORS
+            M(ui Is b, "ui Is b")
+#End If
+#If UInt32_ERRORS
+            M(ui Is sb, "ui Is sb")
+#End If
+#If UInt32_ERRORS
+            M(ui Is s, "ui Is s")
+#End If
+#If UInt32_ERRORS
+            M(ui Is us, "ui Is us")
+#End If
+#If UInt32_ERRORS
+            M(ui Is i, "ui Is i")
+#End If
+#If UInt32_ERRORS
+            M(ui Is ui, "ui Is ui")
+#End If
+#If UInt32_ERRORS
+            M(ui Is l, "ui Is l")
+#End If
+#If UInt32_ERRORS
+            M(ui Is ul, "ui Is ul")
+#End If
+#If UInt32_ERRORS
+            M(ui Is dec, "ui Is dec")
+#End If
+#If UInt32_ERRORS
+            M(ui Is sng, "ui Is sng")
+#End If
+#If UInt32_ERRORS
+            M(ui Is dbl, "ui Is dbl")
+#End If
+#If UInt32_ERRORS
+            M(ui Is chr, "ui Is chr")
+#End If
+#If UInt32_ERRORS
+            M(ui Is str, "ui Is str")
+#End If
+#If UInt32_ERRORS
+            M(ui Is dt, "ui Is dt")
+#End If
+#If UInt32_ERRORS
+            M(ui Is dbnull, "ui Is dbnull")
+#End If
+#If UInt32_ERRORS
+            M(ui Is obj, "ui Is obj")
+#End If
+#If Int64_ERRORS
+            M(l Is bool, "l Is bool")
+#End If
+#If Int64_ERRORS
+            M(l Is b, "l Is b")
+#End If
+#If Int64_ERRORS
+            M(l Is sb, "l Is sb")
+#End If
+#If Int64_ERRORS
+            M(l Is s, "l Is s")
+#End If
+#If Int64_ERRORS
+            M(l Is us, "l Is us")
+#End If
+#If Int64_ERRORS
+            M(l Is i, "l Is i")
+#End If
+#If Int64_ERRORS
+            M(l Is ui, "l Is ui")
+#End If
+#If Int64_ERRORS
+            M(l Is l, "l Is l")
+#End If
+#If Int64_ERRORS
+            M(l Is ul, "l Is ul")
+#End If
+#If Int64_ERRORS
+            M(l Is dec, "l Is dec")
+#End If
+#If Int64_ERRORS
+            M(l Is sng, "l Is sng")
+#End If
+#If Int64_ERRORS
+            M(l Is dbl, "l Is dbl")
+#End If
+#If Int64_ERRORS
+            M(l Is chr, "l Is chr")
+#End If
+#If Int64_ERRORS
+            M(l Is str, "l Is str")
+#End If
+#If Int64_ERRORS
+            M(l Is dt, "l Is dt")
+#End If
+#If Int64_ERRORS
+            M(l Is dbnull, "l Is dbnull")
+#End If
+#If Int64_ERRORS
+            M(l Is obj, "l Is obj")
+#End If
+#If UInt64_ERRORS
+            M(ul Is bool, "ul Is bool")
+#End If
+#If UInt64_ERRORS
+            M(ul Is b, "ul Is b")
+#End If
+#If UInt64_ERRORS
+            M(ul Is sb, "ul Is sb")
+#End If
+#If UInt64_ERRORS
+            M(ul Is s, "ul Is s")
+#End If
+#If UInt64_ERRORS
+            M(ul Is us, "ul Is us")
+#End If
+#If UInt64_ERRORS
+            M(ul Is i, "ul Is i")
+#End If
+#If UInt64_ERRORS
+            M(ul Is ui, "ul Is ui")
+#End If
+#If UInt64_ERRORS
+            M(ul Is l, "ul Is l")
+#End If
+#If UInt64_ERRORS
+            M(ul Is ul, "ul Is ul")
+#End If
+#If UInt64_ERRORS
+            M(ul Is dec, "ul Is dec")
+#End If
+#If UInt64_ERRORS
+            M(ul Is sng, "ul Is sng")
+#End If
+#If UInt64_ERRORS
+            M(ul Is dbl, "ul Is dbl")
+#End If
+#If UInt64_ERRORS
+            M(ul Is chr, "ul Is chr")
+#End If
+#If UInt64_ERRORS
+            M(ul Is str, "ul Is str")
+#End If
+#If UInt64_ERRORS
+            M(ul Is dt, "ul Is dt")
+#End If
+#If UInt64_ERRORS
+            M(ul Is dbnull, "ul Is dbnull")
+#End If
+#If UInt64_ERRORS
+            M(ul Is obj, "ul Is obj")
+#End If
+#If Decimal_ERRORS
+            M(dec Is bool, "dec Is bool")
+#End If
+#If Decimal_ERRORS
+            M(dec Is b, "dec Is b")
+#End If
+#If Decimal_ERRORS
+            M(dec Is sb, "dec Is sb")
+#End If
+#If Decimal_ERRORS
+            M(dec Is s, "dec Is s")
+#End If
+#If Decimal_ERRORS
+            M(dec Is us, "dec Is us")
+#End If
+#If Decimal_ERRORS
+            M(dec Is i, "dec Is i")
+#End If
+#If Decimal_ERRORS
+            M(dec Is ui, "dec Is ui")
+#End If
+#If Decimal_ERRORS
+            M(dec Is l, "dec Is l")
+#End If
+#If Decimal_ERRORS
+            M(dec Is ul, "dec Is ul")
+#End If
+#If Decimal_ERRORS
+            M(dec Is dec, "dec Is dec")
+#End If
+#If Decimal_ERRORS
+            M(dec Is sng, "dec Is sng")
+#End If
+#If Decimal_ERRORS
+            M(dec Is dbl, "dec Is dbl")
+#End If
+#If Decimal_ERRORS
+            M(dec Is chr, "dec Is chr")
+#End If
+#If Decimal_ERRORS
+            M(dec Is str, "dec Is str")
+#End If
+#If Decimal_ERRORS
+            M(dec Is dt, "dec Is dt")
+#End If
+#If Decimal_ERRORS
+            M(dec Is dbnull, "dec Is dbnull")
+#End If
+#If Decimal_ERRORS
+            M(dec Is obj, "dec Is obj")
+#End If
+#If Single_ERRORS
+            M(sng Is bool, "sng Is bool")
+#End If
+#If Single_ERRORS
+            M(sng Is b, "sng Is b")
+#End If
+#If Single_ERRORS
+            M(sng Is sb, "sng Is sb")
+#End If
+#If Single_ERRORS
+            M(sng Is s, "sng Is s")
+#End If
+#If Single_ERRORS
+            M(sng Is us, "sng Is us")
+#End If
+#If Single_ERRORS
+            M(sng Is i, "sng Is i")
+#End If
+#If Single_ERRORS
+            M(sng Is ui, "sng Is ui")
+#End If
+#If Single_ERRORS
+            M(sng Is l, "sng Is l")
+#End If
+#If Single_ERRORS
+            M(sng Is ul, "sng Is ul")
+#End If
+#If Single_ERRORS
+            M(sng Is dec, "sng Is dec")
+#End If
+#If Single_ERRORS
+            M(sng Is sng, "sng Is sng")
+#End If
+#If Single_ERRORS
+            M(sng Is dbl, "sng Is dbl")
+#End If
+#If Single_ERRORS
+            M(sng Is chr, "sng Is chr")
+#End If
+#If Single_ERRORS
+            M(sng Is str, "sng Is str")
+#End If
+#If Single_ERRORS
+            M(sng Is dt, "sng Is dt")
+#End If
+#If Single_ERRORS
+            M(sng Is dbnull, "sng Is dbnull")
+#End If
+#If Single_ERRORS
+            M(sng Is obj, "sng Is obj")
+#End If
+#If Double_ERRORS
+            M(dbl Is bool, "dbl Is bool")
+#End If
+#If Double_ERRORS
+            M(dbl Is b, "dbl Is b")
+#End If
+#If Double_ERRORS
+            M(dbl Is sb, "dbl Is sb")
+#End If
+#If Double_ERRORS
+            M(dbl Is s, "dbl Is s")
+#End If
+#If Double_ERRORS
+            M(dbl Is us, "dbl Is us")
+#End If
+#If Double_ERRORS
+            M(dbl Is i, "dbl Is i")
+#End If
+#If Double_ERRORS
+            M(dbl Is ui, "dbl Is ui")
+#End If
+#If Double_ERRORS
+            M(dbl Is l, "dbl Is l")
+#End If
+#If Double_ERRORS
+            M(dbl Is ul, "dbl Is ul")
+#End If
+#If Double_ERRORS
+            M(dbl Is dec, "dbl Is dec")
+#End If
+#If Double_ERRORS
+            M(dbl Is sng, "dbl Is sng")
+#End If
+#If Double_ERRORS
+            M(dbl Is dbl, "dbl Is dbl")
+#End If
+#If Double_ERRORS
+            M(dbl Is chr, "dbl Is chr")
+#End If
+#If Double_ERRORS
+            M(dbl Is str, "dbl Is str")
+#End If
+#If Double_ERRORS
+            M(dbl Is dt, "dbl Is dt")
+#End If
+#If Double_ERRORS
+            M(dbl Is dbnull, "dbl Is dbnull")
+#End If
+#If Double_ERRORS
+            M(dbl Is obj, "dbl Is obj")
+#End If
+#If Char_ERRORS
+            M(chr Is bool, "chr Is bool")
+#End If
+#If Char_ERRORS
+            M(chr Is b, "chr Is b")
+#End If
+#If Char_ERRORS
+            M(chr Is sb, "chr Is sb")
+#End If
+#If Char_ERRORS
+            M(chr Is s, "chr Is s")
+#End If
+#If Char_ERRORS
+            M(chr Is us, "chr Is us")
+#End If
+#If Char_ERRORS
+            M(chr Is i, "chr Is i")
+#End If
+#If Char_ERRORS
+            M(chr Is ui, "chr Is ui")
+#End If
+#If Char_ERRORS
+            M(chr Is l, "chr Is l")
+#End If
+#If Char_ERRORS
+            M(chr Is ul, "chr Is ul")
+#End If
+#If Char_ERRORS
+            M(chr Is dec, "chr Is dec")
+#End If
+#If Char_ERRORS
+            M(chr Is sng, "chr Is sng")
+#End If
+#If Char_ERRORS
+            M(chr Is dbl, "chr Is dbl")
+#End If
+#If Char_ERRORS
+            M(chr Is chr, "chr Is chr")
+#End If
+#If Char_ERRORS
+            M(chr Is str, "chr Is str")
+#End If
+#If Char_ERRORS
+            M(chr Is dt, "chr Is dt")
+#End If
+#If Char_ERRORS
+            M(chr Is dbnull, "chr Is dbnull")
+#End If
+#If Char_ERRORS
+            M(chr Is obj, "chr Is obj")
+#End If
+#If String_ERRORS
+            M(str Is bool, "str Is bool")
+#End If
+#If String_ERRORS
+            M(str Is b, "str Is b")
+#End If
+#If String_ERRORS
+            M(str Is sb, "str Is sb")
+#End If
+#If String_ERRORS
+            M(str Is s, "str Is s")
+#End If
+#If String_ERRORS
+            M(str Is us, "str Is us")
+#End If
+#If String_ERRORS
+            M(str Is i, "str Is i")
+#End If
+#If String_ERRORS
+            M(str Is ui, "str Is ui")
+#End If
+#If String_ERRORS
+            M(str Is l, "str Is l")
+#End If
+#If String_ERRORS
+            M(str Is ul, "str Is ul")
+#End If
+#If String_ERRORS
+            M(str Is dec, "str Is dec")
+#End If
+#If String_ERRORS
+            M(str Is sng, "str Is sng")
+#End If
+#If String_ERRORS
+            M(str Is dbl, "str Is dbl")
+#End If
+#If String_ERRORS
+            M(str Is chr, "str Is chr")
+#End If
+            expected_tc = TypeCode.Boolean
+            M(str Is str, "str Is str")
+#If String_ERRORS
+            M(str Is dt, "str Is dt")
+#End If
+#If String_ERRORS
+            M(str Is dbnull, "str Is dbnull")
+#End If
+            expected_tc = TypeCode.Boolean
+            M(str Is obj, "str Is obj")
+#If DateTime_ERRORS
+            M(dt Is bool, "dt Is bool")
+#End If
+#If DateTime_ERRORS
+            M(dt Is b, "dt Is b")
+#End If
+#If DateTime_ERRORS
+            M(dt Is sb, "dt Is sb")
+#End If
+#If DateTime_ERRORS
+            M(dt Is s, "dt Is s")
+#End If
+#If DateTime_ERRORS
+            M(dt Is us, "dt Is us")
+#End If
+#If DateTime_ERRORS
+            M(dt Is i, "dt Is i")
+#End If
+#If DateTime_ERRORS
+            M(dt Is ui, "dt Is ui")
+#End If
+#If DateTime_ERRORS
+            M(dt Is l, "dt Is l")
+#End If
+#If DateTime_ERRORS
+            M(dt Is ul, "dt Is ul")
+#End If
+#If DateTime_ERRORS
+            M(dt Is dec, "dt Is dec")
+#End If
+#If DateTime_ERRORS
+            M(dt Is sng, "dt Is sng")
+#End If
+#If DateTime_ERRORS
+            M(dt Is dbl, "dt Is dbl")
+#End If
+#If DateTime_ERRORS
+            M(dt Is chr, "dt Is chr")
+#End If
+#If DateTime_ERRORS
+            M(dt Is str, "dt Is str")
+#End If
+#If DateTime_ERRORS
+            M(dt Is dt, "dt Is dt")
+#End If
+#If DateTime_ERRORS
+            M(dt Is dbnull, "dt Is dbnull")
+#End If
+#If DateTime_ERRORS
+            M(dt Is obj, "dt Is obj")
+#End If
+#If DBNull_ERRORS
+            M(dbnull Is bool, "dbnull Is bool")
+#End If
+#If DBNull_ERRORS
+            M(dbnull Is b, "dbnull Is b")
+#End If
+#If DBNull_ERRORS
+            M(dbnull Is sb, "dbnull Is sb")
+#End If
+#If DBNull_ERRORS
+            M(dbnull Is s, "dbnull Is s")
+#End If
+#If DBNull_ERRORS
+            M(dbnull Is us, "dbnull Is us")
+#End If
+#If DBNull_ERRORS
+            M(dbnull Is i, "dbnull Is i")
+#End If
+#If DBNull_ERRORS
+            M(dbnull Is ui, "dbnull Is ui")
+#End If
+#If DBNull_ERRORS
+            M(dbnull Is l, "dbnull Is l")
+#End If
+#If DBNull_ERRORS
+            M(dbnull Is ul, "dbnull Is ul")
+#End If
+#If DBNull_ERRORS
+            M(dbnull Is dec, "dbnull Is dec")
+#End If
+#If DBNull_ERRORS
+            M(dbnull Is sng, "dbnull Is sng")
+#End If
+#If DBNull_ERRORS
+            M(dbnull Is dbl, "dbnull Is dbl")
+#End If
+#If DBNull_ERRORS
+            M(dbnull Is chr, "dbnull Is chr")
+#End If
+#If DBNull_ERRORS
+            M(dbnull Is str, "dbnull Is str")
+#End If
+#If DBNull_ERRORS
+            M(dbnull Is dt, "dbnull Is dt")
+#End If
+#If DBNull_ERRORS
+            M(dbnull Is dbnull, "dbnull Is dbnull")
+#End If
+#If DBNull_ERRORS
+            M(dbnull Is obj, "dbnull Is obj")
+#End If
+#If Object_ERRORS
+            M(obj Is bool, "obj Is bool")
+#End If
+#If Object_ERRORS
+            M(obj Is b, "obj Is b")
+#End If
+#If Object_ERRORS
+            M(obj Is sb, "obj Is sb")
+#End If
+#If Object_ERRORS
+            M(obj Is s, "obj Is s")
+#End If
+#If Object_ERRORS
+            M(obj Is us, "obj Is us")
+#End If
+#If Object_ERRORS
+            M(obj Is i, "obj Is i")
+#End If
+#If Object_ERRORS
+            M(obj Is ui, "obj Is ui")
+#End If
+#If Object_ERRORS
+            M(obj Is l, "obj Is l")
+#End If
+#If Object_ERRORS
+            M(obj Is ul, "obj Is ul")
+#End If
+#If Object_ERRORS
+            M(obj Is dec, "obj Is dec")
+#End If
+#If Object_ERRORS
+            M(obj Is sng, "obj Is sng")
+#End If
+#If Object_ERRORS
+            M(obj Is dbl, "obj Is dbl")
+#End If
+#If Object_ERRORS
+            M(obj Is chr, "obj Is chr")
+#End If
+            expected_tc = TypeCode.Boolean
+            M(obj Is str, "obj Is str")
+#If Object_ERRORS
+            M(obj Is dt, "obj Is dt")
+#End If
+#If Object_ERRORS
+            M(obj Is dbnull, "obj Is dbnull")
+#End If
+            expected_tc = TypeCode.Boolean
+            M(obj Is obj, "obj Is obj")
+        If failures > 0 Then Return 1
+    Catch ex As Exception
+        Console.WriteLine ("Exception: {0}", ex)
+        Return 2
+    End Try
+    Return 0
+    End Function
+End Class
diff --git a/vbnc/vbnc/tests/CompileTime2/OperatorIntrinsicIsNot.vb b/vbnc/vbnc/tests/CompileTime2/OperatorIntrinsicIsNot.vb
new file mode 100644
index 0000000..25c3464
--- /dev/null
+++ b/vbnc/vbnc/tests/CompileTime2/OperatorIntrinsicIsNot.vb
@@ -0,0 +1,875 @@
+Class BinaryOperatorIsNot
+    Inherits IntrinsicOperatorTests
+    Shared Function Main As Integer
+        Try
+#If Boolean_ERRORS
+            M(bool IsNot bool, "bool IsNot bool")
+#End If
+#If Boolean_ERRORS
+            M(bool IsNot b, "bool IsNot b")
+#End If
+#If Boolean_ERRORS
+            M(bool IsNot sb, "bool IsNot sb")
+#End If
+#If Boolean_ERRORS
+            M(bool IsNot s, "bool IsNot s")
+#End If
+#If Boolean_ERRORS
+            M(bool IsNot us, "bool IsNot us")
+#End If
+#If Boolean_ERRORS
+            M(bool IsNot i, "bool IsNot i")
+#End If
+#If Boolean_ERRORS
+            M(bool IsNot ui, "bool IsNot ui")
+#End If
+#If Boolean_ERRORS
+            M(bool IsNot l, "bool IsNot l")
+#End If
+#If Boolean_ERRORS
+            M(bool IsNot ul, "bool IsNot ul")
+#End If
+#If Boolean_ERRORS
+            M(bool IsNot dec, "bool IsNot dec")
+#End If
+#If Boolean_ERRORS
+            M(bool IsNot sng, "bool IsNot sng")
+#End If
+#If Boolean_ERRORS
+            M(bool IsNot dbl, "bool IsNot dbl")
+#End If
+#If Boolean_ERRORS
+            M(bool IsNot chr, "bool IsNot chr")
+#End If
+#If Boolean_ERRORS
+            M(bool IsNot str, "bool IsNot str")
+#End If
+#If Boolean_ERRORS
+            M(bool IsNot dt, "bool IsNot dt")
+#End If
+#If Boolean_ERRORS
+            M(bool IsNot dbnull, "bool IsNot dbnull")
+#End If
+#If Boolean_ERRORS
+            M(bool IsNot obj, "bool IsNot obj")
+#End If
+#If Byte_ERRORS
+            M(b IsNot bool, "b IsNot bool")
+#End If
+#If Byte_ERRORS
+            M(b IsNot b, "b IsNot b")
+#End If
+#If Byte_ERRORS
+            M(b IsNot sb, "b IsNot sb")
+#End If
+#If Byte_ERRORS
+            M(b IsNot s, "b IsNot s")
+#End If
+#If Byte_ERRORS
+            M(b IsNot us, "b IsNot us")
+#End If
+#If Byte_ERRORS
+            M(b IsNot i, "b IsNot i")
+#End If
+#If Byte_ERRORS
+            M(b IsNot ui, "b IsNot ui")
+#End If
+#If Byte_ERRORS
+            M(b IsNot l, "b IsNot l")
+#End If
+#If Byte_ERRORS
+            M(b IsNot ul, "b IsNot ul")
+#End If
+#If Byte_ERRORS
+            M(b IsNot dec, "b IsNot dec")
+#End If
+#If Byte_ERRORS
+            M(b IsNot sng, "b IsNot sng")
+#End If
+#If Byte_ERRORS
+            M(b IsNot dbl, "b IsNot dbl")
+#End If
+#If Byte_ERRORS
+            M(b IsNot chr, "b IsNot chr")
+#End If
+#If Byte_ERRORS
+            M(b IsNot str, "b IsNot str")
+#End If
+#If Byte_ERRORS
+            M(b IsNot dt, "b IsNot dt")
+#End If
+#If Byte_ERRORS
+            M(b IsNot dbnull, "b IsNot dbnull")
+#End If
+#If Byte_ERRORS
+            M(b IsNot obj, "b IsNot obj")
+#End If
+#If SByte_ERRORS
+            M(sb IsNot bool, "sb IsNot bool")
+#End If
+#If SByte_ERRORS
+            M(sb IsNot b, "sb IsNot b")
+#End If
+#If SByte_ERRORS
+            M(sb IsNot sb, "sb IsNot sb")
+#End If
+#If SByte_ERRORS
+            M(sb IsNot s, "sb IsNot s")
+#End If
+#If SByte_ERRORS
+            M(sb IsNot us, "sb IsNot us")
+#End If
+#If SByte_ERRORS
+            M(sb IsNot i, "sb IsNot i")
+#End If
+#If SByte_ERRORS
+            M(sb IsNot ui, "sb IsNot ui")
+#End If
+#If SByte_ERRORS
+            M(sb IsNot l, "sb IsNot l")
+#End If
+#If SByte_ERRORS
+            M(sb IsNot ul, "sb IsNot ul")
+#End If
+#If SByte_ERRORS
+            M(sb IsNot dec, "sb IsNot dec")
+#End If
+#If SByte_ERRORS
+            M(sb IsNot sng, "sb IsNot sng")
+#End If
+#If SByte_ERRORS
+            M(sb IsNot dbl, "sb IsNot dbl")
+#End If
+#If SByte_ERRORS
+            M(sb IsNot chr, "sb IsNot chr")
+#End If
+#If SByte_ERRORS
+            M(sb IsNot str, "sb IsNot str")
+#End If
+#If SByte_ERRORS
+            M(sb IsNot dt, "sb IsNot dt")
+#End If
+#If SByte_ERRORS
+            M(sb IsNot dbnull, "sb IsNot dbnull")
+#End If
+#If SByte_ERRORS
+            M(sb IsNot obj, "sb IsNot obj")
+#End If
+#If Int16_ERRORS
+            M(s IsNot bool, "s IsNot bool")
+#End If
+#If Int16_ERRORS
+            M(s IsNot b, "s IsNot b")
+#End If
+#If Int16_ERRORS
+            M(s IsNot sb, "s IsNot sb")
+#End If
+#If Int16_ERRORS
+            M(s IsNot s, "s IsNot s")
+#End If
+#If Int16_ERRORS
+            M(s IsNot us, "s IsNot us")
+#End If
+#If Int16_ERRORS
+            M(s IsNot i, "s IsNot i")
+#End If
+#If Int16_ERRORS
+            M(s IsNot ui, "s IsNot ui")
+#End If
+#If Int16_ERRORS
+            M(s IsNot l, "s IsNot l")
+#End If
+#If Int16_ERRORS
+            M(s IsNot ul, "s IsNot ul")
+#End If
+#If Int16_ERRORS
+            M(s IsNot dec, "s IsNot dec")
+#End If
+#If Int16_ERRORS
+            M(s IsNot sng, "s IsNot sng")
+#End If
+#If Int16_ERRORS
+            M(s IsNot dbl, "s IsNot dbl")
+#End If
+#If Int16_ERRORS
+            M(s IsNot chr, "s IsNot chr")
+#End If
+#If Int16_ERRORS
+            M(s IsNot str, "s IsNot str")
+#End If
+#If Int16_ERRORS
+            M(s IsNot dt, "s IsNot dt")
+#End If
+#If Int16_ERRORS
+            M(s IsNot dbnull, "s IsNot dbnull")
+#End If
+#If Int16_ERRORS
+            M(s IsNot obj, "s IsNot obj")
+#End If
+#If UInt16_ERRORS
+            M(us IsNot bool, "us IsNot bool")
+#End If
+#If UInt16_ERRORS
+            M(us IsNot b, "us IsNot b")
+#End If
+#If UInt16_ERRORS
+            M(us IsNot sb, "us IsNot sb")
+#End If
+#If UInt16_ERRORS
+            M(us IsNot s, "us IsNot s")
+#End If
+#If UInt16_ERRORS
+            M(us IsNot us, "us IsNot us")
+#End If
+#If UInt16_ERRORS
+            M(us IsNot i, "us IsNot i")
+#End If
+#If UInt16_ERRORS
+            M(us IsNot ui, "us IsNot ui")
+#End If
+#If UInt16_ERRORS
+            M(us IsNot l, "us IsNot l")
+#End If
+#If UInt16_ERRORS
+            M(us IsNot ul, "us IsNot ul")
+#End If
+#If UInt16_ERRORS
+            M(us IsNot dec, "us IsNot dec")
+#End If
+#If UInt16_ERRORS
+            M(us IsNot sng, "us IsNot sng")
+#End If
+#If UInt16_ERRORS
+            M(us IsNot dbl, "us IsNot dbl")
+#End If
+#If UInt16_ERRORS
+            M(us IsNot chr, "us IsNot chr")
+#End If
+#If UInt16_ERRORS
+            M(us IsNot str, "us IsNot str")
+#End If
+#If UInt16_ERRORS
+            M(us IsNot dt, "us IsNot dt")
+#End If
+#If UInt16_ERRORS
+            M(us IsNot dbnull, "us IsNot dbnull")
+#End If
+#If UInt16_ERRORS
+            M(us IsNot obj, "us IsNot obj")
+#End If
+#If Int32_ERRORS
+            M(i IsNot bool, "i IsNot bool")
+#End If
+#If Int32_ERRORS
+            M(i IsNot b, "i IsNot b")
+#End If
+#If Int32_ERRORS
+            M(i IsNot sb, "i IsNot sb")
+#End If
+#If Int32_ERRORS
+            M(i IsNot s, "i IsNot s")
+#End If
+#If Int32_ERRORS
+            M(i IsNot us, "i IsNot us")
+#End If
+#If Int32_ERRORS
+            M(i IsNot i, "i IsNot i")
+#End If
+#If Int32_ERRORS
+            M(i IsNot ui, "i IsNot ui")
+#End If
+#If Int32_ERRORS
+            M(i IsNot l, "i IsNot l")
+#End If
+#If Int32_ERRORS
+            M(i IsNot ul, "i IsNot ul")
+#End If
+#If Int32_ERRORS
+            M(i IsNot dec, "i IsNot dec")
+#End If
+#If Int32_ERRORS
+            M(i IsNot sng, "i IsNot sng")
+#End If
+#If Int32_ERRORS
+            M(i IsNot dbl, "i IsNot dbl")
+#End If
+#If Int32_ERRORS
+            M(i IsNot chr, "i IsNot chr")
+#End If
+#If Int32_ERRORS
+            M(i IsNot str, "i IsNot str")
+#End If
+#If Int32_ERRORS
+            M(i IsNot dt, "i IsNot dt")
+#End If
+#If Int32_ERRORS
+            M(i IsNot dbnull, "i IsNot dbnull")
+#End If
+#If Int32_ERRORS
+            M(i IsNot obj, "i IsNot obj")
+#End If
+#If UInt32_ERRORS
+            M(ui IsNot bool, "ui IsNot bool")
+#End If
+#If UInt32_ERRORS
+            M(ui IsNot b, "ui IsNot b")
+#End If
+#If UInt32_ERRORS
+            M(ui IsNot sb, "ui IsNot sb")
+#End If
+#If UInt32_ERRORS
+            M(ui IsNot s, "ui IsNot s")
+#End If
+#If UInt32_ERRORS
+            M(ui IsNot us, "ui IsNot us")
+#End If
+#If UInt32_ERRORS
+            M(ui IsNot i, "ui IsNot i")
+#End If
+#If UInt32_ERRORS
+            M(ui IsNot ui, "ui IsNot ui")
+#End If
+#If UInt32_ERRORS
+            M(ui IsNot l, "ui IsNot l")
+#End If
+#If UInt32_ERRORS
+            M(ui IsNot ul, "ui IsNot ul")
+#End If
+#If UInt32_ERRORS
+            M(ui IsNot dec, "ui IsNot dec")
+#End If
+#If UInt32_ERRORS
+            M(ui IsNot sng, "ui IsNot sng")
+#End If
+#If UInt32_ERRORS
+            M(ui IsNot dbl, "ui IsNot dbl")
+#End If
+#If UInt32_ERRORS
+            M(ui IsNot chr, "ui IsNot chr")
+#End If
+#If UInt32_ERRORS
+            M(ui IsNot str, "ui IsNot str")
+#End If
+#If UInt32_ERRORS
+            M(ui IsNot dt, "ui IsNot dt")
+#End If
+#If UInt32_ERRORS
+            M(ui IsNot dbnull, "ui IsNot dbnull")
+#End If
+#If UInt32_ERRORS
+            M(ui IsNot obj, "ui IsNot obj")
+#End If
+#If Int64_ERRORS
+            M(l IsNot bool, "l IsNot bool")
+#End If
+#If Int64_ERRORS
+            M(l IsNot b, "l IsNot b")
+#End If
+#If Int64_ERRORS
+            M(l IsNot sb, "l IsNot sb")
+#End If
+#If Int64_ERRORS
+            M(l IsNot s, "l IsNot s")
+#End If
+#If Int64_ERRORS
+            M(l IsNot us, "l IsNot us")
+#End If
+#If Int64_ERRORS
+            M(l IsNot i, "l IsNot i")
+#End If
+#If Int64_ERRORS
+            M(l IsNot ui, "l IsNot ui")
+#End If
+#If Int64_ERRORS
+            M(l IsNot l, "l IsNot l")
+#End If
+#If Int64_ERRORS
+            M(l IsNot ul, "l IsNot ul")
+#End If
+#If Int64_ERRORS
+            M(l IsNot dec, "l IsNot dec")
+#End If
+#If Int64_ERRORS
+            M(l IsNot sng, "l IsNot sng")
+#End If
+#If Int64_ERRORS
+            M(l IsNot dbl, "l IsNot dbl")
+#End If
+#If Int64_ERRORS
+            M(l IsNot chr, "l IsNot chr")
+#End If
+#If Int64_ERRORS
+            M(l IsNot str, "l IsNot str")
+#End If
+#If Int64_ERRORS
+            M(l IsNot dt, "l IsNot dt")
+#End If
+#If Int64_ERRORS
+            M(l IsNot dbnull, "l IsNot dbnull")
+#End If
+#If Int64_ERRORS
+            M(l IsNot obj, "l IsNot obj")
+#End If
+#If UInt64_ERRORS
+            M(ul IsNot bool, "ul IsNot bool")
+#End If
+#If UInt64_ERRORS
+            M(ul IsNot b, "ul IsNot b")
+#End If
+#If UInt64_ERRORS
+            M(ul IsNot sb, "ul IsNot sb")
+#End If
+#If UInt64_ERRORS
+            M(ul IsNot s, "ul IsNot s")
+#End If
+#If UInt64_ERRORS
+            M(ul IsNot us, "ul IsNot us")
+#End If
+#If UInt64_ERRORS
+            M(ul IsNot i, "ul IsNot i")
+#End If
+#If UInt64_ERRORS
+            M(ul IsNot ui, "ul IsNot ui")
+#End If
+#If UInt64_ERRORS
+            M(ul IsNot l, "ul IsNot l")
+#End If
+#If UInt64_ERRORS
+            M(ul IsNot ul, "ul IsNot ul")
+#End If
+#If UInt64_ERRORS
+            M(ul IsNot dec, "ul IsNot dec")
+#End If
+#If UInt64_ERRORS
+            M(ul IsNot sng, "ul IsNot sng")
+#End If
+#If UInt64_ERRORS
+            M(ul IsNot dbl, "ul IsNot dbl")
+#End If
+#If UInt64_ERRORS
+            M(ul IsNot chr, "ul IsNot chr")
+#End If
+#If UInt64_ERRORS
+            M(ul IsNot str, "ul IsNot str")
+#End If
+#If UInt64_ERRORS
+            M(ul IsNot dt, "ul IsNot dt")
+#End If
+#If UInt64_ERRORS
+            M(ul IsNot dbnull, "ul IsNot dbnull")
+#End If
+#If UInt64_ERRORS
+            M(ul IsNot obj, "ul IsNot obj")
+#End If
+#If Decimal_ERRORS
+            M(dec IsNot bool, "dec IsNot bool")
+#End If
+#If Decimal_ERRORS
+            M(dec IsNot b, "dec IsNot b")
+#End If
+#If Decimal_ERRORS
+            M(dec IsNot sb, "dec IsNot sb")
+#End If
+#If Decimal_ERRORS
+            M(dec IsNot s, "dec IsNot s")
+#End If
+#If Decimal_ERRORS
+            M(dec IsNot us, "dec IsNot us")
+#End If
+#If Decimal_ERRORS
+            M(dec IsNot i, "dec IsNot i")
+#End If
+#If Decimal_ERRORS
+            M(dec IsNot ui, "dec IsNot ui")
+#End If
+#If Decimal_ERRORS
+            M(dec IsNot l, "dec IsNot l")
+#End If
+#If Decimal_ERRORS
+            M(dec IsNot ul, "dec IsNot ul")
+#End If
+#If Decimal_ERRORS
+            M(dec IsNot dec, "dec IsNot dec")
+#End If
+#If Decimal_ERRORS
+            M(dec IsNot sng, "dec IsNot sng")
+#End If
+#If Decimal_ERRORS
+            M(dec IsNot dbl, "dec IsNot dbl")
+#End If
+#If Decimal_ERRORS
+            M(dec IsNot chr, "dec IsNot chr")
+#End If
+#If Decimal_ERRORS
+            M(dec IsNot str, "dec IsNot str")
+#End If
+#If Decimal_ERRORS
+            M(dec IsNot dt, "dec IsNot dt")
+#End If
+#If Decimal_ERRORS
+            M(dec IsNot dbnull, "dec IsNot dbnull")
+#End If
+#If Decimal_ERRORS
+            M(dec IsNot obj, "dec IsNot obj")
+#End If
+#If Single_ERRORS
+            M(sng IsNot bool, "sng IsNot bool")
+#End If
+#If Single_ERRORS
+            M(sng IsNot b, "sng IsNot b")
+#End If
+#If Single_ERRORS
+            M(sng IsNot sb, "sng IsNot sb")
+#End If
+#If Single_ERRORS
+            M(sng IsNot s, "sng IsNot s")
+#End If
+#If Single_ERRORS
+            M(sng IsNot us, "sng IsNot us")
+#End If
+#If Single_ERRORS
+            M(sng IsNot i, "sng IsNot i")
+#End If
+#If Single_ERRORS
+            M(sng IsNot ui, "sng IsNot ui")
+#End If
+#If Single_ERRORS
+            M(sng IsNot l, "sng IsNot l")
+#End If
+#If Single_ERRORS
+            M(sng IsNot ul, "sng IsNot ul")
+#End If
+#If Single_ERRORS
+            M(sng IsNot dec, "sng IsNot dec")
+#End If
+#If Single_ERRORS
+            M(sng IsNot sng, "sng IsNot sng")
+#End If
+#If Single_ERRORS
+            M(sng IsNot dbl, "sng IsNot dbl")
+#End If
+#If Single_ERRORS
+            M(sng IsNot chr, "sng IsNot chr")
+#End If
+#If Single_ERRORS
+            M(sng IsNot str, "sng IsNot str")
+#End If
+#If Single_ERRORS
+            M(sng IsNot dt, "sng IsNot dt")
+#End If
+#If Single_ERRORS
+            M(sng IsNot dbnull, "sng IsNot dbnull")
+#End If
+#If Single_ERRORS
+            M(sng IsNot obj, "sng IsNot obj")
+#End If
+#If Double_ERRORS
+            M(dbl IsNot bool, "dbl IsNot bool")
+#End If
+#If Double_ERRORS
+            M(dbl IsNot b, "dbl IsNot b")
+#End If
+#If Double_ERRORS
+            M(dbl IsNot sb, "dbl IsNot sb")
+#End If
+#If Double_ERRORS
+            M(dbl IsNot s, "dbl IsNot s")
+#End If
+#If Double_ERRORS
+            M(dbl IsNot us, "dbl IsNot us")
+#End If
+#If Double_ERRORS
+            M(dbl IsNot i, "dbl IsNot i")
+#End If
+#If Double_ERRORS
+            M(dbl IsNot ui, "dbl IsNot ui")
+#End If
+#If Double_ERRORS
+            M(dbl IsNot l, "dbl IsNot l")
+#End If
+#If Double_ERRORS
+            M(dbl IsNot ul, "dbl IsNot ul")
+#End If
+#If Double_ERRORS
+            M(dbl IsNot dec, "dbl IsNot dec")
+#End If
+#If Double_ERRORS
+            M(dbl IsNot sng, "dbl IsNot sng")
+#End If
+#If Double_ERRORS
+            M(dbl IsNot dbl, "dbl IsNot dbl")
+#End If
+#If Double_ERRORS
+            M(dbl IsNot chr, "dbl IsNot chr")
+#End If
+#If Double_ERRORS
+            M(dbl IsNot str, "dbl IsNot str")
+#End If
+#If Double_ERRORS
+            M(dbl IsNot dt, "dbl IsNot dt")
+#End If
+#If Double_ERRORS
+            M(dbl IsNot dbnull, "dbl IsNot dbnull")
+#End If
+#If Double_ERRORS
+            M(dbl IsNot obj, "dbl IsNot obj")
+#End If
+#If Char_ERRORS
+            M(chr IsNot bool, "chr IsNot bool")
+#End If
+#If Char_ERRORS
+            M(chr IsNot b, "chr IsNot b")
+#End If
+#If Char_ERRORS
+            M(chr IsNot sb, "chr IsNot sb")
+#End If
+#If Char_ERRORS
+            M(chr IsNot s, "chr IsNot s")
+#End If
+#If Char_ERRORS
+            M(chr IsNot us, "chr IsNot us")
+#End If
+#If Char_ERRORS
+            M(chr IsNot i, "chr IsNot i")
+#End If
+#If Char_ERRORS
+            M(chr IsNot ui, "chr IsNot ui")
+#End If
+#If Char_ERRORS
+            M(chr IsNot l, "chr IsNot l")
+#End If
+#If Char_ERRORS
+            M(chr IsNot ul, "chr IsNot ul")
+#End If
+#If Char_ERRORS
+            M(chr IsNot dec, "chr IsNot dec")
+#End If
+#If Char_ERRORS
+            M(chr IsNot sng, "chr IsNot sng")
+#End If
+#If Char_ERRORS
+            M(chr IsNot dbl, "chr IsNot dbl")
+#End If
+#If Char_ERRORS
+            M(chr IsNot chr, "chr IsNot chr")
+#End If
+#If Char_ERRORS
+            M(chr IsNot str, "chr IsNot str")
+#End If
+#If Char_ERRORS
+            M(chr IsNot dt, "chr IsNot dt")
+#End If
+#If Char_ERRORS
+            M(chr IsNot dbnull, "chr IsNot dbnull")
+#End If
+#If Char_ERRORS
+            M(chr IsNot obj, "chr IsNot obj")
+#End If
+#If String_ERRORS
+            M(str IsNot bool, "str IsNot bool")
+#End If
+#If String_ERRORS
+            M(str IsNot b, "str IsNot b")
+#End If
+#If String_ERRORS
+            M(str IsNot sb, "str IsNot sb")
+#End If
+#If String_ERRORS
+            M(str IsNot s, "str IsNot s")
+#End If
+#If String_ERRORS
+            M(str IsNot us, "str IsNot us")
+#End If
+#If String_ERRORS
+            M(str IsNot i, "str IsNot i")
+#End If
+#If String_ERRORS
+            M(str IsNot ui, "str IsNot ui")
+#End If
+#If String_ERRORS
+            M(str IsNot l, "str IsNot l")
+#End If
+#If String_ERRORS
+            M(str IsNot ul, "str IsNot ul")
+#End If
+#If String_ERRORS
+            M(str IsNot dec, "str IsNot dec")
+#End If
+#If String_ERRORS
+            M(str IsNot sng, "str IsNot sng")
+#End If
+#If String_ERRORS
+            M(str IsNot dbl, "str IsNot dbl")
+#End If
+#If String_ERRORS
+            M(str IsNot chr, "str IsNot chr")
+#End If
+            expected_tc = TypeCode.Boolean
+            M(str IsNot str, "str IsNot str")
+#If String_ERRORS
+            M(str IsNot dt, "str IsNot dt")
+#End If
+#If String_ERRORS
+            M(str IsNot dbnull, "str IsNot dbnull")
+#End If
+            expected_tc = TypeCode.Boolean
+            M(str IsNot obj, "str IsNot obj")
+#If DateTime_ERRORS
+            M(dt IsNot bool, "dt IsNot bool")
+#End If
+#If DateTime_ERRORS
+            M(dt IsNot b, "dt IsNot b")
+#End If
+#If DateTime_ERRORS
+            M(dt IsNot sb, "dt IsNot sb")
+#End If
+#If DateTime_ERRORS
+            M(dt IsNot s, "dt IsNot s")
+#End If
+#If DateTime_ERRORS
+            M(dt IsNot us, "dt IsNot us")
+#End If
+#If DateTime_ERRORS
+            M(dt IsNot i, "dt IsNot i")
+#End If
+#If DateTime_ERRORS
+            M(dt IsNot ui, "dt IsNot ui")
+#End If
+#If DateTime_ERRORS
+            M(dt IsNot l, "dt IsNot l")
+#End If
+#If DateTime_ERRORS
+            M(dt IsNot ul, "dt IsNot ul")
+#End If
+#If DateTime_ERRORS
+            M(dt IsNot dec, "dt IsNot dec")
+#End If
+#If DateTime_ERRORS
+            M(dt IsNot sng, "dt IsNot sng")
+#End If
+#If DateTime_ERRORS
+            M(dt IsNot dbl, "dt IsNot dbl")
+#End If
+#If DateTime_ERRORS
+            M(dt IsNot chr, "dt IsNot chr")
+#End If
+#If DateTime_ERRORS
+            M(dt IsNot str, "dt IsNot str")
+#End If
+#If DateTime_ERRORS
+            M(dt IsNot dt, "dt IsNot dt")
+#End If
+#If DateTime_ERRORS
+            M(dt IsNot dbnull, "dt IsNot dbnull")
+#End If
+#If DateTime_ERRORS
+            M(dt IsNot obj, "dt IsNot obj")
+#End If
+#If DBNull_ERRORS
+            M(dbnull IsNot bool, "dbnull IsNot bool")
+#End If
+#If DBNull_ERRORS
+            M(dbnull IsNot b, "dbnull IsNot b")
+#End If
+#If DBNull_ERRORS
+            M(dbnull IsNot sb, "dbnull IsNot sb")
+#End If
+#If DBNull_ERRORS
+            M(dbnull IsNot s, "dbnull IsNot s")
+#End If
+#If DBNull_ERRORS
+            M(dbnull IsNot us, "dbnull IsNot us")
+#End If
+#If DBNull_ERRORS
+            M(dbnull IsNot i, "dbnull IsNot i")
+#End If
+#If DBNull_ERRORS
+            M(dbnull IsNot ui, "dbnull IsNot ui")
+#End If
+#If DBNull_ERRORS
+            M(dbnull IsNot l, "dbnull IsNot l")
+#End If
+#If DBNull_ERRORS
+            M(dbnull IsNot ul, "dbnull IsNot ul")
+#End If
+#If DBNull_ERRORS
+            M(dbnull IsNot dec, "dbnull IsNot dec")
+#End If
+#If DBNull_ERRORS
+            M(dbnull IsNot sng, "dbnull IsNot sng")
+#End If
+#If DBNull_ERRORS
+            M(dbnull IsNot dbl, "dbnull IsNot dbl")
+#End If
+#If DBNull_ERRORS
+            M(dbnull IsNot chr, "dbnull IsNot chr")
+#End If
+#If DBNull_ERRORS
+            M(dbnull IsNot str, "dbnull IsNot str")
+#End If
+#If DBNull_ERRORS
+            M(dbnull IsNot dt, "dbnull IsNot dt")
+#End If
+#If DBNull_ERRORS
+            M(dbnull IsNot dbnull, "dbnull IsNot dbnull")
+#End If
+#If DBNull_ERRORS
+            M(dbnull IsNot obj, "dbnull IsNot obj")
+#End If
+#If Object_ERRORS
+            M(obj IsNot bool, "obj IsNot bool")
+#End If
+#If Object_ERRORS
+            M(obj IsNot b, "obj IsNot b")
+#End If
+#If Object_ERRORS
+            M(obj IsNot sb, "obj IsNot sb")
+#End If
+#If Object_ERRORS
+            M(obj IsNot s, "obj IsNot s")
+#End If
+#If Object_ERRORS
+            M(obj IsNot us, "obj IsNot us")
+#End If
+#If Object_ERRORS
+            M(obj IsNot i, "obj IsNot i")
+#End If
+#If Object_ERRORS
+            M(obj IsNot ui, "obj IsNot ui")
+#End If
+#If Object_ERRORS
+            M(obj IsNot l, "obj IsNot l")
+#End If
+#If Object_ERRORS
+            M(obj IsNot ul, "obj IsNot ul")
+#End If
+#If Object_ERRORS
+            M(obj IsNot dec, "obj IsNot dec")
+#End If
+#If Object_ERRORS
+            M(obj IsNot sng, "obj IsNot sng")
+#End If
+#If Object_ERRORS
+            M(obj IsNot dbl, "obj IsNot dbl")
+#End If
+#If Object_ERRORS
+            M(obj IsNot chr, "obj IsNot chr")
+#End If
+            expected_tc = TypeCode.Boolean
+            M(obj IsNot str, "obj IsNot str")
+#If Object_ERRORS
+            M(obj IsNot dt, "obj IsNot dt")
+#End If
+#If Object_ERRORS
+            M(obj IsNot dbnull, "obj IsNot dbnull")
+#End If
+            expected_tc = TypeCode.Boolean
+            M(obj IsNot obj, "obj IsNot obj")
+        If failures > 0 Then Return 1
+    Catch ex As Exception
+        Console.WriteLine ("Exception: {0}", ex)
+        Return 2
+    End Try
+    Return 0
+    End Function
+End Class
diff --git a/vbnc/vbnc/tests/CompileTime2/OperatorIntrinsicLE.vb b/vbnc/vbnc/tests/CompileTime2/OperatorIntrinsicLE.vb
new file mode 100644
index 0000000..ab2466b
--- /dev/null
+++ b/vbnc/vbnc/tests/CompileTime2/OperatorIntrinsicLE.vb
@@ -0,0 +1,785 @@
+Class BinaryOperatorLE
+    Inherits IntrinsicOperatorTests
+    Shared Function Main As Integer
+        Try
+#If Boolean_ERRORS
+            M(bool <= bool, "bool <= bool")
+#End If
+#If Boolean_ERRORS
+            M(bool <= b, "bool <= b")
+#End If
+#If Boolean_ERRORS
+            M(bool <= sb, "bool <= sb")
+#End If
+#If Boolean_ERRORS
+            M(bool <= s, "bool <= s")
+#End If
+#If Boolean_ERRORS
+            M(bool <= us, "bool <= us")
+#End If
+#If Boolean_ERRORS
+            M(bool <= i, "bool <= i")
+#End If
+#If Boolean_ERRORS
+            M(bool <= ui, "bool <= ui")
+#End If
+#If Boolean_ERRORS
+            M(bool <= l, "bool <= l")
+#End If
+#If Boolean_ERRORS
+            M(bool <= ul, "bool <= ul")
+#End If
+#If Boolean_ERRORS
+            M(bool <= dec, "bool <= dec")
+#End If
+#If Boolean_ERRORS
+            M(bool <= sng, "bool <= sng")
+#End If
+#If Boolean_ERRORS
+            M(bool <= dbl, "bool <= dbl")
+#End If
+#If Boolean_ERRORS
+            M(bool <= chr, "bool <= chr")
+#End If
+#If Boolean_ERRORS
+            M(bool <= str, "bool <= str")
+#End If
+#If Boolean_ERRORS
+            M(bool <= dt, "bool <= dt")
+#End If
+#If Boolean_ERRORS
+            M(bool <= dbnull, "bool <= dbnull")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Object
+            M(bool <= obj, "bool <= obj")
+#End If
+#If Byte_ERRORS
+            M(b <= bool, "b <= bool")
+#End If
+            expected_tc = TypeCode.Boolean
+            M(b <= b, "b <= b")
+            expected_tc = TypeCode.Boolean
+            M(b <= sb, "b <= sb")
+            expected_tc = TypeCode.Boolean
+            M(b <= s, "b <= s")
+            expected_tc = TypeCode.Boolean
+            M(b <= us, "b <= us")
+            expected_tc = TypeCode.Boolean
+            M(b <= i, "b <= i")
+            expected_tc = TypeCode.Boolean
+            M(b <= ui, "b <= ui")
+            expected_tc = TypeCode.Boolean
+            M(b <= l, "b <= l")
+            expected_tc = TypeCode.Boolean
+            M(b <= ul, "b <= ul")
+            expected_tc = TypeCode.Boolean
+            M(b <= dec, "b <= dec")
+            expected_tc = TypeCode.Boolean
+            M(b <= sng, "b <= sng")
+            expected_tc = TypeCode.Boolean
+            M(b <= dbl, "b <= dbl")
+#If Byte_ERRORS
+            M(b <= chr, "b <= chr")
+#End If
+#If Byte_ERRORS
+            M(b <= str, "b <= str")
+#End If
+#If Byte_ERRORS
+            M(b <= dt, "b <= dt")
+#End If
+#If Byte_ERRORS
+            M(b <= dbnull, "b <= dbnull")
+#End If
+#If Not STRICT Or Byte_ERRORS
+            expected_tc = TypeCode.Object
+            M(b <= obj, "b <= obj")
+#End If
+#If SByte_ERRORS
+            M(sb <= bool, "sb <= bool")
+#End If
+            expected_tc = TypeCode.Boolean
+            M(sb <= b, "sb <= b")
+            expected_tc = TypeCode.Boolean
+            M(sb <= sb, "sb <= sb")
+            expected_tc = TypeCode.Boolean
+            M(sb <= s, "sb <= s")
+            expected_tc = TypeCode.Boolean
+            M(sb <= us, "sb <= us")
+            expected_tc = TypeCode.Boolean
+            M(sb <= i, "sb <= i")
+            expected_tc = TypeCode.Boolean
+            M(sb <= ui, "sb <= ui")
+            expected_tc = TypeCode.Boolean
+            M(sb <= l, "sb <= l")
+            expected_tc = TypeCode.Boolean
+            M(sb <= ul, "sb <= ul")
+            expected_tc = TypeCode.Boolean
+            M(sb <= dec, "sb <= dec")
+            expected_tc = TypeCode.Boolean
+            M(sb <= sng, "sb <= sng")
+            expected_tc = TypeCode.Boolean
+            M(sb <= dbl, "sb <= dbl")
+#If SByte_ERRORS
+            M(sb <= chr, "sb <= chr")
+#End If
+#If SByte_ERRORS
+            M(sb <= str, "sb <= str")
+#End If
+#If SByte_ERRORS
+            M(sb <= dt, "sb <= dt")
+#End If
+#If SByte_ERRORS
+            M(sb <= dbnull, "sb <= dbnull")
+#End If
+#If Not STRICT Or SByte_ERRORS
+            expected_tc = TypeCode.Object
+            M(sb <= obj, "sb <= obj")
+#End If
+#If Int16_ERRORS
+            M(s <= bool, "s <= bool")
+#End If
+            expected_tc = TypeCode.Boolean
+            M(s <= b, "s <= b")
+            expected_tc = TypeCode.Boolean
+            M(s <= sb, "s <= sb")
+            expected_tc = TypeCode.Boolean
+            M(s <= s, "s <= s")
+            expected_tc = TypeCode.Boolean
+            M(s <= us, "s <= us")
+            expected_tc = TypeCode.Boolean
+            M(s <= i, "s <= i")
+            expected_tc = TypeCode.Boolean
+            M(s <= ui, "s <= ui")
+            expected_tc = TypeCode.Boolean
+            M(s <= l, "s <= l")
+            expected_tc = TypeCode.Boolean
+            M(s <= ul, "s <= ul")
+            expected_tc = TypeCode.Boolean
+            M(s <= dec, "s <= dec")
+            expected_tc = TypeCode.Boolean
+            M(s <= sng, "s <= sng")
+            expected_tc = TypeCode.Boolean
+            M(s <= dbl, "s <= dbl")
+#If Int16_ERRORS
+            M(s <= chr, "s <= chr")
+#End If
+#If Int16_ERRORS
+            M(s <= str, "s <= str")
+#End If
+#If Int16_ERRORS
+            M(s <= dt, "s <= dt")
+#End If
+#If Int16_ERRORS
+            M(s <= dbnull, "s <= dbnull")
+#End If
+#If Not STRICT Or Int16_ERRORS
+            expected_tc = TypeCode.Object
+            M(s <= obj, "s <= obj")
+#End If
+#If UInt16_ERRORS
+            M(us <= bool, "us <= bool")
+#End If
+            expected_tc = TypeCode.Boolean
+            M(us <= b, "us <= b")
+            expected_tc = TypeCode.Boolean
+            M(us <= sb, "us <= sb")
+            expected_tc = TypeCode.Boolean
+            M(us <= s, "us <= s")
+            expected_tc = TypeCode.Boolean
+            M(us <= us, "us <= us")
+            expected_tc = TypeCode.Boolean
+            M(us <= i, "us <= i")
+            expected_tc = TypeCode.Boolean
+            M(us <= ui, "us <= ui")
+            expected_tc = TypeCode.Boolean
+            M(us <= l, "us <= l")
+            expected_tc = TypeCode.Boolean
+            M(us <= ul, "us <= ul")
+            expected_tc = TypeCode.Boolean
+            M(us <= dec, "us <= dec")
+            expected_tc = TypeCode.Boolean
+            M(us <= sng, "us <= sng")
+            expected_tc = TypeCode.Boolean
+            M(us <= dbl, "us <= dbl")
+#If UInt16_ERRORS
+            M(us <= chr, "us <= chr")
+#End If
+#If UInt16_ERRORS
+            M(us <= str, "us <= str")
+#End If
+#If UInt16_ERRORS
+            M(us <= dt, "us <= dt")
+#End If
+#If UInt16_ERRORS
+            M(us <= dbnull, "us <= dbnull")
+#End If
+#If Not STRICT Or UInt16_ERRORS
+            expected_tc = TypeCode.Object
+            M(us <= obj, "us <= obj")
+#End If
+#If Int32_ERRORS
+            M(i <= bool, "i <= bool")
+#End If
+            expected_tc = TypeCode.Boolean
+            M(i <= b, "i <= b")
+            expected_tc = TypeCode.Boolean
+            M(i <= sb, "i <= sb")
+            expected_tc = TypeCode.Boolean
+            M(i <= s, "i <= s")
+            expected_tc = TypeCode.Boolean
+            M(i <= us, "i <= us")
+            expected_tc = TypeCode.Boolean
+            M(i <= i, "i <= i")
+            expected_tc = TypeCode.Boolean
+            M(i <= ui, "i <= ui")
+            expected_tc = TypeCode.Boolean
+            M(i <= l, "i <= l")
+            expected_tc = TypeCode.Boolean
+            M(i <= ul, "i <= ul")
+            expected_tc = TypeCode.Boolean
+            M(i <= dec, "i <= dec")
+            expected_tc = TypeCode.Boolean
+            M(i <= sng, "i <= sng")
+            expected_tc = TypeCode.Boolean
+            M(i <= dbl, "i <= dbl")
+#If Int32_ERRORS
+            M(i <= chr, "i <= chr")
+#End If
+#If Int32_ERRORS
+            M(i <= str, "i <= str")
+#End If
+#If Int32_ERRORS
+            M(i <= dt, "i <= dt")
+#End If
+#If Int32_ERRORS
+            M(i <= dbnull, "i <= dbnull")
+#End If
+#If Not STRICT Or Int32_ERRORS
+            expected_tc = TypeCode.Object
+            M(i <= obj, "i <= obj")
+#End If
+#If UInt32_ERRORS
+            M(ui <= bool, "ui <= bool")
+#End If
+            expected_tc = TypeCode.Boolean
+            M(ui <= b, "ui <= b")
+            expected_tc = TypeCode.Boolean
+            M(ui <= sb, "ui <= sb")
+            expected_tc = TypeCode.Boolean
+            M(ui <= s, "ui <= s")
+            expected_tc = TypeCode.Boolean
+            M(ui <= us, "ui <= us")
+            expected_tc = TypeCode.Boolean
+            M(ui <= i, "ui <= i")
+            expected_tc = TypeCode.Boolean
+            M(ui <= ui, "ui <= ui")
+            expected_tc = TypeCode.Boolean
+            M(ui <= l, "ui <= l")
+            expected_tc = TypeCode.Boolean
+            M(ui <= ul, "ui <= ul")
+            expected_tc = TypeCode.Boolean
+            M(ui <= dec, "ui <= dec")
+            expected_tc = TypeCode.Boolean
+            M(ui <= sng, "ui <= sng")
+            expected_tc = TypeCode.Boolean
+            M(ui <= dbl, "ui <= dbl")
+#If UInt32_ERRORS
+            M(ui <= chr, "ui <= chr")
+#End If
+#If UInt32_ERRORS
+            M(ui <= str, "ui <= str")
+#End If
+#If UInt32_ERRORS
+            M(ui <= dt, "ui <= dt")
+#End If
+#If UInt32_ERRORS
+            M(ui <= dbnull, "ui <= dbnull")
+#End If
+#If Not STRICT Or UInt32_ERRORS
+            expected_tc = TypeCode.Object
+            M(ui <= obj, "ui <= obj")
+#End If
+#If Int64_ERRORS
+            M(l <= bool, "l <= bool")
+#End If
+            expected_tc = TypeCode.Boolean
+            M(l <= b, "l <= b")
+            expected_tc = TypeCode.Boolean
+            M(l <= sb, "l <= sb")
+            expected_tc = TypeCode.Boolean
+            M(l <= s, "l <= s")
+            expected_tc = TypeCode.Boolean
+            M(l <= us, "l <= us")
+            expected_tc = TypeCode.Boolean
+            M(l <= i, "l <= i")
+            expected_tc = TypeCode.Boolean
+            M(l <= ui, "l <= ui")
+            expected_tc = TypeCode.Boolean
+            M(l <= l, "l <= l")
+            expected_tc = TypeCode.Boolean
+            M(l <= ul, "l <= ul")
+            expected_tc = TypeCode.Boolean
+            M(l <= dec, "l <= dec")
+            expected_tc = TypeCode.Boolean
+            M(l <= sng, "l <= sng")
+            expected_tc = TypeCode.Boolean
+            M(l <= dbl, "l <= dbl")
+#If Int64_ERRORS
+            M(l <= chr, "l <= chr")
+#End If
+#If Int64_ERRORS
+            M(l <= str, "l <= str")
+#End If
+#If Int64_ERRORS
+            M(l <= dt, "l <= dt")
+#End If
+#If Int64_ERRORS
+            M(l <= dbnull, "l <= dbnull")
+#End If
+#If Not STRICT Or Int64_ERRORS
+            expected_tc = TypeCode.Object
+            M(l <= obj, "l <= obj")
+#End If
+#If UInt64_ERRORS
+            M(ul <= bool, "ul <= bool")
+#End If
+            expected_tc = TypeCode.Boolean
+            M(ul <= b, "ul <= b")
+            expected_tc = TypeCode.Boolean
+            M(ul <= sb, "ul <= sb")
+            expected_tc = TypeCode.Boolean
+            M(ul <= s, "ul <= s")
+            expected_tc = TypeCode.Boolean
+            M(ul <= us, "ul <= us")
+            expected_tc = TypeCode.Boolean
+            M(ul <= i, "ul <= i")
+            expected_tc = TypeCode.Boolean
+            M(ul <= ui, "ul <= ui")
+            expected_tc = TypeCode.Boolean
+            M(ul <= l, "ul <= l")
+            expected_tc = TypeCode.Boolean
+            M(ul <= ul, "ul <= ul")
+            expected_tc = TypeCode.Boolean
+            M(ul <= dec, "ul <= dec")
+            expected_tc = TypeCode.Boolean
+            M(ul <= sng, "ul <= sng")
+            expected_tc = TypeCode.Boolean
+            M(ul <= dbl, "ul <= dbl")
+#If UInt64_ERRORS
+            M(ul <= chr, "ul <= chr")
+#End If
+#If UInt64_ERRORS
+            M(ul <= str, "ul <= str")
+#End If
+#If UInt64_ERRORS
+            M(ul <= dt, "ul <= dt")
+#End If
+#If UInt64_ERRORS
+            M(ul <= dbnull, "ul <= dbnull")
+#End If
+#If Not STRICT Or UInt64_ERRORS
+            expected_tc = TypeCode.Object
+            M(ul <= obj, "ul <= obj")
+#End If
+#If Decimal_ERRORS
+            M(dec <= bool, "dec <= bool")
+#End If
+            expected_tc = TypeCode.Boolean
+            M(dec <= b, "dec <= b")
+            expected_tc = TypeCode.Boolean
+            M(dec <= sb, "dec <= sb")
+            expected_tc = TypeCode.Boolean
+            M(dec <= s, "dec <= s")
+            expected_tc = TypeCode.Boolean
+            M(dec <= us, "dec <= us")
+            expected_tc = TypeCode.Boolean
+            M(dec <= i, "dec <= i")
+            expected_tc = TypeCode.Boolean
+            M(dec <= ui, "dec <= ui")
+            expected_tc = TypeCode.Boolean
+            M(dec <= l, "dec <= l")
+            expected_tc = TypeCode.Boolean
+            M(dec <= ul, "dec <= ul")
+            expected_tc = TypeCode.Boolean
+            M(dec <= dec, "dec <= dec")
+            expected_tc = TypeCode.Boolean
+            M(dec <= sng, "dec <= sng")
+            expected_tc = TypeCode.Boolean
+            M(dec <= dbl, "dec <= dbl")
+#If Decimal_ERRORS
+            M(dec <= chr, "dec <= chr")
+#End If
+#If Decimal_ERRORS
+            M(dec <= str, "dec <= str")
+#End If
+#If Decimal_ERRORS
+            M(dec <= dt, "dec <= dt")
+#End If
+#If Decimal_ERRORS
+            M(dec <= dbnull, "dec <= dbnull")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Object
+            M(dec <= obj, "dec <= obj")
+#End If
+#If Single_ERRORS
+            M(sng <= bool, "sng <= bool")
+#End If
+            expected_tc = TypeCode.Boolean
+            M(sng <= b, "sng <= b")
+            expected_tc = TypeCode.Boolean
+            M(sng <= sb, "sng <= sb")
+            expected_tc = TypeCode.Boolean
+            M(sng <= s, "sng <= s")
+            expected_tc = TypeCode.Boolean
+            M(sng <= us, "sng <= us")
+            expected_tc = TypeCode.Boolean
+            M(sng <= i, "sng <= i")
+            expected_tc = TypeCode.Boolean
+            M(sng <= ui, "sng <= ui")
+            expected_tc = TypeCode.Boolean
+            M(sng <= l, "sng <= l")
+            expected_tc = TypeCode.Boolean
+            M(sng <= ul, "sng <= ul")
+            expected_tc = TypeCode.Boolean
+            M(sng <= dec, "sng <= dec")
+            expected_tc = TypeCode.Boolean
+            M(sng <= sng, "sng <= sng")
+            expected_tc = TypeCode.Boolean
+            M(sng <= dbl, "sng <= dbl")
+#If Single_ERRORS
+            M(sng <= chr, "sng <= chr")
+#End If
+#If Single_ERRORS
+            M(sng <= str, "sng <= str")
+#End If
+#If Single_ERRORS
+            M(sng <= dt, "sng <= dt")
+#End If
+#If Single_ERRORS
+            M(sng <= dbnull, "sng <= dbnull")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Object
+            M(sng <= obj, "sng <= obj")
+#End If
+#If Double_ERRORS
+            M(dbl <= bool, "dbl <= bool")
+#End If
+            expected_tc = TypeCode.Boolean
+            M(dbl <= b, "dbl <= b")
+            expected_tc = TypeCode.Boolean
+            M(dbl <= sb, "dbl <= sb")
+            expected_tc = TypeCode.Boolean
+            M(dbl <= s, "dbl <= s")
+            expected_tc = TypeCode.Boolean
+            M(dbl <= us, "dbl <= us")
+            expected_tc = TypeCode.Boolean
+            M(dbl <= i, "dbl <= i")
+            expected_tc = TypeCode.Boolean
+            M(dbl <= ui, "dbl <= ui")
+            expected_tc = TypeCode.Boolean
+            M(dbl <= l, "dbl <= l")
+            expected_tc = TypeCode.Boolean
+            M(dbl <= ul, "dbl <= ul")
+            expected_tc = TypeCode.Boolean
+            M(dbl <= dec, "dbl <= dec")
+            expected_tc = TypeCode.Boolean
+            M(dbl <= sng, "dbl <= sng")
+            expected_tc = TypeCode.Boolean
+            M(dbl <= dbl, "dbl <= dbl")
+#If Double_ERRORS
+            M(dbl <= chr, "dbl <= chr")
+#End If
+#If Double_ERRORS
+            M(dbl <= str, "dbl <= str")
+#End If
+#If Double_ERRORS
+            M(dbl <= dt, "dbl <= dt")
+#End If
+#If Double_ERRORS
+            M(dbl <= dbnull, "dbl <= dbnull")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Object
+            M(dbl <= obj, "dbl <= obj")
+#End If
+#If Char_ERRORS
+            M(chr <= bool, "chr <= bool")
+#End If
+#If Char_ERRORS
+            M(chr <= b, "chr <= b")
+#End If
+#If Char_ERRORS
+            M(chr <= sb, "chr <= sb")
+#End If
+#If Char_ERRORS
+            M(chr <= s, "chr <= s")
+#End If
+#If Char_ERRORS
+            M(chr <= us, "chr <= us")
+#End If
+#If Char_ERRORS
+            M(chr <= i, "chr <= i")
+#End If
+#If Char_ERRORS
+            M(chr <= ui, "chr <= ui")
+#End If
+#If Char_ERRORS
+            M(chr <= l, "chr <= l")
+#End If
+#If Char_ERRORS
+            M(chr <= ul, "chr <= ul")
+#End If
+#If Char_ERRORS
+            M(chr <= dec, "chr <= dec")
+#End If
+#If Char_ERRORS
+            M(chr <= sng, "chr <= sng")
+#End If
+#If Char_ERRORS
+            M(chr <= dbl, "chr <= dbl")
+#End If
+#If Char_ERRORS
+            M(chr <= chr, "chr <= chr")
+#End If
+#If Char_ERRORS
+            M(chr <= str, "chr <= str")
+#End If
+#If Char_ERRORS
+            M(chr <= dt, "chr <= dt")
+#End If
+#If Char_ERRORS
+            M(chr <= dbnull, "chr <= dbnull")
+#End If
+#If Char_ERRORS
+            M(chr <= obj, "chr <= obj")
+#End If
+#If String_ERRORS
+            M(str <= bool, "str <= bool")
+#End If
+#If String_ERRORS
+            M(str <= b, "str <= b")
+#End If
+#If String_ERRORS
+            M(str <= sb, "str <= sb")
+#End If
+#If String_ERRORS
+            M(str <= s, "str <= s")
+#End If
+#If String_ERRORS
+            M(str <= us, "str <= us")
+#End If
+#If String_ERRORS
+            M(str <= i, "str <= i")
+#End If
+#If String_ERRORS
+            M(str <= ui, "str <= ui")
+#End If
+#If String_ERRORS
+            M(str <= l, "str <= l")
+#End If
+#If String_ERRORS
+            M(str <= ul, "str <= ul")
+#End If
+#If String_ERRORS
+            M(str <= dec, "str <= dec")
+#End If
+#If String_ERRORS
+            M(str <= sng, "str <= sng")
+#End If
+#If String_ERRORS
+            M(str <= dbl, "str <= dbl")
+#End If
+#If String_ERRORS
+            M(str <= chr, "str <= chr")
+#End If
+            expected_tc = TypeCode.Boolean
+            M(str <= str, "str <= str")
+#If String_ERRORS
+            M(str <= dt, "str <= dt")
+#End If
+#If String_ERRORS
+            M(str <= dbnull, "str <= dbnull")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Object
+            M(str <= obj, "str <= obj")
+#End If
+#If DateTime_ERRORS
+            M(dt <= bool, "dt <= bool")
+#End If
+#If DateTime_ERRORS
+            M(dt <= b, "dt <= b")
+#End If
+#If DateTime_ERRORS
+            M(dt <= sb, "dt <= sb")
+#End If
+#If DateTime_ERRORS
+            M(dt <= s, "dt <= s")
+#End If
+#If DateTime_ERRORS
+            M(dt <= us, "dt <= us")
+#End If
+#If DateTime_ERRORS
+            M(dt <= i, "dt <= i")
+#End If
+#If DateTime_ERRORS
+            M(dt <= ui, "dt <= ui")
+#End If
+#If DateTime_ERRORS
+            M(dt <= l, "dt <= l")
+#End If
+#If DateTime_ERRORS
+            M(dt <= ul, "dt <= ul")
+#End If
+#If DateTime_ERRORS
+            M(dt <= dec, "dt <= dec")
+#End If
+#If DateTime_ERRORS
+            M(dt <= sng, "dt <= sng")
+#End If
+#If DateTime_ERRORS
+            M(dt <= dbl, "dt <= dbl")
+#End If
+#If DateTime_ERRORS
+            M(dt <= chr, "dt <= chr")
+#End If
+#If DateTime_ERRORS
+            M(dt <= str, "dt <= str")
+#End If
+            expected_tc = TypeCode.Boolean
+            M(dt <= dt, "dt <= dt")
+#If DateTime_ERRORS
+            M(dt <= dbnull, "dt <= dbnull")
+#End If
+#If Not STRICT Or DateTime_ERRORS
+            expected_tc = TypeCode.Object
+            M(dt <= obj, "dt <= obj")
+#End If
+#If DBNull_ERRORS
+            M(dbnull <= bool, "dbnull <= bool")
+#End If
+#If DBNull_ERRORS
+            M(dbnull <= b, "dbnull <= b")
+#End If
+#If DBNull_ERRORS
+            M(dbnull <= sb, "dbnull <= sb")
+#End If
+#If DBNull_ERRORS
+            M(dbnull <= s, "dbnull <= s")
+#End If
+#If DBNull_ERRORS
+            M(dbnull <= us, "dbnull <= us")
+#End If
+#If DBNull_ERRORS
+            M(dbnull <= i, "dbnull <= i")
+#End If
+#If DBNull_ERRORS
+            M(dbnull <= ui, "dbnull <= ui")
+#End If
+#If DBNull_ERRORS
+            M(dbnull <= l, "dbnull <= l")
+#End If
+#If DBNull_ERRORS
+            M(dbnull <= ul, "dbnull <= ul")
+#End If
+#If DBNull_ERRORS
+            M(dbnull <= dec, "dbnull <= dec")
+#End If
+#If DBNull_ERRORS
+            M(dbnull <= sng, "dbnull <= sng")
+#End If
+#If DBNull_ERRORS
+            M(dbnull <= dbl, "dbnull <= dbl")
+#End If
+#If DBNull_ERRORS
+            M(dbnull <= chr, "dbnull <= chr")
+#End If
+#If DBNull_ERRORS
+            M(dbnull <= str, "dbnull <= str")
+#End If
+#If DBNull_ERRORS
+            M(dbnull <= dt, "dbnull <= dt")
+#End If
+#If DBNull_ERRORS
+            M(dbnull <= dbnull, "dbnull <= dbnull")
+#End If
+#If DBNull_ERRORS
+            M(dbnull <= obj, "dbnull <= obj")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj <= bool, "obj <= bool")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj <= b, "obj <= b")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj <= sb, "obj <= sb")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj <= s, "obj <= s")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj <= us, "obj <= us")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj <= i, "obj <= i")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj <= ui, "obj <= ui")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj <= l, "obj <= l")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj <= ul, "obj <= ul")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj <= dec, "obj <= dec")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj <= sng, "obj <= sng")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj <= dbl, "obj <= dbl")
+#End If
+#If Object_ERRORS
+            M(obj <= chr, "obj <= chr")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj <= str, "obj <= str")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj <= dt, "obj <= dt")
+#End If
+#If Object_ERRORS
+            M(obj <= dbnull, "obj <= dbnull")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj <= obj, "obj <= obj")
+#End If
+        If failures > 0 Then Return 1
+    Catch ex As Exception
+        Console.WriteLine ("Exception: {0}", ex)
+        Return 2
+    End Try
+    Return 0
+    End Function
+End Class
diff --git a/vbnc/vbnc/tests/CompileTime2/OperatorIntrinsicLShift.vb b/vbnc/vbnc/tests/CompileTime2/OperatorIntrinsicLShift.vb
new file mode 100644
index 0000000..f3f44fa
--- /dev/null
+++ b/vbnc/vbnc/tests/CompileTime2/OperatorIntrinsicLShift.vb
@@ -0,0 +1,1003 @@
+Class BinaryOperatorLShift
+    Inherits IntrinsicOperatorTests
+    Shared Function Main As Integer
+        Try
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Int16
+            M(bool << bool, "bool << bool")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Int16
+            M(bool << b, "bool << b")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Int16
+            M(bool << sb, "bool << sb")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Int16
+            M(bool << s, "bool << s")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Int16
+            M(bool << us, "bool << us")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Int16
+            M(bool << i, "bool << i")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Int16
+            M(bool << ui, "bool << ui")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Int16
+            M(bool << l, "bool << l")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Int16
+            M(bool << ul, "bool << ul")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Int16
+            M(bool << dec, "bool << dec")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Int16
+            M(bool << sng, "bool << sng")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Int16
+            M(bool << dbl, "bool << dbl")
+#End If
+#If Boolean_ERRORS
+            M(bool << chr, "bool << chr")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Int16
+            M(bool << str, "bool << str")
+#End If
+#If Boolean_ERRORS
+            M(bool << dt, "bool << dt")
+#End If
+#If Boolean_ERRORS
+            M(bool << dbnull, "bool << dbnull")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Object
+            M(bool << obj, "bool << obj")
+#End If
+#If Not STRICT Or Byte_ERRORS
+            expected_tc = TypeCode.Byte
+            M(b << bool, "b << bool")
+#End If
+            expected_tc = TypeCode.Byte
+            M(b << b, "b << b")
+            expected_tc = TypeCode.Byte
+            M(b << sb, "b << sb")
+            expected_tc = TypeCode.Byte
+            M(b << s, "b << s")
+            expected_tc = TypeCode.Byte
+            M(b << us, "b << us")
+            expected_tc = TypeCode.Byte
+            M(b << i, "b << i")
+#If Not STRICT Or Byte_ERRORS
+            expected_tc = TypeCode.Byte
+            M(b << ui, "b << ui")
+#End If
+#If Not STRICT Or Byte_ERRORS
+            expected_tc = TypeCode.Byte
+            M(b << l, "b << l")
+#End If
+#If Not STRICT Or Byte_ERRORS
+            expected_tc = TypeCode.Byte
+            M(b << ul, "b << ul")
+#End If
+#If Not STRICT Or Byte_ERRORS
+            expected_tc = TypeCode.Byte
+            M(b << dec, "b << dec")
+#End If
+#If Not STRICT Or Byte_ERRORS
+            expected_tc = TypeCode.Byte
+            M(b << sng, "b << sng")
+#End If
+#If Not STRICT Or Byte_ERRORS
+            expected_tc = TypeCode.Byte
+            M(b << dbl, "b << dbl")
+#End If
+#If Byte_ERRORS
+            M(b << chr, "b << chr")
+#End If
+#If Not STRICT Or Byte_ERRORS
+            expected_tc = TypeCode.Byte
+            M(b << str, "b << str")
+#End If
+#If Byte_ERRORS
+            M(b << dt, "b << dt")
+#End If
+#If Byte_ERRORS
+            M(b << dbnull, "b << dbnull")
+#End If
+#If Not STRICT Or Byte_ERRORS
+            expected_tc = TypeCode.Object
+            M(b << obj, "b << obj")
+#End If
+#If Not STRICT Or SByte_ERRORS
+            expected_tc = TypeCode.SByte
+            M(sb << bool, "sb << bool")
+#End If
+            expected_tc = TypeCode.SByte
+            M(sb << b, "sb << b")
+            expected_tc = TypeCode.SByte
+            M(sb << sb, "sb << sb")
+            expected_tc = TypeCode.SByte
+            M(sb << s, "sb << s")
+            expected_tc = TypeCode.SByte
+            M(sb << us, "sb << us")
+            expected_tc = TypeCode.SByte
+            M(sb << i, "sb << i")
+#If Not STRICT Or SByte_ERRORS
+            expected_tc = TypeCode.SByte
+            M(sb << ui, "sb << ui")
+#End If
+#If Not STRICT Or SByte_ERRORS
+            expected_tc = TypeCode.SByte
+            M(sb << l, "sb << l")
+#End If
+#If Not STRICT Or SByte_ERRORS
+            expected_tc = TypeCode.SByte
+            M(sb << ul, "sb << ul")
+#End If
+#If Not STRICT Or SByte_ERRORS
+            expected_tc = TypeCode.SByte
+            M(sb << dec, "sb << dec")
+#End If
+#If Not STRICT Or SByte_ERRORS
+            expected_tc = TypeCode.SByte
+            M(sb << sng, "sb << sng")
+#End If
+#If Not STRICT Or SByte_ERRORS
+            expected_tc = TypeCode.SByte
+            M(sb << dbl, "sb << dbl")
+#End If
+#If SByte_ERRORS
+            M(sb << chr, "sb << chr")
+#End If
+#If Not STRICT Or SByte_ERRORS
+            expected_tc = TypeCode.SByte
+            M(sb << str, "sb << str")
+#End If
+#If SByte_ERRORS
+            M(sb << dt, "sb << dt")
+#End If
+#If SByte_ERRORS
+            M(sb << dbnull, "sb << dbnull")
+#End If
+#If Not STRICT Or SByte_ERRORS
+            expected_tc = TypeCode.Object
+            M(sb << obj, "sb << obj")
+#End If
+#If Not STRICT Or Int16_ERRORS
+            expected_tc = TypeCode.Int16
+            M(s << bool, "s << bool")
+#End If
+            expected_tc = TypeCode.Int16
+            M(s << b, "s << b")
+            expected_tc = TypeCode.Int16
+            M(s << sb, "s << sb")
+            expected_tc = TypeCode.Int16
+            M(s << s, "s << s")
+            expected_tc = TypeCode.Int16
+            M(s << us, "s << us")
+            expected_tc = TypeCode.Int16
+            M(s << i, "s << i")
+#If Not STRICT Or Int16_ERRORS
+            expected_tc = TypeCode.Int16
+            M(s << ui, "s << ui")
+#End If
+#If Not STRICT Or Int16_ERRORS
+            expected_tc = TypeCode.Int16
+            M(s << l, "s << l")
+#End If
+#If Not STRICT Or Int16_ERRORS
+            expected_tc = TypeCode.Int16
+            M(s << ul, "s << ul")
+#End If
+#If Not STRICT Or Int16_ERRORS
+            expected_tc = TypeCode.Int16
+            M(s << dec, "s << dec")
+#End If
+#If Not STRICT Or Int16_ERRORS
+            expected_tc = TypeCode.Int16
+            M(s << sng, "s << sng")
+#End If
+#If Not STRICT Or Int16_ERRORS
+            expected_tc = TypeCode.Int16
+            M(s << dbl, "s << dbl")
+#End If
+#If Int16_ERRORS
+            M(s << chr, "s << chr")
+#End If
+#If Not STRICT Or Int16_ERRORS
+            expected_tc = TypeCode.Int16
+            M(s << str, "s << str")
+#End If
+#If Int16_ERRORS
+            M(s << dt, "s << dt")
+#End If
+#If Int16_ERRORS
+            M(s << dbnull, "s << dbnull")
+#End If
+#If Not STRICT Or Int16_ERRORS
+            expected_tc = TypeCode.Object
+            M(s << obj, "s << obj")
+#End If
+#If Not STRICT Or UInt16_ERRORS
+            expected_tc = TypeCode.UInt16
+            M(us << bool, "us << bool")
+#End If
+            expected_tc = TypeCode.UInt16
+            M(us << b, "us << b")
+            expected_tc = TypeCode.UInt16
+            M(us << sb, "us << sb")
+            expected_tc = TypeCode.UInt16
+            M(us << s, "us << s")
+            expected_tc = TypeCode.UInt16
+            M(us << us, "us << us")
+            expected_tc = TypeCode.UInt16
+            M(us << i, "us << i")
+#If Not STRICT Or UInt16_ERRORS
+            expected_tc = TypeCode.UInt16
+            M(us << ui, "us << ui")
+#End If
+#If Not STRICT Or UInt16_ERRORS
+            expected_tc = TypeCode.UInt16
+            M(us << l, "us << l")
+#End If
+#If Not STRICT Or UInt16_ERRORS
+            expected_tc = TypeCode.UInt16
+            M(us << ul, "us << ul")
+#End If
+#If Not STRICT Or UInt16_ERRORS
+            expected_tc = TypeCode.UInt16
+            M(us << dec, "us << dec")
+#End If
+#If Not STRICT Or UInt16_ERRORS
+            expected_tc = TypeCode.UInt16
+            M(us << sng, "us << sng")
+#End If
+#If Not STRICT Or UInt16_ERRORS
+            expected_tc = TypeCode.UInt16
+            M(us << dbl, "us << dbl")
+#End If
+#If UInt16_ERRORS
+            M(us << chr, "us << chr")
+#End If
+#If Not STRICT Or UInt16_ERRORS
+            expected_tc = TypeCode.UInt16
+            M(us << str, "us << str")
+#End If
+#If UInt16_ERRORS
+            M(us << dt, "us << dt")
+#End If
+#If UInt16_ERRORS
+            M(us << dbnull, "us << dbnull")
+#End If
+#If Not STRICT Or UInt16_ERRORS
+            expected_tc = TypeCode.Object
+            M(us << obj, "us << obj")
+#End If
+#If Not STRICT Or Int32_ERRORS
+            expected_tc = TypeCode.Int32
+            M(i << bool, "i << bool")
+#End If
+            expected_tc = TypeCode.Int32
+            M(i << b, "i << b")
+            expected_tc = TypeCode.Int32
+            M(i << sb, "i << sb")
+            expected_tc = TypeCode.Int32
+            M(i << s, "i << s")
+            expected_tc = TypeCode.Int32
+            M(i << us, "i << us")
+            expected_tc = TypeCode.Int32
+            M(i << i, "i << i")
+#If Not STRICT Or Int32_ERRORS
+            expected_tc = TypeCode.Int32
+            M(i << ui, "i << ui")
+#End If
+#If Not STRICT Or Int32_ERRORS
+            expected_tc = TypeCode.Int32
+            M(i << l, "i << l")
+#End If
+#If Not STRICT Or Int32_ERRORS
+            expected_tc = TypeCode.Int32
+            M(i << ul, "i << ul")
+#End If
+#If Not STRICT Or Int32_ERRORS
+            expected_tc = TypeCode.Int32
+            M(i << dec, "i << dec")
+#End If
+#If Not STRICT Or Int32_ERRORS
+            expected_tc = TypeCode.Int32
+            M(i << sng, "i << sng")
+#End If
+#If Not STRICT Or Int32_ERRORS
+            expected_tc = TypeCode.Int32
+            M(i << dbl, "i << dbl")
+#End If
+#If Int32_ERRORS
+            M(i << chr, "i << chr")
+#End If
+#If Not STRICT Or Int32_ERRORS
+            expected_tc = TypeCode.Int32
+            M(i << str, "i << str")
+#End If
+#If Int32_ERRORS
+            M(i << dt, "i << dt")
+#End If
+#If Int32_ERRORS
+            M(i << dbnull, "i << dbnull")
+#End If
+#If Not STRICT Or Int32_ERRORS
+            expected_tc = TypeCode.Object
+            M(i << obj, "i << obj")
+#End If
+#If Not STRICT Or UInt32_ERRORS
+            expected_tc = TypeCode.UInt32
+            M(ui << bool, "ui << bool")
+#End If
+            expected_tc = TypeCode.UInt32
+            M(ui << b, "ui << b")
+            expected_tc = TypeCode.UInt32
+            M(ui << sb, "ui << sb")
+            expected_tc = TypeCode.UInt32
+            M(ui << s, "ui << s")
+            expected_tc = TypeCode.UInt32
+            M(ui << us, "ui << us")
+            expected_tc = TypeCode.UInt32
+            M(ui << i, "ui << i")
+#If Not STRICT Or UInt32_ERRORS
+            expected_tc = TypeCode.UInt32
+            M(ui << ui, "ui << ui")
+#End If
+#If Not STRICT Or UInt32_ERRORS
+            expected_tc = TypeCode.UInt32
+            M(ui << l, "ui << l")
+#End If
+#If Not STRICT Or UInt32_ERRORS
+            expected_tc = TypeCode.UInt32
+            M(ui << ul, "ui << ul")
+#End If
+#If Not STRICT Or UInt32_ERRORS
+            expected_tc = TypeCode.UInt32
+            M(ui << dec, "ui << dec")
+#End If
+#If Not STRICT Or UInt32_ERRORS
+            expected_tc = TypeCode.UInt32
+            M(ui << sng, "ui << sng")
+#End If
+#If Not STRICT Or UInt32_ERRORS
+            expected_tc = TypeCode.UInt32
+            M(ui << dbl, "ui << dbl")
+#End If
+#If UInt32_ERRORS
+            M(ui << chr, "ui << chr")
+#End If
+#If Not STRICT Or UInt32_ERRORS
+            expected_tc = TypeCode.UInt32
+            M(ui << str, "ui << str")
+#End If
+#If UInt32_ERRORS
+            M(ui << dt, "ui << dt")
+#End If
+#If UInt32_ERRORS
+            M(ui << dbnull, "ui << dbnull")
+#End If
+#If Not STRICT Or UInt32_ERRORS
+            expected_tc = TypeCode.Object
+            M(ui << obj, "ui << obj")
+#End If
+#If Not STRICT Or Int64_ERRORS
+            expected_tc = TypeCode.Int64
+            M(l << bool, "l << bool")
+#End If
+            expected_tc = TypeCode.Int64
+            M(l << b, "l << b")
+            expected_tc = TypeCode.Int64
+            M(l << sb, "l << sb")
+            expected_tc = TypeCode.Int64
+            M(l << s, "l << s")
+            expected_tc = TypeCode.Int64
+            M(l << us, "l << us")
+            expected_tc = TypeCode.Int64
+            M(l << i, "l << i")
+#If Not STRICT Or Int64_ERRORS
+            expected_tc = TypeCode.Int64
+            M(l << ui, "l << ui")
+#End If
+#If Not STRICT Or Int64_ERRORS
+            expected_tc = TypeCode.Int64
+            M(l << l, "l << l")
+#End If
+#If Not STRICT Or Int64_ERRORS
+            expected_tc = TypeCode.Int64
+            M(l << ul, "l << ul")
+#End If
+#If Not STRICT Or Int64_ERRORS
+            expected_tc = TypeCode.Int64
+            M(l << dec, "l << dec")
+#End If
+#If Not STRICT Or Int64_ERRORS
+            expected_tc = TypeCode.Int64
+            M(l << sng, "l << sng")
+#End If
+#If Not STRICT Or Int64_ERRORS
+            expected_tc = TypeCode.Int64
+            M(l << dbl, "l << dbl")
+#End If
+#If Int64_ERRORS
+            M(l << chr, "l << chr")
+#End If
+#If Not STRICT Or Int64_ERRORS
+            expected_tc = TypeCode.Int64
+            M(l << str, "l << str")
+#End If
+#If Int64_ERRORS
+            M(l << dt, "l << dt")
+#End If
+#If Int64_ERRORS
+            M(l << dbnull, "l << dbnull")
+#End If
+#If Not STRICT Or Int64_ERRORS
+            expected_tc = TypeCode.Object
+            M(l << obj, "l << obj")
+#End If
+#If Not STRICT Or UInt64_ERRORS
+            expected_tc = TypeCode.UInt64
+            M(ul << bool, "ul << bool")
+#End If
+            expected_tc = TypeCode.UInt64
+            M(ul << b, "ul << b")
+            expected_tc = TypeCode.UInt64
+            M(ul << sb, "ul << sb")
+            expected_tc = TypeCode.UInt64
+            M(ul << s, "ul << s")
+            expected_tc = TypeCode.UInt64
+            M(ul << us, "ul << us")
+            expected_tc = TypeCode.UInt64
+            M(ul << i, "ul << i")
+#If Not STRICT Or UInt64_ERRORS
+            expected_tc = TypeCode.UInt64
+            M(ul << ui, "ul << ui")
+#End If
+#If Not STRICT Or UInt64_ERRORS
+            expected_tc = TypeCode.UInt64
+            M(ul << l, "ul << l")
+#End If
+#If Not STRICT Or UInt64_ERRORS
+            expected_tc = TypeCode.UInt64
+            M(ul << ul, "ul << ul")
+#End If
+#If Not STRICT Or UInt64_ERRORS
+            expected_tc = TypeCode.UInt64
+            M(ul << dec, "ul << dec")
+#End If
+#If Not STRICT Or UInt64_ERRORS
+            expected_tc = TypeCode.UInt64
+            M(ul << sng, "ul << sng")
+#End If
+#If Not STRICT Or UInt64_ERRORS
+            expected_tc = TypeCode.UInt64
+            M(ul << dbl, "ul << dbl")
+#End If
+#If UInt64_ERRORS
+            M(ul << chr, "ul << chr")
+#End If
+#If Not STRICT Or UInt64_ERRORS
+            expected_tc = TypeCode.UInt64
+            M(ul << str, "ul << str")
+#End If
+#If UInt64_ERRORS
+            M(ul << dt, "ul << dt")
+#End If
+#If UInt64_ERRORS
+            M(ul << dbnull, "ul << dbnull")
+#End If
+#If Not STRICT Or UInt64_ERRORS
+            expected_tc = TypeCode.Object
+            M(ul << obj, "ul << obj")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Int64
+            M(dec << bool, "dec << bool")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Int64
+            M(dec << b, "dec << b")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Int64
+            M(dec << sb, "dec << sb")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Int64
+            M(dec << s, "dec << s")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Int64
+            M(dec << us, "dec << us")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Int64
+            M(dec << i, "dec << i")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Int64
+            M(dec << ui, "dec << ui")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Int64
+            M(dec << l, "dec << l")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Int64
+            M(dec << ul, "dec << ul")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Int64
+            M(dec << dec, "dec << dec")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Int64
+            M(dec << sng, "dec << sng")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Int64
+            M(dec << dbl, "dec << dbl")
+#End If
+#If Decimal_ERRORS
+            M(dec << chr, "dec << chr")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Int64
+            M(dec << str, "dec << str")
+#End If
+#If Decimal_ERRORS
+            M(dec << dt, "dec << dt")
+#End If
+#If Decimal_ERRORS
+            M(dec << dbnull, "dec << dbnull")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Object
+            M(dec << obj, "dec << obj")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Int64
+            M(sng << bool, "sng << bool")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Int64
+            M(sng << b, "sng << b")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Int64
+            M(sng << sb, "sng << sb")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Int64
+            M(sng << s, "sng << s")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Int64
+            M(sng << us, "sng << us")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Int64
+            M(sng << i, "sng << i")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Int64
+            M(sng << ui, "sng << ui")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Int64
+            M(sng << l, "sng << l")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Int64
+            M(sng << ul, "sng << ul")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Int64
+            M(sng << dec, "sng << dec")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Int64
+            M(sng << sng, "sng << sng")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Int64
+            M(sng << dbl, "sng << dbl")
+#End If
+#If Single_ERRORS
+            M(sng << chr, "sng << chr")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Int64
+            M(sng << str, "sng << str")
+#End If
+#If Single_ERRORS
+            M(sng << dt, "sng << dt")
+#End If
+#If Single_ERRORS
+            M(sng << dbnull, "sng << dbnull")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Object
+            M(sng << obj, "sng << obj")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Int64
+            M(dbl << bool, "dbl << bool")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Int64
+            M(dbl << b, "dbl << b")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Int64
+            M(dbl << sb, "dbl << sb")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Int64
+            M(dbl << s, "dbl << s")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Int64
+            M(dbl << us, "dbl << us")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Int64
+            M(dbl << i, "dbl << i")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Int64
+            M(dbl << ui, "dbl << ui")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Int64
+            M(dbl << l, "dbl << l")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Int64
+            M(dbl << ul, "dbl << ul")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Int64
+            M(dbl << dec, "dbl << dec")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Int64
+            M(dbl << sng, "dbl << sng")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Int64
+            M(dbl << dbl, "dbl << dbl")
+#End If
+#If Double_ERRORS
+            M(dbl << chr, "dbl << chr")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Int64
+            M(dbl << str, "dbl << str")
+#End If
+#If Double_ERRORS
+            M(dbl << dt, "dbl << dt")
+#End If
+#If Double_ERRORS
+            M(dbl << dbnull, "dbl << dbnull")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Object
+            M(dbl << obj, "dbl << obj")
+#End If
+#If Char_ERRORS
+            M(chr << bool, "chr << bool")
+#End If
+#If Char_ERRORS
+            M(chr << b, "chr << b")
+#End If
+#If Char_ERRORS
+            M(chr << sb, "chr << sb")
+#End If
+#If Char_ERRORS
+            M(chr << s, "chr << s")
+#End If
+#If Char_ERRORS
+            M(chr << us, "chr << us")
+#End If
+#If Char_ERRORS
+            M(chr << i, "chr << i")
+#End If
+#If Char_ERRORS
+            M(chr << ui, "chr << ui")
+#End If
+#If Char_ERRORS
+            M(chr << l, "chr << l")
+#End If
+#If Char_ERRORS
+            M(chr << ul, "chr << ul")
+#End If
+#If Char_ERRORS
+            M(chr << dec, "chr << dec")
+#End If
+#If Char_ERRORS
+            M(chr << sng, "chr << sng")
+#End If
+#If Char_ERRORS
+            M(chr << dbl, "chr << dbl")
+#End If
+#If Char_ERRORS
+            M(chr << chr, "chr << chr")
+#End If
+#If Char_ERRORS
+            M(chr << str, "chr << str")
+#End If
+#If Char_ERRORS
+            M(chr << dt, "chr << dt")
+#End If
+#If Char_ERRORS
+            M(chr << dbnull, "chr << dbnull")
+#End If
+#If Char_ERRORS
+            M(chr << obj, "chr << obj")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Int64
+            M(str << bool, "str << bool")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Int64
+            M(str << b, "str << b")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Int64
+            M(str << sb, "str << sb")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Int64
+            M(str << s, "str << s")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Int64
+            M(str << us, "str << us")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Int64
+            M(str << i, "str << i")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Int64
+            M(str << ui, "str << ui")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Int64
+            M(str << l, "str << l")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Int64
+            M(str << ul, "str << ul")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Int64
+            M(str << dec, "str << dec")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Int64
+            M(str << sng, "str << sng")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Int64
+            M(str << dbl, "str << dbl")
+#End If
+#If String_ERRORS
+            M(str << chr, "str << chr")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Int64
+            M(str << str, "str << str")
+#End If
+#If String_ERRORS
+            M(str << dt, "str << dt")
+#End If
+#If String_ERRORS
+            M(str << dbnull, "str << dbnull")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Object
+            M(str << obj, "str << obj")
+#End If
+#If DateTime_ERRORS
+            M(dt << bool, "dt << bool")
+#End If
+#If DateTime_ERRORS
+            M(dt << b, "dt << b")
+#End If
+#If DateTime_ERRORS
+            M(dt << sb, "dt << sb")
+#End If
+#If DateTime_ERRORS
+            M(dt << s, "dt << s")
+#End If
+#If DateTime_ERRORS
+            M(dt << us, "dt << us")
+#End If
+#If DateTime_ERRORS
+            M(dt << i, "dt << i")
+#End If
+#If DateTime_ERRORS
+            M(dt << ui, "dt << ui")
+#End If
+#If DateTime_ERRORS
+            M(dt << l, "dt << l")
+#End If
+#If DateTime_ERRORS
+            M(dt << ul, "dt << ul")
+#End If
+#If DateTime_ERRORS
+            M(dt << dec, "dt << dec")
+#End If
+#If DateTime_ERRORS
+            M(dt << sng, "dt << sng")
+#End If
+#If DateTime_ERRORS
+            M(dt << dbl, "dt << dbl")
+#End If
+#If DateTime_ERRORS
+            M(dt << chr, "dt << chr")
+#End If
+#If DateTime_ERRORS
+            M(dt << str, "dt << str")
+#End If
+#If DateTime_ERRORS
+            M(dt << dt, "dt << dt")
+#End If
+#If DateTime_ERRORS
+            M(dt << dbnull, "dt << dbnull")
+#End If
+#If DateTime_ERRORS
+            M(dt << obj, "dt << obj")
+#End If
+#If DBNull_ERRORS
+            M(dbnull << bool, "dbnull << bool")
+#End If
+#If DBNull_ERRORS
+            M(dbnull << b, "dbnull << b")
+#End If
+#If DBNull_ERRORS
+            M(dbnull << sb, "dbnull << sb")
+#End If
+#If DBNull_ERRORS
+            M(dbnull << s, "dbnull << s")
+#End If
+#If DBNull_ERRORS
+            M(dbnull << us, "dbnull << us")
+#End If
+#If DBNull_ERRORS
+            M(dbnull << i, "dbnull << i")
+#End If
+#If DBNull_ERRORS
+            M(dbnull << ui, "dbnull << ui")
+#End If
+#If DBNull_ERRORS
+            M(dbnull << l, "dbnull << l")
+#End If
+#If DBNull_ERRORS
+            M(dbnull << ul, "dbnull << ul")
+#End If
+#If DBNull_ERRORS
+            M(dbnull << dec, "dbnull << dec")
+#End If
+#If DBNull_ERRORS
+            M(dbnull << sng, "dbnull << sng")
+#End If
+#If DBNull_ERRORS
+            M(dbnull << dbl, "dbnull << dbl")
+#End If
+#If DBNull_ERRORS
+            M(dbnull << chr, "dbnull << chr")
+#End If
+#If DBNull_ERRORS
+            M(dbnull << str, "dbnull << str")
+#End If
+#If DBNull_ERRORS
+            M(dbnull << dt, "dbnull << dt")
+#End If
+#If DBNull_ERRORS
+            M(dbnull << dbnull, "dbnull << dbnull")
+#End If
+#If DBNull_ERRORS
+            M(dbnull << obj, "dbnull << obj")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj << bool, "obj << bool")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj << b, "obj << b")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj << sb, "obj << sb")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj << s, "obj << s")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj << us, "obj << us")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj << i, "obj << i")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj << ui, "obj << ui")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj << l, "obj << l")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj << ul, "obj << ul")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj << dec, "obj << dec")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj << sng, "obj << sng")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj << dbl, "obj << dbl")
+#End If
+#If Not STRICT Or Object_ERRORS
+        Try
+            expected_tc = TypeCode.Object
+            M(obj << chr, "obj << chr")
+        Catch ex as InvalidCastException
+        End Try
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj << str, "obj << str")
+#End If
+#If Not STRICT Or Object_ERRORS
+        Try
+            expected_tc = TypeCode.Object
+            M(obj << dt, "obj << dt")
+        Catch ex as InvalidCastException
+        End Try
+#End If
+#If Object_ERRORS
+            M(obj << dbnull, "obj << dbnull")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj << obj, "obj << obj")
+#End If
+        If failures > 0 Then Return 1
+    Catch ex As Exception
+        Console.WriteLine ("Exception: {0}", ex)
+        Return 2
+    End Try
+    Return 0
+    End Function
+End Class
diff --git a/vbnc/vbnc/tests/CompileTime2/OperatorIntrinsicLT.vb b/vbnc/vbnc/tests/CompileTime2/OperatorIntrinsicLT.vb
new file mode 100644
index 0000000..6241c5e
--- /dev/null
+++ b/vbnc/vbnc/tests/CompileTime2/OperatorIntrinsicLT.vb
@@ -0,0 +1,785 @@
+Class BinaryOperatorLT
+    Inherits IntrinsicOperatorTests
+    Shared Function Main As Integer
+        Try
+#If Boolean_ERRORS
+            M(bool < bool, "bool < bool")
+#End If
+#If Boolean_ERRORS
+            M(bool < b, "bool < b")
+#End If
+#If Boolean_ERRORS
+            M(bool < sb, "bool < sb")
+#End If
+#If Boolean_ERRORS
+            M(bool < s, "bool < s")
+#End If
+#If Boolean_ERRORS
+            M(bool < us, "bool < us")
+#End If
+#If Boolean_ERRORS
+            M(bool < i, "bool < i")
+#End If
+#If Boolean_ERRORS
+            M(bool < ui, "bool < ui")
+#End If
+#If Boolean_ERRORS
+            M(bool < l, "bool < l")
+#End If
+#If Boolean_ERRORS
+            M(bool < ul, "bool < ul")
+#End If
+#If Boolean_ERRORS
+            M(bool < dec, "bool < dec")
+#End If
+#If Boolean_ERRORS
+            M(bool < sng, "bool < sng")
+#End If
+#If Boolean_ERRORS
+            M(bool < dbl, "bool < dbl")
+#End If
+#If Boolean_ERRORS
+            M(bool < chr, "bool < chr")
+#End If
+#If Boolean_ERRORS
+            M(bool < str, "bool < str")
+#End If
+#If Boolean_ERRORS
+            M(bool < dt, "bool < dt")
+#End If
+#If Boolean_ERRORS
+            M(bool < dbnull, "bool < dbnull")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Object
+            M(bool < obj, "bool < obj")
+#End If
+#If Byte_ERRORS
+            M(b < bool, "b < bool")
+#End If
+            expected_tc = TypeCode.Boolean
+            M(b < b, "b < b")
+            expected_tc = TypeCode.Boolean
+            M(b < sb, "b < sb")
+            expected_tc = TypeCode.Boolean
+            M(b < s, "b < s")
+            expected_tc = TypeCode.Boolean
+            M(b < us, "b < us")
+            expected_tc = TypeCode.Boolean
+            M(b < i, "b < i")
+            expected_tc = TypeCode.Boolean
+            M(b < ui, "b < ui")
+            expected_tc = TypeCode.Boolean
+            M(b < l, "b < l")
+            expected_tc = TypeCode.Boolean
+            M(b < ul, "b < ul")
+            expected_tc = TypeCode.Boolean
+            M(b < dec, "b < dec")
+            expected_tc = TypeCode.Boolean
+            M(b < sng, "b < sng")
+            expected_tc = TypeCode.Boolean
+            M(b < dbl, "b < dbl")
+#If Byte_ERRORS
+            M(b < chr, "b < chr")
+#End If
+#If Byte_ERRORS
+            M(b < str, "b < str")
+#End If
+#If Byte_ERRORS
+            M(b < dt, "b < dt")
+#End If
+#If Byte_ERRORS
+            M(b < dbnull, "b < dbnull")
+#End If
+#If Not STRICT Or Byte_ERRORS
+            expected_tc = TypeCode.Object
+            M(b < obj, "b < obj")
+#End If
+#If SByte_ERRORS
+            M(sb < bool, "sb < bool")
+#End If
+            expected_tc = TypeCode.Boolean
+            M(sb < b, "sb < b")
+            expected_tc = TypeCode.Boolean
+            M(sb < sb, "sb < sb")
+            expected_tc = TypeCode.Boolean
+            M(sb < s, "sb < s")
+            expected_tc = TypeCode.Boolean
+            M(sb < us, "sb < us")
+            expected_tc = TypeCode.Boolean
+            M(sb < i, "sb < i")
+            expected_tc = TypeCode.Boolean
+            M(sb < ui, "sb < ui")
+            expected_tc = TypeCode.Boolean
+            M(sb < l, "sb < l")
+            expected_tc = TypeCode.Boolean
+            M(sb < ul, "sb < ul")
+            expected_tc = TypeCode.Boolean
+            M(sb < dec, "sb < dec")
+            expected_tc = TypeCode.Boolean
+            M(sb < sng, "sb < sng")
+            expected_tc = TypeCode.Boolean
+            M(sb < dbl, "sb < dbl")
+#If SByte_ERRORS
+            M(sb < chr, "sb < chr")
+#End If
+#If SByte_ERRORS
+            M(sb < str, "sb < str")
+#End If
+#If SByte_ERRORS
+            M(sb < dt, "sb < dt")
+#End If
+#If SByte_ERRORS
+            M(sb < dbnull, "sb < dbnull")
+#End If
+#If Not STRICT Or SByte_ERRORS
+            expected_tc = TypeCode.Object
+            M(sb < obj, "sb < obj")
+#End If
+#If Int16_ERRORS
+            M(s < bool, "s < bool")
+#End If
+            expected_tc = TypeCode.Boolean
+            M(s < b, "s < b")
+            expected_tc = TypeCode.Boolean
+            M(s < sb, "s < sb")
+            expected_tc = TypeCode.Boolean
+            M(s < s, "s < s")
+            expected_tc = TypeCode.Boolean
+            M(s < us, "s < us")
+            expected_tc = TypeCode.Boolean
+            M(s < i, "s < i")
+            expected_tc = TypeCode.Boolean
+            M(s < ui, "s < ui")
+            expected_tc = TypeCode.Boolean
+            M(s < l, "s < l")
+            expected_tc = TypeCode.Boolean
+            M(s < ul, "s < ul")
+            expected_tc = TypeCode.Boolean
+            M(s < dec, "s < dec")
+            expected_tc = TypeCode.Boolean
+            M(s < sng, "s < sng")
+            expected_tc = TypeCode.Boolean
+            M(s < dbl, "s < dbl")
+#If Int16_ERRORS
+            M(s < chr, "s < chr")
+#End If
+#If Int16_ERRORS
+            M(s < str, "s < str")
+#End If
+#If Int16_ERRORS
+            M(s < dt, "s < dt")
+#End If
+#If Int16_ERRORS
+            M(s < dbnull, "s < dbnull")
+#End If
+#If Not STRICT Or Int16_ERRORS
+            expected_tc = TypeCode.Object
+            M(s < obj, "s < obj")
+#End If
+#If UInt16_ERRORS
+            M(us < bool, "us < bool")
+#End If
+            expected_tc = TypeCode.Boolean
+            M(us < b, "us < b")
+            expected_tc = TypeCode.Boolean
+            M(us < sb, "us < sb")
+            expected_tc = TypeCode.Boolean
+            M(us < s, "us < s")
+            expected_tc = TypeCode.Boolean
+            M(us < us, "us < us")
+            expected_tc = TypeCode.Boolean
+            M(us < i, "us < i")
+            expected_tc = TypeCode.Boolean
+            M(us < ui, "us < ui")
+            expected_tc = TypeCode.Boolean
+            M(us < l, "us < l")
+            expected_tc = TypeCode.Boolean
+            M(us < ul, "us < ul")
+            expected_tc = TypeCode.Boolean
+            M(us < dec, "us < dec")
+            expected_tc = TypeCode.Boolean
+            M(us < sng, "us < sng")
+            expected_tc = TypeCode.Boolean
+            M(us < dbl, "us < dbl")
+#If UInt16_ERRORS
+            M(us < chr, "us < chr")
+#End If
+#If UInt16_ERRORS
+            M(us < str, "us < str")
+#End If
+#If UInt16_ERRORS
+            M(us < dt, "us < dt")
+#End If
+#If UInt16_ERRORS
+            M(us < dbnull, "us < dbnull")
+#End If
+#If Not STRICT Or UInt16_ERRORS
+            expected_tc = TypeCode.Object
+            M(us < obj, "us < obj")
+#End If
+#If Int32_ERRORS
+            M(i < bool, "i < bool")
+#End If
+            expected_tc = TypeCode.Boolean
+            M(i < b, "i < b")
+            expected_tc = TypeCode.Boolean
+            M(i < sb, "i < sb")
+            expected_tc = TypeCode.Boolean
+            M(i < s, "i < s")
+            expected_tc = TypeCode.Boolean
+            M(i < us, "i < us")
+            expected_tc = TypeCode.Boolean
+            M(i < i, "i < i")
+            expected_tc = TypeCode.Boolean
+            M(i < ui, "i < ui")
+            expected_tc = TypeCode.Boolean
+            M(i < l, "i < l")
+            expected_tc = TypeCode.Boolean
+            M(i < ul, "i < ul")
+            expected_tc = TypeCode.Boolean
+            M(i < dec, "i < dec")
+            expected_tc = TypeCode.Boolean
+            M(i < sng, "i < sng")
+            expected_tc = TypeCode.Boolean
+            M(i < dbl, "i < dbl")
+#If Int32_ERRORS
+            M(i < chr, "i < chr")
+#End If
+#If Int32_ERRORS
+            M(i < str, "i < str")
+#End If
+#If Int32_ERRORS
+            M(i < dt, "i < dt")
+#End If
+#If Int32_ERRORS
+            M(i < dbnull, "i < dbnull")
+#End If
+#If Not STRICT Or Int32_ERRORS
+            expected_tc = TypeCode.Object
+            M(i < obj, "i < obj")
+#End If
+#If UInt32_ERRORS
+            M(ui < bool, "ui < bool")
+#End If
+            expected_tc = TypeCode.Boolean
+            M(ui < b, "ui < b")
+            expected_tc = TypeCode.Boolean
+            M(ui < sb, "ui < sb")
+            expected_tc = TypeCode.Boolean
+            M(ui < s, "ui < s")
+            expected_tc = TypeCode.Boolean
+            M(ui < us, "ui < us")
+            expected_tc = TypeCode.Boolean
+            M(ui < i, "ui < i")
+            expected_tc = TypeCode.Boolean
+            M(ui < ui, "ui < ui")
+            expected_tc = TypeCode.Boolean
+            M(ui < l, "ui < l")
+            expected_tc = TypeCode.Boolean
+            M(ui < ul, "ui < ul")
+            expected_tc = TypeCode.Boolean
+            M(ui < dec, "ui < dec")
+            expected_tc = TypeCode.Boolean
+            M(ui < sng, "ui < sng")
+            expected_tc = TypeCode.Boolean
+            M(ui < dbl, "ui < dbl")
+#If UInt32_ERRORS
+            M(ui < chr, "ui < chr")
+#End If
+#If UInt32_ERRORS
+            M(ui < str, "ui < str")
+#End If
+#If UInt32_ERRORS
+            M(ui < dt, "ui < dt")
+#End If
+#If UInt32_ERRORS
+            M(ui < dbnull, "ui < dbnull")
+#End If
+#If Not STRICT Or UInt32_ERRORS
+            expected_tc = TypeCode.Object
+            M(ui < obj, "ui < obj")
+#End If
+#If Int64_ERRORS
+            M(l < bool, "l < bool")
+#End If
+            expected_tc = TypeCode.Boolean
+            M(l < b, "l < b")
+            expected_tc = TypeCode.Boolean
+            M(l < sb, "l < sb")
+            expected_tc = TypeCode.Boolean
+            M(l < s, "l < s")
+            expected_tc = TypeCode.Boolean
+            M(l < us, "l < us")
+            expected_tc = TypeCode.Boolean
+            M(l < i, "l < i")
+            expected_tc = TypeCode.Boolean
+            M(l < ui, "l < ui")
+            expected_tc = TypeCode.Boolean
+            M(l < l, "l < l")
+            expected_tc = TypeCode.Boolean
+            M(l < ul, "l < ul")
+            expected_tc = TypeCode.Boolean
+            M(l < dec, "l < dec")
+            expected_tc = TypeCode.Boolean
+            M(l < sng, "l < sng")
+            expected_tc = TypeCode.Boolean
+            M(l < dbl, "l < dbl")
+#If Int64_ERRORS
+            M(l < chr, "l < chr")
+#End If
+#If Int64_ERRORS
+            M(l < str, "l < str")
+#End If
+#If Int64_ERRORS
+            M(l < dt, "l < dt")
+#End If
+#If Int64_ERRORS
+            M(l < dbnull, "l < dbnull")
+#End If
+#If Not STRICT Or Int64_ERRORS
+            expected_tc = TypeCode.Object
+            M(l < obj, "l < obj")
+#End If
+#If UInt64_ERRORS
+            M(ul < bool, "ul < bool")
+#End If
+            expected_tc = TypeCode.Boolean
+            M(ul < b, "ul < b")
+            expected_tc = TypeCode.Boolean
+            M(ul < sb, "ul < sb")
+            expected_tc = TypeCode.Boolean
+            M(ul < s, "ul < s")
+            expected_tc = TypeCode.Boolean
+            M(ul < us, "ul < us")
+            expected_tc = TypeCode.Boolean
+            M(ul < i, "ul < i")
+            expected_tc = TypeCode.Boolean
+            M(ul < ui, "ul < ui")
+            expected_tc = TypeCode.Boolean
+            M(ul < l, "ul < l")
+            expected_tc = TypeCode.Boolean
+            M(ul < ul, "ul < ul")
+            expected_tc = TypeCode.Boolean
+            M(ul < dec, "ul < dec")
+            expected_tc = TypeCode.Boolean
+            M(ul < sng, "ul < sng")
+            expected_tc = TypeCode.Boolean
+            M(ul < dbl, "ul < dbl")
+#If UInt64_ERRORS
+            M(ul < chr, "ul < chr")
+#End If
+#If UInt64_ERRORS
+            M(ul < str, "ul < str")
+#End If
+#If UInt64_ERRORS
+            M(ul < dt, "ul < dt")
+#End If
+#If UInt64_ERRORS
+            M(ul < dbnull, "ul < dbnull")
+#End If
+#If Not STRICT Or UInt64_ERRORS
+            expected_tc = TypeCode.Object
+            M(ul < obj, "ul < obj")
+#End If
+#If Decimal_ERRORS
+            M(dec < bool, "dec < bool")
+#End If
+            expected_tc = TypeCode.Boolean
+            M(dec < b, "dec < b")
+            expected_tc = TypeCode.Boolean
+            M(dec < sb, "dec < sb")
+            expected_tc = TypeCode.Boolean
+            M(dec < s, "dec < s")
+            expected_tc = TypeCode.Boolean
+            M(dec < us, "dec < us")
+            expected_tc = TypeCode.Boolean
+            M(dec < i, "dec < i")
+            expected_tc = TypeCode.Boolean
+            M(dec < ui, "dec < ui")
+            expected_tc = TypeCode.Boolean
+            M(dec < l, "dec < l")
+            expected_tc = TypeCode.Boolean
+            M(dec < ul, "dec < ul")
+            expected_tc = TypeCode.Boolean
+            M(dec < dec, "dec < dec")
+            expected_tc = TypeCode.Boolean
+            M(dec < sng, "dec < sng")
+            expected_tc = TypeCode.Boolean
+            M(dec < dbl, "dec < dbl")
+#If Decimal_ERRORS
+            M(dec < chr, "dec < chr")
+#End If
+#If Decimal_ERRORS
+            M(dec < str, "dec < str")
+#End If
+#If Decimal_ERRORS
+            M(dec < dt, "dec < dt")
+#End If
+#If Decimal_ERRORS
+            M(dec < dbnull, "dec < dbnull")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Object
+            M(dec < obj, "dec < obj")
+#End If
+#If Single_ERRORS
+            M(sng < bool, "sng < bool")
+#End If
+            expected_tc = TypeCode.Boolean
+            M(sng < b, "sng < b")
+            expected_tc = TypeCode.Boolean
+            M(sng < sb, "sng < sb")
+            expected_tc = TypeCode.Boolean
+            M(sng < s, "sng < s")
+            expected_tc = TypeCode.Boolean
+            M(sng < us, "sng < us")
+            expected_tc = TypeCode.Boolean
+            M(sng < i, "sng < i")
+            expected_tc = TypeCode.Boolean
+            M(sng < ui, "sng < ui")
+            expected_tc = TypeCode.Boolean
+            M(sng < l, "sng < l")
+            expected_tc = TypeCode.Boolean
+            M(sng < ul, "sng < ul")
+            expected_tc = TypeCode.Boolean
+            M(sng < dec, "sng < dec")
+            expected_tc = TypeCode.Boolean
+            M(sng < sng, "sng < sng")
+            expected_tc = TypeCode.Boolean
+            M(sng < dbl, "sng < dbl")
+#If Single_ERRORS
+            M(sng < chr, "sng < chr")
+#End If
+#If Single_ERRORS
+            M(sng < str, "sng < str")
+#End If
+#If Single_ERRORS
+            M(sng < dt, "sng < dt")
+#End If
+#If Single_ERRORS
+            M(sng < dbnull, "sng < dbnull")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Object
+            M(sng < obj, "sng < obj")
+#End If
+#If Double_ERRORS
+            M(dbl < bool, "dbl < bool")
+#End If
+            expected_tc = TypeCode.Boolean
+            M(dbl < b, "dbl < b")
+            expected_tc = TypeCode.Boolean
+            M(dbl < sb, "dbl < sb")
+            expected_tc = TypeCode.Boolean
+            M(dbl < s, "dbl < s")
+            expected_tc = TypeCode.Boolean
+            M(dbl < us, "dbl < us")
+            expected_tc = TypeCode.Boolean
+            M(dbl < i, "dbl < i")
+            expected_tc = TypeCode.Boolean
+            M(dbl < ui, "dbl < ui")
+            expected_tc = TypeCode.Boolean
+            M(dbl < l, "dbl < l")
+            expected_tc = TypeCode.Boolean
+            M(dbl < ul, "dbl < ul")
+            expected_tc = TypeCode.Boolean
+            M(dbl < dec, "dbl < dec")
+            expected_tc = TypeCode.Boolean
+            M(dbl < sng, "dbl < sng")
+            expected_tc = TypeCode.Boolean
+            M(dbl < dbl, "dbl < dbl")
+#If Double_ERRORS
+            M(dbl < chr, "dbl < chr")
+#End If
+#If Double_ERRORS
+            M(dbl < str, "dbl < str")
+#End If
+#If Double_ERRORS
+            M(dbl < dt, "dbl < dt")
+#End If
+#If Double_ERRORS
+            M(dbl < dbnull, "dbl < dbnull")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Object
+            M(dbl < obj, "dbl < obj")
+#End If
+#If Char_ERRORS
+            M(chr < bool, "chr < bool")
+#End If
+#If Char_ERRORS
+            M(chr < b, "chr < b")
+#End If
+#If Char_ERRORS
+            M(chr < sb, "chr < sb")
+#End If
+#If Char_ERRORS
+            M(chr < s, "chr < s")
+#End If
+#If Char_ERRORS
+            M(chr < us, "chr < us")
+#End If
+#If Char_ERRORS
+            M(chr < i, "chr < i")
+#End If
+#If Char_ERRORS
+            M(chr < ui, "chr < ui")
+#End If
+#If Char_ERRORS
+            M(chr < l, "chr < l")
+#End If
+#If Char_ERRORS
+            M(chr < ul, "chr < ul")
+#End If
+#If Char_ERRORS
+            M(chr < dec, "chr < dec")
+#End If
+#If Char_ERRORS
+            M(chr < sng, "chr < sng")
+#End If
+#If Char_ERRORS
+            M(chr < dbl, "chr < dbl")
+#End If
+#If Char_ERRORS
+            M(chr < chr, "chr < chr")
+#End If
+#If Char_ERRORS
+            M(chr < str, "chr < str")
+#End If
+#If Char_ERRORS
+            M(chr < dt, "chr < dt")
+#End If
+#If Char_ERRORS
+            M(chr < dbnull, "chr < dbnull")
+#End If
+#If Char_ERRORS
+            M(chr < obj, "chr < obj")
+#End If
+#If String_ERRORS
+            M(str < bool, "str < bool")
+#End If
+#If String_ERRORS
+            M(str < b, "str < b")
+#End If
+#If String_ERRORS
+            M(str < sb, "str < sb")
+#End If
+#If String_ERRORS
+            M(str < s, "str < s")
+#End If
+#If String_ERRORS
+            M(str < us, "str < us")
+#End If
+#If String_ERRORS
+            M(str < i, "str < i")
+#End If
+#If String_ERRORS
+            M(str < ui, "str < ui")
+#End If
+#If String_ERRORS
+            M(str < l, "str < l")
+#End If
+#If String_ERRORS
+            M(str < ul, "str < ul")
+#End If
+#If String_ERRORS
+            M(str < dec, "str < dec")
+#End If
+#If String_ERRORS
+            M(str < sng, "str < sng")
+#End If
+#If String_ERRORS
+            M(str < dbl, "str < dbl")
+#End If
+#If String_ERRORS
+            M(str < chr, "str < chr")
+#End If
+            expected_tc = TypeCode.Boolean
+            M(str < str, "str < str")
+#If String_ERRORS
+            M(str < dt, "str < dt")
+#End If
+#If String_ERRORS
+            M(str < dbnull, "str < dbnull")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Object
+            M(str < obj, "str < obj")
+#End If
+#If DateTime_ERRORS
+            M(dt < bool, "dt < bool")
+#End If
+#If DateTime_ERRORS
+            M(dt < b, "dt < b")
+#End If
+#If DateTime_ERRORS
+            M(dt < sb, "dt < sb")
+#End If
+#If DateTime_ERRORS
+            M(dt < s, "dt < s")
+#End If
+#If DateTime_ERRORS
+            M(dt < us, "dt < us")
+#End If
+#If DateTime_ERRORS
+            M(dt < i, "dt < i")
+#End If
+#If DateTime_ERRORS
+            M(dt < ui, "dt < ui")
+#End If
+#If DateTime_ERRORS
+            M(dt < l, "dt < l")
+#End If
+#If DateTime_ERRORS
+            M(dt < ul, "dt < ul")
+#End If
+#If DateTime_ERRORS
+            M(dt < dec, "dt < dec")
+#End If
+#If DateTime_ERRORS
+            M(dt < sng, "dt < sng")
+#End If
+#If DateTime_ERRORS
+            M(dt < dbl, "dt < dbl")
+#End If
+#If DateTime_ERRORS
+            M(dt < chr, "dt < chr")
+#End If
+#If DateTime_ERRORS
+            M(dt < str, "dt < str")
+#End If
+            expected_tc = TypeCode.Boolean
+            M(dt < dt, "dt < dt")
+#If DateTime_ERRORS
+            M(dt < dbnull, "dt < dbnull")
+#End If
+#If Not STRICT Or DateTime_ERRORS
+            expected_tc = TypeCode.Object
+            M(dt < obj, "dt < obj")
+#End If
+#If DBNull_ERRORS
+            M(dbnull < bool, "dbnull < bool")
+#End If
+#If DBNull_ERRORS
+            M(dbnull < b, "dbnull < b")
+#End If
+#If DBNull_ERRORS
+            M(dbnull < sb, "dbnull < sb")
+#End If
+#If DBNull_ERRORS
+            M(dbnull < s, "dbnull < s")
+#End If
+#If DBNull_ERRORS
+            M(dbnull < us, "dbnull < us")
+#End If
+#If DBNull_ERRORS
+            M(dbnull < i, "dbnull < i")
+#End If
+#If DBNull_ERRORS
+            M(dbnull < ui, "dbnull < ui")
+#End If
+#If DBNull_ERRORS
+            M(dbnull < l, "dbnull < l")
+#End If
+#If DBNull_ERRORS
+            M(dbnull < ul, "dbnull < ul")
+#End If
+#If DBNull_ERRORS
+            M(dbnull < dec, "dbnull < dec")
+#End If
+#If DBNull_ERRORS
+            M(dbnull < sng, "dbnull < sng")
+#End If
+#If DBNull_ERRORS
+            M(dbnull < dbl, "dbnull < dbl")
+#End If
+#If DBNull_ERRORS
+            M(dbnull < chr, "dbnull < chr")
+#End If
+#If DBNull_ERRORS
+            M(dbnull < str, "dbnull < str")
+#End If
+#If DBNull_ERRORS
+            M(dbnull < dt, "dbnull < dt")
+#End If
+#If DBNull_ERRORS
+            M(dbnull < dbnull, "dbnull < dbnull")
+#End If
+#If DBNull_ERRORS
+            M(dbnull < obj, "dbnull < obj")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj < bool, "obj < bool")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj < b, "obj < b")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj < sb, "obj < sb")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj < s, "obj < s")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj < us, "obj < us")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj < i, "obj < i")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj < ui, "obj < ui")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj < l, "obj < l")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj < ul, "obj < ul")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj < dec, "obj < dec")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj < sng, "obj < sng")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj < dbl, "obj < dbl")
+#End If
+#If Object_ERRORS
+            M(obj < chr, "obj < chr")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj < str, "obj < str")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj < dt, "obj < dt")
+#End If
+#If Object_ERRORS
+            M(obj < dbnull, "obj < dbnull")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj < obj, "obj < obj")
+#End If
+        If failures > 0 Then Return 1
+    Catch ex As Exception
+        Console.WriteLine ("Exception: {0}", ex)
+        Return 2
+    End Try
+    Return 0
+    End Function
+End Class
diff --git a/vbnc/vbnc/tests/CompileTime2/OperatorIntrinsicLike.vb b/vbnc/vbnc/tests/CompileTime2/OperatorIntrinsicLike.vb
new file mode 100644
index 0000000..b4a32b0
--- /dev/null
+++ b/vbnc/vbnc/tests/CompileTime2/OperatorIntrinsicLike.vb
@@ -0,0 +1,1127 @@
+Class BinaryOperatorLike
+    Inherits IntrinsicOperatorTests
+    Shared Function Main As Integer
+        Try
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(bool Like bool, "bool Like bool")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(bool Like b, "bool Like b")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(bool Like sb, "bool Like sb")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(bool Like s, "bool Like s")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(bool Like us, "bool Like us")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(bool Like i, "bool Like i")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(bool Like ui, "bool Like ui")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(bool Like l, "bool Like l")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(bool Like ul, "bool Like ul")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(bool Like dec, "bool Like dec")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(bool Like sng, "bool Like sng")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(bool Like dbl, "bool Like dbl")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(bool Like chr, "bool Like chr")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(bool Like str, "bool Like str")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(bool Like dt, "bool Like dt")
+#End If
+#If Boolean_ERRORS
+            M(bool Like dbnull, "bool Like dbnull")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Object
+            M(bool Like obj, "bool Like obj")
+#End If
+#If Not STRICT Or Byte_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(b Like bool, "b Like bool")
+#End If
+#If Not STRICT Or Byte_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(b Like b, "b Like b")
+#End If
+#If Not STRICT Or Byte_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(b Like sb, "b Like sb")
+#End If
+#If Not STRICT Or Byte_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(b Like s, "b Like s")
+#End If
+#If Not STRICT Or Byte_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(b Like us, "b Like us")
+#End If
+#If Not STRICT Or Byte_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(b Like i, "b Like i")
+#End If
+#If Not STRICT Or Byte_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(b Like ui, "b Like ui")
+#End If
+#If Not STRICT Or Byte_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(b Like l, "b Like l")
+#End If
+#If Not STRICT Or Byte_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(b Like ul, "b Like ul")
+#End If
+#If Not STRICT Or Byte_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(b Like dec, "b Like dec")
+#End If
+#If Not STRICT Or Byte_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(b Like sng, "b Like sng")
+#End If
+#If Not STRICT Or Byte_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(b Like dbl, "b Like dbl")
+#End If
+#If Not STRICT Or Byte_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(b Like chr, "b Like chr")
+#End If
+#If Not STRICT Or Byte_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(b Like str, "b Like str")
+#End If
+#If Not STRICT Or Byte_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(b Like dt, "b Like dt")
+#End If
+#If Byte_ERRORS
+            M(b Like dbnull, "b Like dbnull")
+#End If
+#If Not STRICT Or Byte_ERRORS
+            expected_tc = TypeCode.Object
+            M(b Like obj, "b Like obj")
+#End If
+#If Not STRICT Or SByte_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(sb Like bool, "sb Like bool")
+#End If
+#If Not STRICT Or SByte_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(sb Like b, "sb Like b")
+#End If
+#If Not STRICT Or SByte_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(sb Like sb, "sb Like sb")
+#End If
+#If Not STRICT Or SByte_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(sb Like s, "sb Like s")
+#End If
+#If Not STRICT Or SByte_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(sb Like us, "sb Like us")
+#End If
+#If Not STRICT Or SByte_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(sb Like i, "sb Like i")
+#End If
+#If Not STRICT Or SByte_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(sb Like ui, "sb Like ui")
+#End If
+#If Not STRICT Or SByte_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(sb Like l, "sb Like l")
+#End If
+#If Not STRICT Or SByte_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(sb Like ul, "sb Like ul")
+#End If
+#If Not STRICT Or SByte_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(sb Like dec, "sb Like dec")
+#End If
+#If Not STRICT Or SByte_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(sb Like sng, "sb Like sng")
+#End If
+#If Not STRICT Or SByte_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(sb Like dbl, "sb Like dbl")
+#End If
+#If Not STRICT Or SByte_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(sb Like chr, "sb Like chr")
+#End If
+#If Not STRICT Or SByte_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(sb Like str, "sb Like str")
+#End If
+#If Not STRICT Or SByte_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(sb Like dt, "sb Like dt")
+#End If
+#If SByte_ERRORS
+            M(sb Like dbnull, "sb Like dbnull")
+#End If
+#If Not STRICT Or SByte_ERRORS
+            expected_tc = TypeCode.Object
+            M(sb Like obj, "sb Like obj")
+#End If
+#If Not STRICT Or Int16_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(s Like bool, "s Like bool")
+#End If
+#If Not STRICT Or Int16_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(s Like b, "s Like b")
+#End If
+#If Not STRICT Or Int16_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(s Like sb, "s Like sb")
+#End If
+#If Not STRICT Or Int16_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(s Like s, "s Like s")
+#End If
+#If Not STRICT Or Int16_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(s Like us, "s Like us")
+#End If
+#If Not STRICT Or Int16_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(s Like i, "s Like i")
+#End If
+#If Not STRICT Or Int16_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(s Like ui, "s Like ui")
+#End If
+#If Not STRICT Or Int16_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(s Like l, "s Like l")
+#End If
+#If Not STRICT Or Int16_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(s Like ul, "s Like ul")
+#End If
+#If Not STRICT Or Int16_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(s Like dec, "s Like dec")
+#End If
+#If Not STRICT Or Int16_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(s Like sng, "s Like sng")
+#End If
+#If Not STRICT Or Int16_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(s Like dbl, "s Like dbl")
+#End If
+#If Not STRICT Or Int16_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(s Like chr, "s Like chr")
+#End If
+#If Not STRICT Or Int16_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(s Like str, "s Like str")
+#End If
+#If Not STRICT Or Int16_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(s Like dt, "s Like dt")
+#End If
+#If Int16_ERRORS
+            M(s Like dbnull, "s Like dbnull")
+#End If
+#If Not STRICT Or Int16_ERRORS
+            expected_tc = TypeCode.Object
+            M(s Like obj, "s Like obj")
+#End If
+#If Not STRICT Or UInt16_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(us Like bool, "us Like bool")
+#End If
+#If Not STRICT Or UInt16_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(us Like b, "us Like b")
+#End If
+#If Not STRICT Or UInt16_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(us Like sb, "us Like sb")
+#End If
+#If Not STRICT Or UInt16_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(us Like s, "us Like s")
+#End If
+#If Not STRICT Or UInt16_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(us Like us, "us Like us")
+#End If
+#If Not STRICT Or UInt16_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(us Like i, "us Like i")
+#End If
+#If Not STRICT Or UInt16_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(us Like ui, "us Like ui")
+#End If
+#If Not STRICT Or UInt16_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(us Like l, "us Like l")
+#End If
+#If Not STRICT Or UInt16_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(us Like ul, "us Like ul")
+#End If
+#If Not STRICT Or UInt16_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(us Like dec, "us Like dec")
+#End If
+#If Not STRICT Or UInt16_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(us Like sng, "us Like sng")
+#End If
+#If Not STRICT Or UInt16_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(us Like dbl, "us Like dbl")
+#End If
+#If Not STRICT Or UInt16_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(us Like chr, "us Like chr")
+#End If
+#If Not STRICT Or UInt16_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(us Like str, "us Like str")
+#End If
+#If Not STRICT Or UInt16_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(us Like dt, "us Like dt")
+#End If
+#If UInt16_ERRORS
+            M(us Like dbnull, "us Like dbnull")
+#End If
+#If Not STRICT Or UInt16_ERRORS
+            expected_tc = TypeCode.Object
+            M(us Like obj, "us Like obj")
+#End If
+#If Not STRICT Or Int32_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(i Like bool, "i Like bool")
+#End If
+#If Not STRICT Or Int32_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(i Like b, "i Like b")
+#End If
+#If Not STRICT Or Int32_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(i Like sb, "i Like sb")
+#End If
+#If Not STRICT Or Int32_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(i Like s, "i Like s")
+#End If
+#If Not STRICT Or Int32_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(i Like us, "i Like us")
+#End If
+#If Not STRICT Or Int32_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(i Like i, "i Like i")
+#End If
+#If Not STRICT Or Int32_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(i Like ui, "i Like ui")
+#End If
+#If Not STRICT Or Int32_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(i Like l, "i Like l")
+#End If
+#If Not STRICT Or Int32_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(i Like ul, "i Like ul")
+#End If
+#If Not STRICT Or Int32_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(i Like dec, "i Like dec")
+#End If
+#If Not STRICT Or Int32_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(i Like sng, "i Like sng")
+#End If
+#If Not STRICT Or Int32_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(i Like dbl, "i Like dbl")
+#End If
+#If Not STRICT Or Int32_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(i Like chr, "i Like chr")
+#End If
+#If Not STRICT Or Int32_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(i Like str, "i Like str")
+#End If
+#If Not STRICT Or Int32_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(i Like dt, "i Like dt")
+#End If
+#If Int32_ERRORS
+            M(i Like dbnull, "i Like dbnull")
+#End If
+#If Not STRICT Or Int32_ERRORS
+            expected_tc = TypeCode.Object
+            M(i Like obj, "i Like obj")
+#End If
+#If Not STRICT Or UInt32_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(ui Like bool, "ui Like bool")
+#End If
+#If Not STRICT Or UInt32_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(ui Like b, "ui Like b")
+#End If
+#If Not STRICT Or UInt32_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(ui Like sb, "ui Like sb")
+#End If
+#If Not STRICT Or UInt32_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(ui Like s, "ui Like s")
+#End If
+#If Not STRICT Or UInt32_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(ui Like us, "ui Like us")
+#End If
+#If Not STRICT Or UInt32_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(ui Like i, "ui Like i")
+#End If
+#If Not STRICT Or UInt32_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(ui Like ui, "ui Like ui")
+#End If
+#If Not STRICT Or UInt32_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(ui Like l, "ui Like l")
+#End If
+#If Not STRICT Or UInt32_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(ui Like ul, "ui Like ul")
+#End If
+#If Not STRICT Or UInt32_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(ui Like dec, "ui Like dec")
+#End If
+#If Not STRICT Or UInt32_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(ui Like sng, "ui Like sng")
+#End If
+#If Not STRICT Or UInt32_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(ui Like dbl, "ui Like dbl")
+#End If
+#If Not STRICT Or UInt32_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(ui Like chr, "ui Like chr")
+#End If
+#If Not STRICT Or UInt32_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(ui Like str, "ui Like str")
+#End If
+#If Not STRICT Or UInt32_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(ui Like dt, "ui Like dt")
+#End If
+#If UInt32_ERRORS
+            M(ui Like dbnull, "ui Like dbnull")
+#End If
+#If Not STRICT Or UInt32_ERRORS
+            expected_tc = TypeCode.Object
+            M(ui Like obj, "ui Like obj")
+#End If
+#If Not STRICT Or Int64_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(l Like bool, "l Like bool")
+#End If
+#If Not STRICT Or Int64_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(l Like b, "l Like b")
+#End If
+#If Not STRICT Or Int64_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(l Like sb, "l Like sb")
+#End If
+#If Not STRICT Or Int64_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(l Like s, "l Like s")
+#End If
+#If Not STRICT Or Int64_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(l Like us, "l Like us")
+#End If
+#If Not STRICT Or Int64_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(l Like i, "l Like i")
+#End If
+#If Not STRICT Or Int64_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(l Like ui, "l Like ui")
+#End If
+#If Not STRICT Or Int64_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(l Like l, "l Like l")
+#End If
+#If Not STRICT Or Int64_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(l Like ul, "l Like ul")
+#End If
+#If Not STRICT Or Int64_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(l Like dec, "l Like dec")
+#End If
+#If Not STRICT Or Int64_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(l Like sng, "l Like sng")
+#End If
+#If Not STRICT Or Int64_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(l Like dbl, "l Like dbl")
+#End If
+#If Not STRICT Or Int64_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(l Like chr, "l Like chr")
+#End If
+#If Not STRICT Or Int64_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(l Like str, "l Like str")
+#End If
+#If Not STRICT Or Int64_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(l Like dt, "l Like dt")
+#End If
+#If Int64_ERRORS
+            M(l Like dbnull, "l Like dbnull")
+#End If
+#If Not STRICT Or Int64_ERRORS
+            expected_tc = TypeCode.Object
+            M(l Like obj, "l Like obj")
+#End If
+#If Not STRICT Or UInt64_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(ul Like bool, "ul Like bool")
+#End If
+#If Not STRICT Or UInt64_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(ul Like b, "ul Like b")
+#End If
+#If Not STRICT Or UInt64_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(ul Like sb, "ul Like sb")
+#End If
+#If Not STRICT Or UInt64_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(ul Like s, "ul Like s")
+#End If
+#If Not STRICT Or UInt64_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(ul Like us, "ul Like us")
+#End If
+#If Not STRICT Or UInt64_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(ul Like i, "ul Like i")
+#End If
+#If Not STRICT Or UInt64_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(ul Like ui, "ul Like ui")
+#End If
+#If Not STRICT Or UInt64_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(ul Like l, "ul Like l")
+#End If
+#If Not STRICT Or UInt64_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(ul Like ul, "ul Like ul")
+#End If
+#If Not STRICT Or UInt64_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(ul Like dec, "ul Like dec")
+#End If
+#If Not STRICT Or UInt64_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(ul Like sng, "ul Like sng")
+#End If
+#If Not STRICT Or UInt64_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(ul Like dbl, "ul Like dbl")
+#End If
+#If Not STRICT Or UInt64_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(ul Like chr, "ul Like chr")
+#End If
+#If Not STRICT Or UInt64_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(ul Like str, "ul Like str")
+#End If
+#If Not STRICT Or UInt64_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(ul Like dt, "ul Like dt")
+#End If
+#If UInt64_ERRORS
+            M(ul Like dbnull, "ul Like dbnull")
+#End If
+#If Not STRICT Or UInt64_ERRORS
+            expected_tc = TypeCode.Object
+            M(ul Like obj, "ul Like obj")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(dec Like bool, "dec Like bool")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(dec Like b, "dec Like b")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(dec Like sb, "dec Like sb")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(dec Like s, "dec Like s")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(dec Like us, "dec Like us")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(dec Like i, "dec Like i")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(dec Like ui, "dec Like ui")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(dec Like l, "dec Like l")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(dec Like ul, "dec Like ul")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(dec Like dec, "dec Like dec")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(dec Like sng, "dec Like sng")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(dec Like dbl, "dec Like dbl")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(dec Like chr, "dec Like chr")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(dec Like str, "dec Like str")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(dec Like dt, "dec Like dt")
+#End If
+#If Decimal_ERRORS
+            M(dec Like dbnull, "dec Like dbnull")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Object
+            M(dec Like obj, "dec Like obj")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(sng Like bool, "sng Like bool")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(sng Like b, "sng Like b")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(sng Like sb, "sng Like sb")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(sng Like s, "sng Like s")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(sng Like us, "sng Like us")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(sng Like i, "sng Like i")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(sng Like ui, "sng Like ui")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(sng Like l, "sng Like l")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(sng Like ul, "sng Like ul")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(sng Like dec, "sng Like dec")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(sng Like sng, "sng Like sng")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(sng Like dbl, "sng Like dbl")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(sng Like chr, "sng Like chr")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(sng Like str, "sng Like str")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(sng Like dt, "sng Like dt")
+#End If
+#If Single_ERRORS
+            M(sng Like dbnull, "sng Like dbnull")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Object
+            M(sng Like obj, "sng Like obj")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(dbl Like bool, "dbl Like bool")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(dbl Like b, "dbl Like b")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(dbl Like sb, "dbl Like sb")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(dbl Like s, "dbl Like s")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(dbl Like us, "dbl Like us")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(dbl Like i, "dbl Like i")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(dbl Like ui, "dbl Like ui")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(dbl Like l, "dbl Like l")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(dbl Like ul, "dbl Like ul")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(dbl Like dec, "dbl Like dec")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(dbl Like sng, "dbl Like sng")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(dbl Like dbl, "dbl Like dbl")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(dbl Like chr, "dbl Like chr")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(dbl Like str, "dbl Like str")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(dbl Like dt, "dbl Like dt")
+#End If
+#If Double_ERRORS
+            M(dbl Like dbnull, "dbl Like dbnull")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Object
+            M(dbl Like obj, "dbl Like obj")
+#End If
+#If Not STRICT Or Char_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(chr Like bool, "chr Like bool")
+#End If
+#If Not STRICT Or Char_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(chr Like b, "chr Like b")
+#End If
+#If Not STRICT Or Char_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(chr Like sb, "chr Like sb")
+#End If
+#If Not STRICT Or Char_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(chr Like s, "chr Like s")
+#End If
+#If Not STRICT Or Char_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(chr Like us, "chr Like us")
+#End If
+#If Not STRICT Or Char_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(chr Like i, "chr Like i")
+#End If
+#If Not STRICT Or Char_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(chr Like ui, "chr Like ui")
+#End If
+#If Not STRICT Or Char_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(chr Like l, "chr Like l")
+#End If
+#If Not STRICT Or Char_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(chr Like ul, "chr Like ul")
+#End If
+#If Not STRICT Or Char_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(chr Like dec, "chr Like dec")
+#End If
+#If Not STRICT Or Char_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(chr Like sng, "chr Like sng")
+#End If
+#If Not STRICT Or Char_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(chr Like dbl, "chr Like dbl")
+#End If
+            expected_tc = TypeCode.Boolean
+            M(chr Like chr, "chr Like chr")
+            expected_tc = TypeCode.Boolean
+            M(chr Like str, "chr Like str")
+#If Not STRICT Or Char_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(chr Like dt, "chr Like dt")
+#End If
+#If Char_ERRORS
+            M(chr Like dbnull, "chr Like dbnull")
+#End If
+#If Not STRICT Or Char_ERRORS
+            expected_tc = TypeCode.Object
+            M(chr Like obj, "chr Like obj")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(str Like bool, "str Like bool")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(str Like b, "str Like b")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(str Like sb, "str Like sb")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(str Like s, "str Like s")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(str Like us, "str Like us")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(str Like i, "str Like i")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(str Like ui, "str Like ui")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(str Like l, "str Like l")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(str Like ul, "str Like ul")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(str Like dec, "str Like dec")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(str Like sng, "str Like sng")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(str Like dbl, "str Like dbl")
+#End If
+            expected_tc = TypeCode.Boolean
+            M(str Like chr, "str Like chr")
+            expected_tc = TypeCode.Boolean
+            M(str Like str, "str Like str")
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(str Like dt, "str Like dt")
+#End If
+#If String_ERRORS
+            M(str Like dbnull, "str Like dbnull")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Object
+            M(str Like obj, "str Like obj")
+#End If
+#If Not STRICT Or DateTime_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(dt Like bool, "dt Like bool")
+#End If
+#If Not STRICT Or DateTime_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(dt Like b, "dt Like b")
+#End If
+#If Not STRICT Or DateTime_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(dt Like sb, "dt Like sb")
+#End If
+#If Not STRICT Or DateTime_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(dt Like s, "dt Like s")
+#End If
+#If Not STRICT Or DateTime_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(dt Like us, "dt Like us")
+#End If
+#If Not STRICT Or DateTime_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(dt Like i, "dt Like i")
+#End If
+#If Not STRICT Or DateTime_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(dt Like ui, "dt Like ui")
+#End If
+#If Not STRICT Or DateTime_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(dt Like l, "dt Like l")
+#End If
+#If Not STRICT Or DateTime_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(dt Like ul, "dt Like ul")
+#End If
+#If Not STRICT Or DateTime_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(dt Like dec, "dt Like dec")
+#End If
+#If Not STRICT Or DateTime_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(dt Like sng, "dt Like sng")
+#End If
+#If Not STRICT Or DateTime_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(dt Like dbl, "dt Like dbl")
+#End If
+#If Not STRICT Or DateTime_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(dt Like chr, "dt Like chr")
+#End If
+#If Not STRICT Or DateTime_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(dt Like str, "dt Like str")
+#End If
+#If Not STRICT Or DateTime_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(dt Like dt, "dt Like dt")
+#End If
+#If DateTime_ERRORS
+            M(dt Like dbnull, "dt Like dbnull")
+#End If
+#If Not STRICT Or DateTime_ERRORS
+            expected_tc = TypeCode.Object
+            M(dt Like obj, "dt Like obj")
+#End If
+#If DBNull_ERRORS
+            M(dbnull Like bool, "dbnull Like bool")
+#End If
+#If DBNull_ERRORS
+            M(dbnull Like b, "dbnull Like b")
+#End If
+#If DBNull_ERRORS
+            M(dbnull Like sb, "dbnull Like sb")
+#End If
+#If DBNull_ERRORS
+            M(dbnull Like s, "dbnull Like s")
+#End If
+#If DBNull_ERRORS
+            M(dbnull Like us, "dbnull Like us")
+#End If
+#If DBNull_ERRORS
+            M(dbnull Like i, "dbnull Like i")
+#End If
+#If DBNull_ERRORS
+            M(dbnull Like ui, "dbnull Like ui")
+#End If
+#If DBNull_ERRORS
+            M(dbnull Like l, "dbnull Like l")
+#End If
+#If DBNull_ERRORS
+            M(dbnull Like ul, "dbnull Like ul")
+#End If
+#If DBNull_ERRORS
+            M(dbnull Like dec, "dbnull Like dec")
+#End If
+#If DBNull_ERRORS
+            M(dbnull Like sng, "dbnull Like sng")
+#End If
+#If DBNull_ERRORS
+            M(dbnull Like dbl, "dbnull Like dbl")
+#End If
+#If DBNull_ERRORS
+            M(dbnull Like chr, "dbnull Like chr")
+#End If
+#If DBNull_ERRORS
+            M(dbnull Like str, "dbnull Like str")
+#End If
+#If DBNull_ERRORS
+            M(dbnull Like dt, "dbnull Like dt")
+#End If
+#If DBNull_ERRORS
+            M(dbnull Like dbnull, "dbnull Like dbnull")
+#End If
+#If DBNull_ERRORS
+            M(dbnull Like obj, "dbnull Like obj")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj Like bool, "obj Like bool")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj Like b, "obj Like b")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj Like sb, "obj Like sb")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj Like s, "obj Like s")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj Like us, "obj Like us")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj Like i, "obj Like i")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj Like ui, "obj Like ui")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj Like l, "obj Like l")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj Like ul, "obj Like ul")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj Like dec, "obj Like dec")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj Like sng, "obj Like sng")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj Like dbl, "obj Like dbl")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj Like chr, "obj Like chr")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj Like str, "obj Like str")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj Like dt, "obj Like dt")
+#End If
+#If Object_ERRORS
+            M(obj Like dbnull, "obj Like dbnull")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj Like obj, "obj Like obj")
+#End If
+        If failures > 0 Then Return 1
+    Catch ex As Exception
+        Console.WriteLine ("Exception: {0}", ex)
+        Return 2
+    End Try
+    Return 0
+    End Function
+End Class
diff --git a/vbnc/vbnc/tests/CompileTime2/OperatorIntrinsicMod.vb b/vbnc/vbnc/tests/CompileTime2/OperatorIntrinsicMod.vb
new file mode 100644
index 0000000..ba55c18
--- /dev/null
+++ b/vbnc/vbnc/tests/CompileTime2/OperatorIntrinsicMod.vb
@@ -0,0 +1,834 @@
+Class BinaryOperatorMod
+    Inherits IntrinsicOperatorTests
+    Shared Function Main As Integer
+        Try
+            obj = 1
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Int16
+            M(bool Mod bool, "bool Mod bool")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Int16
+            M(bool Mod b, "bool Mod b")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.SByte
+            M(bool Mod sb, "bool Mod sb")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Int16
+            M(bool Mod s, "bool Mod s")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Int32
+            M(bool Mod us, "bool Mod us")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Int32
+            M(bool Mod i, "bool Mod i")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Int64
+            M(bool Mod ui, "bool Mod ui")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Int64
+            M(bool Mod l, "bool Mod l")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Decimal
+            M(bool Mod ul, "bool Mod ul")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Decimal
+            M(bool Mod dec, "bool Mod dec")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Single
+            M(bool Mod sng, "bool Mod sng")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Double
+            M(bool Mod dbl, "bool Mod dbl")
+#End If
+#If Boolean_ERRORS
+            M(bool Mod chr, "bool Mod chr")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Double
+            M(bool Mod str, "bool Mod str")
+#End If
+#If Boolean_ERRORS
+            M(bool Mod dt, "bool Mod dt")
+#End If
+#If Boolean_ERRORS
+            M(bool Mod dbnull, "bool Mod dbnull")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Object
+            M(bool Mod obj, "bool Mod obj")
+#End If
+#If Not STRICT Or Byte_ERRORS
+            expected_tc = TypeCode.Int16
+            M(b Mod bool, "b Mod bool")
+#End If
+            expected_tc = TypeCode.Byte
+            M(b Mod b, "b Mod b")
+            expected_tc = TypeCode.Int16
+            M(b Mod sb, "b Mod sb")
+            expected_tc = TypeCode.Int16
+            M(b Mod s, "b Mod s")
+            expected_tc = TypeCode.UInt16
+            M(b Mod us, "b Mod us")
+            expected_tc = TypeCode.Int32
+            M(b Mod i, "b Mod i")
+            expected_tc = TypeCode.UInt32
+            M(b Mod ui, "b Mod ui")
+            expected_tc = TypeCode.Int64
+            M(b Mod l, "b Mod l")
+            expected_tc = TypeCode.UInt64
+            M(b Mod ul, "b Mod ul")
+            expected_tc = TypeCode.Decimal
+            M(b Mod dec, "b Mod dec")
+            expected_tc = TypeCode.Single
+            M(b Mod sng, "b Mod sng")
+            expected_tc = TypeCode.Double
+            M(b Mod dbl, "b Mod dbl")
+#If Byte_ERRORS
+            M(b Mod chr, "b Mod chr")
+#End If
+#If Not STRICT Or Byte_ERRORS
+            expected_tc = TypeCode.Double
+            M(b Mod str, "b Mod str")
+#End If
+#If Byte_ERRORS
+            M(b Mod dt, "b Mod dt")
+#End If
+#If Byte_ERRORS
+            M(b Mod dbnull, "b Mod dbnull")
+#End If
+#If Not STRICT Or Byte_ERRORS
+            expected_tc = TypeCode.Object
+            M(b Mod obj, "b Mod obj")
+#End If
+#If Not STRICT Or SByte_ERRORS
+            expected_tc = TypeCode.SByte
+            M(sb Mod bool, "sb Mod bool")
+#End If
+            expected_tc = TypeCode.Int16
+            M(sb Mod b, "sb Mod b")
+            expected_tc = TypeCode.SByte
+            M(sb Mod sb, "sb Mod sb")
+            expected_tc = TypeCode.Int16
+            M(sb Mod s, "sb Mod s")
+            expected_tc = TypeCode.Int32
+            M(sb Mod us, "sb Mod us")
+            expected_tc = TypeCode.Int32
+            M(sb Mod i, "sb Mod i")
+            expected_tc = TypeCode.Int64
+            M(sb Mod ui, "sb Mod ui")
+            expected_tc = TypeCode.Int64
+            M(sb Mod l, "sb Mod l")
+            expected_tc = TypeCode.Decimal
+            M(sb Mod ul, "sb Mod ul")
+            expected_tc = TypeCode.Decimal
+            M(sb Mod dec, "sb Mod dec")
+            expected_tc = TypeCode.Single
+            M(sb Mod sng, "sb Mod sng")
+            expected_tc = TypeCode.Double
+            M(sb Mod dbl, "sb Mod dbl")
+#If SByte_ERRORS
+            M(sb Mod chr, "sb Mod chr")
+#End If
+#If Not STRICT Or SByte_ERRORS
+            expected_tc = TypeCode.Double
+            M(sb Mod str, "sb Mod str")
+#End If
+#If SByte_ERRORS
+            M(sb Mod dt, "sb Mod dt")
+#End If
+#If SByte_ERRORS
+            M(sb Mod dbnull, "sb Mod dbnull")
+#End If
+#If Not STRICT Or SByte_ERRORS
+            expected_tc = TypeCode.Object
+            M(sb Mod obj, "sb Mod obj")
+#End If
+#If Not STRICT Or Int16_ERRORS
+            expected_tc = TypeCode.Int16
+            M(s Mod bool, "s Mod bool")
+#End If
+            expected_tc = TypeCode.Int16
+            M(s Mod b, "s Mod b")
+            expected_tc = TypeCode.Int16
+            M(s Mod sb, "s Mod sb")
+            expected_tc = TypeCode.Int16
+            M(s Mod s, "s Mod s")
+            expected_tc = TypeCode.Int32
+            M(s Mod us, "s Mod us")
+            expected_tc = TypeCode.Int32
+            M(s Mod i, "s Mod i")
+            expected_tc = TypeCode.Int64
+            M(s Mod ui, "s Mod ui")
+            expected_tc = TypeCode.Int64
+            M(s Mod l, "s Mod l")
+            expected_tc = TypeCode.Decimal
+            M(s Mod ul, "s Mod ul")
+            expected_tc = TypeCode.Decimal
+            M(s Mod dec, "s Mod dec")
+            expected_tc = TypeCode.Single
+            M(s Mod sng, "s Mod sng")
+            expected_tc = TypeCode.Double
+            M(s Mod dbl, "s Mod dbl")
+#If Int16_ERRORS
+            M(s Mod chr, "s Mod chr")
+#End If
+#If Not STRICT Or Int16_ERRORS
+            expected_tc = TypeCode.Double
+            M(s Mod str, "s Mod str")
+#End If
+#If Int16_ERRORS
+            M(s Mod dt, "s Mod dt")
+#End If
+#If Int16_ERRORS
+            M(s Mod dbnull, "s Mod dbnull")
+#End If
+#If Not STRICT Or Int16_ERRORS
+            expected_tc = TypeCode.Object
+            M(s Mod obj, "s Mod obj")
+#End If
+#If Not STRICT Or UInt16_ERRORS
+            expected_tc = TypeCode.Int32
+            M(us Mod bool, "us Mod bool")
+#End If
+            expected_tc = TypeCode.UInt16
+            M(us Mod b, "us Mod b")
+            expected_tc = TypeCode.Int32
+            M(us Mod sb, "us Mod sb")
+            expected_tc = TypeCode.Int32
+            M(us Mod s, "us Mod s")
+            expected_tc = TypeCode.UInt16
+            M(us Mod us, "us Mod us")
+            expected_tc = TypeCode.Int32
+            M(us Mod i, "us Mod i")
+            expected_tc = TypeCode.UInt32
+            M(us Mod ui, "us Mod ui")
+            expected_tc = TypeCode.Int64
+            M(us Mod l, "us Mod l")
+            expected_tc = TypeCode.UInt64
+            M(us Mod ul, "us Mod ul")
+            expected_tc = TypeCode.Decimal
+            M(us Mod dec, "us Mod dec")
+            expected_tc = TypeCode.Single
+            M(us Mod sng, "us Mod sng")
+            expected_tc = TypeCode.Double
+            M(us Mod dbl, "us Mod dbl")
+#If UInt16_ERRORS
+            M(us Mod chr, "us Mod chr")
+#End If
+#If Not STRICT Or UInt16_ERRORS
+            expected_tc = TypeCode.Double
+            M(us Mod str, "us Mod str")
+#End If
+#If UInt16_ERRORS
+            M(us Mod dt, "us Mod dt")
+#End If
+#If UInt16_ERRORS
+            M(us Mod dbnull, "us Mod dbnull")
+#End If
+#If Not STRICT Or UInt16_ERRORS
+            expected_tc = TypeCode.Object
+            M(us Mod obj, "us Mod obj")
+#End If
+#If Not STRICT Or Int32_ERRORS
+            expected_tc = TypeCode.Int32
+            M(i Mod bool, "i Mod bool")
+#End If
+            expected_tc = TypeCode.Int32
+            M(i Mod b, "i Mod b")
+            expected_tc = TypeCode.Int32
+            M(i Mod sb, "i Mod sb")
+            expected_tc = TypeCode.Int32
+            M(i Mod s, "i Mod s")
+            expected_tc = TypeCode.Int32
+            M(i Mod us, "i Mod us")
+            expected_tc = TypeCode.Int32
+            M(i Mod i, "i Mod i")
+            expected_tc = TypeCode.Int64
+            M(i Mod ui, "i Mod ui")
+            expected_tc = TypeCode.Int64
+            M(i Mod l, "i Mod l")
+            expected_tc = TypeCode.Decimal
+            M(i Mod ul, "i Mod ul")
+            expected_tc = TypeCode.Decimal
+            M(i Mod dec, "i Mod dec")
+            expected_tc = TypeCode.Single
+            M(i Mod sng, "i Mod sng")
+            expected_tc = TypeCode.Double
+            M(i Mod dbl, "i Mod dbl")
+#If Int32_ERRORS
+            M(i Mod chr, "i Mod chr")
+#End If
+#If Not STRICT Or Int32_ERRORS
+            expected_tc = TypeCode.Double
+            M(i Mod str, "i Mod str")
+#End If
+#If Int32_ERRORS
+            M(i Mod dt, "i Mod dt")
+#End If
+#If Int32_ERRORS
+            M(i Mod dbnull, "i Mod dbnull")
+#End If
+#If Not STRICT Or Int32_ERRORS
+            expected_tc = TypeCode.Object
+            M(i Mod obj, "i Mod obj")
+#End If
+#If Not STRICT Or UInt32_ERRORS
+            expected_tc = TypeCode.Int64
+            M(ui Mod bool, "ui Mod bool")
+#End If
+            expected_tc = TypeCode.UInt32
+            M(ui Mod b, "ui Mod b")
+            expected_tc = TypeCode.Int64
+            M(ui Mod sb, "ui Mod sb")
+            expected_tc = TypeCode.Int64
+            M(ui Mod s, "ui Mod s")
+            expected_tc = TypeCode.UInt32
+            M(ui Mod us, "ui Mod us")
+            expected_tc = TypeCode.Int64
+            M(ui Mod i, "ui Mod i")
+            expected_tc = TypeCode.UInt32
+            M(ui Mod ui, "ui Mod ui")
+            expected_tc = TypeCode.Int64
+            M(ui Mod l, "ui Mod l")
+            expected_tc = TypeCode.UInt64
+            M(ui Mod ul, "ui Mod ul")
+            expected_tc = TypeCode.Decimal
+            M(ui Mod dec, "ui Mod dec")
+            expected_tc = TypeCode.Single
+            M(ui Mod sng, "ui Mod sng")
+            expected_tc = TypeCode.Double
+            M(ui Mod dbl, "ui Mod dbl")
+#If UInt32_ERRORS
+            M(ui Mod chr, "ui Mod chr")
+#End If
+#If Not STRICT Or UInt32_ERRORS
+            expected_tc = TypeCode.Double
+            M(ui Mod str, "ui Mod str")
+#End If
+#If UInt32_ERRORS
+            M(ui Mod dt, "ui Mod dt")
+#End If
+#If UInt32_ERRORS
+            M(ui Mod dbnull, "ui Mod dbnull")
+#End If
+#If Not STRICT Or UInt32_ERRORS
+            expected_tc = TypeCode.Object
+            M(ui Mod obj, "ui Mod obj")
+#End If
+#If Not STRICT Or Int64_ERRORS
+            expected_tc = TypeCode.Int64
+            M(l Mod bool, "l Mod bool")
+#End If
+            expected_tc = TypeCode.Int64
+            M(l Mod b, "l Mod b")
+            expected_tc = TypeCode.Int64
+            M(l Mod sb, "l Mod sb")
+            expected_tc = TypeCode.Int64
+            M(l Mod s, "l Mod s")
+            expected_tc = TypeCode.Int64
+            M(l Mod us, "l Mod us")
+            expected_tc = TypeCode.Int64
+            M(l Mod i, "l Mod i")
+            expected_tc = TypeCode.Int64
+            M(l Mod ui, "l Mod ui")
+            expected_tc = TypeCode.Int64
+            M(l Mod l, "l Mod l")
+            expected_tc = TypeCode.Decimal
+            M(l Mod ul, "l Mod ul")
+            expected_tc = TypeCode.Decimal
+            M(l Mod dec, "l Mod dec")
+            expected_tc = TypeCode.Single
+            M(l Mod sng, "l Mod sng")
+            expected_tc = TypeCode.Double
+            M(l Mod dbl, "l Mod dbl")
+#If Int64_ERRORS
+            M(l Mod chr, "l Mod chr")
+#End If
+#If Not STRICT Or Int64_ERRORS
+            expected_tc = TypeCode.Double
+            M(l Mod str, "l Mod str")
+#End If
+#If Int64_ERRORS
+            M(l Mod dt, "l Mod dt")
+#End If
+#If Int64_ERRORS
+            M(l Mod dbnull, "l Mod dbnull")
+#End If
+#If Not STRICT Or Int64_ERRORS
+            expected_tc = TypeCode.Object
+            M(l Mod obj, "l Mod obj")
+#End If
+#If Not STRICT Or UInt64_ERRORS
+            expected_tc = TypeCode.Decimal
+            M(ul Mod bool, "ul Mod bool")
+#End If
+            expected_tc = TypeCode.UInt64
+            M(ul Mod b, "ul Mod b")
+            expected_tc = TypeCode.Decimal
+            M(ul Mod sb, "ul Mod sb")
+            expected_tc = TypeCode.Decimal
+            M(ul Mod s, "ul Mod s")
+            expected_tc = TypeCode.UInt64
+            M(ul Mod us, "ul Mod us")
+            expected_tc = TypeCode.Decimal
+            M(ul Mod i, "ul Mod i")
+            expected_tc = TypeCode.UInt64
+            M(ul Mod ui, "ul Mod ui")
+            expected_tc = TypeCode.Decimal
+            M(ul Mod l, "ul Mod l")
+            expected_tc = TypeCode.UInt64
+            M(ul Mod ul, "ul Mod ul")
+            expected_tc = TypeCode.Decimal
+            M(ul Mod dec, "ul Mod dec")
+            expected_tc = TypeCode.Single
+            M(ul Mod sng, "ul Mod sng")
+            expected_tc = TypeCode.Double
+            M(ul Mod dbl, "ul Mod dbl")
+#If UInt64_ERRORS
+            M(ul Mod chr, "ul Mod chr")
+#End If
+#If Not STRICT Or UInt64_ERRORS
+            expected_tc = TypeCode.Double
+            M(ul Mod str, "ul Mod str")
+#End If
+#If UInt64_ERRORS
+            M(ul Mod dt, "ul Mod dt")
+#End If
+#If UInt64_ERRORS
+            M(ul Mod dbnull, "ul Mod dbnull")
+#End If
+#If Not STRICT Or UInt64_ERRORS
+            expected_tc = TypeCode.Object
+            M(ul Mod obj, "ul Mod obj")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Decimal
+            M(dec Mod bool, "dec Mod bool")
+#End If
+            expected_tc = TypeCode.Decimal
+            M(dec Mod b, "dec Mod b")
+            expected_tc = TypeCode.Decimal
+            M(dec Mod sb, "dec Mod sb")
+            expected_tc = TypeCode.Decimal
+            M(dec Mod s, "dec Mod s")
+            expected_tc = TypeCode.Decimal
+            M(dec Mod us, "dec Mod us")
+            expected_tc = TypeCode.Decimal
+            M(dec Mod i, "dec Mod i")
+            expected_tc = TypeCode.Decimal
+            M(dec Mod ui, "dec Mod ui")
+            expected_tc = TypeCode.Decimal
+            M(dec Mod l, "dec Mod l")
+            expected_tc = TypeCode.Decimal
+            M(dec Mod ul, "dec Mod ul")
+            expected_tc = TypeCode.Decimal
+            M(dec Mod dec, "dec Mod dec")
+            expected_tc = TypeCode.Single
+            M(dec Mod sng, "dec Mod sng")
+            expected_tc = TypeCode.Double
+            M(dec Mod dbl, "dec Mod dbl")
+#If Decimal_ERRORS
+            M(dec Mod chr, "dec Mod chr")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Double
+            M(dec Mod str, "dec Mod str")
+#End If
+#If Decimal_ERRORS
+            M(dec Mod dt, "dec Mod dt")
+#End If
+#If Decimal_ERRORS
+            M(dec Mod dbnull, "dec Mod dbnull")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Object
+            M(dec Mod obj, "dec Mod obj")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Single
+            M(sng Mod bool, "sng Mod bool")
+#End If
+            expected_tc = TypeCode.Single
+            M(sng Mod b, "sng Mod b")
+            expected_tc = TypeCode.Single
+            M(sng Mod sb, "sng Mod sb")
+            expected_tc = TypeCode.Single
+            M(sng Mod s, "sng Mod s")
+            expected_tc = TypeCode.Single
+            M(sng Mod us, "sng Mod us")
+            expected_tc = TypeCode.Single
+            M(sng Mod i, "sng Mod i")
+            expected_tc = TypeCode.Single
+            M(sng Mod ui, "sng Mod ui")
+            expected_tc = TypeCode.Single
+            M(sng Mod l, "sng Mod l")
+            expected_tc = TypeCode.Single
+            M(sng Mod ul, "sng Mod ul")
+            expected_tc = TypeCode.Single
+            M(sng Mod dec, "sng Mod dec")
+            expected_tc = TypeCode.Single
+            M(sng Mod sng, "sng Mod sng")
+            expected_tc = TypeCode.Double
+            M(sng Mod dbl, "sng Mod dbl")
+#If Single_ERRORS
+            M(sng Mod chr, "sng Mod chr")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Double
+            M(sng Mod str, "sng Mod str")
+#End If
+#If Single_ERRORS
+            M(sng Mod dt, "sng Mod dt")
+#End If
+#If Single_ERRORS
+            M(sng Mod dbnull, "sng Mod dbnull")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Object
+            M(sng Mod obj, "sng Mod obj")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Double
+            M(dbl Mod bool, "dbl Mod bool")
+#End If
+            expected_tc = TypeCode.Double
+            M(dbl Mod b, "dbl Mod b")
+            expected_tc = TypeCode.Double
+            M(dbl Mod sb, "dbl Mod sb")
+            expected_tc = TypeCode.Double
+            M(dbl Mod s, "dbl Mod s")
+            expected_tc = TypeCode.Double
+            M(dbl Mod us, "dbl Mod us")
+            expected_tc = TypeCode.Double
+            M(dbl Mod i, "dbl Mod i")
+            expected_tc = TypeCode.Double
+            M(dbl Mod ui, "dbl Mod ui")
+            expected_tc = TypeCode.Double
+            M(dbl Mod l, "dbl Mod l")
+            expected_tc = TypeCode.Double
+            M(dbl Mod ul, "dbl Mod ul")
+            expected_tc = TypeCode.Double
+            M(dbl Mod dec, "dbl Mod dec")
+            expected_tc = TypeCode.Double
+            M(dbl Mod sng, "dbl Mod sng")
+            expected_tc = TypeCode.Double
+            M(dbl Mod dbl, "dbl Mod dbl")
+#If Double_ERRORS
+            M(dbl Mod chr, "dbl Mod chr")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Double
+            M(dbl Mod str, "dbl Mod str")
+#End If
+#If Double_ERRORS
+            M(dbl Mod dt, "dbl Mod dt")
+#End If
+#If Double_ERRORS
+            M(dbl Mod dbnull, "dbl Mod dbnull")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Object
+            M(dbl Mod obj, "dbl Mod obj")
+#End If
+#If Char_ERRORS
+            M(chr Mod bool, "chr Mod bool")
+#End If
+#If Char_ERRORS
+            M(chr Mod b, "chr Mod b")
+#End If
+#If Char_ERRORS
+            M(chr Mod sb, "chr Mod sb")
+#End If
+#If Char_ERRORS
+            M(chr Mod s, "chr Mod s")
+#End If
+#If Char_ERRORS
+            M(chr Mod us, "chr Mod us")
+#End If
+#If Char_ERRORS
+            M(chr Mod i, "chr Mod i")
+#End If
+#If Char_ERRORS
+            M(chr Mod ui, "chr Mod ui")
+#End If
+#If Char_ERRORS
+            M(chr Mod l, "chr Mod l")
+#End If
+#If Char_ERRORS
+            M(chr Mod ul, "chr Mod ul")
+#End If
+#If Char_ERRORS
+            M(chr Mod dec, "chr Mod dec")
+#End If
+#If Char_ERRORS
+            M(chr Mod sng, "chr Mod sng")
+#End If
+#If Char_ERRORS
+            M(chr Mod dbl, "chr Mod dbl")
+#End If
+#If Char_ERRORS
+            M(chr Mod chr, "chr Mod chr")
+#End If
+#If Char_ERRORS
+            M(chr Mod str, "chr Mod str")
+#End If
+#If Char_ERRORS
+            M(chr Mod dt, "chr Mod dt")
+#End If
+#If Char_ERRORS
+            M(chr Mod dbnull, "chr Mod dbnull")
+#End If
+#If Char_ERRORS
+            M(chr Mod obj, "chr Mod obj")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Double
+            M(str Mod bool, "str Mod bool")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Double
+            M(str Mod b, "str Mod b")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Double
+            M(str Mod sb, "str Mod sb")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Double
+            M(str Mod s, "str Mod s")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Double
+            M(str Mod us, "str Mod us")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Double
+            M(str Mod i, "str Mod i")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Double
+            M(str Mod ui, "str Mod ui")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Double
+            M(str Mod l, "str Mod l")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Double
+            M(str Mod ul, "str Mod ul")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Double
+            M(str Mod dec, "str Mod dec")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Double
+            M(str Mod sng, "str Mod sng")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Double
+            M(str Mod dbl, "str Mod dbl")
+#End If
+#If String_ERRORS
+            M(str Mod chr, "str Mod chr")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Double
+            M(str Mod str, "str Mod str")
+#End If
+#If String_ERRORS
+            M(str Mod dt, "str Mod dt")
+#End If
+#If String_ERRORS
+            M(str Mod dbnull, "str Mod dbnull")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Object
+            M(str Mod obj, "str Mod obj")
+#End If
+#If DateTime_ERRORS
+            M(dt Mod bool, "dt Mod bool")
+#End If
+#If DateTime_ERRORS
+            M(dt Mod b, "dt Mod b")
+#End If
+#If DateTime_ERRORS
+            M(dt Mod sb, "dt Mod sb")
+#End If
+#If DateTime_ERRORS
+            M(dt Mod s, "dt Mod s")
+#End If
+#If DateTime_ERRORS
+            M(dt Mod us, "dt Mod us")
+#End If
+#If DateTime_ERRORS
+            M(dt Mod i, "dt Mod i")
+#End If
+#If DateTime_ERRORS
+            M(dt Mod ui, "dt Mod ui")
+#End If
+#If DateTime_ERRORS
+            M(dt Mod l, "dt Mod l")
+#End If
+#If DateTime_ERRORS
+            M(dt Mod ul, "dt Mod ul")
+#End If
+#If DateTime_ERRORS
+            M(dt Mod dec, "dt Mod dec")
+#End If
+#If DateTime_ERRORS
+            M(dt Mod sng, "dt Mod sng")
+#End If
+#If DateTime_ERRORS
+            M(dt Mod dbl, "dt Mod dbl")
+#End If
+#If DateTime_ERRORS
+            M(dt Mod chr, "dt Mod chr")
+#End If
+#If DateTime_ERRORS
+            M(dt Mod str, "dt Mod str")
+#End If
+#If DateTime_ERRORS
+            M(dt Mod dt, "dt Mod dt")
+#End If
+#If DateTime_ERRORS
+            M(dt Mod dbnull, "dt Mod dbnull")
+#End If
+#If DateTime_ERRORS
+            M(dt Mod obj, "dt Mod obj")
+#End If
+#If DBNull_ERRORS
+            M(dbnull Mod bool, "dbnull Mod bool")
+#End If
+#If DBNull_ERRORS
+            M(dbnull Mod b, "dbnull Mod b")
+#End If
+#If DBNull_ERRORS
+            M(dbnull Mod sb, "dbnull Mod sb")
+#End If
+#If DBNull_ERRORS
+            M(dbnull Mod s, "dbnull Mod s")
+#End If
+#If DBNull_ERRORS
+            M(dbnull Mod us, "dbnull Mod us")
+#End If
+#If DBNull_ERRORS
+            M(dbnull Mod i, "dbnull Mod i")
+#End If
+#If DBNull_ERRORS
+            M(dbnull Mod ui, "dbnull Mod ui")
+#End If
+#If DBNull_ERRORS
+            M(dbnull Mod l, "dbnull Mod l")
+#End If
+#If DBNull_ERRORS
+            M(dbnull Mod ul, "dbnull Mod ul")
+#End If
+#If DBNull_ERRORS
+            M(dbnull Mod dec, "dbnull Mod dec")
+#End If
+#If DBNull_ERRORS
+            M(dbnull Mod sng, "dbnull Mod sng")
+#End If
+#If DBNull_ERRORS
+            M(dbnull Mod dbl, "dbnull Mod dbl")
+#End If
+#If DBNull_ERRORS
+            M(dbnull Mod chr, "dbnull Mod chr")
+#End If
+#If DBNull_ERRORS
+            M(dbnull Mod str, "dbnull Mod str")
+#End If
+#If DBNull_ERRORS
+            M(dbnull Mod dt, "dbnull Mod dt")
+#End If
+#If DBNull_ERRORS
+            M(dbnull Mod dbnull, "dbnull Mod dbnull")
+#End If
+#If DBNull_ERRORS
+            M(dbnull Mod obj, "dbnull Mod obj")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj Mod bool, "obj Mod bool")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj Mod b, "obj Mod b")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj Mod sb, "obj Mod sb")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj Mod s, "obj Mod s")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj Mod us, "obj Mod us")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj Mod i, "obj Mod i")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj Mod ui, "obj Mod ui")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj Mod l, "obj Mod l")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj Mod ul, "obj Mod ul")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj Mod dec, "obj Mod dec")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj Mod sng, "obj Mod sng")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj Mod dbl, "obj Mod dbl")
+#End If
+#If Object_ERRORS
+            M(obj Mod chr, "obj Mod chr")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj Mod str, "obj Mod str")
+#End If
+#If Object_ERRORS
+            M(obj Mod dt, "obj Mod dt")
+#End If
+#If Object_ERRORS
+            M(obj Mod dbnull, "obj Mod dbnull")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj Mod obj, "obj Mod obj")
+#End If
+        If failures > 0 Then Return 1
+    Catch ex As Exception
+        Console.WriteLine ("Exception: {0}", ex)
+        Return 2
+    End Try
+    Return 0
+    End Function
+End Class
diff --git a/vbnc/vbnc/tests/CompileTime2/OperatorIntrinsicMult.vb b/vbnc/vbnc/tests/CompileTime2/OperatorIntrinsicMult.vb
new file mode 100644
index 0000000..fdd7c86
--- /dev/null
+++ b/vbnc/vbnc/tests/CompileTime2/OperatorIntrinsicMult.vb
@@ -0,0 +1,833 @@
+Class BinaryOperatorMult
+    Inherits IntrinsicOperatorTests
+    Shared Function Main As Integer
+        Try
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Int16
+            M(bool * bool, "bool * bool")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Int16
+            M(bool * b, "bool * b")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.SByte
+            M(bool * sb, "bool * sb")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Int16
+            M(bool * s, "bool * s")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Int32
+            M(bool * us, "bool * us")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Int32
+            M(bool * i, "bool * i")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Int64
+            M(bool * ui, "bool * ui")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Int64
+            M(bool * l, "bool * l")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Decimal
+            M(bool * ul, "bool * ul")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Decimal
+            M(bool * dec, "bool * dec")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Single
+            M(bool * sng, "bool * sng")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Double
+            M(bool * dbl, "bool * dbl")
+#End If
+#If Boolean_ERRORS
+            M(bool * chr, "bool * chr")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Double
+            M(bool * str, "bool * str")
+#End If
+#If Boolean_ERRORS
+            M(bool * dt, "bool * dt")
+#End If
+#If Boolean_ERRORS
+            M(bool * dbnull, "bool * dbnull")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Object
+            M(bool * obj, "bool * obj")
+#End If
+#If Not STRICT Or Byte_ERRORS
+            expected_tc = TypeCode.Int16
+            M(b * bool, "b * bool")
+#End If
+            expected_tc = TypeCode.Byte
+            M(b * b, "b * b")
+            expected_tc = TypeCode.Int16
+            M(b * sb, "b * sb")
+            expected_tc = TypeCode.Int16
+            M(b * s, "b * s")
+            expected_tc = TypeCode.UInt16
+            M(b * us, "b * us")
+            expected_tc = TypeCode.Int32
+            M(b * i, "b * i")
+            expected_tc = TypeCode.UInt32
+            M(b * ui, "b * ui")
+            expected_tc = TypeCode.Int64
+            M(b * l, "b * l")
+            expected_tc = TypeCode.UInt64
+            M(b * ul, "b * ul")
+            expected_tc = TypeCode.Decimal
+            M(b * dec, "b * dec")
+            expected_tc = TypeCode.Single
+            M(b * sng, "b * sng")
+            expected_tc = TypeCode.Double
+            M(b * dbl, "b * dbl")
+#If Byte_ERRORS
+            M(b * chr, "b * chr")
+#End If
+#If Not STRICT Or Byte_ERRORS
+            expected_tc = TypeCode.Double
+            M(b * str, "b * str")
+#End If
+#If Byte_ERRORS
+            M(b * dt, "b * dt")
+#End If
+#If Byte_ERRORS
+            M(b * dbnull, "b * dbnull")
+#End If
+#If Not STRICT Or Byte_ERRORS
+            expected_tc = TypeCode.Object
+            M(b * obj, "b * obj")
+#End If
+#If Not STRICT Or SByte_ERRORS
+            expected_tc = TypeCode.SByte
+            M(sb * bool, "sb * bool")
+#End If
+            expected_tc = TypeCode.Int16
+            M(sb * b, "sb * b")
+            expected_tc = TypeCode.SByte
+            M(sb * sb, "sb * sb")
+            expected_tc = TypeCode.Int16
+            M(sb * s, "sb * s")
+            expected_tc = TypeCode.Int32
+            M(sb * us, "sb * us")
+            expected_tc = TypeCode.Int32
+            M(sb * i, "sb * i")
+            expected_tc = TypeCode.Int64
+            M(sb * ui, "sb * ui")
+            expected_tc = TypeCode.Int64
+            M(sb * l, "sb * l")
+            expected_tc = TypeCode.Decimal
+            M(sb * ul, "sb * ul")
+            expected_tc = TypeCode.Decimal
+            M(sb * dec, "sb * dec")
+            expected_tc = TypeCode.Single
+            M(sb * sng, "sb * sng")
+            expected_tc = TypeCode.Double
+            M(sb * dbl, "sb * dbl")
+#If SByte_ERRORS
+            M(sb * chr, "sb * chr")
+#End If
+#If Not STRICT Or SByte_ERRORS
+            expected_tc = TypeCode.Double
+            M(sb * str, "sb * str")
+#End If
+#If SByte_ERRORS
+            M(sb * dt, "sb * dt")
+#End If
+#If SByte_ERRORS
+            M(sb * dbnull, "sb * dbnull")
+#End If
+#If Not STRICT Or SByte_ERRORS
+            expected_tc = TypeCode.Object
+            M(sb * obj, "sb * obj")
+#End If
+#If Not STRICT Or Int16_ERRORS
+            expected_tc = TypeCode.Int16
+            M(s * bool, "s * bool")
+#End If
+            expected_tc = TypeCode.Int16
+            M(s * b, "s * b")
+            expected_tc = TypeCode.Int16
+            M(s * sb, "s * sb")
+            expected_tc = TypeCode.Int16
+            M(s * s, "s * s")
+            expected_tc = TypeCode.Int32
+            M(s * us, "s * us")
+            expected_tc = TypeCode.Int32
+            M(s * i, "s * i")
+            expected_tc = TypeCode.Int64
+            M(s * ui, "s * ui")
+            expected_tc = TypeCode.Int64
+            M(s * l, "s * l")
+            expected_tc = TypeCode.Decimal
+            M(s * ul, "s * ul")
+            expected_tc = TypeCode.Decimal
+            M(s * dec, "s * dec")
+            expected_tc = TypeCode.Single
+            M(s * sng, "s * sng")
+            expected_tc = TypeCode.Double
+            M(s * dbl, "s * dbl")
+#If Int16_ERRORS
+            M(s * chr, "s * chr")
+#End If
+#If Not STRICT Or Int16_ERRORS
+            expected_tc = TypeCode.Double
+            M(s * str, "s * str")
+#End If
+#If Int16_ERRORS
+            M(s * dt, "s * dt")
+#End If
+#If Int16_ERRORS
+            M(s * dbnull, "s * dbnull")
+#End If
+#If Not STRICT Or Int16_ERRORS
+            expected_tc = TypeCode.Object
+            M(s * obj, "s * obj")
+#End If
+#If Not STRICT Or UInt16_ERRORS
+            expected_tc = TypeCode.Int32
+            M(us * bool, "us * bool")
+#End If
+            expected_tc = TypeCode.UInt16
+            M(us * b, "us * b")
+            expected_tc = TypeCode.Int32
+            M(us * sb, "us * sb")
+            expected_tc = TypeCode.Int32
+            M(us * s, "us * s")
+            expected_tc = TypeCode.UInt16
+            M(us * us, "us * us")
+            expected_tc = TypeCode.Int32
+            M(us * i, "us * i")
+            expected_tc = TypeCode.UInt32
+            M(us * ui, "us * ui")
+            expected_tc = TypeCode.Int64
+            M(us * l, "us * l")
+            expected_tc = TypeCode.UInt64
+            M(us * ul, "us * ul")
+            expected_tc = TypeCode.Decimal
+            M(us * dec, "us * dec")
+            expected_tc = TypeCode.Single
+            M(us * sng, "us * sng")
+            expected_tc = TypeCode.Double
+            M(us * dbl, "us * dbl")
+#If UInt16_ERRORS
+            M(us * chr, "us * chr")
+#End If
+#If Not STRICT Or UInt16_ERRORS
+            expected_tc = TypeCode.Double
+            M(us * str, "us * str")
+#End If
+#If UInt16_ERRORS
+            M(us * dt, "us * dt")
+#End If
+#If UInt16_ERRORS
+            M(us * dbnull, "us * dbnull")
+#End If
+#If Not STRICT Or UInt16_ERRORS
+            expected_tc = TypeCode.Object
+            M(us * obj, "us * obj")
+#End If
+#If Not STRICT Or Int32_ERRORS
+            expected_tc = TypeCode.Int32
+            M(i * bool, "i * bool")
+#End If
+            expected_tc = TypeCode.Int32
+            M(i * b, "i * b")
+            expected_tc = TypeCode.Int32
+            M(i * sb, "i * sb")
+            expected_tc = TypeCode.Int32
+            M(i * s, "i * s")
+            expected_tc = TypeCode.Int32
+            M(i * us, "i * us")
+            expected_tc = TypeCode.Int32
+            M(i * i, "i * i")
+            expected_tc = TypeCode.Int64
+            M(i * ui, "i * ui")
+            expected_tc = TypeCode.Int64
+            M(i * l, "i * l")
+            expected_tc = TypeCode.Decimal
+            M(i * ul, "i * ul")
+            expected_tc = TypeCode.Decimal
+            M(i * dec, "i * dec")
+            expected_tc = TypeCode.Single
+            M(i * sng, "i * sng")
+            expected_tc = TypeCode.Double
+            M(i * dbl, "i * dbl")
+#If Int32_ERRORS
+            M(i * chr, "i * chr")
+#End If
+#If Not STRICT Or Int32_ERRORS
+            expected_tc = TypeCode.Double
+            M(i * str, "i * str")
+#End If
+#If Int32_ERRORS
+            M(i * dt, "i * dt")
+#End If
+#If Int32_ERRORS
+            M(i * dbnull, "i * dbnull")
+#End If
+#If Not STRICT Or Int32_ERRORS
+            expected_tc = TypeCode.Object
+            M(i * obj, "i * obj")
+#End If
+#If Not STRICT Or UInt32_ERRORS
+            expected_tc = TypeCode.Int64
+            M(ui * bool, "ui * bool")
+#End If
+            expected_tc = TypeCode.UInt32
+            M(ui * b, "ui * b")
+            expected_tc = TypeCode.Int64
+            M(ui * sb, "ui * sb")
+            expected_tc = TypeCode.Int64
+            M(ui * s, "ui * s")
+            expected_tc = TypeCode.UInt32
+            M(ui * us, "ui * us")
+            expected_tc = TypeCode.Int64
+            M(ui * i, "ui * i")
+            expected_tc = TypeCode.UInt32
+            M(ui * ui, "ui * ui")
+            expected_tc = TypeCode.Int64
+            M(ui * l, "ui * l")
+            expected_tc = TypeCode.UInt64
+            M(ui * ul, "ui * ul")
+            expected_tc = TypeCode.Decimal
+            M(ui * dec, "ui * dec")
+            expected_tc = TypeCode.Single
+            M(ui * sng, "ui * sng")
+            expected_tc = TypeCode.Double
+            M(ui * dbl, "ui * dbl")
+#If UInt32_ERRORS
+            M(ui * chr, "ui * chr")
+#End If
+#If Not STRICT Or UInt32_ERRORS
+            expected_tc = TypeCode.Double
+            M(ui * str, "ui * str")
+#End If
+#If UInt32_ERRORS
+            M(ui * dt, "ui * dt")
+#End If
+#If UInt32_ERRORS
+            M(ui * dbnull, "ui * dbnull")
+#End If
+#If Not STRICT Or UInt32_ERRORS
+            expected_tc = TypeCode.Object
+            M(ui * obj, "ui * obj")
+#End If
+#If Not STRICT Or Int64_ERRORS
+            expected_tc = TypeCode.Int64
+            M(l * bool, "l * bool")
+#End If
+            expected_tc = TypeCode.Int64
+            M(l * b, "l * b")
+            expected_tc = TypeCode.Int64
+            M(l * sb, "l * sb")
+            expected_tc = TypeCode.Int64
+            M(l * s, "l * s")
+            expected_tc = TypeCode.Int64
+            M(l * us, "l * us")
+            expected_tc = TypeCode.Int64
+            M(l * i, "l * i")
+            expected_tc = TypeCode.Int64
+            M(l * ui, "l * ui")
+            expected_tc = TypeCode.Int64
+            M(l * l, "l * l")
+            expected_tc = TypeCode.Decimal
+            M(l * ul, "l * ul")
+            expected_tc = TypeCode.Decimal
+            M(l * dec, "l * dec")
+            expected_tc = TypeCode.Single
+            M(l * sng, "l * sng")
+            expected_tc = TypeCode.Double
+            M(l * dbl, "l * dbl")
+#If Int64_ERRORS
+            M(l * chr, "l * chr")
+#End If
+#If Not STRICT Or Int64_ERRORS
+            expected_tc = TypeCode.Double
+            M(l * str, "l * str")
+#End If
+#If Int64_ERRORS
+            M(l * dt, "l * dt")
+#End If
+#If Int64_ERRORS
+            M(l * dbnull, "l * dbnull")
+#End If
+#If Not STRICT Or Int64_ERRORS
+            expected_tc = TypeCode.Object
+            M(l * obj, "l * obj")
+#End If
+#If Not STRICT Or UInt64_ERRORS
+            expected_tc = TypeCode.Decimal
+            M(ul * bool, "ul * bool")
+#End If
+            expected_tc = TypeCode.UInt64
+            M(ul * b, "ul * b")
+            expected_tc = TypeCode.Decimal
+            M(ul * sb, "ul * sb")
+            expected_tc = TypeCode.Decimal
+            M(ul * s, "ul * s")
+            expected_tc = TypeCode.UInt64
+            M(ul * us, "ul * us")
+            expected_tc = TypeCode.Decimal
+            M(ul * i, "ul * i")
+            expected_tc = TypeCode.UInt64
+            M(ul * ui, "ul * ui")
+            expected_tc = TypeCode.Decimal
+            M(ul * l, "ul * l")
+            expected_tc = TypeCode.UInt64
+            M(ul * ul, "ul * ul")
+            expected_tc = TypeCode.Decimal
+            M(ul * dec, "ul * dec")
+            expected_tc = TypeCode.Single
+            M(ul * sng, "ul * sng")
+            expected_tc = TypeCode.Double
+            M(ul * dbl, "ul * dbl")
+#If UInt64_ERRORS
+            M(ul * chr, "ul * chr")
+#End If
+#If Not STRICT Or UInt64_ERRORS
+            expected_tc = TypeCode.Double
+            M(ul * str, "ul * str")
+#End If
+#If UInt64_ERRORS
+            M(ul * dt, "ul * dt")
+#End If
+#If UInt64_ERRORS
+            M(ul * dbnull, "ul * dbnull")
+#End If
+#If Not STRICT Or UInt64_ERRORS
+            expected_tc = TypeCode.Object
+            M(ul * obj, "ul * obj")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Decimal
+            M(dec * bool, "dec * bool")
+#End If
+            expected_tc = TypeCode.Decimal
+            M(dec * b, "dec * b")
+            expected_tc = TypeCode.Decimal
+            M(dec * sb, "dec * sb")
+            expected_tc = TypeCode.Decimal
+            M(dec * s, "dec * s")
+            expected_tc = TypeCode.Decimal
+            M(dec * us, "dec * us")
+            expected_tc = TypeCode.Decimal
+            M(dec * i, "dec * i")
+            expected_tc = TypeCode.Decimal
+            M(dec * ui, "dec * ui")
+            expected_tc = TypeCode.Decimal
+            M(dec * l, "dec * l")
+            expected_tc = TypeCode.Decimal
+            M(dec * ul, "dec * ul")
+            expected_tc = TypeCode.Decimal
+            M(dec * dec, "dec * dec")
+            expected_tc = TypeCode.Single
+            M(dec * sng, "dec * sng")
+            expected_tc = TypeCode.Double
+            M(dec * dbl, "dec * dbl")
+#If Decimal_ERRORS
+            M(dec * chr, "dec * chr")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Double
+            M(dec * str, "dec * str")
+#End If
+#If Decimal_ERRORS
+            M(dec * dt, "dec * dt")
+#End If
+#If Decimal_ERRORS
+            M(dec * dbnull, "dec * dbnull")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Object
+            M(dec * obj, "dec * obj")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Single
+            M(sng * bool, "sng * bool")
+#End If
+            expected_tc = TypeCode.Single
+            M(sng * b, "sng * b")
+            expected_tc = TypeCode.Single
+            M(sng * sb, "sng * sb")
+            expected_tc = TypeCode.Single
+            M(sng * s, "sng * s")
+            expected_tc = TypeCode.Single
+            M(sng * us, "sng * us")
+            expected_tc = TypeCode.Single
+            M(sng * i, "sng * i")
+            expected_tc = TypeCode.Single
+            M(sng * ui, "sng * ui")
+            expected_tc = TypeCode.Single
+            M(sng * l, "sng * l")
+            expected_tc = TypeCode.Single
+            M(sng * ul, "sng * ul")
+            expected_tc = TypeCode.Single
+            M(sng * dec, "sng * dec")
+            expected_tc = TypeCode.Single
+            M(sng * sng, "sng * sng")
+            expected_tc = TypeCode.Double
+            M(sng * dbl, "sng * dbl")
+#If Single_ERRORS
+            M(sng * chr, "sng * chr")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Double
+            M(sng * str, "sng * str")
+#End If
+#If Single_ERRORS
+            M(sng * dt, "sng * dt")
+#End If
+#If Single_ERRORS
+            M(sng * dbnull, "sng * dbnull")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Object
+            M(sng * obj, "sng * obj")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Double
+            M(dbl * bool, "dbl * bool")
+#End If
+            expected_tc = TypeCode.Double
+            M(dbl * b, "dbl * b")
+            expected_tc = TypeCode.Double
+            M(dbl * sb, "dbl * sb")
+            expected_tc = TypeCode.Double
+            M(dbl * s, "dbl * s")
+            expected_tc = TypeCode.Double
+            M(dbl * us, "dbl * us")
+            expected_tc = TypeCode.Double
+            M(dbl * i, "dbl * i")
+            expected_tc = TypeCode.Double
+            M(dbl * ui, "dbl * ui")
+            expected_tc = TypeCode.Double
+            M(dbl * l, "dbl * l")
+            expected_tc = TypeCode.Double
+            M(dbl * ul, "dbl * ul")
+            expected_tc = TypeCode.Double
+            M(dbl * dec, "dbl * dec")
+            expected_tc = TypeCode.Double
+            M(dbl * sng, "dbl * sng")
+            expected_tc = TypeCode.Double
+            M(dbl * dbl, "dbl * dbl")
+#If Double_ERRORS
+            M(dbl * chr, "dbl * chr")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Double
+            M(dbl * str, "dbl * str")
+#End If
+#If Double_ERRORS
+            M(dbl * dt, "dbl * dt")
+#End If
+#If Double_ERRORS
+            M(dbl * dbnull, "dbl * dbnull")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Object
+            M(dbl * obj, "dbl * obj")
+#End If
+#If Char_ERRORS
+            M(chr * bool, "chr * bool")
+#End If
+#If Char_ERRORS
+            M(chr * b, "chr * b")
+#End If
+#If Char_ERRORS
+            M(chr * sb, "chr * sb")
+#End If
+#If Char_ERRORS
+            M(chr * s, "chr * s")
+#End If
+#If Char_ERRORS
+            M(chr * us, "chr * us")
+#End If
+#If Char_ERRORS
+            M(chr * i, "chr * i")
+#End If
+#If Char_ERRORS
+            M(chr * ui, "chr * ui")
+#End If
+#If Char_ERRORS
+            M(chr * l, "chr * l")
+#End If
+#If Char_ERRORS
+            M(chr * ul, "chr * ul")
+#End If
+#If Char_ERRORS
+            M(chr * dec, "chr * dec")
+#End If
+#If Char_ERRORS
+            M(chr * sng, "chr * sng")
+#End If
+#If Char_ERRORS
+            M(chr * dbl, "chr * dbl")
+#End If
+#If Char_ERRORS
+            M(chr * chr, "chr * chr")
+#End If
+#If Char_ERRORS
+            M(chr * str, "chr * str")
+#End If
+#If Char_ERRORS
+            M(chr * dt, "chr * dt")
+#End If
+#If Char_ERRORS
+            M(chr * dbnull, "chr * dbnull")
+#End If
+#If Char_ERRORS
+            M(chr * obj, "chr * obj")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Double
+            M(str * bool, "str * bool")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Double
+            M(str * b, "str * b")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Double
+            M(str * sb, "str * sb")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Double
+            M(str * s, "str * s")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Double
+            M(str * us, "str * us")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Double
+            M(str * i, "str * i")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Double
+            M(str * ui, "str * ui")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Double
+            M(str * l, "str * l")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Double
+            M(str * ul, "str * ul")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Double
+            M(str * dec, "str * dec")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Double
+            M(str * sng, "str * sng")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Double
+            M(str * dbl, "str * dbl")
+#End If
+#If String_ERRORS
+            M(str * chr, "str * chr")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Double
+            M(str * str, "str * str")
+#End If
+#If String_ERRORS
+            M(str * dt, "str * dt")
+#End If
+#If String_ERRORS
+            M(str * dbnull, "str * dbnull")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Object
+            M(str * obj, "str * obj")
+#End If
+#If DateTime_ERRORS
+            M(dt * bool, "dt * bool")
+#End If
+#If DateTime_ERRORS
+            M(dt * b, "dt * b")
+#End If
+#If DateTime_ERRORS
+            M(dt * sb, "dt * sb")
+#End If
+#If DateTime_ERRORS
+            M(dt * s, "dt * s")
+#End If
+#If DateTime_ERRORS
+            M(dt * us, "dt * us")
+#End If
+#If DateTime_ERRORS
+            M(dt * i, "dt * i")
+#End If
+#If DateTime_ERRORS
+            M(dt * ui, "dt * ui")
+#End If
+#If DateTime_ERRORS
+            M(dt * l, "dt * l")
+#End If
+#If DateTime_ERRORS
+            M(dt * ul, "dt * ul")
+#End If
+#If DateTime_ERRORS
+            M(dt * dec, "dt * dec")
+#End If
+#If DateTime_ERRORS
+            M(dt * sng, "dt * sng")
+#End If
+#If DateTime_ERRORS
+            M(dt * dbl, "dt * dbl")
+#End If
+#If DateTime_ERRORS
+            M(dt * chr, "dt * chr")
+#End If
+#If DateTime_ERRORS
+            M(dt * str, "dt * str")
+#End If
+#If DateTime_ERRORS
+            M(dt * dt, "dt * dt")
+#End If
+#If DateTime_ERRORS
+            M(dt * dbnull, "dt * dbnull")
+#End If
+#If DateTime_ERRORS
+            M(dt * obj, "dt * obj")
+#End If
+#If DBNull_ERRORS
+            M(dbnull * bool, "dbnull * bool")
+#End If
+#If DBNull_ERRORS
+            M(dbnull * b, "dbnull * b")
+#End If
+#If DBNull_ERRORS
+            M(dbnull * sb, "dbnull * sb")
+#End If
+#If DBNull_ERRORS
+            M(dbnull * s, "dbnull * s")
+#End If
+#If DBNull_ERRORS
+            M(dbnull * us, "dbnull * us")
+#End If
+#If DBNull_ERRORS
+            M(dbnull * i, "dbnull * i")
+#End If
+#If DBNull_ERRORS
+            M(dbnull * ui, "dbnull * ui")
+#End If
+#If DBNull_ERRORS
+            M(dbnull * l, "dbnull * l")
+#End If
+#If DBNull_ERRORS
+            M(dbnull * ul, "dbnull * ul")
+#End If
+#If DBNull_ERRORS
+            M(dbnull * dec, "dbnull * dec")
+#End If
+#If DBNull_ERRORS
+            M(dbnull * sng, "dbnull * sng")
+#End If
+#If DBNull_ERRORS
+            M(dbnull * dbl, "dbnull * dbl")
+#End If
+#If DBNull_ERRORS
+            M(dbnull * chr, "dbnull * chr")
+#End If
+#If DBNull_ERRORS
+            M(dbnull * str, "dbnull * str")
+#End If
+#If DBNull_ERRORS
+            M(dbnull * dt, "dbnull * dt")
+#End If
+#If DBNull_ERRORS
+            M(dbnull * dbnull, "dbnull * dbnull")
+#End If
+#If DBNull_ERRORS
+            M(dbnull * obj, "dbnull * obj")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj * bool, "obj * bool")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj * b, "obj * b")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj * sb, "obj * sb")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj * s, "obj * s")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj * us, "obj * us")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj * i, "obj * i")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj * ui, "obj * ui")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj * l, "obj * l")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj * ul, "obj * ul")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj * dec, "obj * dec")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj * sng, "obj * sng")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj * dbl, "obj * dbl")
+#End If
+#If Object_ERRORS
+            M(obj * chr, "obj * chr")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj * str, "obj * str")
+#End If
+#If Object_ERRORS
+            M(obj * dt, "obj * dt")
+#End If
+#If Object_ERRORS
+            M(obj * dbnull, "obj * dbnull")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj * obj, "obj * obj")
+#End If
+        If failures > 0 Then Return 1
+    Catch ex As Exception
+        Console.WriteLine ("Exception: {0}", ex)
+        Return 2
+    End Try
+    Return 0
+    End Function
+End Class
diff --git a/vbnc/vbnc/tests/CompileTime2/OperatorIntrinsicNotEquals.vb b/vbnc/vbnc/tests/CompileTime2/OperatorIntrinsicNotEquals.vb
new file mode 100644
index 0000000..7438a38
--- /dev/null
+++ b/vbnc/vbnc/tests/CompileTime2/OperatorIntrinsicNotEquals.vb
@@ -0,0 +1,785 @@
+Class BinaryOperatorNotEquals
+    Inherits IntrinsicOperatorTests
+    Shared Function Main As Integer
+        Try
+#If Boolean_ERRORS
+            M(bool <> bool, "bool <> bool")
+#End If
+#If Boolean_ERRORS
+            M(bool <> b, "bool <> b")
+#End If
+#If Boolean_ERRORS
+            M(bool <> sb, "bool <> sb")
+#End If
+#If Boolean_ERRORS
+            M(bool <> s, "bool <> s")
+#End If
+#If Boolean_ERRORS
+            M(bool <> us, "bool <> us")
+#End If
+#If Boolean_ERRORS
+            M(bool <> i, "bool <> i")
+#End If
+#If Boolean_ERRORS
+            M(bool <> ui, "bool <> ui")
+#End If
+#If Boolean_ERRORS
+            M(bool <> l, "bool <> l")
+#End If
+#If Boolean_ERRORS
+            M(bool <> ul, "bool <> ul")
+#End If
+#If Boolean_ERRORS
+            M(bool <> dec, "bool <> dec")
+#End If
+#If Boolean_ERRORS
+            M(bool <> sng, "bool <> sng")
+#End If
+#If Boolean_ERRORS
+            M(bool <> dbl, "bool <> dbl")
+#End If
+#If Boolean_ERRORS
+            M(bool <> chr, "bool <> chr")
+#End If
+#If Boolean_ERRORS
+            M(bool <> str, "bool <> str")
+#End If
+#If Boolean_ERRORS
+            M(bool <> dt, "bool <> dt")
+#End If
+#If Boolean_ERRORS
+            M(bool <> dbnull, "bool <> dbnull")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Object
+            M(bool <> obj, "bool <> obj")
+#End If
+#If Byte_ERRORS
+            M(b <> bool, "b <> bool")
+#End If
+            expected_tc = TypeCode.Boolean
+            M(b <> b, "b <> b")
+            expected_tc = TypeCode.Boolean
+            M(b <> sb, "b <> sb")
+            expected_tc = TypeCode.Boolean
+            M(b <> s, "b <> s")
+            expected_tc = TypeCode.Boolean
+            M(b <> us, "b <> us")
+            expected_tc = TypeCode.Boolean
+            M(b <> i, "b <> i")
+            expected_tc = TypeCode.Boolean
+            M(b <> ui, "b <> ui")
+            expected_tc = TypeCode.Boolean
+            M(b <> l, "b <> l")
+            expected_tc = TypeCode.Boolean
+            M(b <> ul, "b <> ul")
+            expected_tc = TypeCode.Boolean
+            M(b <> dec, "b <> dec")
+            expected_tc = TypeCode.Boolean
+            M(b <> sng, "b <> sng")
+            expected_tc = TypeCode.Boolean
+            M(b <> dbl, "b <> dbl")
+#If Byte_ERRORS
+            M(b <> chr, "b <> chr")
+#End If
+#If Byte_ERRORS
+            M(b <> str, "b <> str")
+#End If
+#If Byte_ERRORS
+            M(b <> dt, "b <> dt")
+#End If
+#If Byte_ERRORS
+            M(b <> dbnull, "b <> dbnull")
+#End If
+#If Not STRICT Or Byte_ERRORS
+            expected_tc = TypeCode.Object
+            M(b <> obj, "b <> obj")
+#End If
+#If SByte_ERRORS
+            M(sb <> bool, "sb <> bool")
+#End If
+            expected_tc = TypeCode.Boolean
+            M(sb <> b, "sb <> b")
+            expected_tc = TypeCode.Boolean
+            M(sb <> sb, "sb <> sb")
+            expected_tc = TypeCode.Boolean
+            M(sb <> s, "sb <> s")
+            expected_tc = TypeCode.Boolean
+            M(sb <> us, "sb <> us")
+            expected_tc = TypeCode.Boolean
+            M(sb <> i, "sb <> i")
+            expected_tc = TypeCode.Boolean
+            M(sb <> ui, "sb <> ui")
+            expected_tc = TypeCode.Boolean
+            M(sb <> l, "sb <> l")
+            expected_tc = TypeCode.Boolean
+            M(sb <> ul, "sb <> ul")
+            expected_tc = TypeCode.Boolean
+            M(sb <> dec, "sb <> dec")
+            expected_tc = TypeCode.Boolean
+            M(sb <> sng, "sb <> sng")
+            expected_tc = TypeCode.Boolean
+            M(sb <> dbl, "sb <> dbl")
+#If SByte_ERRORS
+            M(sb <> chr, "sb <> chr")
+#End If
+#If SByte_ERRORS
+            M(sb <> str, "sb <> str")
+#End If
+#If SByte_ERRORS
+            M(sb <> dt, "sb <> dt")
+#End If
+#If SByte_ERRORS
+            M(sb <> dbnull, "sb <> dbnull")
+#End If
+#If Not STRICT Or SByte_ERRORS
+            expected_tc = TypeCode.Object
+            M(sb <> obj, "sb <> obj")
+#End If
+#If Int16_ERRORS
+            M(s <> bool, "s <> bool")
+#End If
+            expected_tc = TypeCode.Boolean
+            M(s <> b, "s <> b")
+            expected_tc = TypeCode.Boolean
+            M(s <> sb, "s <> sb")
+            expected_tc = TypeCode.Boolean
+            M(s <> s, "s <> s")
+            expected_tc = TypeCode.Boolean
+            M(s <> us, "s <> us")
+            expected_tc = TypeCode.Boolean
+            M(s <> i, "s <> i")
+            expected_tc = TypeCode.Boolean
+            M(s <> ui, "s <> ui")
+            expected_tc = TypeCode.Boolean
+            M(s <> l, "s <> l")
+            expected_tc = TypeCode.Boolean
+            M(s <> ul, "s <> ul")
+            expected_tc = TypeCode.Boolean
+            M(s <> dec, "s <> dec")
+            expected_tc = TypeCode.Boolean
+            M(s <> sng, "s <> sng")
+            expected_tc = TypeCode.Boolean
+            M(s <> dbl, "s <> dbl")
+#If Int16_ERRORS
+            M(s <> chr, "s <> chr")
+#End If
+#If Int16_ERRORS
+            M(s <> str, "s <> str")
+#End If
+#If Int16_ERRORS
+            M(s <> dt, "s <> dt")
+#End If
+#If Int16_ERRORS
+            M(s <> dbnull, "s <> dbnull")
+#End If
+#If Not STRICT Or Int16_ERRORS
+            expected_tc = TypeCode.Object
+            M(s <> obj, "s <> obj")
+#End If
+#If UInt16_ERRORS
+            M(us <> bool, "us <> bool")
+#End If
+            expected_tc = TypeCode.Boolean
+            M(us <> b, "us <> b")
+            expected_tc = TypeCode.Boolean
+            M(us <> sb, "us <> sb")
+            expected_tc = TypeCode.Boolean
+            M(us <> s, "us <> s")
+            expected_tc = TypeCode.Boolean
+            M(us <> us, "us <> us")
+            expected_tc = TypeCode.Boolean
+            M(us <> i, "us <> i")
+            expected_tc = TypeCode.Boolean
+            M(us <> ui, "us <> ui")
+            expected_tc = TypeCode.Boolean
+            M(us <> l, "us <> l")
+            expected_tc = TypeCode.Boolean
+            M(us <> ul, "us <> ul")
+            expected_tc = TypeCode.Boolean
+            M(us <> dec, "us <> dec")
+            expected_tc = TypeCode.Boolean
+            M(us <> sng, "us <> sng")
+            expected_tc = TypeCode.Boolean
+            M(us <> dbl, "us <> dbl")
+#If UInt16_ERRORS
+            M(us <> chr, "us <> chr")
+#End If
+#If UInt16_ERRORS
+            M(us <> str, "us <> str")
+#End If
+#If UInt16_ERRORS
+            M(us <> dt, "us <> dt")
+#End If
+#If UInt16_ERRORS
+            M(us <> dbnull, "us <> dbnull")
+#End If
+#If Not STRICT Or UInt16_ERRORS
+            expected_tc = TypeCode.Object
+            M(us <> obj, "us <> obj")
+#End If
+#If Int32_ERRORS
+            M(i <> bool, "i <> bool")
+#End If
+            expected_tc = TypeCode.Boolean
+            M(i <> b, "i <> b")
+            expected_tc = TypeCode.Boolean
+            M(i <> sb, "i <> sb")
+            expected_tc = TypeCode.Boolean
+            M(i <> s, "i <> s")
+            expected_tc = TypeCode.Boolean
+            M(i <> us, "i <> us")
+            expected_tc = TypeCode.Boolean
+            M(i <> i, "i <> i")
+            expected_tc = TypeCode.Boolean
+            M(i <> ui, "i <> ui")
+            expected_tc = TypeCode.Boolean
+            M(i <> l, "i <> l")
+            expected_tc = TypeCode.Boolean
+            M(i <> ul, "i <> ul")
+            expected_tc = TypeCode.Boolean
+            M(i <> dec, "i <> dec")
+            expected_tc = TypeCode.Boolean
+            M(i <> sng, "i <> sng")
+            expected_tc = TypeCode.Boolean
+            M(i <> dbl, "i <> dbl")
+#If Int32_ERRORS
+            M(i <> chr, "i <> chr")
+#End If
+#If Int32_ERRORS
+            M(i <> str, "i <> str")
+#End If
+#If Int32_ERRORS
+            M(i <> dt, "i <> dt")
+#End If
+#If Int32_ERRORS
+            M(i <> dbnull, "i <> dbnull")
+#End If
+#If Not STRICT Or Int32_ERRORS
+            expected_tc = TypeCode.Object
+            M(i <> obj, "i <> obj")
+#End If
+#If UInt32_ERRORS
+            M(ui <> bool, "ui <> bool")
+#End If
+            expected_tc = TypeCode.Boolean
+            M(ui <> b, "ui <> b")
+            expected_tc = TypeCode.Boolean
+            M(ui <> sb, "ui <> sb")
+            expected_tc = TypeCode.Boolean
+            M(ui <> s, "ui <> s")
+            expected_tc = TypeCode.Boolean
+            M(ui <> us, "ui <> us")
+            expected_tc = TypeCode.Boolean
+            M(ui <> i, "ui <> i")
+            expected_tc = TypeCode.Boolean
+            M(ui <> ui, "ui <> ui")
+            expected_tc = TypeCode.Boolean
+            M(ui <> l, "ui <> l")
+            expected_tc = TypeCode.Boolean
+            M(ui <> ul, "ui <> ul")
+            expected_tc = TypeCode.Boolean
+            M(ui <> dec, "ui <> dec")
+            expected_tc = TypeCode.Boolean
+            M(ui <> sng, "ui <> sng")
+            expected_tc = TypeCode.Boolean
+            M(ui <> dbl, "ui <> dbl")
+#If UInt32_ERRORS
+            M(ui <> chr, "ui <> chr")
+#End If
+#If UInt32_ERRORS
+            M(ui <> str, "ui <> str")
+#End If
+#If UInt32_ERRORS
+            M(ui <> dt, "ui <> dt")
+#End If
+#If UInt32_ERRORS
+            M(ui <> dbnull, "ui <> dbnull")
+#End If
+#If Not STRICT Or UInt32_ERRORS
+            expected_tc = TypeCode.Object
+            M(ui <> obj, "ui <> obj")
+#End If
+#If Int64_ERRORS
+            M(l <> bool, "l <> bool")
+#End If
+            expected_tc = TypeCode.Boolean
+            M(l <> b, "l <> b")
+            expected_tc = TypeCode.Boolean
+            M(l <> sb, "l <> sb")
+            expected_tc = TypeCode.Boolean
+            M(l <> s, "l <> s")
+            expected_tc = TypeCode.Boolean
+            M(l <> us, "l <> us")
+            expected_tc = TypeCode.Boolean
+            M(l <> i, "l <> i")
+            expected_tc = TypeCode.Boolean
+            M(l <> ui, "l <> ui")
+            expected_tc = TypeCode.Boolean
+            M(l <> l, "l <> l")
+            expected_tc = TypeCode.Boolean
+            M(l <> ul, "l <> ul")
+            expected_tc = TypeCode.Boolean
+            M(l <> dec, "l <> dec")
+            expected_tc = TypeCode.Boolean
+            M(l <> sng, "l <> sng")
+            expected_tc = TypeCode.Boolean
+            M(l <> dbl, "l <> dbl")
+#If Int64_ERRORS
+            M(l <> chr, "l <> chr")
+#End If
+#If Int64_ERRORS
+            M(l <> str, "l <> str")
+#End If
+#If Int64_ERRORS
+            M(l <> dt, "l <> dt")
+#End If
+#If Int64_ERRORS
+            M(l <> dbnull, "l <> dbnull")
+#End If
+#If Not STRICT Or Int64_ERRORS
+            expected_tc = TypeCode.Object
+            M(l <> obj, "l <> obj")
+#End If
+#If UInt64_ERRORS
+            M(ul <> bool, "ul <> bool")
+#End If
+            expected_tc = TypeCode.Boolean
+            M(ul <> b, "ul <> b")
+            expected_tc = TypeCode.Boolean
+            M(ul <> sb, "ul <> sb")
+            expected_tc = TypeCode.Boolean
+            M(ul <> s, "ul <> s")
+            expected_tc = TypeCode.Boolean
+            M(ul <> us, "ul <> us")
+            expected_tc = TypeCode.Boolean
+            M(ul <> i, "ul <> i")
+            expected_tc = TypeCode.Boolean
+            M(ul <> ui, "ul <> ui")
+            expected_tc = TypeCode.Boolean
+            M(ul <> l, "ul <> l")
+            expected_tc = TypeCode.Boolean
+            M(ul <> ul, "ul <> ul")
+            expected_tc = TypeCode.Boolean
+            M(ul <> dec, "ul <> dec")
+            expected_tc = TypeCode.Boolean
+            M(ul <> sng, "ul <> sng")
+            expected_tc = TypeCode.Boolean
+            M(ul <> dbl, "ul <> dbl")
+#If UInt64_ERRORS
+            M(ul <> chr, "ul <> chr")
+#End If
+#If UInt64_ERRORS
+            M(ul <> str, "ul <> str")
+#End If
+#If UInt64_ERRORS
+            M(ul <> dt, "ul <> dt")
+#End If
+#If UInt64_ERRORS
+            M(ul <> dbnull, "ul <> dbnull")
+#End If
+#If Not STRICT Or UInt64_ERRORS
+            expected_tc = TypeCode.Object
+            M(ul <> obj, "ul <> obj")
+#End If
+#If Decimal_ERRORS
+            M(dec <> bool, "dec <> bool")
+#End If
+            expected_tc = TypeCode.Boolean
+            M(dec <> b, "dec <> b")
+            expected_tc = TypeCode.Boolean
+            M(dec <> sb, "dec <> sb")
+            expected_tc = TypeCode.Boolean
+            M(dec <> s, "dec <> s")
+            expected_tc = TypeCode.Boolean
+            M(dec <> us, "dec <> us")
+            expected_tc = TypeCode.Boolean
+            M(dec <> i, "dec <> i")
+            expected_tc = TypeCode.Boolean
+            M(dec <> ui, "dec <> ui")
+            expected_tc = TypeCode.Boolean
+            M(dec <> l, "dec <> l")
+            expected_tc = TypeCode.Boolean
+            M(dec <> ul, "dec <> ul")
+            expected_tc = TypeCode.Boolean
+            M(dec <> dec, "dec <> dec")
+            expected_tc = TypeCode.Boolean
+            M(dec <> sng, "dec <> sng")
+            expected_tc = TypeCode.Boolean
+            M(dec <> dbl, "dec <> dbl")
+#If Decimal_ERRORS
+            M(dec <> chr, "dec <> chr")
+#End If
+#If Decimal_ERRORS
+            M(dec <> str, "dec <> str")
+#End If
+#If Decimal_ERRORS
+            M(dec <> dt, "dec <> dt")
+#End If
+#If Decimal_ERRORS
+            M(dec <> dbnull, "dec <> dbnull")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Object
+            M(dec <> obj, "dec <> obj")
+#End If
+#If Single_ERRORS
+            M(sng <> bool, "sng <> bool")
+#End If
+            expected_tc = TypeCode.Boolean
+            M(sng <> b, "sng <> b")
+            expected_tc = TypeCode.Boolean
+            M(sng <> sb, "sng <> sb")
+            expected_tc = TypeCode.Boolean
+            M(sng <> s, "sng <> s")
+            expected_tc = TypeCode.Boolean
+            M(sng <> us, "sng <> us")
+            expected_tc = TypeCode.Boolean
+            M(sng <> i, "sng <> i")
+            expected_tc = TypeCode.Boolean
+            M(sng <> ui, "sng <> ui")
+            expected_tc = TypeCode.Boolean
+            M(sng <> l, "sng <> l")
+            expected_tc = TypeCode.Boolean
+            M(sng <> ul, "sng <> ul")
+            expected_tc = TypeCode.Boolean
+            M(sng <> dec, "sng <> dec")
+            expected_tc = TypeCode.Boolean
+            M(sng <> sng, "sng <> sng")
+            expected_tc = TypeCode.Boolean
+            M(sng <> dbl, "sng <> dbl")
+#If Single_ERRORS
+            M(sng <> chr, "sng <> chr")
+#End If
+#If Single_ERRORS
+            M(sng <> str, "sng <> str")
+#End If
+#If Single_ERRORS
+            M(sng <> dt, "sng <> dt")
+#End If
+#If Single_ERRORS
+            M(sng <> dbnull, "sng <> dbnull")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Object
+            M(sng <> obj, "sng <> obj")
+#End If
+#If Double_ERRORS
+            M(dbl <> bool, "dbl <> bool")
+#End If
+            expected_tc = TypeCode.Boolean
+            M(dbl <> b, "dbl <> b")
+            expected_tc = TypeCode.Boolean
+            M(dbl <> sb, "dbl <> sb")
+            expected_tc = TypeCode.Boolean
+            M(dbl <> s, "dbl <> s")
+            expected_tc = TypeCode.Boolean
+            M(dbl <> us, "dbl <> us")
+            expected_tc = TypeCode.Boolean
+            M(dbl <> i, "dbl <> i")
+            expected_tc = TypeCode.Boolean
+            M(dbl <> ui, "dbl <> ui")
+            expected_tc = TypeCode.Boolean
+            M(dbl <> l, "dbl <> l")
+            expected_tc = TypeCode.Boolean
+            M(dbl <> ul, "dbl <> ul")
+            expected_tc = TypeCode.Boolean
+            M(dbl <> dec, "dbl <> dec")
+            expected_tc = TypeCode.Boolean
+            M(dbl <> sng, "dbl <> sng")
+            expected_tc = TypeCode.Boolean
+            M(dbl <> dbl, "dbl <> dbl")
+#If Double_ERRORS
+            M(dbl <> chr, "dbl <> chr")
+#End If
+#If Double_ERRORS
+            M(dbl <> str, "dbl <> str")
+#End If
+#If Double_ERRORS
+            M(dbl <> dt, "dbl <> dt")
+#End If
+#If Double_ERRORS
+            M(dbl <> dbnull, "dbl <> dbnull")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Object
+            M(dbl <> obj, "dbl <> obj")
+#End If
+#If Char_ERRORS
+            M(chr <> bool, "chr <> bool")
+#End If
+#If Char_ERRORS
+            M(chr <> b, "chr <> b")
+#End If
+#If Char_ERRORS
+            M(chr <> sb, "chr <> sb")
+#End If
+#If Char_ERRORS
+            M(chr <> s, "chr <> s")
+#End If
+#If Char_ERRORS
+            M(chr <> us, "chr <> us")
+#End If
+#If Char_ERRORS
+            M(chr <> i, "chr <> i")
+#End If
+#If Char_ERRORS
+            M(chr <> ui, "chr <> ui")
+#End If
+#If Char_ERRORS
+            M(chr <> l, "chr <> l")
+#End If
+#If Char_ERRORS
+            M(chr <> ul, "chr <> ul")
+#End If
+#If Char_ERRORS
+            M(chr <> dec, "chr <> dec")
+#End If
+#If Char_ERRORS
+            M(chr <> sng, "chr <> sng")
+#End If
+#If Char_ERRORS
+            M(chr <> dbl, "chr <> dbl")
+#End If
+#If Char_ERRORS
+            M(chr <> chr, "chr <> chr")
+#End If
+#If Char_ERRORS
+            M(chr <> str, "chr <> str")
+#End If
+#If Char_ERRORS
+            M(chr <> dt, "chr <> dt")
+#End If
+#If Char_ERRORS
+            M(chr <> dbnull, "chr <> dbnull")
+#End If
+#If Char_ERRORS
+            M(chr <> obj, "chr <> obj")
+#End If
+#If String_ERRORS
+            M(str <> bool, "str <> bool")
+#End If
+#If String_ERRORS
+            M(str <> b, "str <> b")
+#End If
+#If String_ERRORS
+            M(str <> sb, "str <> sb")
+#End If
+#If String_ERRORS
+            M(str <> s, "str <> s")
+#End If
+#If String_ERRORS
+            M(str <> us, "str <> us")
+#End If
+#If String_ERRORS
+            M(str <> i, "str <> i")
+#End If
+#If String_ERRORS
+            M(str <> ui, "str <> ui")
+#End If
+#If String_ERRORS
+            M(str <> l, "str <> l")
+#End If
+#If String_ERRORS
+            M(str <> ul, "str <> ul")
+#End If
+#If String_ERRORS
+            M(str <> dec, "str <> dec")
+#End If
+#If String_ERRORS
+            M(str <> sng, "str <> sng")
+#End If
+#If String_ERRORS
+            M(str <> dbl, "str <> dbl")
+#End If
+#If String_ERRORS
+            M(str <> chr, "str <> chr")
+#End If
+            expected_tc = TypeCode.Boolean
+            M(str <> str, "str <> str")
+#If String_ERRORS
+            M(str <> dt, "str <> dt")
+#End If
+#If String_ERRORS
+            M(str <> dbnull, "str <> dbnull")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Object
+            M(str <> obj, "str <> obj")
+#End If
+#If DateTime_ERRORS
+            M(dt <> bool, "dt <> bool")
+#End If
+#If DateTime_ERRORS
+            M(dt <> b, "dt <> b")
+#End If
+#If DateTime_ERRORS
+            M(dt <> sb, "dt <> sb")
+#End If
+#If DateTime_ERRORS
+            M(dt <> s, "dt <> s")
+#End If
+#If DateTime_ERRORS
+            M(dt <> us, "dt <> us")
+#End If
+#If DateTime_ERRORS
+            M(dt <> i, "dt <> i")
+#End If
+#If DateTime_ERRORS
+            M(dt <> ui, "dt <> ui")
+#End If
+#If DateTime_ERRORS
+            M(dt <> l, "dt <> l")
+#End If
+#If DateTime_ERRORS
+            M(dt <> ul, "dt <> ul")
+#End If
+#If DateTime_ERRORS
+            M(dt <> dec, "dt <> dec")
+#End If
+#If DateTime_ERRORS
+            M(dt <> sng, "dt <> sng")
+#End If
+#If DateTime_ERRORS
+            M(dt <> dbl, "dt <> dbl")
+#End If
+#If DateTime_ERRORS
+            M(dt <> chr, "dt <> chr")
+#End If
+#If DateTime_ERRORS
+            M(dt <> str, "dt <> str")
+#End If
+            expected_tc = TypeCode.Boolean
+            M(dt <> dt, "dt <> dt")
+#If DateTime_ERRORS
+            M(dt <> dbnull, "dt <> dbnull")
+#End If
+#If Not STRICT Or DateTime_ERRORS
+            expected_tc = TypeCode.Object
+            M(dt <> obj, "dt <> obj")
+#End If
+#If DBNull_ERRORS
+            M(dbnull <> bool, "dbnull <> bool")
+#End If
+#If DBNull_ERRORS
+            M(dbnull <> b, "dbnull <> b")
+#End If
+#If DBNull_ERRORS
+            M(dbnull <> sb, "dbnull <> sb")
+#End If
+#If DBNull_ERRORS
+            M(dbnull <> s, "dbnull <> s")
+#End If
+#If DBNull_ERRORS
+            M(dbnull <> us, "dbnull <> us")
+#End If
+#If DBNull_ERRORS
+            M(dbnull <> i, "dbnull <> i")
+#End If
+#If DBNull_ERRORS
+            M(dbnull <> ui, "dbnull <> ui")
+#End If
+#If DBNull_ERRORS
+            M(dbnull <> l, "dbnull <> l")
+#End If
+#If DBNull_ERRORS
+            M(dbnull <> ul, "dbnull <> ul")
+#End If
+#If DBNull_ERRORS
+            M(dbnull <> dec, "dbnull <> dec")
+#End If
+#If DBNull_ERRORS
+            M(dbnull <> sng, "dbnull <> sng")
+#End If
+#If DBNull_ERRORS
+            M(dbnull <> dbl, "dbnull <> dbl")
+#End If
+#If DBNull_ERRORS
+            M(dbnull <> chr, "dbnull <> chr")
+#End If
+#If DBNull_ERRORS
+            M(dbnull <> str, "dbnull <> str")
+#End If
+#If DBNull_ERRORS
+            M(dbnull <> dt, "dbnull <> dt")
+#End If
+#If DBNull_ERRORS
+            M(dbnull <> dbnull, "dbnull <> dbnull")
+#End If
+#If DBNull_ERRORS
+            M(dbnull <> obj, "dbnull <> obj")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj <> bool, "obj <> bool")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj <> b, "obj <> b")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj <> sb, "obj <> sb")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj <> s, "obj <> s")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj <> us, "obj <> us")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj <> i, "obj <> i")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj <> ui, "obj <> ui")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj <> l, "obj <> l")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj <> ul, "obj <> ul")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj <> dec, "obj <> dec")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj <> sng, "obj <> sng")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj <> dbl, "obj <> dbl")
+#End If
+#If Object_ERRORS
+            M(obj <> chr, "obj <> chr")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj <> str, "obj <> str")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj <> dt, "obj <> dt")
+#End If
+#If Object_ERRORS
+            M(obj <> dbnull, "obj <> dbnull")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj <> obj, "obj <> obj")
+#End If
+        If failures > 0 Then Return 1
+    Catch ex As Exception
+        Console.WriteLine ("Exception: {0}", ex)
+        Return 2
+    End Try
+    Return 0
+    End Function
+End Class
diff --git a/vbnc/vbnc/tests/CompileTime2/OperatorIntrinsicOr.vb b/vbnc/vbnc/tests/CompileTime2/OperatorIntrinsicOr.vb
new file mode 100644
index 0000000..89c5700
--- /dev/null
+++ b/vbnc/vbnc/tests/CompileTime2/OperatorIntrinsicOr.vb
@@ -0,0 +1,876 @@
+Class BinaryOperatorOr
+    Inherits IntrinsicOperatorTests
+    Shared Function Main As Integer
+        Try
+#If Boolean_ERRORS
+            M(bool Or bool, "bool Or bool")
+#End If
+#If Boolean_ERRORS
+            M(bool Or b, "bool Or b")
+#End If
+#If Boolean_ERRORS
+            M(bool Or sb, "bool Or sb")
+#End If
+#If Boolean_ERRORS
+            M(bool Or s, "bool Or s")
+#End If
+#If Boolean_ERRORS
+            M(bool Or us, "bool Or us")
+#End If
+#If Boolean_ERRORS
+            M(bool Or i, "bool Or i")
+#End If
+#If Boolean_ERRORS
+            M(bool Or ui, "bool Or ui")
+#End If
+#If Boolean_ERRORS
+            M(bool Or l, "bool Or l")
+#End If
+#If Boolean_ERRORS
+            M(bool Or ul, "bool Or ul")
+#End If
+#If Boolean_ERRORS
+            M(bool Or dec, "bool Or dec")
+#End If
+#If Boolean_ERRORS
+            M(bool Or sng, "bool Or sng")
+#End If
+#If Boolean_ERRORS
+            M(bool Or dbl, "bool Or dbl")
+#End If
+#If Boolean_ERRORS
+            M(bool Or chr, "bool Or chr")
+#End If
+#If Boolean_ERRORS
+            M(bool Or str, "bool Or str")
+#End If
+#If Boolean_ERRORS
+            M(bool Or dt, "bool Or dt")
+#End If
+#If Boolean_ERRORS
+            M(bool Or dbnull, "bool Or dbnull")
+#End If
+#If Boolean_ERRORS
+            M(bool Or obj, "bool Or obj")
+#End If
+#If Byte_ERRORS
+            M(b Or bool, "b Or bool")
+#End If
+#If Byte_ERRORS
+            M(b Or b, "b Or b")
+#End If
+#If Byte_ERRORS
+            M(b Or sb, "b Or sb")
+#End If
+#If Byte_ERRORS
+            M(b Or s, "b Or s")
+#End If
+            expected_tc = TypeCode.UInt16
+            M(b Or us, "b Or us")
+#If Byte_ERRORS
+            M(b Or i, "b Or i")
+#End If
+#If Byte_ERRORS
+            M(b Or ui, "b Or ui")
+#End If
+#If Byte_ERRORS
+            M(b Or l, "b Or l")
+#End If
+#If Byte_ERRORS
+            M(b Or ul, "b Or ul")
+#End If
+#If Byte_ERRORS
+            M(b Or dec, "b Or dec")
+#End If
+#If Byte_ERRORS
+            M(b Or sng, "b Or sng")
+#End If
+#If Byte_ERRORS
+            M(b Or dbl, "b Or dbl")
+#End If
+#If Byte_ERRORS
+            M(b Or chr, "b Or chr")
+#End If
+#If Byte_ERRORS
+            M(b Or str, "b Or str")
+#End If
+#If Byte_ERRORS
+            M(b Or dt, "b Or dt")
+#End If
+#If Byte_ERRORS
+            M(b Or dbnull, "b Or dbnull")
+#End If
+#If Byte_ERRORS
+            M(b Or obj, "b Or obj")
+#End If
+#If SByte_ERRORS
+            M(sb Or bool, "sb Or bool")
+#End If
+#If SByte_ERRORS
+            M(sb Or b, "sb Or b")
+#End If
+#If SByte_ERRORS
+            M(sb Or sb, "sb Or sb")
+#End If
+#If SByte_ERRORS
+            M(sb Or s, "sb Or s")
+#End If
+#If SByte_ERRORS
+            M(sb Or us, "sb Or us")
+#End If
+#If SByte_ERRORS
+            M(sb Or i, "sb Or i")
+#End If
+#If SByte_ERRORS
+            M(sb Or ui, "sb Or ui")
+#End If
+#If SByte_ERRORS
+            M(sb Or l, "sb Or l")
+#End If
+#If SByte_ERRORS
+            M(sb Or ul, "sb Or ul")
+#End If
+#If SByte_ERRORS
+            M(sb Or dec, "sb Or dec")
+#End If
+#If SByte_ERRORS
+            M(sb Or sng, "sb Or sng")
+#End If
+#If SByte_ERRORS
+            M(sb Or dbl, "sb Or dbl")
+#End If
+#If SByte_ERRORS
+            M(sb Or chr, "sb Or chr")
+#End If
+#If SByte_ERRORS
+            M(sb Or str, "sb Or str")
+#End If
+#If SByte_ERRORS
+            M(sb Or dt, "sb Or dt")
+#End If
+#If SByte_ERRORS
+            M(sb Or dbnull, "sb Or dbnull")
+#End If
+#If SByte_ERRORS
+            M(sb Or obj, "sb Or obj")
+#End If
+#If Int16_ERRORS
+            M(s Or bool, "s Or bool")
+#End If
+#If Int16_ERRORS
+            M(s Or b, "s Or b")
+#End If
+#If Int16_ERRORS
+            M(s Or sb, "s Or sb")
+#End If
+#If Int16_ERRORS
+            M(s Or s, "s Or s")
+#End If
+#If Int16_ERRORS
+            M(s Or us, "s Or us")
+#End If
+#If Int16_ERRORS
+            M(s Or i, "s Or i")
+#End If
+#If Int16_ERRORS
+            M(s Or ui, "s Or ui")
+#End If
+#If Int16_ERRORS
+            M(s Or l, "s Or l")
+#End If
+#If Int16_ERRORS
+            M(s Or ul, "s Or ul")
+#End If
+#If Int16_ERRORS
+            M(s Or dec, "s Or dec")
+#End If
+#If Int16_ERRORS
+            M(s Or sng, "s Or sng")
+#End If
+#If Int16_ERRORS
+            M(s Or dbl, "s Or dbl")
+#End If
+#If Int16_ERRORS
+            M(s Or chr, "s Or chr")
+#End If
+#If Int16_ERRORS
+            M(s Or str, "s Or str")
+#End If
+#If Int16_ERRORS
+            M(s Or dt, "s Or dt")
+#End If
+#If Int16_ERRORS
+            M(s Or dbnull, "s Or dbnull")
+#End If
+#If Int16_ERRORS
+            M(s Or obj, "s Or obj")
+#End If
+#If UInt16_ERRORS
+            M(us Or bool, "us Or bool")
+#End If
+            expected_tc = TypeCode.UInt16
+            M(us Or b, "us Or b")
+#If UInt16_ERRORS
+            M(us Or sb, "us Or sb")
+#End If
+#If UInt16_ERRORS
+            M(us Or s, "us Or s")
+#End If
+            expected_tc = TypeCode.UInt16
+            M(us Or us, "us Or us")
+#If UInt16_ERRORS
+            M(us Or i, "us Or i")
+#End If
+#If UInt16_ERRORS
+            M(us Or ui, "us Or ui")
+#End If
+#If UInt16_ERRORS
+            M(us Or l, "us Or l")
+#End If
+#If UInt16_ERRORS
+            M(us Or ul, "us Or ul")
+#End If
+#If UInt16_ERRORS
+            M(us Or dec, "us Or dec")
+#End If
+#If UInt16_ERRORS
+            M(us Or sng, "us Or sng")
+#End If
+#If UInt16_ERRORS
+            M(us Or dbl, "us Or dbl")
+#End If
+#If UInt16_ERRORS
+            M(us Or chr, "us Or chr")
+#End If
+#If UInt16_ERRORS
+            M(us Or str, "us Or str")
+#End If
+#If UInt16_ERRORS
+            M(us Or dt, "us Or dt")
+#End If
+#If UInt16_ERRORS
+            M(us Or dbnull, "us Or dbnull")
+#End If
+#If UInt16_ERRORS
+            M(us Or obj, "us Or obj")
+#End If
+#If Int32_ERRORS
+            M(i Or bool, "i Or bool")
+#End If
+#If Int32_ERRORS
+            M(i Or b, "i Or b")
+#End If
+#If Int32_ERRORS
+            M(i Or sb, "i Or sb")
+#End If
+#If Int32_ERRORS
+            M(i Or s, "i Or s")
+#End If
+#If Int32_ERRORS
+            M(i Or us, "i Or us")
+#End If
+#If Int32_ERRORS
+            M(i Or i, "i Or i")
+#End If
+#If Int32_ERRORS
+            M(i Or ui, "i Or ui")
+#End If
+#If Int32_ERRORS
+            M(i Or l, "i Or l")
+#End If
+#If Int32_ERRORS
+            M(i Or ul, "i Or ul")
+#End If
+#If Int32_ERRORS
+            M(i Or dec, "i Or dec")
+#End If
+#If Int32_ERRORS
+            M(i Or sng, "i Or sng")
+#End If
+#If Int32_ERRORS
+            M(i Or dbl, "i Or dbl")
+#End If
+#If Int32_ERRORS
+            M(i Or chr, "i Or chr")
+#End If
+#If Int32_ERRORS
+            M(i Or str, "i Or str")
+#End If
+#If Int32_ERRORS
+            M(i Or dt, "i Or dt")
+#End If
+#If Int32_ERRORS
+            M(i Or dbnull, "i Or dbnull")
+#End If
+#If Int32_ERRORS
+            M(i Or obj, "i Or obj")
+#End If
+#If UInt32_ERRORS
+            M(ui Or bool, "ui Or bool")
+#End If
+#If UInt32_ERRORS
+            M(ui Or b, "ui Or b")
+#End If
+#If UInt32_ERRORS
+            M(ui Or sb, "ui Or sb")
+#End If
+#If UInt32_ERRORS
+            M(ui Or s, "ui Or s")
+#End If
+#If UInt32_ERRORS
+            M(ui Or us, "ui Or us")
+#End If
+#If UInt32_ERRORS
+            M(ui Or i, "ui Or i")
+#End If
+#If UInt32_ERRORS
+            M(ui Or ui, "ui Or ui")
+#End If
+#If UInt32_ERRORS
+            M(ui Or l, "ui Or l")
+#End If
+#If UInt32_ERRORS
+            M(ui Or ul, "ui Or ul")
+#End If
+#If UInt32_ERRORS
+            M(ui Or dec, "ui Or dec")
+#End If
+#If UInt32_ERRORS
+            M(ui Or sng, "ui Or sng")
+#End If
+#If UInt32_ERRORS
+            M(ui Or dbl, "ui Or dbl")
+#End If
+#If UInt32_ERRORS
+            M(ui Or chr, "ui Or chr")
+#End If
+#If UInt32_ERRORS
+            M(ui Or str, "ui Or str")
+#End If
+#If UInt32_ERRORS
+            M(ui Or dt, "ui Or dt")
+#End If
+#If UInt32_ERRORS
+            M(ui Or dbnull, "ui Or dbnull")
+#End If
+#If UInt32_ERRORS
+            M(ui Or obj, "ui Or obj")
+#End If
+#If Int64_ERRORS
+            M(l Or bool, "l Or bool")
+#End If
+#If Int64_ERRORS
+            M(l Or b, "l Or b")
+#End If
+#If Int64_ERRORS
+            M(l Or sb, "l Or sb")
+#End If
+#If Int64_ERRORS
+            M(l Or s, "l Or s")
+#End If
+#If Int64_ERRORS
+            M(l Or us, "l Or us")
+#End If
+#If Int64_ERRORS
+            M(l Or i, "l Or i")
+#End If
+#If Int64_ERRORS
+            M(l Or ui, "l Or ui")
+#End If
+#If Int64_ERRORS
+            M(l Or l, "l Or l")
+#End If
+#If Int64_ERRORS
+            M(l Or ul, "l Or ul")
+#End If
+#If Int64_ERRORS
+            M(l Or dec, "l Or dec")
+#End If
+#If Int64_ERRORS
+            M(l Or sng, "l Or sng")
+#End If
+#If Int64_ERRORS
+            M(l Or dbl, "l Or dbl")
+#End If
+#If Int64_ERRORS
+            M(l Or chr, "l Or chr")
+#End If
+#If Int64_ERRORS
+            M(l Or str, "l Or str")
+#End If
+#If Int64_ERRORS
+            M(l Or dt, "l Or dt")
+#End If
+#If Int64_ERRORS
+            M(l Or dbnull, "l Or dbnull")
+#End If
+#If Int64_ERRORS
+            M(l Or obj, "l Or obj")
+#End If
+#If UInt64_ERRORS
+            M(ul Or bool, "ul Or bool")
+#End If
+#If UInt64_ERRORS
+            M(ul Or b, "ul Or b")
+#End If
+#If UInt64_ERRORS
+            M(ul Or sb, "ul Or sb")
+#End If
+#If UInt64_ERRORS
+            M(ul Or s, "ul Or s")
+#End If
+#If UInt64_ERRORS
+            M(ul Or us, "ul Or us")
+#End If
+#If UInt64_ERRORS
+            M(ul Or i, "ul Or i")
+#End If
+#If UInt64_ERRORS
+            M(ul Or ui, "ul Or ui")
+#End If
+#If UInt64_ERRORS
+            M(ul Or l, "ul Or l")
+#End If
+#If UInt64_ERRORS
+            M(ul Or ul, "ul Or ul")
+#End If
+#If UInt64_ERRORS
+            M(ul Or dec, "ul Or dec")
+#End If
+#If UInt64_ERRORS
+            M(ul Or sng, "ul Or sng")
+#End If
+#If UInt64_ERRORS
+            M(ul Or dbl, "ul Or dbl")
+#End If
+#If UInt64_ERRORS
+            M(ul Or chr, "ul Or chr")
+#End If
+#If UInt64_ERRORS
+            M(ul Or str, "ul Or str")
+#End If
+#If UInt64_ERRORS
+            M(ul Or dt, "ul Or dt")
+#End If
+#If UInt64_ERRORS
+            M(ul Or dbnull, "ul Or dbnull")
+#End If
+#If UInt64_ERRORS
+            M(ul Or obj, "ul Or obj")
+#End If
+#If Decimal_ERRORS
+            M(dec Or bool, "dec Or bool")
+#End If
+#If Decimal_ERRORS
+            M(dec Or b, "dec Or b")
+#End If
+#If Decimal_ERRORS
+            M(dec Or sb, "dec Or sb")
+#End If
+#If Decimal_ERRORS
+            M(dec Or s, "dec Or s")
+#End If
+#If Decimal_ERRORS
+            M(dec Or us, "dec Or us")
+#End If
+#If Decimal_ERRORS
+            M(dec Or i, "dec Or i")
+#End If
+#If Decimal_ERRORS
+            M(dec Or ui, "dec Or ui")
+#End If
+#If Decimal_ERRORS
+            M(dec Or l, "dec Or l")
+#End If
+#If Decimal_ERRORS
+            M(dec Or ul, "dec Or ul")
+#End If
+#If Decimal_ERRORS
+            M(dec Or dec, "dec Or dec")
+#End If
+#If Decimal_ERRORS
+            M(dec Or sng, "dec Or sng")
+#End If
+#If Decimal_ERRORS
+            M(dec Or dbl, "dec Or dbl")
+#End If
+#If Decimal_ERRORS
+            M(dec Or chr, "dec Or chr")
+#End If
+#If Decimal_ERRORS
+            M(dec Or str, "dec Or str")
+#End If
+#If Decimal_ERRORS
+            M(dec Or dt, "dec Or dt")
+#End If
+#If Decimal_ERRORS
+            M(dec Or dbnull, "dec Or dbnull")
+#End If
+#If Decimal_ERRORS
+            M(dec Or obj, "dec Or obj")
+#End If
+#If Single_ERRORS
+            M(sng Or bool, "sng Or bool")
+#End If
+#If Single_ERRORS
+            M(sng Or b, "sng Or b")
+#End If
+#If Single_ERRORS
+            M(sng Or sb, "sng Or sb")
+#End If
+#If Single_ERRORS
+            M(sng Or s, "sng Or s")
+#End If
+#If Single_ERRORS
+            M(sng Or us, "sng Or us")
+#End If
+#If Single_ERRORS
+            M(sng Or i, "sng Or i")
+#End If
+#If Single_ERRORS
+            M(sng Or ui, "sng Or ui")
+#End If
+#If Single_ERRORS
+            M(sng Or l, "sng Or l")
+#End If
+#If Single_ERRORS
+            M(sng Or ul, "sng Or ul")
+#End If
+#If Single_ERRORS
+            M(sng Or dec, "sng Or dec")
+#End If
+#If Single_ERRORS
+            M(sng Or sng, "sng Or sng")
+#End If
+#If Single_ERRORS
+            M(sng Or dbl, "sng Or dbl")
+#End If
+#If Single_ERRORS
+            M(sng Or chr, "sng Or chr")
+#End If
+#If Single_ERRORS
+            M(sng Or str, "sng Or str")
+#End If
+#If Single_ERRORS
+            M(sng Or dt, "sng Or dt")
+#End If
+#If Single_ERRORS
+            M(sng Or dbnull, "sng Or dbnull")
+#End If
+#If Single_ERRORS
+            M(sng Or obj, "sng Or obj")
+#End If
+#If Double_ERRORS
+            M(dbl Or bool, "dbl Or bool")
+#End If
+#If Double_ERRORS
+            M(dbl Or b, "dbl Or b")
+#End If
+#If Double_ERRORS
+            M(dbl Or sb, "dbl Or sb")
+#End If
+#If Double_ERRORS
+            M(dbl Or s, "dbl Or s")
+#End If
+#If Double_ERRORS
+            M(dbl Or us, "dbl Or us")
+#End If
+#If Double_ERRORS
+            M(dbl Or i, "dbl Or i")
+#End If
+#If Double_ERRORS
+            M(dbl Or ui, "dbl Or ui")
+#End If
+#If Double_ERRORS
+            M(dbl Or l, "dbl Or l")
+#End If
+#If Double_ERRORS
+            M(dbl Or ul, "dbl Or ul")
+#End If
+#If Double_ERRORS
+            M(dbl Or dec, "dbl Or dec")
+#End If
+#If Double_ERRORS
+            M(dbl Or sng, "dbl Or sng")
+#End If
+#If Double_ERRORS
+            M(dbl Or dbl, "dbl Or dbl")
+#End If
+#If Double_ERRORS
+            M(dbl Or chr, "dbl Or chr")
+#End If
+#If Double_ERRORS
+            M(dbl Or str, "dbl Or str")
+#End If
+#If Double_ERRORS
+            M(dbl Or dt, "dbl Or dt")
+#End If
+#If Double_ERRORS
+            M(dbl Or dbnull, "dbl Or dbnull")
+#End If
+#If Double_ERRORS
+            M(dbl Or obj, "dbl Or obj")
+#End If
+#If Char_ERRORS
+            M(chr Or bool, "chr Or bool")
+#End If
+#If Char_ERRORS
+            M(chr Or b, "chr Or b")
+#End If
+#If Char_ERRORS
+            M(chr Or sb, "chr Or sb")
+#End If
+#If Char_ERRORS
+            M(chr Or s, "chr Or s")
+#End If
+#If Char_ERRORS
+            M(chr Or us, "chr Or us")
+#End If
+#If Char_ERRORS
+            M(chr Or i, "chr Or i")
+#End If
+#If Char_ERRORS
+            M(chr Or ui, "chr Or ui")
+#End If
+#If Char_ERRORS
+            M(chr Or l, "chr Or l")
+#End If
+#If Char_ERRORS
+            M(chr Or ul, "chr Or ul")
+#End If
+#If Char_ERRORS
+            M(chr Or dec, "chr Or dec")
+#End If
+#If Char_ERRORS
+            M(chr Or sng, "chr Or sng")
+#End If
+#If Char_ERRORS
+            M(chr Or dbl, "chr Or dbl")
+#End If
+#If Char_ERRORS
+            M(chr Or chr, "chr Or chr")
+#End If
+#If Char_ERRORS
+            M(chr Or str, "chr Or str")
+#End If
+#If Char_ERRORS
+            M(chr Or dt, "chr Or dt")
+#End If
+#If Char_ERRORS
+            M(chr Or dbnull, "chr Or dbnull")
+#End If
+#If Char_ERRORS
+            M(chr Or obj, "chr Or obj")
+#End If
+#If String_ERRORS
+            M(str Or bool, "str Or bool")
+#End If
+#If String_ERRORS
+            M(str Or b, "str Or b")
+#End If
+#If String_ERRORS
+            M(str Or sb, "str Or sb")
+#End If
+#If String_ERRORS
+            M(str Or s, "str Or s")
+#End If
+#If String_ERRORS
+            M(str Or us, "str Or us")
+#End If
+#If String_ERRORS
+            M(str Or i, "str Or i")
+#End If
+#If String_ERRORS
+            M(str Or ui, "str Or ui")
+#End If
+#If String_ERRORS
+            M(str Or l, "str Or l")
+#End If
+#If String_ERRORS
+            M(str Or ul, "str Or ul")
+#End If
+#If String_ERRORS
+            M(str Or dec, "str Or dec")
+#End If
+#If String_ERRORS
+            M(str Or sng, "str Or sng")
+#End If
+#If String_ERRORS
+            M(str Or dbl, "str Or dbl")
+#End If
+#If String_ERRORS
+            M(str Or chr, "str Or chr")
+#End If
+#If String_ERRORS
+            M(str Or str, "str Or str")
+#End If
+#If String_ERRORS
+            M(str Or dt, "str Or dt")
+#End If
+#If String_ERRORS
+            M(str Or dbnull, "str Or dbnull")
+#End If
+#If String_ERRORS
+            M(str Or obj, "str Or obj")
+#End If
+#If DateTime_ERRORS
+            M(dt Or bool, "dt Or bool")
+#End If
+#If DateTime_ERRORS
+            M(dt Or b, "dt Or b")
+#End If
+#If DateTime_ERRORS
+            M(dt Or sb, "dt Or sb")
+#End If
+#If DateTime_ERRORS
+            M(dt Or s, "dt Or s")
+#End If
+#If DateTime_ERRORS
+            M(dt Or us, "dt Or us")
+#End If
+#If DateTime_ERRORS
+            M(dt Or i, "dt Or i")
+#End If
+#If DateTime_ERRORS
+            M(dt Or ui, "dt Or ui")
+#End If
+#If DateTime_ERRORS
+            M(dt Or l, "dt Or l")
+#End If
+#If DateTime_ERRORS
+            M(dt Or ul, "dt Or ul")
+#End If
+#If DateTime_ERRORS
+            M(dt Or dec, "dt Or dec")
+#End If
+#If DateTime_ERRORS
+            M(dt Or sng, "dt Or sng")
+#End If
+#If DateTime_ERRORS
+            M(dt Or dbl, "dt Or dbl")
+#End If
+#If DateTime_ERRORS
+            M(dt Or chr, "dt Or chr")
+#End If
+#If DateTime_ERRORS
+            M(dt Or str, "dt Or str")
+#End If
+#If DateTime_ERRORS
+            M(dt Or dt, "dt Or dt")
+#End If
+#If DateTime_ERRORS
+            M(dt Or dbnull, "dt Or dbnull")
+#End If
+#If DateTime_ERRORS
+            M(dt Or obj, "dt Or obj")
+#End If
+#If DBNull_ERRORS
+            M(dbnull Or bool, "dbnull Or bool")
+#End If
+#If DBNull_ERRORS
+            M(dbnull Or b, "dbnull Or b")
+#End If
+#If DBNull_ERRORS
+            M(dbnull Or sb, "dbnull Or sb")
+#End If
+#If DBNull_ERRORS
+            M(dbnull Or s, "dbnull Or s")
+#End If
+#If DBNull_ERRORS
+            M(dbnull Or us, "dbnull Or us")
+#End If
+#If DBNull_ERRORS
+            M(dbnull Or i, "dbnull Or i")
+#End If
+#If DBNull_ERRORS
+            M(dbnull Or ui, "dbnull Or ui")
+#End If
+#If DBNull_ERRORS
+            M(dbnull Or l, "dbnull Or l")
+#End If
+#If DBNull_ERRORS
+            M(dbnull Or ul, "dbnull Or ul")
+#End If
+#If DBNull_ERRORS
+            M(dbnull Or dec, "dbnull Or dec")
+#End If
+#If DBNull_ERRORS
+            M(dbnull Or sng, "dbnull Or sng")
+#End If
+#If DBNull_ERRORS
+            M(dbnull Or dbl, "dbnull Or dbl")
+#End If
+#If DBNull_ERRORS
+            M(dbnull Or chr, "dbnull Or chr")
+#End If
+#If DBNull_ERRORS
+            M(dbnull Or str, "dbnull Or str")
+#End If
+#If DBNull_ERRORS
+            M(dbnull Or dt, "dbnull Or dt")
+#End If
+#If DBNull_ERRORS
+            M(dbnull Or dbnull, "dbnull Or dbnull")
+#End If
+#If DBNull_ERRORS
+            M(dbnull Or obj, "dbnull Or obj")
+#End If
+#If Object_ERRORS
+            M(obj Or bool, "obj Or bool")
+#End If
+#If Object_ERRORS
+            M(obj Or b, "obj Or b")
+#End If
+#If Object_ERRORS
+            M(obj Or sb, "obj Or sb")
+#End If
+#If Object_ERRORS
+            M(obj Or s, "obj Or s")
+#End If
+#If Object_ERRORS
+            M(obj Or us, "obj Or us")
+#End If
+#If Object_ERRORS
+            M(obj Or i, "obj Or i")
+#End If
+#If Object_ERRORS
+            M(obj Or ui, "obj Or ui")
+#End If
+#If Object_ERRORS
+            M(obj Or l, "obj Or l")
+#End If
+#If Object_ERRORS
+            M(obj Or ul, "obj Or ul")
+#End If
+#If Object_ERRORS
+            M(obj Or dec, "obj Or dec")
+#End If
+#If Object_ERRORS
+            M(obj Or sng, "obj Or sng")
+#End If
+#If Object_ERRORS
+            M(obj Or dbl, "obj Or dbl")
+#End If
+#If Object_ERRORS
+            M(obj Or chr, "obj Or chr")
+#End If
+#If Object_ERRORS
+            M(obj Or str, "obj Or str")
+#End If
+#If Object_ERRORS
+            M(obj Or dt, "obj Or dt")
+#End If
+#If Object_ERRORS
+            M(obj Or dbnull, "obj Or dbnull")
+#End If
+#If Object_ERRORS
+            M(obj Or obj, "obj Or obj")
+#End If
+        If failures > 0 Then Return 1
+    Catch ex As Exception
+        Console.WriteLine ("Exception: {0}", ex)
+        Return 2
+    End Try
+    Return 0
+    End Function
+End Class
diff --git a/vbnc/vbnc/tests/CompileTime2/OperatorIntrinsicOrElse.vb b/vbnc/vbnc/tests/CompileTime2/OperatorIntrinsicOrElse.vb
new file mode 100644
index 0000000..9b4fed9
--- /dev/null
+++ b/vbnc/vbnc/tests/CompileTime2/OperatorIntrinsicOrElse.vb
@@ -0,0 +1,1073 @@
+Class BinaryOperatorOrElse
+    Inherits IntrinsicOperatorTests
+    Shared Function Main As Integer
+        Try
+            expected_tc = TypeCode.Boolean
+            M(bool OrElse bool, "bool OrElse bool")
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(bool OrElse b, "bool OrElse b")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(bool OrElse sb, "bool OrElse sb")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(bool OrElse s, "bool OrElse s")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(bool OrElse us, "bool OrElse us")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(bool OrElse i, "bool OrElse i")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(bool OrElse ui, "bool OrElse ui")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(bool OrElse l, "bool OrElse l")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(bool OrElse ul, "bool OrElse ul")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(bool OrElse dec, "bool OrElse dec")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(bool OrElse sng, "bool OrElse sng")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(bool OrElse dbl, "bool OrElse dbl")
+#End If
+#If Boolean_ERRORS
+            M(bool OrElse chr, "bool OrElse chr")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(bool OrElse str, "bool OrElse str")
+#End If
+#If Boolean_ERRORS
+            M(bool OrElse dt, "bool OrElse dt")
+#End If
+#If Boolean_ERRORS
+            M(bool OrElse dbnull, "bool OrElse dbnull")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Object
+            M(bool OrElse obj, "bool OrElse obj")
+#End If
+#If Not STRICT Or Byte_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(b OrElse bool, "b OrElse bool")
+#End If
+#If Not STRICT Or Byte_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(b OrElse b, "b OrElse b")
+#End If
+#If Not STRICT Or Byte_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(b OrElse sb, "b OrElse sb")
+#End If
+#If Not STRICT Or Byte_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(b OrElse s, "b OrElse s")
+#End If
+#If Not STRICT Or Byte_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(b OrElse us, "b OrElse us")
+#End If
+#If Not STRICT Or Byte_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(b OrElse i, "b OrElse i")
+#End If
+#If Not STRICT Or Byte_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(b OrElse ui, "b OrElse ui")
+#End If
+#If Not STRICT Or Byte_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(b OrElse l, "b OrElse l")
+#End If
+#If Not STRICT Or Byte_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(b OrElse ul, "b OrElse ul")
+#End If
+#If Not STRICT Or Byte_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(b OrElse dec, "b OrElse dec")
+#End If
+#If Not STRICT Or Byte_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(b OrElse sng, "b OrElse sng")
+#End If
+#If Not STRICT Or Byte_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(b OrElse dbl, "b OrElse dbl")
+#End If
+#If Byte_ERRORS
+            M(b OrElse chr, "b OrElse chr")
+#End If
+#If Not STRICT Or Byte_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(b OrElse str, "b OrElse str")
+#End If
+#If Byte_ERRORS
+            M(b OrElse dt, "b OrElse dt")
+#End If
+#If Byte_ERRORS
+            M(b OrElse dbnull, "b OrElse dbnull")
+#End If
+#If Not STRICT Or Byte_ERRORS
+            expected_tc = TypeCode.Object
+            M(b OrElse obj, "b OrElse obj")
+#End If
+#If Not STRICT Or SByte_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(sb OrElse bool, "sb OrElse bool")
+#End If
+#If Not STRICT Or SByte_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(sb OrElse b, "sb OrElse b")
+#End If
+#If Not STRICT Or SByte_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(sb OrElse sb, "sb OrElse sb")
+#End If
+#If Not STRICT Or SByte_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(sb OrElse s, "sb OrElse s")
+#End If
+#If Not STRICT Or SByte_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(sb OrElse us, "sb OrElse us")
+#End If
+#If Not STRICT Or SByte_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(sb OrElse i, "sb OrElse i")
+#End If
+#If Not STRICT Or SByte_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(sb OrElse ui, "sb OrElse ui")
+#End If
+#If Not STRICT Or SByte_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(sb OrElse l, "sb OrElse l")
+#End If
+#If Not STRICT Or SByte_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(sb OrElse ul, "sb OrElse ul")
+#End If
+#If Not STRICT Or SByte_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(sb OrElse dec, "sb OrElse dec")
+#End If
+#If Not STRICT Or SByte_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(sb OrElse sng, "sb OrElse sng")
+#End If
+#If Not STRICT Or SByte_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(sb OrElse dbl, "sb OrElse dbl")
+#End If
+#If SByte_ERRORS
+            M(sb OrElse chr, "sb OrElse chr")
+#End If
+#If Not STRICT Or SByte_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(sb OrElse str, "sb OrElse str")
+#End If
+#If SByte_ERRORS
+            M(sb OrElse dt, "sb OrElse dt")
+#End If
+#If SByte_ERRORS
+            M(sb OrElse dbnull, "sb OrElse dbnull")
+#End If
+#If Not STRICT Or SByte_ERRORS
+            expected_tc = TypeCode.Object
+            M(sb OrElse obj, "sb OrElse obj")
+#End If
+#If Not STRICT Or Int16_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(s OrElse bool, "s OrElse bool")
+#End If
+#If Not STRICT Or Int16_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(s OrElse b, "s OrElse b")
+#End If
+#If Not STRICT Or Int16_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(s OrElse sb, "s OrElse sb")
+#End If
+#If Not STRICT Or Int16_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(s OrElse s, "s OrElse s")
+#End If
+#If Not STRICT Or Int16_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(s OrElse us, "s OrElse us")
+#End If
+#If Not STRICT Or Int16_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(s OrElse i, "s OrElse i")
+#End If
+#If Not STRICT Or Int16_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(s OrElse ui, "s OrElse ui")
+#End If
+#If Not STRICT Or Int16_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(s OrElse l, "s OrElse l")
+#End If
+#If Not STRICT Or Int16_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(s OrElse ul, "s OrElse ul")
+#End If
+#If Not STRICT Or Int16_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(s OrElse dec, "s OrElse dec")
+#End If
+#If Not STRICT Or Int16_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(s OrElse sng, "s OrElse sng")
+#End If
+#If Not STRICT Or Int16_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(s OrElse dbl, "s OrElse dbl")
+#End If
+#If Int16_ERRORS
+            M(s OrElse chr, "s OrElse chr")
+#End If
+#If Not STRICT Or Int16_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(s OrElse str, "s OrElse str")
+#End If
+#If Int16_ERRORS
+            M(s OrElse dt, "s OrElse dt")
+#End If
+#If Int16_ERRORS
+            M(s OrElse dbnull, "s OrElse dbnull")
+#End If
+#If Not STRICT Or Int16_ERRORS
+            expected_tc = TypeCode.Object
+            M(s OrElse obj, "s OrElse obj")
+#End If
+#If Not STRICT Or UInt16_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(us OrElse bool, "us OrElse bool")
+#End If
+#If Not STRICT Or UInt16_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(us OrElse b, "us OrElse b")
+#End If
+#If Not STRICT Or UInt16_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(us OrElse sb, "us OrElse sb")
+#End If
+#If Not STRICT Or UInt16_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(us OrElse s, "us OrElse s")
+#End If
+#If Not STRICT Or UInt16_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(us OrElse us, "us OrElse us")
+#End If
+#If Not STRICT Or UInt16_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(us OrElse i, "us OrElse i")
+#End If
+#If Not STRICT Or UInt16_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(us OrElse ui, "us OrElse ui")
+#End If
+#If Not STRICT Or UInt16_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(us OrElse l, "us OrElse l")
+#End If
+#If Not STRICT Or UInt16_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(us OrElse ul, "us OrElse ul")
+#End If
+#If Not STRICT Or UInt16_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(us OrElse dec, "us OrElse dec")
+#End If
+#If Not STRICT Or UInt16_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(us OrElse sng, "us OrElse sng")
+#End If
+#If Not STRICT Or UInt16_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(us OrElse dbl, "us OrElse dbl")
+#End If
+#If UInt16_ERRORS
+            M(us OrElse chr, "us OrElse chr")
+#End If
+#If Not STRICT Or UInt16_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(us OrElse str, "us OrElse str")
+#End If
+#If UInt16_ERRORS
+            M(us OrElse dt, "us OrElse dt")
+#End If
+#If UInt16_ERRORS
+            M(us OrElse dbnull, "us OrElse dbnull")
+#End If
+#If Not STRICT Or UInt16_ERRORS
+            expected_tc = TypeCode.Object
+            M(us OrElse obj, "us OrElse obj")
+#End If
+#If Not STRICT Or Int32_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(i OrElse bool, "i OrElse bool")
+#End If
+#If Not STRICT Or Int32_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(i OrElse b, "i OrElse b")
+#End If
+#If Not STRICT Or Int32_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(i OrElse sb, "i OrElse sb")
+#End If
+#If Not STRICT Or Int32_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(i OrElse s, "i OrElse s")
+#End If
+#If Not STRICT Or Int32_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(i OrElse us, "i OrElse us")
+#End If
+#If Not STRICT Or Int32_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(i OrElse i, "i OrElse i")
+#End If
+#If Not STRICT Or Int32_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(i OrElse ui, "i OrElse ui")
+#End If
+#If Not STRICT Or Int32_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(i OrElse l, "i OrElse l")
+#End If
+#If Not STRICT Or Int32_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(i OrElse ul, "i OrElse ul")
+#End If
+#If Not STRICT Or Int32_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(i OrElse dec, "i OrElse dec")
+#End If
+#If Not STRICT Or Int32_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(i OrElse sng, "i OrElse sng")
+#End If
+#If Not STRICT Or Int32_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(i OrElse dbl, "i OrElse dbl")
+#End If
+#If Int32_ERRORS
+            M(i OrElse chr, "i OrElse chr")
+#End If
+#If Not STRICT Or Int32_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(i OrElse str, "i OrElse str")
+#End If
+#If Int32_ERRORS
+            M(i OrElse dt, "i OrElse dt")
+#End If
+#If Int32_ERRORS
+            M(i OrElse dbnull, "i OrElse dbnull")
+#End If
+#If Not STRICT Or Int32_ERRORS
+            expected_tc = TypeCode.Object
+            M(i OrElse obj, "i OrElse obj")
+#End If
+#If Not STRICT Or UInt32_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(ui OrElse bool, "ui OrElse bool")
+#End If
+#If Not STRICT Or UInt32_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(ui OrElse b, "ui OrElse b")
+#End If
+#If Not STRICT Or UInt32_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(ui OrElse sb, "ui OrElse sb")
+#End If
+#If Not STRICT Or UInt32_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(ui OrElse s, "ui OrElse s")
+#End If
+#If Not STRICT Or UInt32_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(ui OrElse us, "ui OrElse us")
+#End If
+#If Not STRICT Or UInt32_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(ui OrElse i, "ui OrElse i")
+#End If
+#If Not STRICT Or UInt32_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(ui OrElse ui, "ui OrElse ui")
+#End If
+#If Not STRICT Or UInt32_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(ui OrElse l, "ui OrElse l")
+#End If
+#If Not STRICT Or UInt32_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(ui OrElse ul, "ui OrElse ul")
+#End If
+#If Not STRICT Or UInt32_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(ui OrElse dec, "ui OrElse dec")
+#End If
+#If Not STRICT Or UInt32_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(ui OrElse sng, "ui OrElse sng")
+#End If
+#If Not STRICT Or UInt32_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(ui OrElse dbl, "ui OrElse dbl")
+#End If
+#If UInt32_ERRORS
+            M(ui OrElse chr, "ui OrElse chr")
+#End If
+#If Not STRICT Or UInt32_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(ui OrElse str, "ui OrElse str")
+#End If
+#If UInt32_ERRORS
+            M(ui OrElse dt, "ui OrElse dt")
+#End If
+#If UInt32_ERRORS
+            M(ui OrElse dbnull, "ui OrElse dbnull")
+#End If
+#If Not STRICT Or UInt32_ERRORS
+            expected_tc = TypeCode.Object
+            M(ui OrElse obj, "ui OrElse obj")
+#End If
+#If Not STRICT Or Int64_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(l OrElse bool, "l OrElse bool")
+#End If
+#If Not STRICT Or Int64_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(l OrElse b, "l OrElse b")
+#End If
+#If Not STRICT Or Int64_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(l OrElse sb, "l OrElse sb")
+#End If
+#If Not STRICT Or Int64_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(l OrElse s, "l OrElse s")
+#End If
+#If Not STRICT Or Int64_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(l OrElse us, "l OrElse us")
+#End If
+#If Not STRICT Or Int64_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(l OrElse i, "l OrElse i")
+#End If
+#If Not STRICT Or Int64_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(l OrElse ui, "l OrElse ui")
+#End If
+#If Not STRICT Or Int64_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(l OrElse l, "l OrElse l")
+#End If
+#If Not STRICT Or Int64_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(l OrElse ul, "l OrElse ul")
+#End If
+#If Not STRICT Or Int64_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(l OrElse dec, "l OrElse dec")
+#End If
+#If Not STRICT Or Int64_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(l OrElse sng, "l OrElse sng")
+#End If
+#If Not STRICT Or Int64_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(l OrElse dbl, "l OrElse dbl")
+#End If
+#If Int64_ERRORS
+            M(l OrElse chr, "l OrElse chr")
+#End If
+#If Not STRICT Or Int64_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(l OrElse str, "l OrElse str")
+#End If
+#If Int64_ERRORS
+            M(l OrElse dt, "l OrElse dt")
+#End If
+#If Int64_ERRORS
+            M(l OrElse dbnull, "l OrElse dbnull")
+#End If
+#If Not STRICT Or Int64_ERRORS
+            expected_tc = TypeCode.Object
+            M(l OrElse obj, "l OrElse obj")
+#End If
+#If Not STRICT Or UInt64_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(ul OrElse bool, "ul OrElse bool")
+#End If
+#If Not STRICT Or UInt64_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(ul OrElse b, "ul OrElse b")
+#End If
+#If Not STRICT Or UInt64_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(ul OrElse sb, "ul OrElse sb")
+#End If
+#If Not STRICT Or UInt64_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(ul OrElse s, "ul OrElse s")
+#End If
+#If Not STRICT Or UInt64_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(ul OrElse us, "ul OrElse us")
+#End If
+#If Not STRICT Or UInt64_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(ul OrElse i, "ul OrElse i")
+#End If
+#If Not STRICT Or UInt64_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(ul OrElse ui, "ul OrElse ui")
+#End If
+#If Not STRICT Or UInt64_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(ul OrElse l, "ul OrElse l")
+#End If
+#If Not STRICT Or UInt64_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(ul OrElse ul, "ul OrElse ul")
+#End If
+#If Not STRICT Or UInt64_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(ul OrElse dec, "ul OrElse dec")
+#End If
+#If Not STRICT Or UInt64_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(ul OrElse sng, "ul OrElse sng")
+#End If
+#If Not STRICT Or UInt64_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(ul OrElse dbl, "ul OrElse dbl")
+#End If
+#If UInt64_ERRORS
+            M(ul OrElse chr, "ul OrElse chr")
+#End If
+#If Not STRICT Or UInt64_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(ul OrElse str, "ul OrElse str")
+#End If
+#If UInt64_ERRORS
+            M(ul OrElse dt, "ul OrElse dt")
+#End If
+#If UInt64_ERRORS
+            M(ul OrElse dbnull, "ul OrElse dbnull")
+#End If
+#If Not STRICT Or UInt64_ERRORS
+            expected_tc = TypeCode.Object
+            M(ul OrElse obj, "ul OrElse obj")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(dec OrElse bool, "dec OrElse bool")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(dec OrElse b, "dec OrElse b")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(dec OrElse sb, "dec OrElse sb")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(dec OrElse s, "dec OrElse s")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(dec OrElse us, "dec OrElse us")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(dec OrElse i, "dec OrElse i")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(dec OrElse ui, "dec OrElse ui")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(dec OrElse l, "dec OrElse l")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(dec OrElse ul, "dec OrElse ul")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(dec OrElse dec, "dec OrElse dec")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(dec OrElse sng, "dec OrElse sng")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(dec OrElse dbl, "dec OrElse dbl")
+#End If
+#If Decimal_ERRORS
+            M(dec OrElse chr, "dec OrElse chr")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(dec OrElse str, "dec OrElse str")
+#End If
+#If Decimal_ERRORS
+            M(dec OrElse dt, "dec OrElse dt")
+#End If
+#If Decimal_ERRORS
+            M(dec OrElse dbnull, "dec OrElse dbnull")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Object
+            M(dec OrElse obj, "dec OrElse obj")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(sng OrElse bool, "sng OrElse bool")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(sng OrElse b, "sng OrElse b")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(sng OrElse sb, "sng OrElse sb")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(sng OrElse s, "sng OrElse s")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(sng OrElse us, "sng OrElse us")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(sng OrElse i, "sng OrElse i")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(sng OrElse ui, "sng OrElse ui")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(sng OrElse l, "sng OrElse l")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(sng OrElse ul, "sng OrElse ul")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(sng OrElse dec, "sng OrElse dec")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(sng OrElse sng, "sng OrElse sng")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(sng OrElse dbl, "sng OrElse dbl")
+#End If
+#If Single_ERRORS
+            M(sng OrElse chr, "sng OrElse chr")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(sng OrElse str, "sng OrElse str")
+#End If
+#If Single_ERRORS
+            M(sng OrElse dt, "sng OrElse dt")
+#End If
+#If Single_ERRORS
+            M(sng OrElse dbnull, "sng OrElse dbnull")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Object
+            M(sng OrElse obj, "sng OrElse obj")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(dbl OrElse bool, "dbl OrElse bool")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(dbl OrElse b, "dbl OrElse b")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(dbl OrElse sb, "dbl OrElse sb")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(dbl OrElse s, "dbl OrElse s")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(dbl OrElse us, "dbl OrElse us")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(dbl OrElse i, "dbl OrElse i")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(dbl OrElse ui, "dbl OrElse ui")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(dbl OrElse l, "dbl OrElse l")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(dbl OrElse ul, "dbl OrElse ul")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(dbl OrElse dec, "dbl OrElse dec")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(dbl OrElse sng, "dbl OrElse sng")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(dbl OrElse dbl, "dbl OrElse dbl")
+#End If
+#If Double_ERRORS
+            M(dbl OrElse chr, "dbl OrElse chr")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(dbl OrElse str, "dbl OrElse str")
+#End If
+#If Double_ERRORS
+            M(dbl OrElse dt, "dbl OrElse dt")
+#End If
+#If Double_ERRORS
+            M(dbl OrElse dbnull, "dbl OrElse dbnull")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Object
+            M(dbl OrElse obj, "dbl OrElse obj")
+#End If
+#If Char_ERRORS
+            M(chr OrElse bool, "chr OrElse bool")
+#End If
+#If Char_ERRORS
+            M(chr OrElse b, "chr OrElse b")
+#End If
+#If Char_ERRORS
+            M(chr OrElse sb, "chr OrElse sb")
+#End If
+#If Char_ERRORS
+            M(chr OrElse s, "chr OrElse s")
+#End If
+#If Char_ERRORS
+            M(chr OrElse us, "chr OrElse us")
+#End If
+#If Char_ERRORS
+            M(chr OrElse i, "chr OrElse i")
+#End If
+#If Char_ERRORS
+            M(chr OrElse ui, "chr OrElse ui")
+#End If
+#If Char_ERRORS
+            M(chr OrElse l, "chr OrElse l")
+#End If
+#If Char_ERRORS
+            M(chr OrElse ul, "chr OrElse ul")
+#End If
+#If Char_ERRORS
+            M(chr OrElse dec, "chr OrElse dec")
+#End If
+#If Char_ERRORS
+            M(chr OrElse sng, "chr OrElse sng")
+#End If
+#If Char_ERRORS
+            M(chr OrElse dbl, "chr OrElse dbl")
+#End If
+#If Char_ERRORS
+            M(chr OrElse chr, "chr OrElse chr")
+#End If
+#If Char_ERRORS
+            M(chr OrElse str, "chr OrElse str")
+#End If
+#If Char_ERRORS
+            M(chr OrElse dt, "chr OrElse dt")
+#End If
+#If Char_ERRORS
+            M(chr OrElse dbnull, "chr OrElse dbnull")
+#End If
+#If Char_ERRORS
+            M(chr OrElse obj, "chr OrElse obj")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(str OrElse bool, "str OrElse bool")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(str OrElse b, "str OrElse b")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(str OrElse sb, "str OrElse sb")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(str OrElse s, "str OrElse s")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(str OrElse us, "str OrElse us")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(str OrElse i, "str OrElse i")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(str OrElse ui, "str OrElse ui")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(str OrElse l, "str OrElse l")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(str OrElse ul, "str OrElse ul")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(str OrElse dec, "str OrElse dec")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(str OrElse sng, "str OrElse sng")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(str OrElse dbl, "str OrElse dbl")
+#End If
+#If String_ERRORS
+            M(str OrElse chr, "str OrElse chr")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Boolean
+            M(str OrElse str, "str OrElse str")
+#End If
+#If String_ERRORS
+            M(str OrElse dt, "str OrElse dt")
+#End If
+#If String_ERRORS
+            M(str OrElse dbnull, "str OrElse dbnull")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Object
+            M(str OrElse obj, "str OrElse obj")
+#End If
+#If DateTime_ERRORS
+            M(dt OrElse bool, "dt OrElse bool")
+#End If
+#If DateTime_ERRORS
+            M(dt OrElse b, "dt OrElse b")
+#End If
+#If DateTime_ERRORS
+            M(dt OrElse sb, "dt OrElse sb")
+#End If
+#If DateTime_ERRORS
+            M(dt OrElse s, "dt OrElse s")
+#End If
+#If DateTime_ERRORS
+            M(dt OrElse us, "dt OrElse us")
+#End If
+#If DateTime_ERRORS
+            M(dt OrElse i, "dt OrElse i")
+#End If
+#If DateTime_ERRORS
+            M(dt OrElse ui, "dt OrElse ui")
+#End If
+#If DateTime_ERRORS
+            M(dt OrElse l, "dt OrElse l")
+#End If
+#If DateTime_ERRORS
+            M(dt OrElse ul, "dt OrElse ul")
+#End If
+#If DateTime_ERRORS
+            M(dt OrElse dec, "dt OrElse dec")
+#End If
+#If DateTime_ERRORS
+            M(dt OrElse sng, "dt OrElse sng")
+#End If
+#If DateTime_ERRORS
+            M(dt OrElse dbl, "dt OrElse dbl")
+#End If
+#If DateTime_ERRORS
+            M(dt OrElse chr, "dt OrElse chr")
+#End If
+#If DateTime_ERRORS
+            M(dt OrElse str, "dt OrElse str")
+#End If
+#If DateTime_ERRORS
+            M(dt OrElse dt, "dt OrElse dt")
+#End If
+#If DateTime_ERRORS
+            M(dt OrElse dbnull, "dt OrElse dbnull")
+#End If
+#If DateTime_ERRORS
+            M(dt OrElse obj, "dt OrElse obj")
+#End If
+#If DBNull_ERRORS
+            M(dbnull OrElse bool, "dbnull OrElse bool")
+#End If
+#If DBNull_ERRORS
+            M(dbnull OrElse b, "dbnull OrElse b")
+#End If
+#If DBNull_ERRORS
+            M(dbnull OrElse sb, "dbnull OrElse sb")
+#End If
+#If DBNull_ERRORS
+            M(dbnull OrElse s, "dbnull OrElse s")
+#End If
+#If DBNull_ERRORS
+            M(dbnull OrElse us, "dbnull OrElse us")
+#End If
+#If DBNull_ERRORS
+            M(dbnull OrElse i, "dbnull OrElse i")
+#End If
+#If DBNull_ERRORS
+            M(dbnull OrElse ui, "dbnull OrElse ui")
+#End If
+#If DBNull_ERRORS
+            M(dbnull OrElse l, "dbnull OrElse l")
+#End If
+#If DBNull_ERRORS
+            M(dbnull OrElse ul, "dbnull OrElse ul")
+#End If
+#If DBNull_ERRORS
+            M(dbnull OrElse dec, "dbnull OrElse dec")
+#End If
+#If DBNull_ERRORS
+            M(dbnull OrElse sng, "dbnull OrElse sng")
+#End If
+#If DBNull_ERRORS
+            M(dbnull OrElse dbl, "dbnull OrElse dbl")
+#End If
+#If DBNull_ERRORS
+            M(dbnull OrElse chr, "dbnull OrElse chr")
+#End If
+#If DBNull_ERRORS
+            M(dbnull OrElse str, "dbnull OrElse str")
+#End If
+#If DBNull_ERRORS
+            M(dbnull OrElse dt, "dbnull OrElse dt")
+#End If
+#If DBNull_ERRORS
+            M(dbnull OrElse dbnull, "dbnull OrElse dbnull")
+#End If
+#If DBNull_ERRORS
+            M(dbnull OrElse obj, "dbnull OrElse obj")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj OrElse bool, "obj OrElse bool")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj OrElse b, "obj OrElse b")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj OrElse sb, "obj OrElse sb")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj OrElse s, "obj OrElse s")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj OrElse us, "obj OrElse us")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj OrElse i, "obj OrElse i")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj OrElse ui, "obj OrElse ui")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj OrElse l, "obj OrElse l")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj OrElse ul, "obj OrElse ul")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj OrElse dec, "obj OrElse dec")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj OrElse sng, "obj OrElse sng")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj OrElse dbl, "obj OrElse dbl")
+#End If
+#If Object_ERRORS
+            M(obj OrElse chr, "obj OrElse chr")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj OrElse str, "obj OrElse str")
+#End If
+#If Object_ERRORS
+            M(obj OrElse dt, "obj OrElse dt")
+#End If
+#If Object_ERRORS
+            M(obj OrElse dbnull, "obj OrElse dbnull")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj OrElse obj, "obj OrElse obj")
+#End If
+        If failures > 0 Then Return 1
+    Catch ex As Exception
+        Console.WriteLine ("Exception: {0}", ex)
+        Return 2
+    End Try
+    Return 0
+    End Function
+End Class
diff --git a/vbnc/vbnc/tests/CompileTime2/OperatorIntrinsicRShift.vb b/vbnc/vbnc/tests/CompileTime2/OperatorIntrinsicRShift.vb
new file mode 100644
index 0000000..b6babff
--- /dev/null
+++ b/vbnc/vbnc/tests/CompileTime2/OperatorIntrinsicRShift.vb
@@ -0,0 +1,1003 @@
+Class BinaryOperatorRShift
+    Inherits IntrinsicOperatorTests
+    Shared Function Main As Integer
+        Try
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Int16
+            M(bool >> bool, "bool >> bool")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Int16
+            M(bool >> b, "bool >> b")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Int16
+            M(bool >> sb, "bool >> sb")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Int16
+            M(bool >> s, "bool >> s")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Int16
+            M(bool >> us, "bool >> us")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Int16
+            M(bool >> i, "bool >> i")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Int16
+            M(bool >> ui, "bool >> ui")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Int16
+            M(bool >> l, "bool >> l")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Int16
+            M(bool >> ul, "bool >> ul")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Int16
+            M(bool >> dec, "bool >> dec")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Int16
+            M(bool >> sng, "bool >> sng")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Int16
+            M(bool >> dbl, "bool >> dbl")
+#End If
+#If Boolean_ERRORS
+            M(bool >> chr, "bool >> chr")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Int16
+            M(bool >> str, "bool >> str")
+#End If
+#If Boolean_ERRORS
+            M(bool >> dt, "bool >> dt")
+#End If
+#If Boolean_ERRORS
+            M(bool >> dbnull, "bool >> dbnull")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Object
+            M(bool >> obj, "bool >> obj")
+#End If
+#If Not STRICT Or Byte_ERRORS
+            expected_tc = TypeCode.Byte
+            M(b >> bool, "b >> bool")
+#End If
+            expected_tc = TypeCode.Byte
+            M(b >> b, "b >> b")
+            expected_tc = TypeCode.Byte
+            M(b >> sb, "b >> sb")
+            expected_tc = TypeCode.Byte
+            M(b >> s, "b >> s")
+            expected_tc = TypeCode.Byte
+            M(b >> us, "b >> us")
+            expected_tc = TypeCode.Byte
+            M(b >> i, "b >> i")
+#If Not STRICT Or Byte_ERRORS
+            expected_tc = TypeCode.Byte
+            M(b >> ui, "b >> ui")
+#End If
+#If Not STRICT Or Byte_ERRORS
+            expected_tc = TypeCode.Byte
+            M(b >> l, "b >> l")
+#End If
+#If Not STRICT Or Byte_ERRORS
+            expected_tc = TypeCode.Byte
+            M(b >> ul, "b >> ul")
+#End If
+#If Not STRICT Or Byte_ERRORS
+            expected_tc = TypeCode.Byte
+            M(b >> dec, "b >> dec")
+#End If
+#If Not STRICT Or Byte_ERRORS
+            expected_tc = TypeCode.Byte
+            M(b >> sng, "b >> sng")
+#End If
+#If Not STRICT Or Byte_ERRORS
+            expected_tc = TypeCode.Byte
+            M(b >> dbl, "b >> dbl")
+#End If
+#If Byte_ERRORS
+            M(b >> chr, "b >> chr")
+#End If
+#If Not STRICT Or Byte_ERRORS
+            expected_tc = TypeCode.Byte
+            M(b >> str, "b >> str")
+#End If
+#If Byte_ERRORS
+            M(b >> dt, "b >> dt")
+#End If
+#If Byte_ERRORS
+            M(b >> dbnull, "b >> dbnull")
+#End If
+#If Not STRICT Or Byte_ERRORS
+            expected_tc = TypeCode.Object
+            M(b >> obj, "b >> obj")
+#End If
+#If Not STRICT Or SByte_ERRORS
+            expected_tc = TypeCode.SByte
+            M(sb >> bool, "sb >> bool")
+#End If
+            expected_tc = TypeCode.SByte
+            M(sb >> b, "sb >> b")
+            expected_tc = TypeCode.SByte
+            M(sb >> sb, "sb >> sb")
+            expected_tc = TypeCode.SByte
+            M(sb >> s, "sb >> s")
+            expected_tc = TypeCode.SByte
+            M(sb >> us, "sb >> us")
+            expected_tc = TypeCode.SByte
+            M(sb >> i, "sb >> i")
+#If Not STRICT Or SByte_ERRORS
+            expected_tc = TypeCode.SByte
+            M(sb >> ui, "sb >> ui")
+#End If
+#If Not STRICT Or SByte_ERRORS
+            expected_tc = TypeCode.SByte
+            M(sb >> l, "sb >> l")
+#End If
+#If Not STRICT Or SByte_ERRORS
+            expected_tc = TypeCode.SByte
+            M(sb >> ul, "sb >> ul")
+#End If
+#If Not STRICT Or SByte_ERRORS
+            expected_tc = TypeCode.SByte
+            M(sb >> dec, "sb >> dec")
+#End If
+#If Not STRICT Or SByte_ERRORS
+            expected_tc = TypeCode.SByte
+            M(sb >> sng, "sb >> sng")
+#End If
+#If Not STRICT Or SByte_ERRORS
+            expected_tc = TypeCode.SByte
+            M(sb >> dbl, "sb >> dbl")
+#End If
+#If SByte_ERRORS
+            M(sb >> chr, "sb >> chr")
+#End If
+#If Not STRICT Or SByte_ERRORS
+            expected_tc = TypeCode.SByte
+            M(sb >> str, "sb >> str")
+#End If
+#If SByte_ERRORS
+            M(sb >> dt, "sb >> dt")
+#End If
+#If SByte_ERRORS
+            M(sb >> dbnull, "sb >> dbnull")
+#End If
+#If Not STRICT Or SByte_ERRORS
+            expected_tc = TypeCode.Object
+            M(sb >> obj, "sb >> obj")
+#End If
+#If Not STRICT Or Int16_ERRORS
+            expected_tc = TypeCode.Int16
+            M(s >> bool, "s >> bool")
+#End If
+            expected_tc = TypeCode.Int16
+            M(s >> b, "s >> b")
+            expected_tc = TypeCode.Int16
+            M(s >> sb, "s >> sb")
+            expected_tc = TypeCode.Int16
+            M(s >> s, "s >> s")
+            expected_tc = TypeCode.Int16
+            M(s >> us, "s >> us")
+            expected_tc = TypeCode.Int16
+            M(s >> i, "s >> i")
+#If Not STRICT Or Int16_ERRORS
+            expected_tc = TypeCode.Int16
+            M(s >> ui, "s >> ui")
+#End If
+#If Not STRICT Or Int16_ERRORS
+            expected_tc = TypeCode.Int16
+            M(s >> l, "s >> l")
+#End If
+#If Not STRICT Or Int16_ERRORS
+            expected_tc = TypeCode.Int16
+            M(s >> ul, "s >> ul")
+#End If
+#If Not STRICT Or Int16_ERRORS
+            expected_tc = TypeCode.Int16
+            M(s >> dec, "s >> dec")
+#End If
+#If Not STRICT Or Int16_ERRORS
+            expected_tc = TypeCode.Int16
+            M(s >> sng, "s >> sng")
+#End If
+#If Not STRICT Or Int16_ERRORS
+            expected_tc = TypeCode.Int16
+            M(s >> dbl, "s >> dbl")
+#End If
+#If Int16_ERRORS
+            M(s >> chr, "s >> chr")
+#End If
+#If Not STRICT Or Int16_ERRORS
+            expected_tc = TypeCode.Int16
+            M(s >> str, "s >> str")
+#End If
+#If Int16_ERRORS
+            M(s >> dt, "s >> dt")
+#End If
+#If Int16_ERRORS
+            M(s >> dbnull, "s >> dbnull")
+#End If
+#If Not STRICT Or Int16_ERRORS
+            expected_tc = TypeCode.Object
+            M(s >> obj, "s >> obj")
+#End If
+#If Not STRICT Or UInt16_ERRORS
+            expected_tc = TypeCode.UInt16
+            M(us >> bool, "us >> bool")
+#End If
+            expected_tc = TypeCode.UInt16
+            M(us >> b, "us >> b")
+            expected_tc = TypeCode.UInt16
+            M(us >> sb, "us >> sb")
+            expected_tc = TypeCode.UInt16
+            M(us >> s, "us >> s")
+            expected_tc = TypeCode.UInt16
+            M(us >> us, "us >> us")
+            expected_tc = TypeCode.UInt16
+            M(us >> i, "us >> i")
+#If Not STRICT Or UInt16_ERRORS
+            expected_tc = TypeCode.UInt16
+            M(us >> ui, "us >> ui")
+#End If
+#If Not STRICT Or UInt16_ERRORS
+            expected_tc = TypeCode.UInt16
+            M(us >> l, "us >> l")
+#End If
+#If Not STRICT Or UInt16_ERRORS
+            expected_tc = TypeCode.UInt16
+            M(us >> ul, "us >> ul")
+#End If
+#If Not STRICT Or UInt16_ERRORS
+            expected_tc = TypeCode.UInt16
+            M(us >> dec, "us >> dec")
+#End If
+#If Not STRICT Or UInt16_ERRORS
+            expected_tc = TypeCode.UInt16
+            M(us >> sng, "us >> sng")
+#End If
+#If Not STRICT Or UInt16_ERRORS
+            expected_tc = TypeCode.UInt16
+            M(us >> dbl, "us >> dbl")
+#End If
+#If UInt16_ERRORS
+            M(us >> chr, "us >> chr")
+#End If
+#If Not STRICT Or UInt16_ERRORS
+            expected_tc = TypeCode.UInt16
+            M(us >> str, "us >> str")
+#End If
+#If UInt16_ERRORS
+            M(us >> dt, "us >> dt")
+#End If
+#If UInt16_ERRORS
+            M(us >> dbnull, "us >> dbnull")
+#End If
+#If Not STRICT Or UInt16_ERRORS
+            expected_tc = TypeCode.Object
+            M(us >> obj, "us >> obj")
+#End If
+#If Not STRICT Or Int32_ERRORS
+            expected_tc = TypeCode.Int32
+            M(i >> bool, "i >> bool")
+#End If
+            expected_tc = TypeCode.Int32
+            M(i >> b, "i >> b")
+            expected_tc = TypeCode.Int32
+            M(i >> sb, "i >> sb")
+            expected_tc = TypeCode.Int32
+            M(i >> s, "i >> s")
+            expected_tc = TypeCode.Int32
+            M(i >> us, "i >> us")
+            expected_tc = TypeCode.Int32
+            M(i >> i, "i >> i")
+#If Not STRICT Or Int32_ERRORS
+            expected_tc = TypeCode.Int32
+            M(i >> ui, "i >> ui")
+#End If
+#If Not STRICT Or Int32_ERRORS
+            expected_tc = TypeCode.Int32
+            M(i >> l, "i >> l")
+#End If
+#If Not STRICT Or Int32_ERRORS
+            expected_tc = TypeCode.Int32
+            M(i >> ul, "i >> ul")
+#End If
+#If Not STRICT Or Int32_ERRORS
+            expected_tc = TypeCode.Int32
+            M(i >> dec, "i >> dec")
+#End If
+#If Not STRICT Or Int32_ERRORS
+            expected_tc = TypeCode.Int32
+            M(i >> sng, "i >> sng")
+#End If
+#If Not STRICT Or Int32_ERRORS
+            expected_tc = TypeCode.Int32
+            M(i >> dbl, "i >> dbl")
+#End If
+#If Int32_ERRORS
+            M(i >> chr, "i >> chr")
+#End If
+#If Not STRICT Or Int32_ERRORS
+            expected_tc = TypeCode.Int32
+            M(i >> str, "i >> str")
+#End If
+#If Int32_ERRORS
+            M(i >> dt, "i >> dt")
+#End If
+#If Int32_ERRORS
+            M(i >> dbnull, "i >> dbnull")
+#End If
+#If Not STRICT Or Int32_ERRORS
+            expected_tc = TypeCode.Object
+            M(i >> obj, "i >> obj")
+#End If
+#If Not STRICT Or UInt32_ERRORS
+            expected_tc = TypeCode.UInt32
+            M(ui >> bool, "ui >> bool")
+#End If
+            expected_tc = TypeCode.UInt32
+            M(ui >> b, "ui >> b")
+            expected_tc = TypeCode.UInt32
+            M(ui >> sb, "ui >> sb")
+            expected_tc = TypeCode.UInt32
+            M(ui >> s, "ui >> s")
+            expected_tc = TypeCode.UInt32
+            M(ui >> us, "ui >> us")
+            expected_tc = TypeCode.UInt32
+            M(ui >> i, "ui >> i")
+#If Not STRICT Or UInt32_ERRORS
+            expected_tc = TypeCode.UInt32
+            M(ui >> ui, "ui >> ui")
+#End If
+#If Not STRICT Or UInt32_ERRORS
+            expected_tc = TypeCode.UInt32
+            M(ui >> l, "ui >> l")
+#End If
+#If Not STRICT Or UInt32_ERRORS
+            expected_tc = TypeCode.UInt32
+            M(ui >> ul, "ui >> ul")
+#End If
+#If Not STRICT Or UInt32_ERRORS
+            expected_tc = TypeCode.UInt32
+            M(ui >> dec, "ui >> dec")
+#End If
+#If Not STRICT Or UInt32_ERRORS
+            expected_tc = TypeCode.UInt32
+            M(ui >> sng, "ui >> sng")
+#End If
+#If Not STRICT Or UInt32_ERRORS
+            expected_tc = TypeCode.UInt32
+            M(ui >> dbl, "ui >> dbl")
+#End If
+#If UInt32_ERRORS
+            M(ui >> chr, "ui >> chr")
+#End If
+#If Not STRICT Or UInt32_ERRORS
+            expected_tc = TypeCode.UInt32
+            M(ui >> str, "ui >> str")
+#End If
+#If UInt32_ERRORS
+            M(ui >> dt, "ui >> dt")
+#End If
+#If UInt32_ERRORS
+            M(ui >> dbnull, "ui >> dbnull")
+#End If
+#If Not STRICT Or UInt32_ERRORS
+            expected_tc = TypeCode.Object
+            M(ui >> obj, "ui >> obj")
+#End If
+#If Not STRICT Or Int64_ERRORS
+            expected_tc = TypeCode.Int64
+            M(l >> bool, "l >> bool")
+#End If
+            expected_tc = TypeCode.Int64
+            M(l >> b, "l >> b")
+            expected_tc = TypeCode.Int64
+            M(l >> sb, "l >> sb")
+            expected_tc = TypeCode.Int64
+            M(l >> s, "l >> s")
+            expected_tc = TypeCode.Int64
+            M(l >> us, "l >> us")
+            expected_tc = TypeCode.Int64
+            M(l >> i, "l >> i")
+#If Not STRICT Or Int64_ERRORS
+            expected_tc = TypeCode.Int64
+            M(l >> ui, "l >> ui")
+#End If
+#If Not STRICT Or Int64_ERRORS
+            expected_tc = TypeCode.Int64
+            M(l >> l, "l >> l")
+#End If
+#If Not STRICT Or Int64_ERRORS
+            expected_tc = TypeCode.Int64
+            M(l >> ul, "l >> ul")
+#End If
+#If Not STRICT Or Int64_ERRORS
+            expected_tc = TypeCode.Int64
+            M(l >> dec, "l >> dec")
+#End If
+#If Not STRICT Or Int64_ERRORS
+            expected_tc = TypeCode.Int64
+            M(l >> sng, "l >> sng")
+#End If
+#If Not STRICT Or Int64_ERRORS
+            expected_tc = TypeCode.Int64
+            M(l >> dbl, "l >> dbl")
+#End If
+#If Int64_ERRORS
+            M(l >> chr, "l >> chr")
+#End If
+#If Not STRICT Or Int64_ERRORS
+            expected_tc = TypeCode.Int64
+            M(l >> str, "l >> str")
+#End If
+#If Int64_ERRORS
+            M(l >> dt, "l >> dt")
+#End If
+#If Int64_ERRORS
+            M(l >> dbnull, "l >> dbnull")
+#End If
+#If Not STRICT Or Int64_ERRORS
+            expected_tc = TypeCode.Object
+            M(l >> obj, "l >> obj")
+#End If
+#If Not STRICT Or UInt64_ERRORS
+            expected_tc = TypeCode.UInt64
+            M(ul >> bool, "ul >> bool")
+#End If
+            expected_tc = TypeCode.UInt64
+            M(ul >> b, "ul >> b")
+            expected_tc = TypeCode.UInt64
+            M(ul >> sb, "ul >> sb")
+            expected_tc = TypeCode.UInt64
+            M(ul >> s, "ul >> s")
+            expected_tc = TypeCode.UInt64
+            M(ul >> us, "ul >> us")
+            expected_tc = TypeCode.UInt64
+            M(ul >> i, "ul >> i")
+#If Not STRICT Or UInt64_ERRORS
+            expected_tc = TypeCode.UInt64
+            M(ul >> ui, "ul >> ui")
+#End If
+#If Not STRICT Or UInt64_ERRORS
+            expected_tc = TypeCode.UInt64
+            M(ul >> l, "ul >> l")
+#End If
+#If Not STRICT Or UInt64_ERRORS
+            expected_tc = TypeCode.UInt64
+            M(ul >> ul, "ul >> ul")
+#End If
+#If Not STRICT Or UInt64_ERRORS
+            expected_tc = TypeCode.UInt64
+            M(ul >> dec, "ul >> dec")
+#End If
+#If Not STRICT Or UInt64_ERRORS
+            expected_tc = TypeCode.UInt64
+            M(ul >> sng, "ul >> sng")
+#End If
+#If Not STRICT Or UInt64_ERRORS
+            expected_tc = TypeCode.UInt64
+            M(ul >> dbl, "ul >> dbl")
+#End If
+#If UInt64_ERRORS
+            M(ul >> chr, "ul >> chr")
+#End If
+#If Not STRICT Or UInt64_ERRORS
+            expected_tc = TypeCode.UInt64
+            M(ul >> str, "ul >> str")
+#End If
+#If UInt64_ERRORS
+            M(ul >> dt, "ul >> dt")
+#End If
+#If UInt64_ERRORS
+            M(ul >> dbnull, "ul >> dbnull")
+#End If
+#If Not STRICT Or UInt64_ERRORS
+            expected_tc = TypeCode.Object
+            M(ul >> obj, "ul >> obj")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Int64
+            M(dec >> bool, "dec >> bool")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Int64
+            M(dec >> b, "dec >> b")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Int64
+            M(dec >> sb, "dec >> sb")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Int64
+            M(dec >> s, "dec >> s")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Int64
+            M(dec >> us, "dec >> us")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Int64
+            M(dec >> i, "dec >> i")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Int64
+            M(dec >> ui, "dec >> ui")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Int64
+            M(dec >> l, "dec >> l")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Int64
+            M(dec >> ul, "dec >> ul")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Int64
+            M(dec >> dec, "dec >> dec")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Int64
+            M(dec >> sng, "dec >> sng")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Int64
+            M(dec >> dbl, "dec >> dbl")
+#End If
+#If Decimal_ERRORS
+            M(dec >> chr, "dec >> chr")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Int64
+            M(dec >> str, "dec >> str")
+#End If
+#If Decimal_ERRORS
+            M(dec >> dt, "dec >> dt")
+#End If
+#If Decimal_ERRORS
+            M(dec >> dbnull, "dec >> dbnull")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Object
+            M(dec >> obj, "dec >> obj")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Int64
+            M(sng >> bool, "sng >> bool")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Int64
+            M(sng >> b, "sng >> b")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Int64
+            M(sng >> sb, "sng >> sb")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Int64
+            M(sng >> s, "sng >> s")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Int64
+            M(sng >> us, "sng >> us")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Int64
+            M(sng >> i, "sng >> i")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Int64
+            M(sng >> ui, "sng >> ui")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Int64
+            M(sng >> l, "sng >> l")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Int64
+            M(sng >> ul, "sng >> ul")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Int64
+            M(sng >> dec, "sng >> dec")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Int64
+            M(sng >> sng, "sng >> sng")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Int64
+            M(sng >> dbl, "sng >> dbl")
+#End If
+#If Single_ERRORS
+            M(sng >> chr, "sng >> chr")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Int64
+            M(sng >> str, "sng >> str")
+#End If
+#If Single_ERRORS
+            M(sng >> dt, "sng >> dt")
+#End If
+#If Single_ERRORS
+            M(sng >> dbnull, "sng >> dbnull")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Object
+            M(sng >> obj, "sng >> obj")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Int64
+            M(dbl >> bool, "dbl >> bool")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Int64
+            M(dbl >> b, "dbl >> b")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Int64
+            M(dbl >> sb, "dbl >> sb")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Int64
+            M(dbl >> s, "dbl >> s")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Int64
+            M(dbl >> us, "dbl >> us")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Int64
+            M(dbl >> i, "dbl >> i")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Int64
+            M(dbl >> ui, "dbl >> ui")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Int64
+            M(dbl >> l, "dbl >> l")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Int64
+            M(dbl >> ul, "dbl >> ul")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Int64
+            M(dbl >> dec, "dbl >> dec")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Int64
+            M(dbl >> sng, "dbl >> sng")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Int64
+            M(dbl >> dbl, "dbl >> dbl")
+#End If
+#If Double_ERRORS
+            M(dbl >> chr, "dbl >> chr")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Int64
+            M(dbl >> str, "dbl >> str")
+#End If
+#If Double_ERRORS
+            M(dbl >> dt, "dbl >> dt")
+#End If
+#If Double_ERRORS
+            M(dbl >> dbnull, "dbl >> dbnull")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Object
+            M(dbl >> obj, "dbl >> obj")
+#End If
+#If Char_ERRORS
+            M(chr >> bool, "chr >> bool")
+#End If
+#If Char_ERRORS
+            M(chr >> b, "chr >> b")
+#End If
+#If Char_ERRORS
+            M(chr >> sb, "chr >> sb")
+#End If
+#If Char_ERRORS
+            M(chr >> s, "chr >> s")
+#End If
+#If Char_ERRORS
+            M(chr >> us, "chr >> us")
+#End If
+#If Char_ERRORS
+            M(chr >> i, "chr >> i")
+#End If
+#If Char_ERRORS
+            M(chr >> ui, "chr >> ui")
+#End If
+#If Char_ERRORS
+            M(chr >> l, "chr >> l")
+#End If
+#If Char_ERRORS
+            M(chr >> ul, "chr >> ul")
+#End If
+#If Char_ERRORS
+            M(chr >> dec, "chr >> dec")
+#End If
+#If Char_ERRORS
+            M(chr >> sng, "chr >> sng")
+#End If
+#If Char_ERRORS
+            M(chr >> dbl, "chr >> dbl")
+#End If
+#If Char_ERRORS
+            M(chr >> chr, "chr >> chr")
+#End If
+#If Char_ERRORS
+            M(chr >> str, "chr >> str")
+#End If
+#If Char_ERRORS
+            M(chr >> dt, "chr >> dt")
+#End If
+#If Char_ERRORS
+            M(chr >> dbnull, "chr >> dbnull")
+#End If
+#If Char_ERRORS
+            M(chr >> obj, "chr >> obj")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Int64
+            M(str >> bool, "str >> bool")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Int64
+            M(str >> b, "str >> b")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Int64
+            M(str >> sb, "str >> sb")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Int64
+            M(str >> s, "str >> s")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Int64
+            M(str >> us, "str >> us")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Int64
+            M(str >> i, "str >> i")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Int64
+            M(str >> ui, "str >> ui")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Int64
+            M(str >> l, "str >> l")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Int64
+            M(str >> ul, "str >> ul")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Int64
+            M(str >> dec, "str >> dec")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Int64
+            M(str >> sng, "str >> sng")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Int64
+            M(str >> dbl, "str >> dbl")
+#End If
+#If String_ERRORS
+            M(str >> chr, "str >> chr")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Int64
+            M(str >> str, "str >> str")
+#End If
+#If String_ERRORS
+            M(str >> dt, "str >> dt")
+#End If
+#If String_ERRORS
+            M(str >> dbnull, "str >> dbnull")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Object
+            M(str >> obj, "str >> obj")
+#End If
+#If DateTime_ERRORS
+            M(dt >> bool, "dt >> bool")
+#End If
+#If DateTime_ERRORS
+            M(dt >> b, "dt >> b")
+#End If
+#If DateTime_ERRORS
+            M(dt >> sb, "dt >> sb")
+#End If
+#If DateTime_ERRORS
+            M(dt >> s, "dt >> s")
+#End If
+#If DateTime_ERRORS
+            M(dt >> us, "dt >> us")
+#End If
+#If DateTime_ERRORS
+            M(dt >> i, "dt >> i")
+#End If
+#If DateTime_ERRORS
+            M(dt >> ui, "dt >> ui")
+#End If
+#If DateTime_ERRORS
+            M(dt >> l, "dt >> l")
+#End If
+#If DateTime_ERRORS
+            M(dt >> ul, "dt >> ul")
+#End If
+#If DateTime_ERRORS
+            M(dt >> dec, "dt >> dec")
+#End If
+#If DateTime_ERRORS
+            M(dt >> sng, "dt >> sng")
+#End If
+#If DateTime_ERRORS
+            M(dt >> dbl, "dt >> dbl")
+#End If
+#If DateTime_ERRORS
+            M(dt >> chr, "dt >> chr")
+#End If
+#If DateTime_ERRORS
+            M(dt >> str, "dt >> str")
+#End If
+#If DateTime_ERRORS
+            M(dt >> dt, "dt >> dt")
+#End If
+#If DateTime_ERRORS
+            M(dt >> dbnull, "dt >> dbnull")
+#End If
+#If DateTime_ERRORS
+            M(dt >> obj, "dt >> obj")
+#End If
+#If DBNull_ERRORS
+            M(dbnull >> bool, "dbnull >> bool")
+#End If
+#If DBNull_ERRORS
+            M(dbnull >> b, "dbnull >> b")
+#End If
+#If DBNull_ERRORS
+            M(dbnull >> sb, "dbnull >> sb")
+#End If
+#If DBNull_ERRORS
+            M(dbnull >> s, "dbnull >> s")
+#End If
+#If DBNull_ERRORS
+            M(dbnull >> us, "dbnull >> us")
+#End If
+#If DBNull_ERRORS
+            M(dbnull >> i, "dbnull >> i")
+#End If
+#If DBNull_ERRORS
+            M(dbnull >> ui, "dbnull >> ui")
+#End If
+#If DBNull_ERRORS
+            M(dbnull >> l, "dbnull >> l")
+#End If
+#If DBNull_ERRORS
+            M(dbnull >> ul, "dbnull >> ul")
+#End If
+#If DBNull_ERRORS
+            M(dbnull >> dec, "dbnull >> dec")
+#End If
+#If DBNull_ERRORS
+            M(dbnull >> sng, "dbnull >> sng")
+#End If
+#If DBNull_ERRORS
+            M(dbnull >> dbl, "dbnull >> dbl")
+#End If
+#If DBNull_ERRORS
+            M(dbnull >> chr, "dbnull >> chr")
+#End If
+#If DBNull_ERRORS
+            M(dbnull >> str, "dbnull >> str")
+#End If
+#If DBNull_ERRORS
+            M(dbnull >> dt, "dbnull >> dt")
+#End If
+#If DBNull_ERRORS
+            M(dbnull >> dbnull, "dbnull >> dbnull")
+#End If
+#If DBNull_ERRORS
+            M(dbnull >> obj, "dbnull >> obj")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj >> bool, "obj >> bool")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj >> b, "obj >> b")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj >> sb, "obj >> sb")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj >> s, "obj >> s")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj >> us, "obj >> us")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj >> i, "obj >> i")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj >> ui, "obj >> ui")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj >> l, "obj >> l")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj >> ul, "obj >> ul")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj >> dec, "obj >> dec")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj >> sng, "obj >> sng")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj >> dbl, "obj >> dbl")
+#End If
+#If Not STRICT Or Object_ERRORS
+        Try
+            expected_tc = TypeCode.Object
+            M(obj >> chr, "obj >> chr")
+        Catch ex as InvalidCastException
+        End Try
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj >> str, "obj >> str")
+#End If
+#If Not STRICT Or Object_ERRORS
+        Try
+            expected_tc = TypeCode.Object
+            M(obj >> dt, "obj >> dt")
+        Catch ex as InvalidCastException
+        End Try
+#End If
+#If Object_ERRORS
+            M(obj >> dbnull, "obj >> dbnull")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj >> obj, "obj >> obj")
+#End If
+        If failures > 0 Then Return 1
+    Catch ex As Exception
+        Console.WriteLine ("Exception: {0}", ex)
+        Return 2
+    End Try
+    Return 0
+    End Function
+End Class
diff --git a/vbnc/vbnc/tests/CompileTime2/OperatorIntrinsicRealDivision.vb b/vbnc/vbnc/tests/CompileTime2/OperatorIntrinsicRealDivision.vb
new file mode 100644
index 0000000..4bc7460
--- /dev/null
+++ b/vbnc/vbnc/tests/CompileTime2/OperatorIntrinsicRealDivision.vb
@@ -0,0 +1,809 @@
+Class BinaryOperatorRealDivision
+    Inherits IntrinsicOperatorTests
+    Shared Function Main As Integer
+        Try
+            obj = 1
+#If Boolean_ERRORS
+            M(bool / bool, "bool / bool")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Double
+            M(bool / b, "bool / b")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Double
+            M(bool / sb, "bool / sb")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Double
+            M(bool / s, "bool / s")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Double
+            M(bool / us, "bool / us")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Double
+            M(bool / i, "bool / i")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Double
+            M(bool / ui, "bool / ui")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Double
+            M(bool / l, "bool / l")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Double
+            M(bool / ul, "bool / ul")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Decimal
+            M(bool / dec, "bool / dec")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Single
+            M(bool / sng, "bool / sng")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Double
+            M(bool / dbl, "bool / dbl")
+#End If
+#If Boolean_ERRORS
+            M(bool / chr, "bool / chr")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Double
+            M(bool / str, "bool / str")
+#End If
+#If Boolean_ERRORS
+            M(bool / dt, "bool / dt")
+#End If
+#If Boolean_ERRORS
+            M(bool / dbnull, "bool / dbnull")
+#End If
+#If Not STRICT Or Boolean_ERRORS
+            expected_tc = TypeCode.Object
+            M(bool / obj, "bool / obj")
+#End If
+#If Byte_ERRORS
+            M(b / bool, "b / bool")
+#End If
+            expected_tc = TypeCode.Double
+            M(b / b, "b / b")
+            expected_tc = TypeCode.Double
+            M(b / sb, "b / sb")
+            expected_tc = TypeCode.Double
+            M(b / s, "b / s")
+            expected_tc = TypeCode.Double
+            M(b / us, "b / us")
+            expected_tc = TypeCode.Double
+            M(b / i, "b / i")
+            expected_tc = TypeCode.Double
+            M(b / ui, "b / ui")
+            expected_tc = TypeCode.Double
+            M(b / l, "b / l")
+            expected_tc = TypeCode.Double
+            M(b / ul, "b / ul")
+            expected_tc = TypeCode.Decimal
+            M(b / dec, "b / dec")
+            expected_tc = TypeCode.Single
+            M(b / sng, "b / sng")
+            expected_tc = TypeCode.Double
+            M(b / dbl, "b / dbl")
+#If Byte_ERRORS
+            M(b / chr, "b / chr")
+#End If
+#If Not STRICT Or Byte_ERRORS
+            expected_tc = TypeCode.Double
+            M(b / str, "b / str")
+#End If
+#If Byte_ERRORS
+            M(b / dt, "b / dt")
+#End If
+#If Byte_ERRORS
+            M(b / dbnull, "b / dbnull")
+#End If
+#If Not STRICT Or Byte_ERRORS
+            expected_tc = TypeCode.Object
+            M(b / obj, "b / obj")
+#End If
+#If SByte_ERRORS
+            M(sb / bool, "sb / bool")
+#End If
+            expected_tc = TypeCode.Double
+            M(sb / b, "sb / b")
+            expected_tc = TypeCode.Double
+            M(sb / sb, "sb / sb")
+            expected_tc = TypeCode.Double
+            M(sb / s, "sb / s")
+            expected_tc = TypeCode.Double
+            M(sb / us, "sb / us")
+            expected_tc = TypeCode.Double
+            M(sb / i, "sb / i")
+            expected_tc = TypeCode.Double
+            M(sb / ui, "sb / ui")
+            expected_tc = TypeCode.Double
+            M(sb / l, "sb / l")
+            expected_tc = TypeCode.Double
+            M(sb / ul, "sb / ul")
+            expected_tc = TypeCode.Decimal
+            M(sb / dec, "sb / dec")
+            expected_tc = TypeCode.Single
+            M(sb / sng, "sb / sng")
+            expected_tc = TypeCode.Double
+            M(sb / dbl, "sb / dbl")
+#If SByte_ERRORS
+            M(sb / chr, "sb / chr")
+#End If
+#If Not STRICT Or SByte_ERRORS
+            expected_tc = TypeCode.Double
+            M(sb / str, "sb / str")
+#End If
+#If SByte_ERRORS
+            M(sb / dt, "sb / dt")
+#End If
+#If SByte_ERRORS
+            M(sb / dbnull, "sb / dbnull")
+#End If
+#If Not STRICT Or SByte_ERRORS
+            expected_tc = TypeCode.Object
+            M(sb / obj, "sb / obj")
+#End If
+#If Int16_ERRORS
+            M(s / bool, "s / bool")
+#End If
+            expected_tc = TypeCode.Double
+            M(s / b, "s / b")
+            expected_tc = TypeCode.Double
+            M(s / sb, "s / sb")
+            expected_tc = TypeCode.Double
+            M(s / s, "s / s")
+            expected_tc = TypeCode.Double
+            M(s / us, "s / us")
+            expected_tc = TypeCode.Double
+            M(s / i, "s / i")
+            expected_tc = TypeCode.Double
+            M(s / ui, "s / ui")
+            expected_tc = TypeCode.Double
+            M(s / l, "s / l")
+            expected_tc = TypeCode.Double
+            M(s / ul, "s / ul")
+            expected_tc = TypeCode.Decimal
+            M(s / dec, "s / dec")
+            expected_tc = TypeCode.Single
+            M(s / sng, "s / sng")
+            expected_tc = TypeCode.Double
+            M(s / dbl, "s / dbl")
+#If Int16_ERRORS
+            M(s / chr, "s / chr")
+#End If
+#If Not STRICT Or Int16_ERRORS
+            expected_tc = TypeCode.Double
+            M(s / str, "s / str")
+#End If
+#If Int16_ERRORS
+            M(s / dt, "s / dt")
+#End If
+#If Int16_ERRORS
+            M(s / dbnull, "s / dbnull")
+#End If
+#If Not STRICT Or Int16_ERRORS
+            expected_tc = TypeCode.Object
+            M(s / obj, "s / obj")
+#End If
+#If UInt16_ERRORS
+            M(us / bool, "us / bool")
+#End If
+            expected_tc = TypeCode.Double
+            M(us / b, "us / b")
+            expected_tc = TypeCode.Double
+            M(us / sb, "us / sb")
+            expected_tc = TypeCode.Double
+            M(us / s, "us / s")
+            expected_tc = TypeCode.Double
+            M(us / us, "us / us")
+            expected_tc = TypeCode.Double
+            M(us / i, "us / i")
+            expected_tc = TypeCode.Double
+            M(us / ui, "us / ui")
+            expected_tc = TypeCode.Double
+            M(us / l, "us / l")
+            expected_tc = TypeCode.Double
+            M(us / ul, "us / ul")
+            expected_tc = TypeCode.Decimal
+            M(us / dec, "us / dec")
+            expected_tc = TypeCode.Single
+            M(us / sng, "us / sng")
+            expected_tc = TypeCode.Double
+            M(us / dbl, "us / dbl")
+#If UInt16_ERRORS
+            M(us / chr, "us / chr")
+#End If
+#If Not STRICT Or UInt16_ERRORS
+            expected_tc = TypeCode.Double
+            M(us / str, "us / str")
+#End If
+#If UInt16_ERRORS
+            M(us / dt, "us / dt")
+#End If
+#If UInt16_ERRORS
+            M(us / dbnull, "us / dbnull")
+#End If
+#If Not STRICT Or UInt16_ERRORS
+            expected_tc = TypeCode.Object
+            M(us / obj, "us / obj")
+#End If
+#If Int32_ERRORS
+            M(i / bool, "i / bool")
+#End If
+            expected_tc = TypeCode.Double
+            M(i / b, "i / b")
+            expected_tc = TypeCode.Double
+            M(i / sb, "i / sb")
+            expected_tc = TypeCode.Double
+            M(i / s, "i / s")
+            expected_tc = TypeCode.Double
+            M(i / us, "i / us")
+            expected_tc = TypeCode.Double
+            M(i / i, "i / i")
+            expected_tc = TypeCode.Double
+            M(i / ui, "i / ui")
+            expected_tc = TypeCode.Double
+            M(i / l, "i / l")
+            expected_tc = TypeCode.Double
+            M(i / ul, "i / ul")
+            expected_tc = TypeCode.Decimal
+            M(i / dec, "i / dec")
+            expected_tc = TypeCode.Single
+            M(i / sng, "i / sng")
+            expected_tc = TypeCode.Double
+            M(i / dbl, "i / dbl")
+#If Int32_ERRORS
+            M(i / chr, "i / chr")
+#End If
+#If Not STRICT Or Int32_ERRORS
+            expected_tc = TypeCode.Double
+            M(i / str, "i / str")
+#End If
+#If Int32_ERRORS
+            M(i / dt, "i / dt")
+#End If
+#If Int32_ERRORS
+            M(i / dbnull, "i / dbnull")
+#End If
+#If Not STRICT Or Int32_ERRORS
+            expected_tc = TypeCode.Object
+            M(i / obj, "i / obj")
+#End If
+#If UInt32_ERRORS
+            M(ui / bool, "ui / bool")
+#End If
+            expected_tc = TypeCode.Double
+            M(ui / b, "ui / b")
+            expected_tc = TypeCode.Double
+            M(ui / sb, "ui / sb")
+            expected_tc = TypeCode.Double
+            M(ui / s, "ui / s")
+            expected_tc = TypeCode.Double
+            M(ui / us, "ui / us")
+            expected_tc = TypeCode.Double
+            M(ui / i, "ui / i")
+            expected_tc = TypeCode.Double
+            M(ui / ui, "ui / ui")
+            expected_tc = TypeCode.Double
+            M(ui / l, "ui / l")
+            expected_tc = TypeCode.Double
+            M(ui / ul, "ui / ul")
+            expected_tc = TypeCode.Decimal
+            M(ui / dec, "ui / dec")
+            expected_tc = TypeCode.Single
+            M(ui / sng, "ui / sng")
+            expected_tc = TypeCode.Double
+            M(ui / dbl, "ui / dbl")
+#If UInt32_ERRORS
+            M(ui / chr, "ui / chr")
+#End If
+#If Not STRICT Or UInt32_ERRORS
+            expected_tc = TypeCode.Double
+            M(ui / str, "ui / str")
+#End If
+#If UInt32_ERRORS
+            M(ui / dt, "ui / dt")
+#End If
+#If UInt32_ERRORS
+            M(ui / dbnull, "ui / dbnull")
+#End If
+#If Not STRICT Or UInt32_ERRORS
+            expected_tc = TypeCode.Object
+            M(ui / obj, "ui / obj")
+#End If
+#If Int64_ERRORS
+            M(l / bool, "l / bool")
+#End If
+            expected_tc = TypeCode.Double
+            M(l / b, "l / b")
+            expected_tc = TypeCode.Double
+            M(l / sb, "l / sb")
+            expected_tc = TypeCode.Double
+            M(l / s, "l / s")
+            expected_tc = TypeCode.Double
+            M(l / us, "l / us")
+            expected_tc = TypeCode.Double
+            M(l / i, "l / i")
+            expected_tc = TypeCode.Double
+            M(l / ui, "l / ui")
+            expected_tc = TypeCode.Double
+            M(l / l, "l / l")
+            expected_tc = TypeCode.Double
+            M(l / ul, "l / ul")
+            expected_tc = TypeCode.Decimal
+            M(l / dec, "l / dec")
+            expected_tc = TypeCode.Single
+            M(l / sng, "l / sng")
+            expected_tc = TypeCode.Double
+            M(l / dbl, "l / dbl")
+#If Int64_ERRORS
+            M(l / chr, "l / chr")
+#End If
+#If Not STRICT Or Int64_ERRORS
+            expected_tc = TypeCode.Double
+            M(l / str, "l / str")
+#End If
+#If Int64_ERRORS
+            M(l / dt, "l / dt")
+#End If
+#If Int64_ERRORS
+            M(l / dbnull, "l / dbnull")
+#End If
+#If Not STRICT Or Int64_ERRORS
+            expected_tc = TypeCode.Object
+            M(l / obj, "l / obj")
+#End If
+#If UInt64_ERRORS
+            M(ul / bool, "ul / bool")
+#End If
+            expected_tc = TypeCode.Double
+            M(ul / b, "ul / b")
+            expected_tc = TypeCode.Double
+            M(ul / sb, "ul / sb")
+            expected_tc = TypeCode.Double
+            M(ul / s, "ul / s")
+            expected_tc = TypeCode.Double
+            M(ul / us, "ul / us")
+            expected_tc = TypeCode.Double
+            M(ul / i, "ul / i")
+            expected_tc = TypeCode.Double
+            M(ul / ui, "ul / ui")
+            expected_tc = TypeCode.Double
+            M(ul / l, "ul / l")
+            expected_tc = TypeCode.Double
+            M(ul / ul, "ul / ul")
+            expected_tc = TypeCode.Decimal
+            M(ul / dec, "ul / dec")
+            expected_tc = TypeCode.Single
+            M(ul / sng, "ul / sng")
+            expected_tc = TypeCode.Double
+            M(ul / dbl, "ul / dbl")
+#If UInt64_ERRORS
+            M(ul / chr, "ul / chr")
+#End If
+#If Not STRICT Or UInt64_ERRORS
+            expected_tc = TypeCode.Double
+            M(ul / str, "ul / str")
+#End If
+#If UInt64_ERRORS
+            M(ul / dt, "ul / dt")
+#End If
+#If UInt64_ERRORS
+            M(ul / dbnull, "ul / dbnull")
+#End If
+#If Not STRICT Or UInt64_ERRORS
+            expected_tc = TypeCode.Object
+            M(ul / obj, "ul / obj")
+#End If
+#If Decimal_ERRORS
+            M(dec / bool, "dec / bool")
+#End If
+            expected_tc = TypeCode.Decimal
+            M(dec / b, "dec / b")
+            expected_tc = TypeCode.Decimal
+            M(dec / sb, "dec / sb")
+            expected_tc = TypeCode.Decimal
+            M(dec / s, "dec / s")
+            expected_tc = TypeCode.Decimal
+            M(dec / us, "dec / us")
+            expected_tc = TypeCode.Decimal
+            M(dec / i, "dec / i")
+            expected_tc = TypeCode.Decimal
+            M(dec / ui, "dec / ui")
+            expected_tc = TypeCode.Decimal
+            M(dec / l, "dec / l")
+            expected_tc = TypeCode.Decimal
+            M(dec / ul, "dec / ul")
+            expected_tc = TypeCode.Decimal
+            M(dec / dec, "dec / dec")
+            expected_tc = TypeCode.Single
+            M(dec / sng, "dec / sng")
+            expected_tc = TypeCode.Double
+            M(dec / dbl, "dec / dbl")
+#If Decimal_ERRORS
+            M(dec / chr, "dec / chr")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Double
+            M(dec / str, "dec / str")
+#End If
+#If Decimal_ERRORS
+            M(dec / dt, "dec / dt")
+#End If
+#If Decimal_ERRORS
+            M(dec / dbnull, "dec / dbnull")
+#End If
+#If Not STRICT Or Decimal_ERRORS
+            expected_tc = TypeCode.Object
+            M(dec / obj, "dec / obj")
+#End If
+#If Single_ERRORS
+            M(sng / bool, "sng / bool")
+#End If
+            expected_tc = TypeCode.Single
+            M(sng / b, "sng / b")
+            expected_tc = TypeCode.Single
+            M(sng / sb, "sng / sb")
+            expected_tc = TypeCode.Single
+            M(sng / s, "sng / s")
+            expected_tc = TypeCode.Single
+            M(sng / us, "sng / us")
+            expected_tc = TypeCode.Single
+            M(sng / i, "sng / i")
+            expected_tc = TypeCode.Single
+            M(sng / ui, "sng / ui")
+            expected_tc = TypeCode.Single
+            M(sng / l, "sng / l")
+            expected_tc = TypeCode.Single
+            M(sng / ul, "sng / ul")
+            expected_tc = TypeCode.Single
+            M(sng / dec, "sng / dec")
+            expected_tc = TypeCode.Single
+            M(sng / sng, "sng / sng")
+            expected_tc = TypeCode.Double
+            M(sng / dbl, "sng / dbl")
+#If Single_ERRORS
+            M(sng / chr, "sng / chr")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Double
+            M(sng / str, "sng / str")
+#End If
+#If Single_ERRORS
+            M(sng / dt, "sng / dt")
+#End If
+#If Single_ERRORS
+            M(sng / dbnull, "sng / dbnull")
+#End If
+#If Not STRICT Or Single_ERRORS
+            expected_tc = TypeCode.Object
+            M(sng / obj, "sng / obj")
+#End If
+#If Double_ERRORS
+            M(dbl / bool, "dbl / bool")
+#End If
+            expected_tc = TypeCode.Double
+            M(dbl / b, "dbl / b")
+            expected_tc = TypeCode.Double
+            M(dbl / sb, "dbl / sb")
+            expected_tc = TypeCode.Double
+            M(dbl / s, "dbl / s")
+            expected_tc = TypeCode.Double
+            M(dbl / us, "dbl / us")
+            expected_tc = TypeCode.Double
+            M(dbl / i, "dbl / i")
+            expected_tc = TypeCode.Double
+            M(dbl / ui, "dbl / ui")
+            expected_tc = TypeCode.Double
+            M(dbl / l, "dbl / l")
+            expected_tc = TypeCode.Double
+            M(dbl / ul, "dbl / ul")
+            expected_tc = TypeCode.Double
+            M(dbl / dec, "dbl / dec")
+            expected_tc = TypeCode.Double
+            M(dbl / sng, "dbl / sng")
+            expected_tc = TypeCode.Double
+            M(dbl / dbl, "dbl / dbl")
+#If Double_ERRORS
+            M(dbl / chr, "dbl / chr")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Double
+            M(dbl / str, "dbl / str")
+#End If
+#If Double_ERRORS
+            M(dbl / dt, "dbl / dt")
+#End If
+#If Double_ERRORS
+            M(dbl / dbnull, "dbl / dbnull")
+#End If
+#If Not STRICT Or Double_ERRORS
+            expected_tc = TypeCode.Object
+            M(dbl / obj, "dbl / obj")
+#End If
+#If Char_ERRORS
+            M(chr / bool, "chr / bool")
+#End If
+#If Char_ERRORS
+            M(chr / b, "chr / b")
+#End If
+#If Char_ERRORS
+            M(chr / sb, "chr / sb")
+#End If
+#If Char_ERRORS
+            M(chr / s, "chr / s")
+#End If
+#If Char_ERRORS
+            M(chr / us, "chr / us")
+#End If
+#If Char_ERRORS
+            M(chr / i, "chr / i")
+#End If
+#If Char_ERRORS
+            M(chr / ui, "chr / ui")
+#End If
+#If Char_ERRORS
+            M(chr / l, "chr / l")
+#End If
+#If Char_ERRORS
+            M(chr / ul, "chr / ul")
+#End If
+#If Char_ERRORS
+            M(chr / dec, "chr / dec")
+#End If
+#If Char_ERRORS
+            M(chr / sng, "chr / sng")
+#End If
+#If Char_ERRORS
+            M(chr / dbl, "chr / dbl")
+#End If
+#If Char_ERRORS
+            M(chr / chr, "chr / chr")
+#End If
+#If Char_ERRORS
+            M(chr / str, "chr / str")
+#End If
+#If Char_ERRORS
+            M(chr / dt, "chr / dt")
+#End If
+#If Char_ERRORS
+            M(chr / dbnull, "chr / dbnull")
+#End If
+#If Char_ERRORS
+            M(chr / obj, "chr / obj")
+#End If
+#If String_ERRORS
+            M(str / bool, "str / bool")
+#End If
+#If String_ERRORS
+            M(str / b, "str / b")
+#End If
+#If String_ERRORS
+            M(str / sb, "str / sb")
+#End If
+#If String_ERRORS
+            M(str / s, "str / s")
+#End If
+#If String_ERRORS
+            M(str / us, "str / us")
+#End If
+#If String_ERRORS
+            M(str / i, "str / i")
+#End If
+#If String_ERRORS
+            M(str / ui, "str / ui")
+#End If
+#If String_ERRORS
+            M(str / l, "str / l")
+#End If
+#If String_ERRORS
+            M(str / ul, "str / ul")
+#End If
+#If String_ERRORS
+            M(str / dec, "str / dec")
+#End If
+#If String_ERRORS
+            M(str / sng, "str / sng")
+#End If
+#If String_ERRORS
+            M(str / dbl, "str / dbl")
+#End If
+#If String_ERRORS
+            M(str / chr, "str / chr")
+#End If
+#If String_ERRORS
+            M(str / str, "str / str")
+#End If
+#If String_ERRORS
+            M(str / dt, "str / dt")
+#End If
+#If String_ERRORS
+            M(str / dbnull, "str / dbnull")
+#End If
+#If Not STRICT Or String_ERRORS
+            expected_tc = TypeCode.Object
+            M(str / obj, "str / obj")
+#End If
+#If DateTime_ERRORS
+            M(dt / bool, "dt / bool")
+#End If
+#If DateTime_ERRORS
+            M(dt / b, "dt / b")
+#End If
+#If DateTime_ERRORS
+            M(dt / sb, "dt / sb")
+#End If
+#If DateTime_ERRORS
+            M(dt / s, "dt / s")
+#End If
+#If DateTime_ERRORS
+            M(dt / us, "dt / us")
+#End If
+#If DateTime_ERRORS
+            M(dt / i, "dt / i")
+#End If
+#If DateTime_ERRORS
+            M(dt / ui, "dt / ui")
+#End If
+#If DateTime_ERRORS
+            M(dt / l, "dt / l")
+#End If
+#If DateTime_ERRORS
+            M(dt / ul, "dt / ul")
+#End If
+#If DateTime_ERRORS
+            M(dt / dec, "dt / dec")
+#End If
+#If DateTime_ERRORS
+            M(dt / sng, "dt / sng")
+#End If
+#If DateTime_ERRORS
+            M(dt / dbl, "dt / dbl")
+#End If
+#If DateTime_ERRORS
+            M(dt / chr, "dt / chr")
+#End If
+#If DateTime_ERRORS
+            M(dt / str, "dt / str")
+#End If
+#If DateTime_ERRORS
+            M(dt / dt, "dt / dt")
+#End If
+#If DateTime_ERRORS
+            M(dt / dbnull, "dt / dbnull")
+#End If
+#If DateTime_ERRORS
+            M(dt / obj, "dt / obj")
+#End If
+#If DBNull_ERRORS
+            M(dbnull / bool, "dbnull / bool")
+#End If
+#If DBNull_ERRORS
+            M(dbnull / b, "dbnull / b")
+#End If
+#If DBNull_ERRORS
+            M(dbnull / sb, "dbnull / sb")
+#End If
+#If DBNull_ERRORS
+            M(dbnull / s, "dbnull / s")
+#End If
+#If DBNull_ERRORS
+            M(dbnull / us, "dbnull / us")
+#End If
+#If DBNull_ERRORS
+            M(dbnull / i, "dbnull / i")
+#End If
+#If DBNull_ERRORS
+            M(dbnull / ui, "dbnull / ui")
+#End If
+#If DBNull_ERRORS
+            M(dbnull / l, "dbnull / l")
+#End If
+#If DBNull_ERRORS
+            M(dbnull / ul, "dbnull / ul")
+#End If
+#If DBNull_ERRORS
+            M(dbnull / dec, "dbnull / dec")
+#End If
+#If DBNull_ERRORS
+            M(dbnull / sng, "dbnull / sng")
+#End If
+#If DBNull_ERRORS
+            M(dbnull / dbl, "dbnull / dbl")
+#End If
+#If DBNull_ERRORS
+            M(dbnull / chr, "dbnull / chr")
+#End If
+#If DBNull_ERRORS
+            M(dbnull / str, "dbnull / str")
+#End If
+#If DBNull_ERRORS
+            M(dbnull / dt, "dbnull / dt")
+#End If
+#If DBNull_ERRORS
+            M(dbnull / dbnull, "dbnull / dbnull")
+#End If
+#If DBNull_ERRORS
+            M(dbnull / obj, "dbnull / obj")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj / bool, "obj / bool")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj / b, "obj / b")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj / sb, "obj / sb")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj / s, "obj / s")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj / us, "obj / us")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj / i, "obj / i")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj / ui, "obj / ui")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj / l, "obj / l")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj / ul, "obj / ul")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj / dec, "obj / dec")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj / sng, "obj / sng")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj / dbl, "obj / dbl")
+#End If
+#If Object_ERRORS
+            M(obj / chr, "obj / chr")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj / str, "obj / str")
+#End If
+#If Object_ERRORS
+            M(obj / dt, "obj / dt")
+#End If
+#If Object_ERRORS
+            M(obj / dbnull, "obj / dbnull")
+#End If
+#If Not STRICT Or Object_ERRORS
+            expected_tc = TypeCode.Object
+            M(obj / obj, "obj / obj")
+#End If
+        If failures > 0 Then Return 1
+    Catch ex As Exception
+        Console.WriteLine ("Exception: {0}", ex)
+        Return 2
+    End Try
+    Return 0
+    End Function
+End Class
diff --git a/vbnc/vbnc/tests/CompileTime2/OperatorIntrinsicUnaryMinus.vb b/vbnc/vbnc/tests/CompileTime2/OperatorIntrinsicUnaryMinus.vb
new file mode 100644
index 0000000..e8c3d2a
--- /dev/null
+++ b/vbnc/vbnc/tests/CompileTime2/OperatorIntrinsicUnaryMinus.vb
@@ -0,0 +1,54 @@
+Class UnaryOperatorUnaryMinus
+    Inherits IntrinsicOperatorTests
+    Shared Function Main As Integer
+        Try
+#If Not STRICT Or ERRORS
+            expected_tc = TypeCode.Int16
+        M(- bool, "- bool")
+#End If
+            expected_tc = TypeCode.Int16
+        M(- b, "- b")
+            expected_tc = TypeCode.SByte
+        M(- sb, "- sb")
+            expected_tc = TypeCode.Int16
+        M(- s, "- s")
+            expected_tc = TypeCode.Int32
+        M(- us, "- us")
+            expected_tc = TypeCode.Int32
+        M(- i, "- i")
+            expected_tc = TypeCode.Int64
+        M(- ui, "- ui")
+            expected_tc = TypeCode.Int64
+        M(- l, "- l")
+            expected_tc = TypeCode.Decimal
+        M(- ul, "- ul")
+            expected_tc = TypeCode.Decimal
+        M(- dec, "- dec")
+            expected_tc = TypeCode.Single
+        M(- sng, "- sng")
+            expected_tc = TypeCode.Double
+        M(- dbl, "- dbl")
+#If ERRORS
+        M(- chr, "- chr")
+#End If
+#If Not STRICT Or ERRORS
+            expected_tc = TypeCode.Double
+        M(- str, "- str")
+#End If
+#If ERRORS
+        M(- dt, "- dt")
+#End If
+#If ERRORS
+        M(- dbnull, "- dbnull")
+#End If
+#If Not STRICT Or ERRORS
+            expected_tc = TypeCode.Object
+        M(- obj, "- obj")
+#End If
+    If failures > 0 Then Return 1
+    Catch ex As Exception
+        Console.WriteLine ("Exception: {0}", ex)
+        Return 2
+    End Try
+    End Function
+End Class
diff --git a/vbnc/vbnc/tests/CompileTime2/OperatorIntrinsicUnaryNot.vb b/vbnc/vbnc/tests/CompileTime2/OperatorIntrinsicUnaryNot.vb
new file mode 100644
index 0000000..c9b69aa
--- /dev/null
+++ b/vbnc/vbnc/tests/CompileTime2/OperatorIntrinsicUnaryNot.vb
@@ -0,0 +1,58 @@
+Class UnaryOperatorUnaryNot
+    Inherits IntrinsicOperatorTests
+    Shared Function Main As Integer
+        Try
+            expected_tc = TypeCode.Boolean
+        M(Not bool, "Not bool")
+            expected_tc = TypeCode.Byte
+        M(Not b, "Not b")
+            expected_tc = TypeCode.SByte
+        M(Not sb, "Not sb")
+            expected_tc = TypeCode.Int16
+        M(Not s, "Not s")
+            expected_tc = TypeCode.UInt16
+        M(Not us, "Not us")
+            expected_tc = TypeCode.Int32
+        M(Not i, "Not i")
+            expected_tc = TypeCode.UInt32
+        M(Not ui, "Not ui")
+            expected_tc = TypeCode.Int64
+        M(Not l, "Not l")
+            expected_tc = TypeCode.UInt64
+        M(Not ul, "Not ul")
+#If Not STRICT Or ERRORS
+            expected_tc = TypeCode.Int64
+        M(Not dec, "Not dec")
+#End If
+#If Not STRICT Or ERRORS
+            expected_tc = TypeCode.Int64
+        M(Not sng, "Not sng")
+#End If
+#If Not STRICT Or ERRORS
+            expected_tc = TypeCode.Int64
+        M(Not dbl, "Not dbl")
+#End If
+#If ERRORS
+        M(Not chr, "Not chr")
+#End If
+#If Not STRICT Or ERRORS
+            expected_tc = TypeCode.Int64
+        M(Not str, "Not str")
+#End If
+#If ERRORS
+        M(Not dt, "Not dt")
+#End If
+#If ERRORS
+        M(Not dbnull, "Not dbnull")
+#End If
+#If Not STRICT Or ERRORS
+            expected_tc = TypeCode.Object
+        M(Not obj, "Not obj")
+#End If
+    If failures > 0 Then Return 1
+    Catch ex As Exception
+        Console.WriteLine ("Exception: {0}", ex)
+        Return 2
+    End Try
+    End Function
+End Class
diff --git a/vbnc/vbnc/tests/CompileTime2/OperatorIntrinsicUnaryPlus.vb b/vbnc/vbnc/tests/CompileTime2/OperatorIntrinsicUnaryPlus.vb
new file mode 100644
index 0000000..341b2c4
--- /dev/null
+++ b/vbnc/vbnc/tests/CompileTime2/OperatorIntrinsicUnaryPlus.vb
@@ -0,0 +1,54 @@
+Class UnaryOperatorUnaryPlus
+    Inherits IntrinsicOperatorTests
+    Shared Function Main As Integer
+        Try
+#If Not STRICT Or ERRORS
+            expected_tc = TypeCode.Int16
+        M(+ bool, "+ bool")
+#End If
+            expected_tc = TypeCode.Byte
+        M(+ b, "+ b")
+            expected_tc = TypeCode.SByte
+        M(+ sb, "+ sb")
+            expected_tc = TypeCode.Int16
+        M(+ s, "+ s")
+            expected_tc = TypeCode.UInt16
+        M(+ us, "+ us")
+            expected_tc = TypeCode.Int32
+        M(+ i, "+ i")
+            expected_tc = TypeCode.UInt32
+        M(+ ui, "+ ui")
+            expected_tc = TypeCode.Int64
+        M(+ l, "+ l")
+            expected_tc = TypeCode.UInt64
+        M(+ ul, "+ ul")
+            expected_tc = TypeCode.Decimal
+        M(+ dec, "+ dec")
+            expected_tc = TypeCode.Single
+        M(+ sng, "+ sng")
+            expected_tc = TypeCode.Double
+        M(+ dbl, "+ dbl")
+#If ERRORS
+        M(+ chr, "+ chr")
+#End If
+#If Not STRICT Or ERRORS
+            expected_tc = TypeCode.Double
+        M(+ str, "+ str")
+#End If
+#If ERRORS
+        M(+ dt, "+ dt")
+#End If
+#If ERRORS
+        M(+ dbnull, "+ dbnull")
+#End If
+#If Not STRICT Or ERRORS
+            expected_tc = TypeCode.Object
+        M(+ obj, "+ obj")
+#End If
+    If failures > 0 Then Return 1
+    Catch ex As Exception
+        Console.WriteLine ("Exception: {0}", ex)
+        Return 2
+    End Try
+    End Function
+End Class
diff --git a/vbnc/vbnc/tests/CompileTime2/OperatorIntrinsicXor.vb b/vbnc/vbnc/tests/CompileTime2/OperatorIntrinsicXor.vb
new file mode 100644
index 0000000..3559eaf
--- /dev/null
+++ b/vbnc/vbnc/tests/CompileTime2/OperatorIntrinsicXor.vb
@@ -0,0 +1,876 @@
+Class BinaryOperatorXor
+    Inherits IntrinsicOperatorTests
+    Shared Function Main As Integer
+        Try
+#If Boolean_ERRORS
+            M(bool Xor bool, "bool Xor bool")
+#End If
+#If Boolean_ERRORS
+            M(bool Xor b, "bool Xor b")
+#End If
+#If Boolean_ERRORS
+            M(bool Xor sb, "bool Xor sb")
+#End If
+#If Boolean_ERRORS
+            M(bool Xor s, "bool Xor s")
+#End If
+#If Boolean_ERRORS
+            M(bool Xor us, "bool Xor us")
+#End If
+#If Boolean_ERRORS
+            M(bool Xor i, "bool Xor i")
+#End If
+#If Boolean_ERRORS
+            M(bool Xor ui, "bool Xor ui")
+#End If
+#If Boolean_ERRORS
+            M(bool Xor l, "bool Xor l")
+#End If
+#If Boolean_ERRORS
+            M(bool Xor ul, "bool Xor ul")
+#End If
+#If Boolean_ERRORS
+            M(bool Xor dec, "bool Xor dec")
+#End If
+#If Boolean_ERRORS
+            M(bool Xor sng, "bool Xor sng")
+#End If
+#If Boolean_ERRORS
+            M(bool Xor dbl, "bool Xor dbl")
+#End If
+#If Boolean_ERRORS
+            M(bool Xor chr, "bool Xor chr")
+#End If
+#If Boolean_ERRORS
+            M(bool Xor str, "bool Xor str")
+#End If
+#If Boolean_ERRORS
+            M(bool Xor dt, "bool Xor dt")
+#End If
+#If Boolean_ERRORS
+            M(bool Xor dbnull, "bool Xor dbnull")
+#End If
+#If Boolean_ERRORS
+            M(bool Xor obj, "bool Xor obj")
+#End If
+#If Byte_ERRORS
+            M(b Xor bool, "b Xor bool")
+#End If
+#If Byte_ERRORS
+            M(b Xor b, "b Xor b")
+#End If
+#If Byte_ERRORS
+            M(b Xor sb, "b Xor sb")
+#End If
+#If Byte_ERRORS
+            M(b Xor s, "b Xor s")
+#End If
+            expected_tc = TypeCode.UInt16
+            M(b Xor us, "b Xor us")
+#If Byte_ERRORS
+            M(b Xor i, "b Xor i")
+#End If
+#If Byte_ERRORS
+            M(b Xor ui, "b Xor ui")
+#End If
+#If Byte_ERRORS
+            M(b Xor l, "b Xor l")
+#End If
+#If Byte_ERRORS
+            M(b Xor ul, "b Xor ul")
+#End If
+#If Byte_ERRORS
+            M(b Xor dec, "b Xor dec")
+#End If
+#If Byte_ERRORS
+            M(b Xor sng, "b Xor sng")
+#End If
+#If Byte_ERRORS
+            M(b Xor dbl, "b Xor dbl")
+#End If
+#If Byte_ERRORS
+            M(b Xor chr, "b Xor chr")
+#End If
+#If Byte_ERRORS
+            M(b Xor str, "b Xor str")
+#End If
+#If Byte_ERRORS
+            M(b Xor dt, "b Xor dt")
+#End If
+#If Byte_ERRORS
+            M(b Xor dbnull, "b Xor dbnull")
+#End If
+#If Byte_ERRORS
+            M(b Xor obj, "b Xor obj")
+#End If
+#If SByte_ERRORS
+            M(sb Xor bool, "sb Xor bool")
+#End If
+#If SByte_ERRORS
+            M(sb Xor b, "sb Xor b")
+#End If
+#If SByte_ERRORS
+            M(sb Xor sb, "sb Xor sb")
+#End If
+#If SByte_ERRORS
+            M(sb Xor s, "sb Xor s")
+#End If
+#If SByte_ERRORS
+            M(sb Xor us, "sb Xor us")
+#End If
+#If SByte_ERRORS
+            M(sb Xor i, "sb Xor i")
+#End If
+#If SByte_ERRORS
+            M(sb Xor ui, "sb Xor ui")
+#End If
+#If SByte_ERRORS
+            M(sb Xor l, "sb Xor l")
+#End If
+#If SByte_ERRORS
+            M(sb Xor ul, "sb Xor ul")
+#End If
+#If SByte_ERRORS
+            M(sb Xor dec, "sb Xor dec")
+#End If
+#If SByte_ERRORS
+            M(sb Xor sng, "sb Xor sng")
+#End If
+#If SByte_ERRORS
+            M(sb Xor dbl, "sb Xor dbl")
+#End If
+#If SByte_ERRORS
+            M(sb Xor chr, "sb Xor chr")
+#End If
+#If SByte_ERRORS
+            M(sb Xor str, "sb Xor str")
+#End If
+#If SByte_ERRORS
+            M(sb Xor dt, "sb Xor dt")
+#End If
+#If SByte_ERRORS
+            M(sb Xor dbnull, "sb Xor dbnull")
+#End If
+#If SByte_ERRORS
+            M(sb Xor obj, "sb Xor obj")
+#End If
+#If Int16_ERRORS
+            M(s Xor bool, "s Xor bool")
+#End If
+#If Int16_ERRORS
+            M(s Xor b, "s Xor b")
+#End If
+#If Int16_ERRORS
+            M(s Xor sb, "s Xor sb")
+#End If
+#If Int16_ERRORS
+            M(s Xor s, "s Xor s")
+#End If
+#If Int16_ERRORS
+            M(s Xor us, "s Xor us")
+#End If
+#If Int16_ERRORS
+            M(s Xor i, "s Xor i")
+#End If
+#If Int16_ERRORS
+            M(s Xor ui, "s Xor ui")
+#End If
+#If Int16_ERRORS
+            M(s Xor l, "s Xor l")
+#End If
+#If Int16_ERRORS
+            M(s Xor ul, "s Xor ul")
+#End If
+#If Int16_ERRORS
+            M(s Xor dec, "s Xor dec")
+#End If
+#If Int16_ERRORS
+            M(s Xor sng, "s Xor sng")
+#End If
+#If Int16_ERRORS
+            M(s Xor dbl, "s Xor dbl")
+#End If
+#If Int16_ERRORS
+            M(s Xor chr, "s Xor chr")
+#End If
+#If Int16_ERRORS
+            M(s Xor str, "s Xor str")
+#End If
+#If Int16_ERRORS
+            M(s Xor dt, "s Xor dt")
+#End If
+#If Int16_ERRORS
+            M(s Xor dbnull, "s Xor dbnull")
+#End If
+#If Int16_ERRORS
+            M(s Xor obj, "s Xor obj")
+#End If
+#If UInt16_ERRORS
+            M(us Xor bool, "us Xor bool")
+#End If
+            expected_tc = TypeCode.UInt16
+            M(us Xor b, "us Xor b")
+#If UInt16_ERRORS
+            M(us Xor sb, "us Xor sb")
+#End If
+#If UInt16_ERRORS
+            M(us Xor s, "us Xor s")
+#End If
+            expected_tc = TypeCode.UInt16
+            M(us Xor us, "us Xor us")
+#If UInt16_ERRORS
+            M(us Xor i, "us Xor i")
+#End If
+#If UInt16_ERRORS
+            M(us Xor ui, "us Xor ui")
+#End If
+#If UInt16_ERRORS
+            M(us Xor l, "us Xor l")
+#End If
+#If UInt16_ERRORS
+            M(us Xor ul, "us Xor ul")
+#End If
+#If UInt16_ERRORS
+            M(us Xor dec, "us Xor dec")
+#End If
+#If UInt16_ERRORS
+            M(us Xor sng, "us Xor sng")
+#End If
+#If UInt16_ERRORS
+            M(us Xor dbl, "us Xor dbl")
+#End If
+#If UInt16_ERRORS
+            M(us Xor chr, "us Xor chr")
+#End If
+#If UInt16_ERRORS
+            M(us Xor str, "us Xor str")
+#End If
+#If UInt16_ERRORS
+            M(us Xor dt, "us Xor dt")
+#End If
+#If UInt16_ERRORS
+            M(us Xor dbnull, "us Xor dbnull")
+#End If
+#If UInt16_ERRORS
+            M(us Xor obj, "us Xor obj")
+#End If
+#If Int32_ERRORS
+            M(i Xor bool, "i Xor bool")
+#End If
+#If Int32_ERRORS
+            M(i Xor b, "i Xor b")
+#End If
+#If Int32_ERRORS
+            M(i Xor sb, "i Xor sb")
+#End If
+#If Int32_ERRORS
+            M(i Xor s, "i Xor s")
+#End If
+#If Int32_ERRORS
+            M(i Xor us, "i Xor us")
+#End If
+#If Int32_ERRORS
+            M(i Xor i, "i Xor i")
+#End If
+#If Int32_ERRORS
+            M(i Xor ui, "i Xor ui")
+#End If
+#If Int32_ERRORS
+            M(i Xor l, "i Xor l")
+#End If
+#If Int32_ERRORS
+            M(i Xor ul, "i Xor ul")
+#End If
+#If Int32_ERRORS
+            M(i Xor dec, "i Xor dec")
+#End If
+#If Int32_ERRORS
+            M(i Xor sng, "i Xor sng")
+#End If
+#If Int32_ERRORS
+            M(i Xor dbl, "i Xor dbl")
+#End If
+#If Int32_ERRORS
+            M(i Xor chr, "i Xor chr")
+#End If
+#If Int32_ERRORS
+            M(i Xor str, "i Xor str")
+#End If
+#If Int32_ERRORS
+            M(i Xor dt, "i Xor dt")
+#End If
+#If Int32_ERRORS
+            M(i Xor dbnull, "i Xor dbnull")
+#End If
+#If Int32_ERRORS
+            M(i Xor obj, "i Xor obj")
+#End If
+#If UInt32_ERRORS
+            M(ui Xor bool, "ui Xor bool")
+#End If
+#If UInt32_ERRORS
+            M(ui Xor b, "ui Xor b")
+#End If
+#If UInt32_ERRORS
+            M(ui Xor sb, "ui Xor sb")
+#End If
+#If UInt32_ERRORS
+            M(ui Xor s, "ui Xor s")
+#End If
+#If UInt32_ERRORS
+            M(ui Xor us, "ui Xor us")
+#End If
+#If UInt32_ERRORS
+            M(ui Xor i, "ui Xor i")
+#End If
+#If UInt32_ERRORS
+            M(ui Xor ui, "ui Xor ui")
+#End If
+#If UInt32_ERRORS
+            M(ui Xor l, "ui Xor l")
+#End If
+#If UInt32_ERRORS
+            M(ui Xor ul, "ui Xor ul")
+#End If
+#If UInt32_ERRORS
+            M(ui Xor dec, "ui Xor dec")
+#End If
+#If UInt32_ERRORS
+            M(ui Xor sng, "ui Xor sng")
+#End If
+#If UInt32_ERRORS
+            M(ui Xor dbl, "ui Xor dbl")
+#End If
+#If UInt32_ERRORS
+            M(ui Xor chr, "ui Xor chr")
+#End If
+#If UInt32_ERRORS
+            M(ui Xor str, "ui Xor str")
+#End If
+#If UInt32_ERRORS
+            M(ui Xor dt, "ui Xor dt")
+#End If
+#If UInt32_ERRORS
+            M(ui Xor dbnull, "ui Xor dbnull")
+#End If
+#If UInt32_ERRORS
+            M(ui Xor obj, "ui Xor obj")
+#End If
+#If Int64_ERRORS
+            M(l Xor bool, "l Xor bool")
+#End If
+#If Int64_ERRORS
+            M(l Xor b, "l Xor b")
+#End If
+#If Int64_ERRORS
+            M(l Xor sb, "l Xor sb")
+#End If
+#If Int64_ERRORS
+            M(l Xor s, "l Xor s")
+#End If
+#If Int64_ERRORS
+            M(l Xor us, "l Xor us")
+#End If
+#If Int64_ERRORS
+            M(l Xor i, "l Xor i")
+#End If
+#If Int64_ERRORS
+            M(l Xor ui, "l Xor ui")
+#End If
+#If Int64_ERRORS
+            M(l Xor l, "l Xor l")
+#End If
+#If Int64_ERRORS
+            M(l Xor ul, "l Xor ul")
+#End If
+#If Int64_ERRORS
+            M(l Xor dec, "l Xor dec")
+#End If
+#If Int64_ERRORS
+            M(l Xor sng, "l Xor sng")
+#End If
+#If Int64_ERRORS
+            M(l Xor dbl, "l Xor dbl")
+#End If
+#If Int64_ERRORS
+            M(l Xor chr, "l Xor chr")
+#End If
+#If Int64_ERRORS
+            M(l Xor str, "l Xor str")
+#End If
+#If Int64_ERRORS
+            M(l Xor dt, "l Xor dt")
+#End If
+#If Int64_ERRORS
+            M(l Xor dbnull, "l Xor dbnull")
+#End If
+#If Int64_ERRORS
+            M(l Xor obj, "l Xor obj")
+#End If
+#If UInt64_ERRORS
+            M(ul Xor bool, "ul Xor bool")
+#End If
+#If UInt64_ERRORS
+            M(ul Xor b, "ul Xor b")
+#End If
+#If UInt64_ERRORS
+            M(ul Xor sb, "ul Xor sb")
+#End If
+#If UInt64_ERRORS
+            M(ul Xor s, "ul Xor s")
+#End If
+#If UInt64_ERRORS
+            M(ul Xor us, "ul Xor us")
+#End If
+#If UInt64_ERRORS
+            M(ul Xor i, "ul Xor i")
+#End If
+#If UInt64_ERRORS
+            M(ul Xor ui, "ul Xor ui")
+#End If
+#If UInt64_ERRORS
+            M(ul Xor l, "ul Xor l")
+#End If
+#If UInt64_ERRORS
+            M(ul Xor ul, "ul Xor ul")
+#End If
+#If UInt64_ERRORS
+            M(ul Xor dec, "ul Xor dec")
+#End If
+#If UInt64_ERRORS
+            M(ul Xor sng, "ul Xor sng")
+#End If
+#If UInt64_ERRORS
+            M(ul Xor dbl, "ul Xor dbl")
+#End If
+#If UInt64_ERRORS
+            M(ul Xor chr, "ul Xor chr")
+#End If
+#If UInt64_ERRORS
+            M(ul Xor str, "ul Xor str")
+#End If
+#If UInt64_ERRORS
+            M(ul Xor dt, "ul Xor dt")
+#End If
+#If UInt64_ERRORS
+            M(ul Xor dbnull, "ul Xor dbnull")
+#End If
+#If UInt64_ERRORS
+            M(ul Xor obj, "ul Xor obj")
+#End If
+#If Decimal_ERRORS
+            M(dec Xor bool, "dec Xor bool")
+#End If
+#If Decimal_ERRORS
+            M(dec Xor b, "dec Xor b")
+#End If
+#If Decimal_ERRORS
+            M(dec Xor sb, "dec Xor sb")
+#End If
+#If Decimal_ERRORS
+            M(dec Xor s, "dec Xor s")
+#End If
+#If Decimal_ERRORS
+            M(dec Xor us, "dec Xor us")
+#End If
+#If Decimal_ERRORS
+            M(dec Xor i, "dec Xor i")
+#End If
+#If Decimal_ERRORS
+            M(dec Xor ui, "dec Xor ui")
+#End If
+#If Decimal_ERRORS
+            M(dec Xor l, "dec Xor l")
+#End If
+#If Decimal_ERRORS
+            M(dec Xor ul, "dec Xor ul")
+#End If
+#If Decimal_ERRORS
+            M(dec Xor dec, "dec Xor dec")
+#End If
+#If Decimal_ERRORS
+            M(dec Xor sng, "dec Xor sng")
+#End If
+#If Decimal_ERRORS
+            M(dec Xor dbl, "dec Xor dbl")
+#End If
+#If Decimal_ERRORS
+            M(dec Xor chr, "dec Xor chr")
+#End If
+#If Decimal_ERRORS
+            M(dec Xor str, "dec Xor str")
+#End If
+#If Decimal_ERRORS
+            M(dec Xor dt, "dec Xor dt")
+#End If
+#If Decimal_ERRORS
+            M(dec Xor dbnull, "dec Xor dbnull")
+#End If
+#If Decimal_ERRORS
+            M(dec Xor obj, "dec Xor obj")
+#End If
+#If Single_ERRORS
+            M(sng Xor bool, "sng Xor bool")
+#End If
+#If Single_ERRORS
+            M(sng Xor b, "sng Xor b")
+#End If
+#If Single_ERRORS
+            M(sng Xor sb, "sng Xor sb")
+#End If
+#If Single_ERRORS
+            M(sng Xor s, "sng Xor s")
+#End If
+#If Single_ERRORS
+            M(sng Xor us, "sng Xor us")
+#End If
+#If Single_ERRORS
+            M(sng Xor i, "sng Xor i")
+#End If
+#If Single_ERRORS
+            M(sng Xor ui, "sng Xor ui")
+#End If
+#If Single_ERRORS
+            M(sng Xor l, "sng Xor l")
+#End If
+#If Single_ERRORS
+            M(sng Xor ul, "sng Xor ul")
+#End If
+#If Single_ERRORS
+            M(sng Xor dec, "sng Xor dec")
+#End If
+#If Single_ERRORS
+            M(sng Xor sng, "sng Xor sng")
+#End If
+#If Single_ERRORS
+            M(sng Xor dbl, "sng Xor dbl")
+#End If
+#If Single_ERRORS
+            M(sng Xor chr, "sng Xor chr")
+#End If
+#If Single_ERRORS
+            M(sng Xor str, "sng Xor str")
+#End If
+#If Single_ERRORS
+            M(sng Xor dt, "sng Xor dt")
+#End If
+#If Single_ERRORS
+            M(sng Xor dbnull, "sng Xor dbnull")
+#End If
+#If Single_ERRORS
+            M(sng Xor obj, "sng Xor obj")
+#End If
+#If Double_ERRORS
+            M(dbl Xor bool, "dbl Xor bool")
+#End If
+#If Double_ERRORS
+            M(dbl Xor b, "dbl Xor b")
+#End If
+#If Double_ERRORS
+            M(dbl Xor sb, "dbl Xor sb")
+#End If
+#If Double_ERRORS
+            M(dbl Xor s, "dbl Xor s")
+#End If
+#If Double_ERRORS
+            M(dbl Xor us, "dbl Xor us")
+#End If
+#If Double_ERRORS
+            M(dbl Xor i, "dbl Xor i")
+#End If
+#If Double_ERRORS
+            M(dbl Xor ui, "dbl Xor ui")
+#End If
+#If Double_ERRORS
+            M(dbl Xor l, "dbl Xor l")
+#End If
+#If Double_ERRORS
+            M(dbl Xor ul, "dbl Xor ul")
+#End If
+#If Double_ERRORS
+            M(dbl Xor dec, "dbl Xor dec")
+#End If
+#If Double_ERRORS
+            M(dbl Xor sng, "dbl Xor sng")
+#End If
+#If Double_ERRORS
+            M(dbl Xor dbl, "dbl Xor dbl")
+#End If
+#If Double_ERRORS
+            M(dbl Xor chr, "dbl Xor chr")
+#End If
+#If Double_ERRORS
+            M(dbl Xor str, "dbl Xor str")
+#End If
+#If Double_ERRORS
+            M(dbl Xor dt, "dbl Xor dt")
+#End If
+#If Double_ERRORS
+            M(dbl Xor dbnull, "dbl Xor dbnull")
+#End If
+#If Double_ERRORS
+            M(dbl Xor obj, "dbl Xor obj")
+#End If
+#If Char_ERRORS
+            M(chr Xor bool, "chr Xor bool")
+#End If
+#If Char_ERRORS
+            M(chr Xor b, "chr Xor b")
+#End If
+#If Char_ERRORS
+            M(chr Xor sb, "chr Xor sb")
+#End If
+#If Char_ERRORS
+            M(chr Xor s, "chr Xor s")
+#End If
+#If Char_ERRORS
+            M(chr Xor us, "chr Xor us")
+#End If
+#If Char_ERRORS
+            M(chr Xor i, "chr Xor i")
+#End If
+#If Char_ERRORS
+            M(chr Xor ui, "chr Xor ui")
+#End If
+#If Char_ERRORS
+            M(chr Xor l, "chr Xor l")
+#End If
+#If Char_ERRORS
+            M(chr Xor ul, "chr Xor ul")
+#End If
+#If Char_ERRORS
+            M(chr Xor dec, "chr Xor dec")
+#End If
+#If Char_ERRORS
+            M(chr Xor sng, "chr Xor sng")
+#End If
+#If Char_ERRORS
+            M(chr Xor dbl, "chr Xor dbl")
+#End If
+#If Char_ERRORS
+            M(chr Xor chr, "chr Xor chr")
+#End If
+#If Char_ERRORS
+            M(chr Xor str, "chr Xor str")
+#End If
+#If Char_ERRORS
+            M(chr Xor dt, "chr Xor dt")
+#End If
+#If Char_ERRORS
+            M(chr Xor dbnull, "chr Xor dbnull")
+#End If
+#If Char_ERRORS
+            M(chr Xor obj, "chr Xor obj")
+#End If
+#If String_ERRORS
+            M(str Xor bool, "str Xor bool")
+#End If
+#If String_ERRORS
+            M(str Xor b, "str Xor b")
+#End If
+#If String_ERRORS
+            M(str Xor sb, "str Xor sb")
+#End If
+#If String_ERRORS
+            M(str Xor s, "str Xor s")
+#End If
+#If String_ERRORS
+            M(str Xor us, "str Xor us")
+#End If
+#If String_ERRORS
+            M(str Xor i, "str Xor i")
+#End If
+#If String_ERRORS
+            M(str Xor ui, "str Xor ui")
+#End If
+#If String_ERRORS
+            M(str Xor l, "str Xor l")
+#End If
+#If String_ERRORS
+            M(str Xor ul, "str Xor ul")
+#End If
+#If String_ERRORS
+            M(str Xor dec, "str Xor dec")
+#End If
+#If String_ERRORS
+            M(str Xor sng, "str Xor sng")
+#End If
+#If String_ERRORS
+            M(str Xor dbl, "str Xor dbl")
+#End If
+#If String_ERRORS
+            M(str Xor chr, "str Xor chr")
+#End If
+#If String_ERRORS
+            M(str Xor str, "str Xor str")
+#End If
+#If String_ERRORS
+            M(str Xor dt, "str Xor dt")
+#End If
+#If String_ERRORS
+            M(str Xor dbnull, "str Xor dbnull")
+#End If
+#If String_ERRORS
+            M(str Xor obj, "str Xor obj")
+#End If
+#If DateTime_ERRORS
+            M(dt Xor bool, "dt Xor bool")
+#End If
+#If DateTime_ERRORS
+            M(dt Xor b, "dt Xor b")
+#End If
+#If DateTime_ERRORS
+            M(dt Xor sb, "dt Xor sb")
+#End If
+#If DateTime_ERRORS
+            M(dt Xor s, "dt Xor s")
+#End If
+#If DateTime_ERRORS
+            M(dt Xor us, "dt Xor us")
+#End If
+#If DateTime_ERRORS
+            M(dt Xor i, "dt Xor i")
+#End If
+#If DateTime_ERRORS
+            M(dt Xor ui, "dt Xor ui")
+#End If
+#If DateTime_ERRORS
+            M(dt Xor l, "dt Xor l")
+#End If
+#If DateTime_ERRORS
+            M(dt Xor ul, "dt Xor ul")
+#End If
+#If DateTime_ERRORS
+            M(dt Xor dec, "dt Xor dec")
+#End If
+#If DateTime_ERRORS
+            M(dt Xor sng, "dt Xor sng")
+#End If
+#If DateTime_ERRORS
+            M(dt Xor dbl, "dt Xor dbl")
+#End If
+#If DateTime_ERRORS
+            M(dt Xor chr, "dt Xor chr")
+#End If
+#If DateTime_ERRORS
+            M(dt Xor str, "dt Xor str")
+#End If
+#If DateTime_ERRORS
+            M(dt Xor dt, "dt Xor dt")
+#End If
+#If DateTime_ERRORS
+            M(dt Xor dbnull, "dt Xor dbnull")
+#End If
+#If DateTime_ERRORS
+            M(dt Xor obj, "dt Xor obj")
+#End If
+#If DBNull_ERRORS
+            M(dbnull Xor bool, "dbnull Xor bool")
+#End If
+#If DBNull_ERRORS
+            M(dbnull Xor b, "dbnull Xor b")
+#End If
+#If DBNull_ERRORS
+            M(dbnull Xor sb, "dbnull Xor sb")
+#End If
+#If DBNull_ERRORS
+            M(dbnull Xor s, "dbnull Xor s")
+#End If
+#If DBNull_ERRORS
+            M(dbnull Xor us, "dbnull Xor us")
+#End If
+#If DBNull_ERRORS
+            M(dbnull Xor i, "dbnull Xor i")
+#End If
+#If DBNull_ERRORS
+            M(dbnull Xor ui, "dbnull Xor ui")
+#End If
+#If DBNull_ERRORS
+            M(dbnull Xor l, "dbnull Xor l")
+#End If
+#If DBNull_ERRORS
+            M(dbnull Xor ul, "dbnull Xor ul")
+#End If
+#If DBNull_ERRORS
+            M(dbnull Xor dec, "dbnull Xor dec")
+#End If
+#If DBNull_ERRORS
+            M(dbnull Xor sng, "dbnull Xor sng")
+#End If
+#If DBNull_ERRORS
+            M(dbnull Xor dbl, "dbnull Xor dbl")
+#End If
+#If DBNull_ERRORS
+            M(dbnull Xor chr, "dbnull Xor chr")
+#End If
+#If DBNull_ERRORS
+            M(dbnull Xor str, "dbnull Xor str")
+#End If
+#If DBNull_ERRORS
+            M(dbnull Xor dt, "dbnull Xor dt")
+#End If
+#If DBNull_ERRORS
+            M(dbnull Xor dbnull, "dbnull Xor dbnull")
+#End If
+#If DBNull_ERRORS
+            M(dbnull Xor obj, "dbnull Xor obj")
+#End If
+#If Object_ERRORS
+            M(obj Xor bool, "obj Xor bool")
+#End If
+#If Object_ERRORS
+            M(obj Xor b, "obj Xor b")
+#End If
+#If Object_ERRORS
+            M(obj Xor sb, "obj Xor sb")
+#End If
+#If Object_ERRORS
+            M(obj Xor s, "obj Xor s")
+#End If
+#If Object_ERRORS
+            M(obj Xor us, "obj Xor us")
+#End If
+#If Object_ERRORS
+            M(obj Xor i, "obj Xor i")
+#End If
+#If Object_ERRORS
+            M(obj Xor ui, "obj Xor ui")
+#End If
+#If Object_ERRORS
+            M(obj Xor l, "obj Xor l")
+#End If
+#If Object_ERRORS
+            M(obj Xor ul, "obj Xor ul")
+#End If
+#If Object_ERRORS
+            M(obj Xor dec, "obj Xor dec")
+#End If
+#If Object_ERRORS
+            M(obj Xor sng, "obj Xor sng")
+#End If
+#If Object_ERRORS
+            M(obj Xor dbl, "obj Xor dbl")
+#End If
+#If Object_ERRORS
+            M(obj Xor chr, "obj Xor chr")
+#End If
+#If Object_ERRORS
+            M(obj Xor str, "obj Xor str")
+#End If
+#If Object_ERRORS
+            M(obj Xor dt, "obj Xor dt")
+#End If
+#If Object_ERRORS
+            M(obj Xor dbnull, "obj Xor dbnull")
+#End If
+#If Object_ERRORS
+            M(obj Xor obj, "obj Xor obj")
+#End If
+        If failures > 0 Then Return 1
+    Catch ex As Exception
+        Console.WriteLine ("Exception: {0}", ex)
+        Return 2
+    End Try
+    Return 0
+    End Function
+End Class
diff --git a/vbnc/vbnc/tests/CompileTime2/OptionalParameters4.vb b/vbnc/vbnc/tests/CompileTime2/OptionalParameters4.vb
index dc49eef..0077b3e 100644
--- a/vbnc/vbnc/tests/CompileTime2/OptionalParameters4.vb
+++ b/vbnc/vbnc/tests/CompileTime2/OptionalParameters4.vb
@@ -14,7 +14,9 @@ Class OptionalParameters4
 
     End Sub
 
+    Shared Sub Bar(Optional ByVal Param1 As Decimal = 2)
 
+    End Sub
 
     Shared Function Main() As Integer
         Return Test(0, Nothing, 0)
diff --git a/vbnc/vbnc/tests/CompileTime2/SharedExpressions1.vb b/vbnc/vbnc/tests/CompileTime2/SharedExpressions1.vb
new file mode 100644
index 0000000..d94db85
--- /dev/null
+++ b/vbnc/vbnc/tests/CompileTime2/SharedExpressions1.vb
@@ -0,0 +1,54 @@
+Option Strict On
+Option Explicit On
+
+Public Class C
+    Public Shared Sub SharedMethodA(ByVal sender As Object, ByVal e As EventArgs)
+        Console.WriteLine("curious!")
+    End Sub
+
+    Public Shared Function Foo() As Integer
+        Return &H45
+    End Function
+
+    Public Shared Property Bar() As Integer
+        Get
+            Return 0
+        End Get
+        Set(ByVal value As int32)
+        End Set
+    End Property
+
+    Public Shared Event WizBangChanged As EventHandler
+
+    Public Shared m_foo As Int32 = 99
+End Class
+
+Class C1
+    Dim C As C
+
+    Shared Sub Accesses()
+        Console.WriteLine(C.m_foo)
+        Console.WriteLine(C.Foo())
+        Dim eh As New EventHandler(AddressOf C.SharedMethodA)
+        'AddHandler C.WizBangChanged, eh
+        C.Bar = 100
+        Console.WriteLine(C.Bar)
+    End Sub
+End Class
+
+Class C2
+    ReadOnly Property C As C
+        Get
+            Return Nothing
+        End Get
+    End Property
+
+    Shared Sub Accesses()
+        Console.WriteLine(C.m_foo)
+        Console.WriteLine(C.Foo())
+        Dim eh As New EventHandler(AddressOf C.SharedMethodA)
+        'AddHandler C.WizBangChanged, eh
+        C.Bar = 100
+        Console.WriteLine(C.Bar)
+    End Sub
+End Class
diff --git a/vbnc/vbnc/tests/CompileTime2/TypeConversion.vb b/vbnc/vbnc/tests/CompileTime2/TypeConversion.vb
new file mode 100644
index 0000000..a7e3629
--- /dev/null
+++ b/vbnc/vbnc/tests/CompileTime2/TypeConversion.vb
@@ -0,0 +1,625 @@
+#If STRICT Then
+Option Strict On
+#Else
+Option Strict Off
+#End If
+
+Class TypeConversion
+    Sub M()
+        Dim out_o As Object
+        Dim out_e As System.Enum
+        Dim out_v As System.ValueType
+        Dim out_d As System.Delegate
+        Dim out_ia As IA
+        Dim out_ib As IB
+        Dim out_ic As IC
+        Dim out_sa As SA
+        Dim out_da As DA
+        Dim out_ca As CA
+        Dim out_c_ia As C_IA
+        Dim out_e_i As E_I
+
+        Dim in_o As Object
+        Dim in_ia As IA
+        Dim in_ib As IB
+        Dim in_sa As SA
+        Dim in_da As DA
+        Dim in_ca As CA
+        Dim in_c_ia As C_IA
+        Dim in_c_ib As C_IB
+        Dim in_c_ic As C_IC
+        Dim in_str As String
+        Dim in_v As System.ValueType
+        Dim in_e As System.Enum
+        Dim in_d As System.Delegate
+
+        out_ia = CType(in_str, IA)
+        out_ia = CType(in_ia, IA)
+        out_ia = CType(in_ib, IA)
+        out_ia = CType(in_da, IA)
+        out_ia = CType(in_ca, IA)
+        out_ia = CType(in_c_ia, IA)
+        out_ia = in_c_ia
+        out_ia = CType(in_c_ib, IA)
+        out_ia = in_c_ic
+        out_ia = CType(in_o, IA)
+
+        out_ic = in_c_ic
+
+        out_o = in_ia
+
+#If Not STRICT Then
+        out_e = in_o
+        out_ia = in_o
+        out_sa = in_o
+        out_ca = in_o
+        out_da = in_o
+        out_ia = in_ib
+        out_ib = in_ia
+        out_v = in_sa
+        out_sa = in_v
+        out_e_i = in_e
+        out_ca = in_ia
+#End If
+
+        out_e = Nothing
+        out_v = Nothing
+        out_d = Nothing
+        out_ia = Nothing
+        out_sa = Nothing
+        out_da = Nothing
+        out_c_ia = Nothing
+    End Sub
+
+    Sub M_InRef(ByRef in_o As Object, ByRef in_ia As IA, ByRef in_ib As IB, ByRef in_sa As SA, ByRef in_da As da, _
+          ByRef in_ca As ca, ByRef in_c_ia As c_ia, ByRef in_c_ib As c_ib, ByRef in_c_ic As c_ic, ByRef in_str As String, _
+          ByRef in_v As system.valuetype, ByRef in_d As system.delegate, ByRef in_e As system.enum)
+        Dim out_o As Object
+        Dim out_e As System.Enum
+        Dim out_v As System.ValueType
+        Dim out_d As System.Delegate
+        Dim out_ia As IA
+        Dim out_ib As IB
+        Dim out_ic As IC
+        Dim out_sa As SA
+        Dim out_da As DA
+        Dim out_ca As CA
+        Dim out_c_ia As C_IA
+        Dim out_e_i As E_I
+
+        out_ia = CType(in_str, IA)
+        out_ia = CType(in_ia, IA)
+        out_ia = CType(in_ib, IA)
+        out_ia = CType(in_da, IA)
+        out_ia = CType(in_ca, IA)
+        out_ia = CType(in_c_ia, IA)
+        out_ia = in_c_ia
+        out_ia = CType(in_c_ib, IA)
+        out_ia = in_c_ic
+        out_ia = CType(in_o, IA)
+
+        out_ic = in_c_ic
+
+        out_o = in_ia
+
+#If Not STRICT Then
+        out_e = in_o
+        out_ia = in_o
+        out_sa = in_o
+        out_ca = in_o
+        out_da = in_o
+        out_ia = in_ib
+        out_ib = in_ia
+        out_v = in_sa
+        out_sa = in_v
+        out_e_i = in_e
+        out_ca = in_ia
+#End If
+
+        out_e = Nothing
+        out_v = Nothing
+        out_d = Nothing
+        out_ia = Nothing
+        out_sa = Nothing
+        out_da = Nothing
+        out_c_ia = Nothing
+    End Sub
+
+    Sub M_OutRef(ByRef out_o As Object, ByRef out_e As system.enum, ByRef out_v As system.valuetype, ByRef out_d As system.delegate, _
+                 ByRef out_ia As ia, ByRef out_ib As ib, ByRef out_ic As ic, ByRef out_sa As sa, ByRef out_da As da, ByRef out_ca As ca, _
+                 ByRef out_c_ia As c_ia, ByRef out_e_i As e_I)
+        Dim in_o As Object
+        Dim in_ia As IA
+        Dim in_ib As IB
+        Dim in_sa As SA
+        Dim in_da As DA
+        Dim in_ca As CA
+        Dim in_c_ia As C_IA
+        Dim in_c_ib As C_IB
+        Dim in_c_ic As C_IC
+        Dim in_str As String
+        Dim in_v As System.ValueType
+        Dim in_e As System.Enum
+        Dim in_d As System.Delegate
+
+        out_ia = CType(in_str, IA)
+        out_ia = CType(in_ia, IA)
+        out_ia = CType(in_ib, IA)
+        out_ia = CType(in_da, IA)
+        out_ia = CType(in_ca, IA)
+        out_ia = CType(in_c_ia, IA)
+        out_ia = in_c_ia
+        out_ia = CType(in_c_ib, IA)
+        out_ia = in_c_ic
+        out_ia = CType(in_o, IA)
+
+        out_ic = in_c_ic
+
+        out_o = in_ia
+
+#If Not STRICT Then
+        out_e = in_o
+        out_ia = in_o
+        out_sa = in_o
+        out_ca = in_o
+        out_da = in_o
+        out_ia = in_ib
+        out_ib = in_ia
+        out_v = in_sa
+        out_sa = in_v
+        out_e_i = in_e
+        out_ca = in_ia
+#End If
+
+        out_e = Nothing
+        out_v = Nothing
+        out_d = Nothing
+        out_ia = Nothing
+        out_sa = Nothing
+        out_da = Nothing
+        out_c_ia = Nothing
+    End Sub
+
+    Sub M_InOutRef(ByRef out_o As Object, ByRef out_e As system.enum, ByRef out_v As system.valuetype, ByRef out_d As system.delegate, _
+                 ByRef out_ia As ia, ByRef out_ib As ib, ByRef out_ic As ic, ByRef out_sa As sa, ByRef out_da As da, ByRef out_ca As ca, _
+                 ByRef out_c_ia As c_ia, ByRef out_e_i As e_I, _
+                 ByRef in_o As Object, ByRef in_ia As IA, ByRef in_ib As IB, ByRef in_sa As SA, ByRef in_da As da, _
+          ByRef in_ca As ca, ByRef in_c_ia As c_ia, ByRef in_c_ib As c_ib, ByRef in_c_ic As c_ic, ByRef in_str As String, _
+          ByRef in_v As system.valuetype, ByRef in_d As system.delegate, ByRef in_e As system.enum)
+
+        out_ia = CType(in_str, IA)
+        out_ia = CType(in_ia, IA)
+        out_ia = CType(in_ib, IA)
+        out_ia = CType(in_da, IA)
+        out_ia = CType(in_ca, IA)
+        out_ia = CType(in_c_ia, IA)
+        out_ia = in_c_ia
+        out_ia = CType(in_c_ib, IA)
+        out_ia = in_c_ic
+        out_ia = CType(in_o, IA)
+
+        out_ic = in_c_ic
+
+        out_o = in_ia
+
+#If Not STRICT Then
+        out_e = in_o
+        out_ia = in_o
+        out_sa = in_o
+        out_ca = in_o
+        out_da = in_o
+        out_ia = in_ib
+        out_ib = in_ia
+        out_v = in_sa
+        out_sa = in_v
+        out_e_i = in_e
+        out_ca = in_ia
+#End If
+
+        out_e = Nothing
+        out_v = Nothing
+        out_d = Nothing
+        out_ia = Nothing
+        out_sa = Nothing
+        out_da = Nothing
+        out_c_ia = Nothing
+    End Sub
+End Class
+
+Class Intrinsic
+    Sub NumericConversionsEnum()
+        Dim e_b As e_b
+        Dim e_i As e_i
+        Dim b As Byte
+        Dim i As Integer
+#If Not STRICT Then
+        e_b = 2
+        e_i = 4
+
+        e_b = b
+        e_i = i
+        e_b = i
+        e_i = b
+        b = e_b
+        b = e_i
+        i = e_b
+        i = e_i
+        e_b = e_i
+        e_i = e_b
+#End If
+    End Sub
+
+    Sub StringConversions()
+        Dim out_b As Byte
+        Dim out_sb As SByte
+        Dim out_s As Short
+        Dim out_us As UShort
+        Dim out_i As Integer
+        Dim out_ui As UInteger
+        Dim out_l As Long
+        Dim out_ul As ULong
+        Dim out_dec As Decimal
+        Dim out_bool As Boolean
+        Dim out_sng As Single
+        Dim out_dbl As Double
+        Dim out_str As String
+        Dim out_chr As Char
+        Dim out_dt As Date
+
+        Dim in_b As Byte
+        Dim in_sb As SByte
+        Dim in_s As Short
+        Dim in_us As UShort
+        Dim in_i As Integer
+        Dim in_ui As UInteger
+        Dim in_l As Long
+        Dim in_ul As ULong
+        Dim in_dec As Decimal
+        Dim in_bool As Boolean
+        Dim in_sng As Single
+        Dim in_dbl As Double
+        Dim in_str As String
+        Dim in_chr As Char
+        Dim in_dt As Date
+#If Not STRICT Then
+        out_b = in_str
+        out_sb = in_str
+        out_us = in_str
+        out_s = in_str
+        out_ui = in_str
+        out_i = in_str
+        out_ul = in_str
+        out_l = in_str
+        out_dec = in_str
+        out_sng = in_str
+        out_dbl = in_str
+        out_dt = in_str
+
+        out_str = in_b
+        out_str = in_sb
+        out_str = in_us
+        out_str = in_s
+        out_str = in_ui
+        out_str = in_i
+        out_str = in_ul
+        out_str = in_l
+        out_str = in_dec
+        out_str = in_sng
+        out_str = in_dbl
+        out_str = in_dt
+#End If
+    End Sub
+End Class
+
+Class ArrayType1
+    Sub M()
+        Dim in_ia() As ia
+        Dim in_ic() As ic
+        Dim in_ca() As ca
+        Dim in_cb() As cb
+        Dim in_ia2(,) As ia
+        Dim in_ia_D7(7) As ia
+        Dim in_ia_R2()() As ia
+        Dim in_c_ia() As c_ia
+        Dim in_e_b() As e_b
+        Dim in_e_i() As e_i
+        Dim in_byte() As Byte
+        Dim in_integer() As Integer
+        Dim in_enum() As system.enum
+        Dim in_vt() As system.valuetype
+
+        Dim out_ia() As ia
+        Dim out_ic() As ic
+        Dim out_ca() As ca
+        Dim out_cb() As cb
+        Dim out_c_ia() As c_ia
+        Dim out_ia_D6(6) As ia
+        Dim out_e_b() As e_b
+        Dim out_e_i() As e_i
+        Dim out_byte() As Byte
+        Dim out_integer() As Integer
+        Dim out_enum() As system.enum
+        Dim out_vt() As system.valuetype
+        Dim out_obj() As Object
+        Dim out As system.array
+
+        out_ia = in_ia
+        out_ia = in_ic
+#If Not STRICT Then
+        out_ic = in_ia
+#End If
+
+        out_ia = in_c_ia
+        out_ca = in_cb
+
+        out_ia_D6 = in_ia_D7
+        out_e_b = in_e_b
+        out_byte = in_e_b
+        out_integer = in_e_i
+        out_enum = in_enum
+#If Not STRICT Then
+        out_e_i = in_integer
+#End If
+
+        out_obj = in_enum
+        out_obj = in_vt
+        out = in_enum
+        out = in_vt
+        out = in_integer
+        out = in_e_i
+    End Sub
+
+    Sub TG1(Of X As Structure)()
+        Dim in_a() As X
+        Dim in_b() As X
+        in_a = in_b
+    End Sub
+End Class
+
+Class ValueType1
+    Sub M()
+        Dim in_sa As sa
+        Dim in_sb As sb
+        Dim in_s_ic As s_ic
+        Dim in_ia As ia
+        Dim in_ic As ic
+        Dim in_id As id(Of Object)
+        Dim in_s_id As s_id(Of Object)
+        Dim in_s_id_byte As s_id(Of Byte)
+
+        Dim out_sa As sa
+        Dim out_sb As sb
+        Dim out_s_ic As s_ic
+        Dim out_ia As ia
+        Dim out_ic As ic
+        Dim out_vt As system.valuetype
+        Dim out As Object
+        Dim out_id As id(Of Object)
+        Dim out_id_str As id(Of String)
+
+        out_sa = in_sa
+        out_ia = in_s_ic
+        out_ic = in_s_ic
+        out_vt = in_sa
+        out_vt = in_s_ic
+        out = in_sa
+        out_id = in_s_id
+#If Not STRICT Then
+        out_s_ic = in_ic
+#End If
+    End Sub
+End Class
+
+Class String1
+    Sub M()
+        Dim c As Char
+        Dim s As String
+        Dim c_arr() As Char
+
+        s = c
+        s = c_arr
+#If Not STRICT Then
+        c = s
+        c_arr = s
+#End If
+    End Sub
+End Class
+
+Class Nullable1
+    Sub M()
+        Dim in_i_n As Integer?
+        Dim in_i As Integer
+        Dim in_s As Short
+        Dim in_s_n As Short?
+        Dim in_s_ic_n As s_ic?
+        Dim in_s_id_n As s_id(Of String)?
+
+        Dim out_i_n As Integer?
+        Dim out_i As Integer
+        Dim out_s_n As Short?
+        Dim out_s As Short
+        Dim out_ic As ic
+        Dim out_ib As ib
+        Dim out_id As id(Of String)
+
+        out_i_n = in_i
+        out_i_n = in_s
+        out_s_n = in_s_n
+        out_ic = in_s_ic_n
+        out_ib = in_s_ic_n
+        out_id = in_s_id_n
+
+#If Not STRICT Then
+        out_i = in_i_n
+        out_s_n = in_i_n
+        out_s_n = in_i
+        out_s = in_i_n
+#End If
+        out_ic = in_s_ic_n
+    End Sub
+End Class
+
+Class GenericType1A(Of C)
+    Shared Sub GenericMethodTypeArgument(Of M)(ByVal a As C, ByVal b As M)
+        Dim o As Object
+        Dim l As Long
+
+        o = a
+        o = b
+#If Not STRICT Then
+        a = o
+        b = o
+#End If
+        l = CLng(CObj(a))
+        l = CLng(CObj(b))
+    End Sub
+End Class
+Class GenericType1B(Of C As Structure)
+    Shared Sub GenericMethodTypeArgument(Of M As Structure)(ByVal a As C, ByVal b As M)
+        Dim o As Object
+
+        o = a
+        o = b
+#If Not STRICT Then
+        a = o
+        b = o
+#End If
+    End Sub
+End Class
+Class GenericType1C(Of C As Class)
+    Shared Sub GenericMethodTypeArgument(Of M As Class)(ByVal a As C, ByVal b As M)
+        Dim o As Object
+
+        o = a
+        o = b
+    End Sub
+End Class
+Class GenericType1D(Of C As New)
+    Shared Sub GenericMethodTypeArgument(Of M)(ByVal a As C, ByVal b As M)
+        Dim o As Object
+
+        o = a
+        o = b
+    End Sub
+End Class
+
+Class GenericType2A(Of C As IA)
+    Shared Sub GenericMethodTypeArgument(Of M As IA)(ByVal a As C, ByVal b As M)
+        Dim o As IA
+        Dim o2 As IB
+
+        o = a
+        o = b
+#If Not STRICT Then
+        a = o
+        b = o
+        a = o2
+        b = o2
+#End If
+    End Sub
+End Class
+
+Class GenericType2B(Of C As IC)
+    Shared Sub GenericMethodTypeArgument(Of M As IC)(ByVal a As C, ByVal b As M)
+        Dim o As IA
+        Dim o2 As IB
+        Dim o3 As IC
+
+        o = a
+        o = b
+#If Not STRICT Then
+        o2 = a
+        o2 = b
+        o3 = a
+        o3 = b
+#End If
+    End Sub
+End Class
+
+Class GenericType3A(Of C As C_IA)
+    Shared Sub GenericMethodTypeArgument(Of M As C_IA)(ByVal a As C, ByVal b As M)
+        Dim o As IA
+        Dim o2 As C_IA_D
+        o = a
+        o = b
+    End Sub
+End Class
+
+Class GenericType4A(Of C As C_IA)
+    Shared Sub GenericMethodTypeArgument(Of M As C_IA)(ByVal a As C, ByVal b As M)
+        Dim enumerableC As system.collections.generic.ienumerable(Of C)
+        Dim arrC() As C
+        Dim enumerableA As system.collections.generic.ienumerable(Of M)
+        Dim arrA() As M
+
+        enumerableC = arrC
+        enumerableA = arrA
+    End Sub
+End Class
+
+Class GenericType5A(Of C As C_IA)
+    Shared Sub GenericMethodTypeArgument(Of M As C_IA)(ByVal a As C, ByVal b As M)
+        S(a)
+        s(b)
+    End Sub
+    Shared Sub S(ByVal v As IA)
+
+    End Sub
+End Class
+
+Interface IA
+
+End Interface
+Interface IB
+
+End Interface
+Interface IC
+    Inherits IA, IB
+End Interface
+Interface ID(Of T)
+
+End Interface
+
+Delegate Sub DA()
+
+Class CA
+End Class
+
+Class CB
+    Inherits CA
+End Class
+
+Class C_IA
+    Implements IA
+End Class
+Class C_IA_D
+    Inherits C_IA
+End Class
+Class C_IB
+    Implements IB
+End Class
+Class C_IC
+    Implements IC
+End Class
+
+Enum E_B As Byte
+    a
+End Enum
+Enum E_I As Integer
+    a
+End Enum
+
+Structure SA
+    Dim v As Integer
+End Structure
+Structure SB
+    Dim v As Integer
+End Structure
+Structure S_IC
+    Implements IC
+    Dim v As Integer
+End Structure
+Structure S_ID(Of T)
+    Implements ID(Of T)
+    Dim v As Integer
+End Structure
diff --git a/vbnc/vbnc/tests/CompileTime2/TypeConversionIntrinsic.vb b/vbnc/vbnc/tests/CompileTime2/TypeConversionIntrinsic.vb
new file mode 100644
index 0000000..3a3f7a0
--- /dev/null
+++ b/vbnc/vbnc/tests/CompileTime2/TypeConversionIntrinsic.vb
@@ -0,0 +1,2 @@
+Class TypeConversionIntrinsic
+End Class
diff --git a/vbnc/vbnc/tests/CompileTime2/TypeConversionIntrinsicBoolean.vb b/vbnc/vbnc/tests/CompileTime2/TypeConversionIntrinsicBoolean.vb
new file mode 100644
index 0000000..0e23826
--- /dev/null
+++ b/vbnc/vbnc/tests/CompileTime2/TypeConversionIntrinsicBoolean.vb
@@ -0,0 +1,210 @@
+Class TypeConversionIntrinsic
+    Sub LocalVariables
+        Dim  i_bool As Boolean,  i_byte As Byte,  i_sbyte As SByte,  i_short As Short,  i_ushort As UShort,  i_int As Integer,  i_uint as UInteger,  i_long As Long,  i_ulong As ULong,  i_dec As Decimal,  i_sng As Single, i_dbl As Double,  i_chr As Char,  i_str As String,  i_dt As Date,  i_dbnull As DBNull,  i_obj As Object
+        Dim  o_bool As Boolean,  o_byte As Byte,  o_sbyte As SByte,  o_short As Short,  o_ushort As UShort,  o_int As Integer,  o_uint as UInteger,  o_long As Long,  o_ulong As ULong,  o_dec As Decimal,  o_sng As Single, o_dbl As Double,  o_chr As Char,  o_str As String,  o_dt As Date,  o_dbnull As DBNull,  o_obj As Object
+        i_bool = o_bool
+#If Not STRICT Or ERRORS
+        i_bool = o_byte
+#End If
+#If Not STRICT Or ERRORS
+        i_bool = o_sbyte
+#End If
+#If Not STRICT Or ERRORS
+        i_bool = o_short
+#End If
+#If Not STRICT Or ERRORS
+        i_bool = o_ushort
+#End If
+#If Not STRICT Or ERRORS
+        i_bool = o_int
+#End If
+#If Not STRICT Or ERRORS
+        i_bool = o_uint
+#End If
+#If Not STRICT Or ERRORS
+        i_bool = o_long
+#End If
+#If Not STRICT Or ERRORS
+        i_bool = o_ulong
+#End If
+#If Not STRICT Or ERRORS
+        i_bool = o_dec
+#End If
+#If Not STRICT Or ERRORS
+        i_bool = o_sng
+#End If
+#If Not STRICT Or ERRORS
+        i_bool = o_dbl
+#End If
+#If ERRORS
+        i_bool = o_chr
+#End If
+#If Not STRICT Or ERRORS
+        i_bool = o_str
+#End If
+#If ERRORS
+        i_bool = o_dt
+#End If
+#If ERRORS
+        i_bool = o_dbnull
+#End If
+#If Not STRICT Or ERRORS
+        i_bool = o_obj
+#End If
+    End Sub
+    Sub InLocalOutRef(ByRef o_bool As Boolean, ByRef o_byte As Byte, ByRef o_sbyte As SByte, ByRef o_short As Short, ByRef o_ushort As UShort, ByRef o_int As Integer, ByRef o_uint as UInteger, ByRef o_long As Long, ByRef o_ulong As ULong, ByRef o_dec As Decimal, ByRef o_sng As Single,ByRef o_dbl As Double, ByRef o_chr As Char, ByRef o_str As String, ByRef o_dt As Date, ByRef o_dbnull As DBNull, ByRef o_obj As Object)
+        Dim  i_bool As Boolean,  i_byte As Byte,  i_sbyte As SByte,  i_short As Short,  i_ushort As UShort,  i_int As Integer,  i_uint as UInteger,  i_long As Long,  i_ulong As ULong,  i_dec As Decimal,  i_sng As Single, i_dbl As Double,  i_chr As Char,  i_str As String,  i_dt As Date,  i_dbnull As DBNull,  i_obj As Object
+        i_bool = o_bool
+#If Not STRICT Or ERRORS
+        i_bool = o_byte
+#End If
+#If Not STRICT Or ERRORS
+        i_bool = o_sbyte
+#End If
+#If Not STRICT Or ERRORS
+        i_bool = o_short
+#End If
+#If Not STRICT Or ERRORS
+        i_bool = o_ushort
+#End If
+#If Not STRICT Or ERRORS
+        i_bool = o_int
+#End If
+#If Not STRICT Or ERRORS
+        i_bool = o_uint
+#End If
+#If Not STRICT Or ERRORS
+        i_bool = o_long
+#End If
+#If Not STRICT Or ERRORS
+        i_bool = o_ulong
+#End If
+#If Not STRICT Or ERRORS
+        i_bool = o_dec
+#End If
+#If Not STRICT Or ERRORS
+        i_bool = o_sng
+#End If
+#If Not STRICT Or ERRORS
+        i_bool = o_dbl
+#End If
+#If ERRORS
+        i_bool = o_chr
+#End If
+#If Not STRICT Or ERRORS
+        i_bool = o_str
+#End If
+#If ERRORS
+        i_bool = o_dt
+#End If
+#If ERRORS
+        i_bool = o_dbnull
+#End If
+#If Not STRICT Or ERRORS
+        i_bool = o_obj
+#End If
+    End Sub
+    Sub InRefOutLocal(ByRef i_bool As Boolean, ByRef i_byte As Byte, ByRef i_sbyte As SByte, ByRef i_short As Short, ByRef i_ushort As UShort, ByRef i_int As Integer, ByRef i_uint as UInteger, ByRef i_long As Long, ByRef i_ulong As ULong, ByRef i_dec As Decimal, ByRef i_sng As Single,ByRef i_dbl As Double, ByRef i_chr As Char, ByRef i_str As String, ByRef i_dt As Date, ByRef i_dbnull As DBNull, ByRef i_obj As Object)
+        Dim  o_bool As Boolean,  o_byte As Byte,  o_sbyte As SByte,  o_short As Short,  o_ushort As UShort,  o_int As Integer,  o_uint as UInteger,  o_long As Long,  o_ulong As ULong,  o_dec As Decimal,  o_sng As Single, o_dbl As Double,  o_chr As Char,  o_str As String,  o_dt As Date,  o_dbnull As DBNull,  o_obj As Object
+        i_bool = o_bool
+#If Not STRICT Or ERRORS
+        i_bool = o_byte
+#End If
+#If Not STRICT Or ERRORS
+        i_bool = o_sbyte
+#End If
+#If Not STRICT Or ERRORS
+        i_bool = o_short
+#End If
+#If Not STRICT Or ERRORS
+        i_bool = o_ushort
+#End If
+#If Not STRICT Or ERRORS
+        i_bool = o_int
+#End If
+#If Not STRICT Or ERRORS
+        i_bool = o_uint
+#End If
+#If Not STRICT Or ERRORS
+        i_bool = o_long
+#End If
+#If Not STRICT Or ERRORS
+        i_bool = o_ulong
+#End If
+#If Not STRICT Or ERRORS
+        i_bool = o_dec
+#End If
+#If Not STRICT Or ERRORS
+        i_bool = o_sng
+#End If
+#If Not STRICT Or ERRORS
+        i_bool = o_dbl
+#End If
+#If ERRORS
+        i_bool = o_chr
+#End If
+#If Not STRICT Or ERRORS
+        i_bool = o_str
+#End If
+#If ERRORS
+        i_bool = o_dt
+#End If
+#If ERRORS
+        i_bool = o_dbnull
+#End If
+#If Not STRICT Or ERRORS
+        i_bool = o_obj
+#End If
+    End Sub
+    Sub InRefOutRef(ByRef i_bool As Boolean, ByRef i_byte As Byte, ByRef i_sbyte As SByte, ByRef i_short As Short, ByRef i_ushort As UShort, ByRef i_int As Integer, ByRef i_uint as UInteger, ByRef i_long As Long, ByRef i_ulong As ULong, ByRef i_dec As Decimal, ByRef i_sng As Single,ByRef i_dbl As Double, ByRef i_chr As Char, ByRef i_str As String, ByRef i_dt As Date, ByRef i_dbnull As DBNull, ByRef i_obj As Object, ByRef o_bool As Boolean, ByRef o_byte As Byte, ByRef o_sbyte As SByte, ByRef o_short As Short, ByRef o_ushort As UShort, ByRef o_int As Integer, ByRef o_uint as UInteger, ByRef o_long As Long, ByRef o_ulong As ULong, ByRef o_dec As Decimal, ByRef o_sng As Single,ByRef o_dbl As Double, ByRef o_chr As Char, ByRef o_str As String, ByRef o_dt As Date, ByRef o_dbnull As DBNull, ByRef o_obj As Object)
+        i_bool = o_bool
+#If Not STRICT Or ERRORS
+        i_bool = o_byte
+#End If
+#If Not STRICT Or ERRORS
+        i_bool = o_sbyte
+#End If
+#If Not STRICT Or ERRORS
+        i_bool = o_short
+#End If
+#If Not STRICT Or ERRORS
+        i_bool = o_ushort
+#End If
+#If Not STRICT Or ERRORS
+        i_bool = o_int
+#End If
+#If Not STRICT Or ERRORS
+        i_bool = o_uint
+#End If
+#If Not STRICT Or ERRORS
+        i_bool = o_long
+#End If
+#If Not STRICT Or ERRORS
+        i_bool = o_ulong
+#End If
+#If Not STRICT Or ERRORS
+        i_bool = o_dec
+#End If
+#If Not STRICT Or ERRORS
+        i_bool = o_sng
+#End If
+#If Not STRICT Or ERRORS
+        i_bool = o_dbl
+#End If
+#If ERRORS
+        i_bool = o_chr
+#End If
+#If Not STRICT Or ERRORS
+        i_bool = o_str
+#End If
+#If ERRORS
+        i_bool = o_dt
+#End If
+#If ERRORS
+        i_bool = o_dbnull
+#End If
+#If Not STRICT Or ERRORS
+        i_bool = o_obj
+#End If
+    End Sub
+End Class
diff --git a/vbnc/vbnc/tests/CompileTime2/TypeConversionIntrinsicByte.vb b/vbnc/vbnc/tests/CompileTime2/TypeConversionIntrinsicByte.vb
new file mode 100644
index 0000000..e8b01c3
--- /dev/null
+++ b/vbnc/vbnc/tests/CompileTime2/TypeConversionIntrinsicByte.vb
@@ -0,0 +1,210 @@
+Class TypeConversionIntrinsic
+    Sub LocalVariables
+        Dim  i_bool As Boolean,  i_byte As Byte,  i_sbyte As SByte,  i_short As Short,  i_ushort As UShort,  i_int As Integer,  i_uint as UInteger,  i_long As Long,  i_ulong As ULong,  i_dec As Decimal,  i_sng As Single, i_dbl As Double,  i_chr As Char,  i_str As String,  i_dt As Date,  i_dbnull As DBNull,  i_obj As Object
+        Dim  o_bool As Boolean,  o_byte As Byte,  o_sbyte As SByte,  o_short As Short,  o_ushort As UShort,  o_int As Integer,  o_uint as UInteger,  o_long As Long,  o_ulong As ULong,  o_dec As Decimal,  o_sng As Single, o_dbl As Double,  o_chr As Char,  o_str As String,  o_dt As Date,  o_dbnull As DBNull,  o_obj As Object
+#If Not STRICT Or ERRORS
+        i_byte = o_bool
+#End If
+        i_byte = o_byte
+#If Not STRICT Or ERRORS
+        i_byte = o_sbyte
+#End If
+#If Not STRICT Or ERRORS
+        i_byte = o_short
+#End If
+#If Not STRICT Or ERRORS
+        i_byte = o_ushort
+#End If
+#If Not STRICT Or ERRORS
+        i_byte = o_int
+#End If
+#If Not STRICT Or ERRORS
+        i_byte = o_uint
+#End If
+#If Not STRICT Or ERRORS
+        i_byte = o_long
+#End If
+#If Not STRICT Or ERRORS
+        i_byte = o_ulong
+#End If
+#If Not STRICT Or ERRORS
+        i_byte = o_dec
+#End If
+#If Not STRICT Or ERRORS
+        i_byte = o_sng
+#End If
+#If Not STRICT Or ERRORS
+        i_byte = o_dbl
+#End If
+#If ERRORS
+        i_byte = o_chr
+#End If
+#If Not STRICT Or ERRORS
+        i_byte = o_str
+#End If
+#If ERRORS
+        i_byte = o_dt
+#End If
+#If ERRORS
+        i_byte = o_dbnull
+#End If
+#If Not STRICT Or ERRORS
+        i_byte = o_obj
+#End If
+    End Sub
+    Sub InLocalOutRef(ByRef o_bool As Boolean, ByRef o_byte As Byte, ByRef o_sbyte As SByte, ByRef o_short As Short, ByRef o_ushort As UShort, ByRef o_int As Integer, ByRef o_uint as UInteger, ByRef o_long As Long, ByRef o_ulong As ULong, ByRef o_dec As Decimal, ByRef o_sng As Single,ByRef o_dbl As Double, ByRef o_chr As Char, ByRef o_str As String, ByRef o_dt As Date, ByRef o_dbnull As DBNull, ByRef o_obj As Object)
+        Dim  i_bool As Boolean,  i_byte As Byte,  i_sbyte As SByte,  i_short As Short,  i_ushort As UShort,  i_int As Integer,  i_uint as UInteger,  i_long As Long,  i_ulong As ULong,  i_dec As Decimal,  i_sng As Single, i_dbl As Double,  i_chr As Char,  i_str As String,  i_dt As Date,  i_dbnull As DBNull,  i_obj As Object
+#If Not STRICT Or ERRORS
+        i_byte = o_bool
+#End If
+        i_byte = o_byte
+#If Not STRICT Or ERRORS
+        i_byte = o_sbyte
+#End If
+#If Not STRICT Or ERRORS
+        i_byte = o_short
+#End If
+#If Not STRICT Or ERRORS
+        i_byte = o_ushort
+#End If
+#If Not STRICT Or ERRORS
+        i_byte = o_int
+#End If
+#If Not STRICT Or ERRORS
+        i_byte = o_uint
+#End If
+#If Not STRICT Or ERRORS
+        i_byte = o_long
+#End If
+#If Not STRICT Or ERRORS
+        i_byte = o_ulong
+#End If
+#If Not STRICT Or ERRORS
+        i_byte = o_dec
+#End If
+#If Not STRICT Or ERRORS
+        i_byte = o_sng
+#End If
+#If Not STRICT Or ERRORS
+        i_byte = o_dbl
+#End If
+#If ERRORS
+        i_byte = o_chr
+#End If
+#If Not STRICT Or ERRORS
+        i_byte = o_str
+#End If
+#If ERRORS
+        i_byte = o_dt
+#End If
+#If ERRORS
+        i_byte = o_dbnull
+#End If
+#If Not STRICT Or ERRORS
+        i_byte = o_obj
+#End If
+    End Sub
+    Sub InRefOutLocal(ByRef i_bool As Boolean, ByRef i_byte As Byte, ByRef i_sbyte As SByte, ByRef i_short As Short, ByRef i_ushort As UShort, ByRef i_int As Integer, ByRef i_uint as UInteger, ByRef i_long As Long, ByRef i_ulong As ULong, ByRef i_dec As Decimal, ByRef i_sng As Single,ByRef i_dbl As Double, ByRef i_chr As Char, ByRef i_str As String, ByRef i_dt As Date, ByRef i_dbnull As DBNull, ByRef i_obj As Object)
+        Dim  o_bool As Boolean,  o_byte As Byte,  o_sbyte As SByte,  o_short As Short,  o_ushort As UShort,  o_int As Integer,  o_uint as UInteger,  o_long As Long,  o_ulong As ULong,  o_dec As Decimal,  o_sng As Single, o_dbl As Double,  o_chr As Char,  o_str As String,  o_dt As Date,  o_dbnull As DBNull,  o_obj As Object
+#If Not STRICT Or ERRORS
+        i_byte = o_bool
+#End If
+        i_byte = o_byte
+#If Not STRICT Or ERRORS
+        i_byte = o_sbyte
+#End If
+#If Not STRICT Or ERRORS
+        i_byte = o_short
+#End If
+#If Not STRICT Or ERRORS
+        i_byte = o_ushort
+#End If
+#If Not STRICT Or ERRORS
+        i_byte = o_int
+#End If
+#If Not STRICT Or ERRORS
+        i_byte = o_uint
+#End If
+#If Not STRICT Or ERRORS
+        i_byte = o_long
+#End If
+#If Not STRICT Or ERRORS
+        i_byte = o_ulong
+#End If
+#If Not STRICT Or ERRORS
+        i_byte = o_dec
+#End If
+#If Not STRICT Or ERRORS
+        i_byte = o_sng
+#End If
+#If Not STRICT Or ERRORS
+        i_byte = o_dbl
+#End If
+#If ERRORS
+        i_byte = o_chr
+#End If
+#If Not STRICT Or ERRORS
+        i_byte = o_str
+#End If
+#If ERRORS
+        i_byte = o_dt
+#End If
+#If ERRORS
+        i_byte = o_dbnull
+#End If
+#If Not STRICT Or ERRORS
+        i_byte = o_obj
+#End If
+    End Sub
+    Sub InRefOutRef(ByRef i_bool As Boolean, ByRef i_byte As Byte, ByRef i_sbyte As SByte, ByRef i_short As Short, ByRef i_ushort As UShort, ByRef i_int As Integer, ByRef i_uint as UInteger, ByRef i_long As Long, ByRef i_ulong As ULong, ByRef i_dec As Decimal, ByRef i_sng As Single,ByRef i_dbl As Double, ByRef i_chr As Char, ByRef i_str As String, ByRef i_dt As Date, ByRef i_dbnull As DBNull, ByRef i_obj As Object, ByRef o_bool As Boolean, ByRef o_byte As Byte, ByRef o_sbyte As SByte, ByRef o_short As Short, ByRef o_ushort As UShort, ByRef o_int As Integer, ByRef o_uint as UInteger, ByRef o_long As Long, ByRef o_ulong As ULong, ByRef o_dec As Decimal, ByRef o_sng As Single,ByRef o_dbl As Double, ByRef o_chr As Char, ByRef o_str As String, ByRef o_dt As Date, ByRef o_dbnull As DBNull, ByRef o_obj As Object)
+#If Not STRICT Or ERRORS
+        i_byte = o_bool
+#End If
+        i_byte = o_byte
+#If Not STRICT Or ERRORS
+        i_byte = o_sbyte
+#End If
+#If Not STRICT Or ERRORS
+        i_byte = o_short
+#End If
+#If Not STRICT Or ERRORS
+        i_byte = o_ushort
+#End If
+#If Not STRICT Or ERRORS
+        i_byte = o_int
+#End If
+#If Not STRICT Or ERRORS
+        i_byte = o_uint
+#End If
+#If Not STRICT Or ERRORS
+        i_byte = o_long
+#End If
+#If Not STRICT Or ERRORS
+        i_byte = o_ulong
+#End If
+#If Not STRICT Or ERRORS
+        i_byte = o_dec
+#End If
+#If Not STRICT Or ERRORS
+        i_byte = o_sng
+#End If
+#If Not STRICT Or ERRORS
+        i_byte = o_dbl
+#End If
+#If ERRORS
+        i_byte = o_chr
+#End If
+#If Not STRICT Or ERRORS
+        i_byte = o_str
+#End If
+#If ERRORS
+        i_byte = o_dt
+#End If
+#If ERRORS
+        i_byte = o_dbnull
+#End If
+#If Not STRICT Or ERRORS
+        i_byte = o_obj
+#End If
+    End Sub
+End Class
diff --git a/vbnc/vbnc/tests/CompileTime2/TypeConversionIntrinsicChar.vb b/vbnc/vbnc/tests/CompileTime2/TypeConversionIntrinsicChar.vb
new file mode 100644
index 0000000..4c21cf9
--- /dev/null
+++ b/vbnc/vbnc/tests/CompileTime2/TypeConversionIntrinsicChar.vb
@@ -0,0 +1,210 @@
+Class TypeConversionIntrinsic
+    Sub LocalVariables
+        Dim  i_bool As Boolean,  i_byte As Byte,  i_sbyte As SByte,  i_short As Short,  i_ushort As UShort,  i_int As Integer,  i_uint as UInteger,  i_long As Long,  i_ulong As ULong,  i_dec As Decimal,  i_sng As Single, i_dbl As Double,  i_chr As Char,  i_str As String,  i_dt As Date,  i_dbnull As DBNull,  i_obj As Object
+        Dim  o_bool As Boolean,  o_byte As Byte,  o_sbyte As SByte,  o_short As Short,  o_ushort As UShort,  o_int As Integer,  o_uint as UInteger,  o_long As Long,  o_ulong As ULong,  o_dec As Decimal,  o_sng As Single, o_dbl As Double,  o_chr As Char,  o_str As String,  o_dt As Date,  o_dbnull As DBNull,  o_obj As Object
+#If ERRORS
+        i_chr = o_bool
+#End If
+#If ERRORS
+        i_chr = o_byte
+#End If
+#If ERRORS
+        i_chr = o_sbyte
+#End If
+#If ERRORS
+        i_chr = o_short
+#End If
+#If ERRORS
+        i_chr = o_ushort
+#End If
+#If ERRORS
+        i_chr = o_int
+#End If
+#If ERRORS
+        i_chr = o_uint
+#End If
+#If ERRORS
+        i_chr = o_long
+#End If
+#If ERRORS
+        i_chr = o_ulong
+#End If
+#If ERRORS
+        i_chr = o_dec
+#End If
+#If ERRORS
+        i_chr = o_sng
+#End If
+#If ERRORS
+        i_chr = o_dbl
+#End If
+        i_chr = o_chr
+#If Not STRICT Or ERRORS
+        i_chr = o_str
+#End If
+#If ERRORS
+        i_chr = o_dt
+#End If
+#If ERRORS
+        i_chr = o_dbnull
+#End If
+#If Not STRICT Or ERRORS
+        i_chr = o_obj
+#End If
+    End Sub
+    Sub InLocalOutRef(ByRef o_bool As Boolean, ByRef o_byte As Byte, ByRef o_sbyte As SByte, ByRef o_short As Short, ByRef o_ushort As UShort, ByRef o_int As Integer, ByRef o_uint as UInteger, ByRef o_long As Long, ByRef o_ulong As ULong, ByRef o_dec As Decimal, ByRef o_sng As Single,ByRef o_dbl As Double, ByRef o_chr As Char, ByRef o_str As String, ByRef o_dt As Date, ByRef o_dbnull As DBNull, ByRef o_obj As Object)
+        Dim  i_bool As Boolean,  i_byte As Byte,  i_sbyte As SByte,  i_short As Short,  i_ushort As UShort,  i_int As Integer,  i_uint as UInteger,  i_long As Long,  i_ulong As ULong,  i_dec As Decimal,  i_sng As Single, i_dbl As Double,  i_chr As Char,  i_str As String,  i_dt As Date,  i_dbnull As DBNull,  i_obj As Object
+#If ERRORS
+        i_chr = o_bool
+#End If
+#If ERRORS
+        i_chr = o_byte
+#End If
+#If ERRORS
+        i_chr = o_sbyte
+#End If
+#If ERRORS
+        i_chr = o_short
+#End If
+#If ERRORS
+        i_chr = o_ushort
+#End If
+#If ERRORS
+        i_chr = o_int
+#End If
+#If ERRORS
+        i_chr = o_uint
+#End If
+#If ERRORS
+        i_chr = o_long
+#End If
+#If ERRORS
+        i_chr = o_ulong
+#End If
+#If ERRORS
+        i_chr = o_dec
+#End If
+#If ERRORS
+        i_chr = o_sng
+#End If
+#If ERRORS
+        i_chr = o_dbl
+#End If
+        i_chr = o_chr
+#If Not STRICT Or ERRORS
+        i_chr = o_str
+#End If
+#If ERRORS
+        i_chr = o_dt
+#End If
+#If ERRORS
+        i_chr = o_dbnull
+#End If
+#If Not STRICT Or ERRORS
+        i_chr = o_obj
+#End If
+    End Sub
+    Sub InRefOutLocal(ByRef i_bool As Boolean, ByRef i_byte As Byte, ByRef i_sbyte As SByte, ByRef i_short As Short, ByRef i_ushort As UShort, ByRef i_int As Integer, ByRef i_uint as UInteger, ByRef i_long As Long, ByRef i_ulong As ULong, ByRef i_dec As Decimal, ByRef i_sng As Single,ByRef i_dbl As Double, ByRef i_chr As Char, ByRef i_str As String, ByRef i_dt As Date, ByRef i_dbnull As DBNull, ByRef i_obj As Object)
+        Dim  o_bool As Boolean,  o_byte As Byte,  o_sbyte As SByte,  o_short As Short,  o_ushort As UShort,  o_int As Integer,  o_uint as UInteger,  o_long As Long,  o_ulong As ULong,  o_dec As Decimal,  o_sng As Single, o_dbl As Double,  o_chr As Char,  o_str As String,  o_dt As Date,  o_dbnull As DBNull,  o_obj As Object
+#If ERRORS
+        i_chr = o_bool
+#End If
+#If ERRORS
+        i_chr = o_byte
+#End If
+#If ERRORS
+        i_chr = o_sbyte
+#End If
+#If ERRORS
+        i_chr = o_short
+#End If
+#If ERRORS
+        i_chr = o_ushort
+#End If
+#If ERRORS
+        i_chr = o_int
+#End If
+#If ERRORS
+        i_chr = o_uint
+#End If
+#If ERRORS
+        i_chr = o_long
+#End If
+#If ERRORS
+        i_chr = o_ulong
+#End If
+#If ERRORS
+        i_chr = o_dec
+#End If
+#If ERRORS
+        i_chr = o_sng
+#End If
+#If ERRORS
+        i_chr = o_dbl
+#End If
+        i_chr = o_chr
+#If Not STRICT Or ERRORS
+        i_chr = o_str
+#End If
+#If ERRORS
+        i_chr = o_dt
+#End If
+#If ERRORS
+        i_chr = o_dbnull
+#End If
+#If Not STRICT Or ERRORS
+        i_chr = o_obj
+#End If
+    End Sub
+    Sub InRefOutRef(ByRef i_bool As Boolean, ByRef i_byte As Byte, ByRef i_sbyte As SByte, ByRef i_short As Short, ByRef i_ushort As UShort, ByRef i_int As Integer, ByRef i_uint as UInteger, ByRef i_long As Long, ByRef i_ulong As ULong, ByRef i_dec As Decimal, ByRef i_sng As Single,ByRef i_dbl As Double, ByRef i_chr As Char, ByRef i_str As String, ByRef i_dt As Date, ByRef i_dbnull As DBNull, ByRef i_obj As Object, ByRef o_bool As Boolean, ByRef o_byte As Byte, ByRef o_sbyte As SByte, ByRef o_short As Short, ByRef o_ushort As UShort, ByRef o_int As Integer, ByRef o_uint as UInteger, ByRef o_long As Long, ByRef o_ulong As ULong, ByRef o_dec As Decimal, ByRef o_sng As Single,ByRef o_dbl As Double, ByRef o_chr As Char, ByRef o_str As String, ByRef o_dt As Date, ByRef o_dbnull As DBNull, ByRef o_obj As Object)
+#If ERRORS
+        i_chr = o_bool
+#End If
+#If ERRORS
+        i_chr = o_byte
+#End If
+#If ERRORS
+        i_chr = o_sbyte
+#End If
+#If ERRORS
+        i_chr = o_short
+#End If
+#If ERRORS
+        i_chr = o_ushort
+#End If
+#If ERRORS
+        i_chr = o_int
+#End If
+#If ERRORS
+        i_chr = o_uint
+#End If
+#If ERRORS
+        i_chr = o_long
+#End If
+#If ERRORS
+        i_chr = o_ulong
+#End If
+#If ERRORS
+        i_chr = o_dec
+#End If
+#If ERRORS
+        i_chr = o_sng
+#End If
+#If ERRORS
+        i_chr = o_dbl
+#End If
+        i_chr = o_chr
+#If Not STRICT Or ERRORS
+        i_chr = o_str
+#End If
+#If ERRORS
+        i_chr = o_dt
+#End If
+#If ERRORS
+        i_chr = o_dbnull
+#End If
+#If Not STRICT Or ERRORS
+        i_chr = o_obj
+#End If
+    End Sub
+End Class
diff --git a/vbnc/vbnc/tests/CompileTime2/TypeConversionIntrinsicDBNull.vb b/vbnc/vbnc/tests/CompileTime2/TypeConversionIntrinsicDBNull.vb
new file mode 100644
index 0000000..7595f2c
--- /dev/null
+++ b/vbnc/vbnc/tests/CompileTime2/TypeConversionIntrinsicDBNull.vb
@@ -0,0 +1,218 @@
+Class TypeConversionIntrinsic
+    Sub LocalVariables
+        Dim  i_bool As Boolean,  i_byte As Byte,  i_sbyte As SByte,  i_short As Short,  i_ushort As UShort,  i_int As Integer,  i_uint as UInteger,  i_long As Long,  i_ulong As ULong,  i_dec As Decimal,  i_sng As Single, i_dbl As Double,  i_chr As Char,  i_str As String,  i_dt As Date,  i_dbnull As DBNull,  i_obj As Object
+        Dim  o_bool As Boolean,  o_byte As Byte,  o_sbyte As SByte,  o_short As Short,  o_ushort As UShort,  o_int As Integer,  o_uint as UInteger,  o_long As Long,  o_ulong As ULong,  o_dec As Decimal,  o_sng As Single, o_dbl As Double,  o_chr As Char,  o_str As String,  o_dt As Date,  o_dbnull As DBNull,  o_obj As Object
+#If ERRORS
+        i_dbnull = o_bool
+#End If
+#If ERRORS
+        i_dbnull = o_byte
+#End If
+#If ERRORS
+        i_dbnull = o_sbyte
+#End If
+#If ERRORS
+        i_dbnull = o_short
+#End If
+#If ERRORS
+        i_dbnull = o_ushort
+#End If
+#If ERRORS
+        i_dbnull = o_int
+#End If
+#If ERRORS
+        i_dbnull = o_uint
+#End If
+#If ERRORS
+        i_dbnull = o_long
+#End If
+#If ERRORS
+        i_dbnull = o_ulong
+#End If
+#If ERRORS
+        i_dbnull = o_dec
+#End If
+#If ERRORS
+        i_dbnull = o_sng
+#End If
+#If ERRORS
+        i_dbnull = o_dbl
+#End If
+#If ERRORS
+        i_dbnull = o_chr
+#End If
+#If ERRORS
+        i_dbnull = o_str
+#End If
+#If ERRORS
+        i_dbnull = o_dt
+#End If
+#If ERRORS
+        i_dbnull = o_dbnull
+#End If
+#If ERRORS
+        i_dbnull = o_obj
+#End If
+    End Sub
+    Sub InLocalOutRef(ByRef o_bool As Boolean, ByRef o_byte As Byte, ByRef o_sbyte As SByte, ByRef o_short As Short, ByRef o_ushort As UShort, ByRef o_int As Integer, ByRef o_uint as UInteger, ByRef o_long As Long, ByRef o_ulong As ULong, ByRef o_dec As Decimal, ByRef o_sng As Single,ByRef o_dbl As Double, ByRef o_chr As Char, ByRef o_str As String, ByRef o_dt As Date, ByRef o_dbnull As DBNull, ByRef o_obj As Object)
+        Dim  i_bool As Boolean,  i_byte As Byte,  i_sbyte As SByte,  i_short As Short,  i_ushort As UShort,  i_int As Integer,  i_uint as UInteger,  i_long As Long,  i_ulong As ULong,  i_dec As Decimal,  i_sng As Single, i_dbl As Double,  i_chr As Char,  i_str As String,  i_dt As Date,  i_dbnull As DBNull,  i_obj As Object
+#If ERRORS
+        i_dbnull = o_bool
+#End If
+#If ERRORS
+        i_dbnull = o_byte
+#End If
+#If ERRORS
+        i_dbnull = o_sbyte
+#End If
+#If ERRORS
+        i_dbnull = o_short
+#End If
+#If ERRORS
+        i_dbnull = o_ushort
+#End If
+#If ERRORS
+        i_dbnull = o_int
+#End If
+#If ERRORS
+        i_dbnull = o_uint
+#End If
+#If ERRORS
+        i_dbnull = o_long
+#End If
+#If ERRORS
+        i_dbnull = o_ulong
+#End If
+#If ERRORS
+        i_dbnull = o_dec
+#End If
+#If ERRORS
+        i_dbnull = o_sng
+#End If
+#If ERRORS
+        i_dbnull = o_dbl
+#End If
+#If ERRORS
+        i_dbnull = o_chr
+#End If
+#If ERRORS
+        i_dbnull = o_str
+#End If
+#If ERRORS
+        i_dbnull = o_dt
+#End If
+#If ERRORS
+        i_dbnull = o_dbnull
+#End If
+#If ERRORS
+        i_dbnull = o_obj
+#End If
+    End Sub
+    Sub InRefOutLocal(ByRef i_bool As Boolean, ByRef i_byte As Byte, ByRef i_sbyte As SByte, ByRef i_short As Short, ByRef i_ushort As UShort, ByRef i_int As Integer, ByRef i_uint as UInteger, ByRef i_long As Long, ByRef i_ulong As ULong, ByRef i_dec As Decimal, ByRef i_sng As Single,ByRef i_dbl As Double, ByRef i_chr As Char, ByRef i_str As String, ByRef i_dt As Date, ByRef i_dbnull As DBNull, ByRef i_obj As Object)
+        Dim  o_bool As Boolean,  o_byte As Byte,  o_sbyte As SByte,  o_short As Short,  o_ushort As UShort,  o_int As Integer,  o_uint as UInteger,  o_long As Long,  o_ulong As ULong,  o_dec As Decimal,  o_sng As Single, o_dbl As Double,  o_chr As Char,  o_str As String,  o_dt As Date,  o_dbnull As DBNull,  o_obj As Object
+#If ERRORS
+        i_dbnull = o_bool
+#End If
+#If ERRORS
+        i_dbnull = o_byte
+#End If
+#If ERRORS
+        i_dbnull = o_sbyte
+#End If
+#If ERRORS
+        i_dbnull = o_short
+#End If
+#If ERRORS
+        i_dbnull = o_ushort
+#End If
+#If ERRORS
+        i_dbnull = o_int
+#End If
+#If ERRORS
+        i_dbnull = o_uint
+#End If
+#If ERRORS
+        i_dbnull = o_long
+#End If
+#If ERRORS
+        i_dbnull = o_ulong
+#End If
+#If ERRORS
+        i_dbnull = o_dec
+#End If
+#If ERRORS
+        i_dbnull = o_sng
+#End If
+#If ERRORS
+        i_dbnull = o_dbl
+#End If
+#If ERRORS
+        i_dbnull = o_chr
+#End If
+#If ERRORS
+        i_dbnull = o_str
+#End If
+#If ERRORS
+        i_dbnull = o_dt
+#End If
+#If ERRORS
+        i_dbnull = o_dbnull
+#End If
+#If ERRORS
+        i_dbnull = o_obj
+#End If
+    End Sub
+    Sub InRefOutRef(ByRef i_bool As Boolean, ByRef i_byte As Byte, ByRef i_sbyte As SByte, ByRef i_short As Short, ByRef i_ushort As UShort, ByRef i_int As Integer, ByRef i_uint as UInteger, ByRef i_long As Long, ByRef i_ulong As ULong, ByRef i_dec As Decimal, ByRef i_sng As Single,ByRef i_dbl As Double, ByRef i_chr As Char, ByRef i_str As String, ByRef i_dt As Date, ByRef i_dbnull As DBNull, ByRef i_obj As Object, ByRef o_bool As Boolean, ByRef o_byte As Byte, ByRef o_sbyte As SByte, ByRef o_short As Short, ByRef o_ushort As UShort, ByRef o_int As Integer, ByRef o_uint as UInteger, ByRef o_long As Long, ByRef o_ulong As ULong, ByRef o_dec As Decimal, ByRef o_sng As Single,ByRef o_dbl As Double, ByRef o_chr As Char, ByRef o_str As String, ByRef o_dt As Date, ByRef o_dbnull As DBNull, ByRef o_obj As Object)
+#If ERRORS
+        i_dbnull = o_bool
+#End If
+#If ERRORS
+        i_dbnull = o_byte
+#End If
+#If ERRORS
+        i_dbnull = o_sbyte
+#End If
+#If ERRORS
+        i_dbnull = o_short
+#End If
+#If ERRORS
+        i_dbnull = o_ushort
+#End If
+#If ERRORS
+        i_dbnull = o_int
+#End If
+#If ERRORS
+        i_dbnull = o_uint
+#End If
+#If ERRORS
+        i_dbnull = o_long
+#End If
+#If ERRORS
+        i_dbnull = o_ulong
+#End If
+#If ERRORS
+        i_dbnull = o_dec
+#End If
+#If ERRORS
+        i_dbnull = o_sng
+#End If
+#If ERRORS
+        i_dbnull = o_dbl
+#End If
+#If ERRORS
+        i_dbnull = o_chr
+#End If
+#If ERRORS
+        i_dbnull = o_str
+#End If
+#If ERRORS
+        i_dbnull = o_dt
+#End If
+#If ERRORS
+        i_dbnull = o_dbnull
+#End If
+#If ERRORS
+        i_dbnull = o_obj
+#End If
+    End Sub
+End Class
diff --git a/vbnc/vbnc/tests/CompileTime2/TypeConversionIntrinsicDateTime.vb b/vbnc/vbnc/tests/CompileTime2/TypeConversionIntrinsicDateTime.vb
new file mode 100644
index 0000000..b7996fd
--- /dev/null
+++ b/vbnc/vbnc/tests/CompileTime2/TypeConversionIntrinsicDateTime.vb
@@ -0,0 +1,210 @@
+Class TypeConversionIntrinsic
+    Sub LocalVariables
+        Dim  i_bool As Boolean,  i_byte As Byte,  i_sbyte As SByte,  i_short As Short,  i_ushort As UShort,  i_int As Integer,  i_uint as UInteger,  i_long As Long,  i_ulong As ULong,  i_dec As Decimal,  i_sng As Single, i_dbl As Double,  i_chr As Char,  i_str As String,  i_dt As Date,  i_dbnull As DBNull,  i_obj As Object
+        Dim  o_bool As Boolean,  o_byte As Byte,  o_sbyte As SByte,  o_short As Short,  o_ushort As UShort,  o_int As Integer,  o_uint as UInteger,  o_long As Long,  o_ulong As ULong,  o_dec As Decimal,  o_sng As Single, o_dbl As Double,  o_chr As Char,  o_str As String,  o_dt As Date,  o_dbnull As DBNull,  o_obj As Object
+#If ERRORS
+        i_dt = o_bool
+#End If
+#If ERRORS
+        i_dt = o_byte
+#End If
+#If ERRORS
+        i_dt = o_sbyte
+#End If
+#If ERRORS
+        i_dt = o_short
+#End If
+#If ERRORS
+        i_dt = o_ushort
+#End If
+#If ERRORS
+        i_dt = o_int
+#End If
+#If ERRORS
+        i_dt = o_uint
+#End If
+#If ERRORS
+        i_dt = o_long
+#End If
+#If ERRORS
+        i_dt = o_ulong
+#End If
+#If ERRORS
+        i_dt = o_dec
+#End If
+#If ERRORS
+        i_dt = o_sng
+#End If
+#If ERRORS
+        i_dt = o_dbl
+#End If
+#If ERRORS
+        i_dt = o_chr
+#End If
+#If Not STRICT Or ERRORS
+        i_dt = o_str
+#End If
+        i_dt = o_dt
+#If ERRORS
+        i_dt = o_dbnull
+#End If
+#If Not STRICT Or ERRORS
+        i_dt = o_obj
+#End If
+    End Sub
+    Sub InLocalOutRef(ByRef o_bool As Boolean, ByRef o_byte As Byte, ByRef o_sbyte As SByte, ByRef o_short As Short, ByRef o_ushort As UShort, ByRef o_int As Integer, ByRef o_uint as UInteger, ByRef o_long As Long, ByRef o_ulong As ULong, ByRef o_dec As Decimal, ByRef o_sng As Single,ByRef o_dbl As Double, ByRef o_chr As Char, ByRef o_str As String, ByRef o_dt As Date, ByRef o_dbnull As DBNull, ByRef o_obj As Object)
+        Dim  i_bool As Boolean,  i_byte As Byte,  i_sbyte As SByte,  i_short As Short,  i_ushort As UShort,  i_int As Integer,  i_uint as UInteger,  i_long As Long,  i_ulong As ULong,  i_dec As Decimal,  i_sng As Single, i_dbl As Double,  i_chr As Char,  i_str As String,  i_dt As Date,  i_dbnull As DBNull,  i_obj As Object
+#If ERRORS
+        i_dt = o_bool
+#End If
+#If ERRORS
+        i_dt = o_byte
+#End If
+#If ERRORS
+        i_dt = o_sbyte
+#End If
+#If ERRORS
+        i_dt = o_short
+#End If
+#If ERRORS
+        i_dt = o_ushort
+#End If
+#If ERRORS
+        i_dt = o_int
+#End If
+#If ERRORS
+        i_dt = o_uint
+#End If
+#If ERRORS
+        i_dt = o_long
+#End If
+#If ERRORS
+        i_dt = o_ulong
+#End If
+#If ERRORS
+        i_dt = o_dec
+#End If
+#If ERRORS
+        i_dt = o_sng
+#End If
+#If ERRORS
+        i_dt = o_dbl
+#End If
+#If ERRORS
+        i_dt = o_chr
+#End If
+#If Not STRICT Or ERRORS
+        i_dt = o_str
+#End If
+        i_dt = o_dt
+#If ERRORS
+        i_dt = o_dbnull
+#End If
+#If Not STRICT Or ERRORS
+        i_dt = o_obj
+#End If
+    End Sub
+    Sub InRefOutLocal(ByRef i_bool As Boolean, ByRef i_byte As Byte, ByRef i_sbyte As SByte, ByRef i_short As Short, ByRef i_ushort As UShort, ByRef i_int As Integer, ByRef i_uint as UInteger, ByRef i_long As Long, ByRef i_ulong As ULong, ByRef i_dec As Decimal, ByRef i_sng As Single,ByRef i_dbl As Double, ByRef i_chr As Char, ByRef i_str As String, ByRef i_dt As Date, ByRef i_dbnull As DBNull, ByRef i_obj As Object)
+        Dim  o_bool As Boolean,  o_byte As Byte,  o_sbyte As SByte,  o_short As Short,  o_ushort As UShort,  o_int As Integer,  o_uint as UInteger,  o_long As Long,  o_ulong As ULong,  o_dec As Decimal,  o_sng As Single, o_dbl As Double,  o_chr As Char,  o_str As String,  o_dt As Date,  o_dbnull As DBNull,  o_obj As Object
+#If ERRORS
+        i_dt = o_bool
+#End If
+#If ERRORS
+        i_dt = o_byte
+#End If
+#If ERRORS
+        i_dt = o_sbyte
+#End If
+#If ERRORS
+        i_dt = o_short
+#End If
+#If ERRORS
+        i_dt = o_ushort
+#End If
+#If ERRORS
+        i_dt = o_int
+#End If
+#If ERRORS
+        i_dt = o_uint
+#End If
+#If ERRORS
+        i_dt = o_long
+#End If
+#If ERRORS
+        i_dt = o_ulong
+#End If
+#If ERRORS
+        i_dt = o_dec
+#End If
+#If ERRORS
+        i_dt = o_sng
+#End If
+#If ERRORS
+        i_dt = o_dbl
+#End If
+#If ERRORS
+        i_dt = o_chr
+#End If
+#If Not STRICT Or ERRORS
+        i_dt = o_str
+#End If
+        i_dt = o_dt
+#If ERRORS
+        i_dt = o_dbnull
+#End If
+#If Not STRICT Or ERRORS
+        i_dt = o_obj
+#End If
+    End Sub
+    Sub InRefOutRef(ByRef i_bool As Boolean, ByRef i_byte As Byte, ByRef i_sbyte As SByte, ByRef i_short As Short, ByRef i_ushort As UShort, ByRef i_int As Integer, ByRef i_uint as UInteger, ByRef i_long As Long, ByRef i_ulong As ULong, ByRef i_dec As Decimal, ByRef i_sng As Single,ByRef i_dbl As Double, ByRef i_chr As Char, ByRef i_str As String, ByRef i_dt As Date, ByRef i_dbnull As DBNull, ByRef i_obj As Object, ByRef o_bool As Boolean, ByRef o_byte As Byte, ByRef o_sbyte As SByte, ByRef o_short As Short, ByRef o_ushort As UShort, ByRef o_int As Integer, ByRef o_uint as UInteger, ByRef o_long As Long, ByRef o_ulong As ULong, ByRef o_dec As Decimal, ByRef o_sng As Single,ByRef o_dbl As Double, ByRef o_chr As Char, ByRef o_str As String, ByRef o_dt As Date, ByRef o_dbnull As DBNull, ByRef o_obj As Object)
+#If ERRORS
+        i_dt = o_bool
+#End If
+#If ERRORS
+        i_dt = o_byte
+#End If
+#If ERRORS
+        i_dt = o_sbyte
+#End If
+#If ERRORS
+        i_dt = o_short
+#End If
+#If ERRORS
+        i_dt = o_ushort
+#End If
+#If ERRORS
+        i_dt = o_int
+#End If
+#If ERRORS
+        i_dt = o_uint
+#End If
+#If ERRORS
+        i_dt = o_long
+#End If
+#If ERRORS
+        i_dt = o_ulong
+#End If
+#If ERRORS
+        i_dt = o_dec
+#End If
+#If ERRORS
+        i_dt = o_sng
+#End If
+#If ERRORS
+        i_dt = o_dbl
+#End If
+#If ERRORS
+        i_dt = o_chr
+#End If
+#If Not STRICT Or ERRORS
+        i_dt = o_str
+#End If
+        i_dt = o_dt
+#If ERRORS
+        i_dt = o_dbnull
+#End If
+#If Not STRICT Or ERRORS
+        i_dt = o_obj
+#End If
+    End Sub
+End Class
diff --git a/vbnc/vbnc/tests/CompileTime2/TypeConversionIntrinsicDecimal.vb b/vbnc/vbnc/tests/CompileTime2/TypeConversionIntrinsicDecimal.vb
new file mode 100644
index 0000000..aeefe52
--- /dev/null
+++ b/vbnc/vbnc/tests/CompileTime2/TypeConversionIntrinsicDecimal.vb
@@ -0,0 +1,210 @@
+Class TypeConversionIntrinsic
+    Sub LocalVariables
+        Dim  i_bool As Boolean,  i_byte As Byte,  i_sbyte As SByte,  i_short As Short,  i_ushort As UShort,  i_int As Integer,  i_uint as UInteger,  i_long As Long,  i_ulong As ULong,  i_dec As Decimal,  i_sng As Single, i_dbl As Double,  i_chr As Char,  i_str As String,  i_dt As Date,  i_dbnull As DBNull,  i_obj As Object
+        Dim  o_bool As Boolean,  o_byte As Byte,  o_sbyte As SByte,  o_short As Short,  o_ushort As UShort,  o_int As Integer,  o_uint as UInteger,  o_long As Long,  o_ulong As ULong,  o_dec As Decimal,  o_sng As Single, o_dbl As Double,  o_chr As Char,  o_str As String,  o_dt As Date,  o_dbnull As DBNull,  o_obj As Object
+#If Not STRICT Or ERRORS
+        i_dec = o_bool
+#End If
+#If Not STRICT Or ERRORS
+        i_dec = o_byte
+#End If
+#If Not STRICT Or ERRORS
+        i_dec = o_sbyte
+#End If
+#If Not STRICT Or ERRORS
+        i_dec = o_short
+#End If
+#If Not STRICT Or ERRORS
+        i_dec = o_ushort
+#End If
+#If Not STRICT Or ERRORS
+        i_dec = o_int
+#End If
+#If Not STRICT Or ERRORS
+        i_dec = o_uint
+#End If
+#If Not STRICT Or ERRORS
+        i_dec = o_long
+#End If
+#If Not STRICT Or ERRORS
+        i_dec = o_ulong
+#End If
+        i_dec = o_dec
+#If Not STRICT Or ERRORS
+        i_dec = o_sng
+#End If
+#If Not STRICT Or ERRORS
+        i_dec = o_dbl
+#End If
+#If ERRORS
+        i_dec = o_chr
+#End If
+#If Not STRICT Or ERRORS
+        i_dec = o_str
+#End If
+#If ERRORS
+        i_dec = o_dt
+#End If
+#If ERRORS
+        i_dec = o_dbnull
+#End If
+#If Not STRICT Or ERRORS
+        i_dec = o_obj
+#End If
+    End Sub
+    Sub InLocalOutRef(ByRef o_bool As Boolean, ByRef o_byte As Byte, ByRef o_sbyte As SByte, ByRef o_short As Short, ByRef o_ushort As UShort, ByRef o_int As Integer, ByRef o_uint as UInteger, ByRef o_long As Long, ByRef o_ulong As ULong, ByRef o_dec As Decimal, ByRef o_sng As Single,ByRef o_dbl As Double, ByRef o_chr As Char, ByRef o_str As String, ByRef o_dt As Date, ByRef o_dbnull As DBNull, ByRef o_obj As Object)
+        Dim  i_bool As Boolean,  i_byte As Byte,  i_sbyte As SByte,  i_short As Short,  i_ushort As UShort,  i_int As Integer,  i_uint as UInteger,  i_long As Long,  i_ulong As ULong,  i_dec As Decimal,  i_sng As Single, i_dbl As Double,  i_chr As Char,  i_str As String,  i_dt As Date,  i_dbnull As DBNull,  i_obj As Object
+#If Not STRICT Or ERRORS
+        i_dec = o_bool
+#End If
+#If Not STRICT Or ERRORS
+        i_dec = o_byte
+#End If
+#If Not STRICT Or ERRORS
+        i_dec = o_sbyte
+#End If
+#If Not STRICT Or ERRORS
+        i_dec = o_short
+#End If
+#If Not STRICT Or ERRORS
+        i_dec = o_ushort
+#End If
+#If Not STRICT Or ERRORS
+        i_dec = o_int
+#End If
+#If Not STRICT Or ERRORS
+        i_dec = o_uint
+#End If
+#If Not STRICT Or ERRORS
+        i_dec = o_long
+#End If
+#If Not STRICT Or ERRORS
+        i_dec = o_ulong
+#End If
+        i_dec = o_dec
+#If Not STRICT Or ERRORS
+        i_dec = o_sng
+#End If
+#If Not STRICT Or ERRORS
+        i_dec = o_dbl
+#End If
+#If ERRORS
+        i_dec = o_chr
+#End If
+#If Not STRICT Or ERRORS
+        i_dec = o_str
+#End If
+#If ERRORS
+        i_dec = o_dt
+#End If
+#If ERRORS
+        i_dec = o_dbnull
+#End If
+#If Not STRICT Or ERRORS
+        i_dec = o_obj
+#End If
+    End Sub
+    Sub InRefOutLocal(ByRef i_bool As Boolean, ByRef i_byte As Byte, ByRef i_sbyte As SByte, ByRef i_short As Short, ByRef i_ushort As UShort, ByRef i_int As Integer, ByRef i_uint as UInteger, ByRef i_long As Long, ByRef i_ulong As ULong, ByRef i_dec As Decimal, ByRef i_sng As Single,ByRef i_dbl As Double, ByRef i_chr As Char, ByRef i_str As String, ByRef i_dt As Date, ByRef i_dbnull As DBNull, ByRef i_obj As Object)
+        Dim  o_bool As Boolean,  o_byte As Byte,  o_sbyte As SByte,  o_short As Short,  o_ushort As UShort,  o_int As Integer,  o_uint as UInteger,  o_long As Long,  o_ulong As ULong,  o_dec As Decimal,  o_sng As Single, o_dbl As Double,  o_chr As Char,  o_str As String,  o_dt As Date,  o_dbnull As DBNull,  o_obj As Object
+#If Not STRICT Or ERRORS
+        i_dec = o_bool
+#End If
+#If Not STRICT Or ERRORS
+        i_dec = o_byte
+#End If
+#If Not STRICT Or ERRORS
+        i_dec = o_sbyte
+#End If
+#If Not STRICT Or ERRORS
+        i_dec = o_short
+#End If
+#If Not STRICT Or ERRORS
+        i_dec = o_ushort
+#End If
+#If Not STRICT Or ERRORS
+        i_dec = o_int
+#End If
+#If Not STRICT Or ERRORS
+        i_dec = o_uint
+#End If
+#If Not STRICT Or ERRORS
+        i_dec = o_long
+#End If
+#If Not STRICT Or ERRORS
+        i_dec = o_ulong
+#End If
+        i_dec = o_dec
+#If Not STRICT Or ERRORS
+        i_dec = o_sng
+#End If
+#If Not STRICT Or ERRORS
+        i_dec = o_dbl
+#End If
+#If ERRORS
+        i_dec = o_chr
+#End If
+#If Not STRICT Or ERRORS
+        i_dec = o_str
+#End If
+#If ERRORS
+        i_dec = o_dt
+#End If
+#If ERRORS
+        i_dec = o_dbnull
+#End If
+#If Not STRICT Or ERRORS
+        i_dec = o_obj
+#End If
+    End Sub
+    Sub InRefOutRef(ByRef i_bool As Boolean, ByRef i_byte As Byte, ByRef i_sbyte As SByte, ByRef i_short As Short, ByRef i_ushort As UShort, ByRef i_int As Integer, ByRef i_uint as UInteger, ByRef i_long As Long, ByRef i_ulong As ULong, ByRef i_dec As Decimal, ByRef i_sng As Single,ByRef i_dbl As Double, ByRef i_chr As Char, ByRef i_str As String, ByRef i_dt As Date, ByRef i_dbnull As DBNull, ByRef i_obj As Object, ByRef o_bool As Boolean, ByRef o_byte As Byte, ByRef o_sbyte As SByte, ByRef o_short As Short, ByRef o_ushort As UShort, ByRef o_int As Integer, ByRef o_uint as UInteger, ByRef o_long As Long, ByRef o_ulong As ULong, ByRef o_dec As Decimal, ByRef o_sng As Single,ByRef o_dbl As Double, ByRef o_chr As Char, ByRef o_str As String, ByRef o_dt As Date, ByRef o_dbnull As DBNull, ByRef o_obj As Object)
+#If Not STRICT Or ERRORS
+        i_dec = o_bool
+#End If
+#If Not STRICT Or ERRORS
+        i_dec = o_byte
+#End If
+#If Not STRICT Or ERRORS
+        i_dec = o_sbyte
+#End If
+#If Not STRICT Or ERRORS
+        i_dec = o_short
+#End If
+#If Not STRICT Or ERRORS
+        i_dec = o_ushort
+#End If
+#If Not STRICT Or ERRORS
+        i_dec = o_int
+#End If
+#If Not STRICT Or ERRORS
+        i_dec = o_uint
+#End If
+#If Not STRICT Or ERRORS
+        i_dec = o_long
+#End If
+#If Not STRICT Or ERRORS
+        i_dec = o_ulong
+#End If
+        i_dec = o_dec
+#If Not STRICT Or ERRORS
+        i_dec = o_sng
+#End If
+#If Not STRICT Or ERRORS
+        i_dec = o_dbl
+#End If
+#If ERRORS
+        i_dec = o_chr
+#End If
+#If Not STRICT Or ERRORS
+        i_dec = o_str
+#End If
+#If ERRORS
+        i_dec = o_dt
+#End If
+#If ERRORS
+        i_dec = o_dbnull
+#End If
+#If Not STRICT Or ERRORS
+        i_dec = o_obj
+#End If
+    End Sub
+End Class
diff --git a/vbnc/vbnc/tests/CompileTime2/TypeConversionIntrinsicDouble.vb b/vbnc/vbnc/tests/CompileTime2/TypeConversionIntrinsicDouble.vb
new file mode 100644
index 0000000..f11450a
--- /dev/null
+++ b/vbnc/vbnc/tests/CompileTime2/TypeConversionIntrinsicDouble.vb
@@ -0,0 +1,210 @@
+Class TypeConversionIntrinsic
+    Sub LocalVariables
+        Dim  i_bool As Boolean,  i_byte As Byte,  i_sbyte As SByte,  i_short As Short,  i_ushort As UShort,  i_int As Integer,  i_uint as UInteger,  i_long As Long,  i_ulong As ULong,  i_dec As Decimal,  i_sng As Single, i_dbl As Double,  i_chr As Char,  i_str As String,  i_dt As Date,  i_dbnull As DBNull,  i_obj As Object
+        Dim  o_bool As Boolean,  o_byte As Byte,  o_sbyte As SByte,  o_short As Short,  o_ushort As UShort,  o_int As Integer,  o_uint as UInteger,  o_long As Long,  o_ulong As ULong,  o_dec As Decimal,  o_sng As Single, o_dbl As Double,  o_chr As Char,  o_str As String,  o_dt As Date,  o_dbnull As DBNull,  o_obj As Object
+#If Not STRICT Or ERRORS
+        i_dbl = o_bool
+#End If
+#If Not STRICT Or ERRORS
+        i_dbl = o_byte
+#End If
+#If Not STRICT Or ERRORS
+        i_dbl = o_sbyte
+#End If
+#If Not STRICT Or ERRORS
+        i_dbl = o_short
+#End If
+#If Not STRICT Or ERRORS
+        i_dbl = o_ushort
+#End If
+#If Not STRICT Or ERRORS
+        i_dbl = o_int
+#End If
+#If Not STRICT Or ERRORS
+        i_dbl = o_uint
+#End If
+#If Not STRICT Or ERRORS
+        i_dbl = o_long
+#End If
+#If Not STRICT Or ERRORS
+        i_dbl = o_ulong
+#End If
+#If Not STRICT Or ERRORS
+        i_dbl = o_dec
+#End If
+#If Not STRICT Or ERRORS
+        i_dbl = o_sng
+#End If
+        i_dbl = o_dbl
+#If ERRORS
+        i_dbl = o_chr
+#End If
+#If Not STRICT Or ERRORS
+        i_dbl = o_str
+#End If
+#If ERRORS
+        i_dbl = o_dt
+#End If
+#If ERRORS
+        i_dbl = o_dbnull
+#End If
+#If Not STRICT Or ERRORS
+        i_dbl = o_obj
+#End If
+    End Sub
+    Sub InLocalOutRef(ByRef o_bool As Boolean, ByRef o_byte As Byte, ByRef o_sbyte As SByte, ByRef o_short As Short, ByRef o_ushort As UShort, ByRef o_int As Integer, ByRef o_uint as UInteger, ByRef o_long As Long, ByRef o_ulong As ULong, ByRef o_dec As Decimal, ByRef o_sng As Single,ByRef o_dbl As Double, ByRef o_chr As Char, ByRef o_str As String, ByRef o_dt As Date, ByRef o_dbnull As DBNull, ByRef o_obj As Object)
+        Dim  i_bool As Boolean,  i_byte As Byte,  i_sbyte As SByte,  i_short As Short,  i_ushort As UShort,  i_int As Integer,  i_uint as UInteger,  i_long As Long,  i_ulong As ULong,  i_dec As Decimal,  i_sng As Single, i_dbl As Double,  i_chr As Char,  i_str As String,  i_dt As Date,  i_dbnull As DBNull,  i_obj As Object
+#If Not STRICT Or ERRORS
+        i_dbl = o_bool
+#End If
+#If Not STRICT Or ERRORS
+        i_dbl = o_byte
+#End If
+#If Not STRICT Or ERRORS
+        i_dbl = o_sbyte
+#End If
+#If Not STRICT Or ERRORS
+        i_dbl = o_short
+#End If
+#If Not STRICT Or ERRORS
+        i_dbl = o_ushort
+#End If
+#If Not STRICT Or ERRORS
+        i_dbl = o_int
+#End If
+#If Not STRICT Or ERRORS
+        i_dbl = o_uint
+#End If
+#If Not STRICT Or ERRORS
+        i_dbl = o_long
+#End If
+#If Not STRICT Or ERRORS
+        i_dbl = o_ulong
+#End If
+#If Not STRICT Or ERRORS
+        i_dbl = o_dec
+#End If
+#If Not STRICT Or ERRORS
+        i_dbl = o_sng
+#End If
+        i_dbl = o_dbl
+#If ERRORS
+        i_dbl = o_chr
+#End If
+#If Not STRICT Or ERRORS
+        i_dbl = o_str
+#End If
+#If ERRORS
+        i_dbl = o_dt
+#End If
+#If ERRORS
+        i_dbl = o_dbnull
+#End If
+#If Not STRICT Or ERRORS
+        i_dbl = o_obj
+#End If
+    End Sub
+    Sub InRefOutLocal(ByRef i_bool As Boolean, ByRef i_byte As Byte, ByRef i_sbyte As SByte, ByRef i_short As Short, ByRef i_ushort As UShort, ByRef i_int As Integer, ByRef i_uint as UInteger, ByRef i_long As Long, ByRef i_ulong As ULong, ByRef i_dec As Decimal, ByRef i_sng As Single,ByRef i_dbl As Double, ByRef i_chr As Char, ByRef i_str As String, ByRef i_dt As Date, ByRef i_dbnull As DBNull, ByRef i_obj As Object)
+        Dim  o_bool As Boolean,  o_byte As Byte,  o_sbyte As SByte,  o_short As Short,  o_ushort As UShort,  o_int As Integer,  o_uint as UInteger,  o_long As Long,  o_ulong As ULong,  o_dec As Decimal,  o_sng As Single, o_dbl As Double,  o_chr As Char,  o_str As String,  o_dt As Date,  o_dbnull As DBNull,  o_obj As Object
+#If Not STRICT Or ERRORS
+        i_dbl = o_bool
+#End If
+#If Not STRICT Or ERRORS
+        i_dbl = o_byte
+#End If
+#If Not STRICT Or ERRORS
+        i_dbl = o_sbyte
+#End If
+#If Not STRICT Or ERRORS
+        i_dbl = o_short
+#End If
+#If Not STRICT Or ERRORS
+        i_dbl = o_ushort
+#End If
+#If Not STRICT Or ERRORS
+        i_dbl = o_int
+#End If
+#If Not STRICT Or ERRORS
+        i_dbl = o_uint
+#End If
+#If Not STRICT Or ERRORS
+        i_dbl = o_long
+#End If
+#If Not STRICT Or ERRORS
+        i_dbl = o_ulong
+#End If
+#If Not STRICT Or ERRORS
+        i_dbl = o_dec
+#End If
+#If Not STRICT Or ERRORS
+        i_dbl = o_sng
+#End If
+        i_dbl = o_dbl
+#If ERRORS
+        i_dbl = o_chr
+#End If
+#If Not STRICT Or ERRORS
+        i_dbl = o_str
+#End If
+#If ERRORS
+        i_dbl = o_dt
+#End If
+#If ERRORS
+        i_dbl = o_dbnull
+#End If
+#If Not STRICT Or ERRORS
+        i_dbl = o_obj
+#End If
+    End Sub
+    Sub InRefOutRef(ByRef i_bool As Boolean, ByRef i_byte As Byte, ByRef i_sbyte As SByte, ByRef i_short As Short, ByRef i_ushort As UShort, ByRef i_int As Integer, ByRef i_uint as UInteger, ByRef i_long As Long, ByRef i_ulong As ULong, ByRef i_dec As Decimal, ByRef i_sng As Single,ByRef i_dbl As Double, ByRef i_chr As Char, ByRef i_str As String, ByRef i_dt As Date, ByRef i_dbnull As DBNull, ByRef i_obj As Object, ByRef o_bool As Boolean, ByRef o_byte As Byte, ByRef o_sbyte As SByte, ByRef o_short As Short, ByRef o_ushort As UShort, ByRef o_int As Integer, ByRef o_uint as UInteger, ByRef o_long As Long, ByRef o_ulong As ULong, ByRef o_dec As Decimal, ByRef o_sng As Single,ByRef o_dbl As Double, ByRef o_chr As Char, ByRef o_str As String, ByRef o_dt As Date, ByRef o_dbnull As DBNull, ByRef o_obj As Object)
+#If Not STRICT Or ERRORS
+        i_dbl = o_bool
+#End If
+#If Not STRICT Or ERRORS
+        i_dbl = o_byte
+#End If
+#If Not STRICT Or ERRORS
+        i_dbl = o_sbyte
+#End If
+#If Not STRICT Or ERRORS
+        i_dbl = o_short
+#End If
+#If Not STRICT Or ERRORS
+        i_dbl = o_ushort
+#End If
+#If Not STRICT Or ERRORS
+        i_dbl = o_int
+#End If
+#If Not STRICT Or ERRORS
+        i_dbl = o_uint
+#End If
+#If Not STRICT Or ERRORS
+        i_dbl = o_long
+#End If
+#If Not STRICT Or ERRORS
+        i_dbl = o_ulong
+#End If
+#If Not STRICT Or ERRORS
+        i_dbl = o_dec
+#End If
+#If Not STRICT Or ERRORS
+        i_dbl = o_sng
+#End If
+        i_dbl = o_dbl
+#If ERRORS
+        i_dbl = o_chr
+#End If
+#If Not STRICT Or ERRORS
+        i_dbl = o_str
+#End If
+#If ERRORS
+        i_dbl = o_dt
+#End If
+#If ERRORS
+        i_dbl = o_dbnull
+#End If
+#If Not STRICT Or ERRORS
+        i_dbl = o_obj
+#End If
+    End Sub
+End Class
diff --git a/vbnc/vbnc/tests/CompileTime2/TypeConversionIntrinsicGenerator.vb b/vbnc/vbnc/tests/CompileTime2/TypeConversionIntrinsicGenerator.vb
new file mode 100644
index 0000000..97cfe75
--- /dev/null
+++ b/vbnc/vbnc/tests/CompileTime2/TypeConversionIntrinsicGenerator.vb
@@ -0,0 +1,961 @@
+#If GENERATOR Then
+Option Strict On
+Imports System.IO
+
+Module Generator
+    '0 = A Empty          A
+    '1 = B Object         B
+    '2 = C DBNull         C
+    '3 = D Boolean        D
+    '4 = E Char           E
+    '5 = F SByte          F
+    '6 = G Byte           G
+    '7 = H Int16(Short)   H
+    '8 = I UInt16(UShort) I
+    '9 = J Int32          J
+    '10= K UInt32         K 
+    '11= L Int64(Long)    L
+    '12= M UInt64(ULong)  M
+    '13= N Single         N
+    '14= O Double         O
+    '15= P Decimal        P
+    '16= Q DateTime       Q
+    '17= - 17             -
+    '18= S String         S
+
+    ''' X=?
+    ''' I=Implicit ok
+    ''' 0=Explicit ok
+    ''' 1=30311
+    ''' 2=32007
+    ''' 3=30533
+    ''' 4=32006
+    ''' 5=30532
+    ''' 6=30533
+    ''' A=30311, only explicit
+
+    Public LikeResultType As String = "" & _
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "XBXBBBBBBBBBBBBBB-B" & _
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "XBXDDDDDDDDDDDDDD-D" & _
+            "XBXDDDDDDDDDDDDDD-D" & _
+            "XBXDDDDDDDDDDDDDD-D" & _
+            "XBXDDDDDDDDDDDDDD-D" & _
+            "XBXDDDDDDDDDDDDDD-D" & _
+            "XBXDDDDDDDDDDDDDD-D" & _
+            "XBXDDDDDDDDDDDDDD-D" & _
+            "XBXDDDDDDDDDDDDDD-D" & _
+            "XBXDDDDDDDDDDDDDD-D" & _
+            "XBXDDDDDDDDDDDDDD-D" & _
+            "XBXDDDDDDDDDDDDDD-D" & _
+            "XBXDDDDDDDDDDDDDD-D" & _
+            "XBXDDDDDDDDDDDDDD-D" & _
+            "XBXDDDDDDDDDDDDDD-D" & _
+            "-------------------" & _
+            "XBXDDDDDDDDDDDDDD-D"
+    Public LikeOperandType As String = "" & _
+                "XXXXXXXXXXXXXXXXX-X" & _
+                "XBXBBBBBBBBBBBBBB-B" & _
+                "XXXXXXXXXXXXXXXXX-X" & _
+                "XBXSSSSSSSSSSSSSS-S" & _
+                "XBXSSSSSSSSSSSSSS-S" & _
+                "XBXSSSSSSSSSSSSSS-S" & _
+                "XBXSSSSSSSSSSSSSS-S" & _
+                "XBXSSSSSSSSSSSSSS-S" & _
+                "XBXSSSSSSSSSSSSSS-S" & _
+                "XBXSSSSSSSSSSSSSS-S" & _
+                "XBXSSSSSSSSSSSSSS-S" & _
+                "XBXSSSSSSSSSSSSSS-S" & _
+                "XBXSSSSSSSSSSSSSS-S" & _
+                "XBXSSSSSSSSSSSSSS-S" & _
+                "XBXSSSSSSSSSSSSSS-S" & _
+                "XBXSSSSSSSSSSSSSS-S" & _
+                "XBXSSSSSSSSSSSSSS-S" & _
+                "-------------------" & _
+                "XBXSSSSSSSSSSSSSS-S"
+    Public LikeAllowedType As String =
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "X0X00000000000000-0" & _
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "X0X00000000000000-0" & _
+            "X0X0I000000000000-I" & _
+            "X0X00000000000000-0" & _
+            "X0X00000000000000-0" & _
+            "X0X00000000000000-0" & _
+            "X0X00000000000000-0" & _
+            "X0X00000000000000-0" & _
+            "X0X00000000000000-0" & _
+            "X0X00000000000000-0" & _
+            "X0X00000000000000-0" & _
+            "X0X00000000000000-0" & _
+            "X0X00000000000000-0" & _
+            "X0X00000000000000-0" & _
+            "X0X00000000000000-0" & _
+            "-------------------" & _
+            "X0X0I000000000000-I"
+
+    Public ConcatResultType As String = LikeOperandType
+    Public ConcatOperandType As String = LikeOperandType
+    Public ConcatAllowedType As String =
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "X0X00000000000000-0" & _
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "X0XIIIIIIIIIIIIII-I" & _
+            "X0XIIIIIIIIIIIIII-I" & _
+            "X0XIIIIIIIIIIIIII-I" & _
+            "X0XIIIIIIIIIIIIII-I" & _
+            "X0XIIIIIIIIIIIIII-I" & _
+            "X0XIIIIIIIIIIIIII-I" & _
+            "X0XIIIIIIIIIIIIII-I" & _
+            "X0XIIIIIIIIIIIIII-I" & _
+            "X0XIIIIIIIIIIIIII-I" & _
+            "X0XIIIIIIIIIIIIII-I" & _
+            "X0XIIIIIIIIIIIIII-I" & _
+            "X0XIIIIIIIIIIIIII-I" & _
+            "X0XIIIIIIIIIIIIII-I" & _
+            "X0XIIIIIIIIIIIIII-I" & _
+            "-------------------" & _
+            "X0XIIIIIIIIIIIIII-I"
+
+    Public ModResultType As String = "" & _
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "XBXBXBBBBBBBBBBBX-B" & _
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "XBXHXFHHJJLLPNOPX-O" & _
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "XBXFXFHHJJLLPNOPX-O" & _
+            "XBXHXHGHIJKLMNOPX-O" & _
+            "XBXHXHHHJJLLPNOPX-O" & _
+            "XBXJXJIJIJKLMNOPX-O" & _
+            "XBXJXJJJJJLLPNOPX-O" & _
+            "XBXLXLKLKLKLMNOPX-O" & _
+            "XBXLXLLLLLLLPNOPX-O" & _
+            "XBXPXPMPMPMPMNOPX-O" & _
+            "XBXNXNNNNNNNNNONX-O" & _
+            "XBXOXOOOOOOOOOOOX-O" & _
+            "XBXPXPPPPPPPPNOPX-O" & _
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "-------------------" & _
+            "XBXOXOOOOOOOOOOOX-O"
+    Public ModAllowedType As String =
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "X0X0X00000000000X-0" & _
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "X0X0X00000000000X-0" & _
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "X0X0XIIIIIIIIIIIX-0" & _
+            "X0X0XIIIIIIIIIIIX-0" & _
+            "X0X0XIIIIIIIIIIIX-0" & _
+            "X0X0XIIIIIIIIIIIX-0" & _
+            "X0X0XIIIIIIIIIIIX-0" & _
+            "X0X0XIIIIIIIIIIIX-0" & _
+            "X0X0XIIIIIIIIIIIX-0" & _
+            "X0X0XIIIIIIIIIIIX-0" & _
+            "X0X0XIIIIIIIIIIIX-0" & _
+            "X0X0XIIIIIIIIIIIX-0" & _
+            "X0X0XIIIIIIIIIIIX-0" & _
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "-------------------" & _
+            "X0X0X00000000000X-0"
+
+    Public IntDivResultTypes As String = "" & _
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "XBXBXBBBBBBBBBBBX-B" & _
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "XBXHXFHHJJLLLLLLX-L" & _
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "XBXFXFHHJJLLLLLLX-L" & _
+            "XBXHXHGHIJKLMLLLX-L" & _
+            "XBXHXHHHJJLLLLLLX-L" & _
+            "XBXJXJIJIJKLMLLLX-L" & _
+            "XBXJXJJJJJLLLLLLX-L" & _
+            "XBXLXLKLKLKLMLLLX-L" & _
+            "XBXLXLLLLLLLLLLLX-L" & _
+            "XBXLXLMLMLMLMLLLX-L" & _
+            "XBXLXLLLLLLLLLLLX-L" & _
+            "XBXLXLLLLLLLLLLLX-L" & _
+            "XBXLXLLLLLLLLLLLX-L" & _
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "-------------------" & _
+            "XBXLXLLLLLLLLLLLX-L"
+    Public IntDivAllowedType As String =
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "X0X0X00000000000X-0" & _
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "X0X0X00000000000X-0" & _
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "X0X0XIIIIIII0000X-0" & _
+            "X0X0XIIIIIIII000X-0" & _
+            "X0X0XIIIIIII0000X-0" & _
+            "X0X0XIIIIIIII000X-0" & _
+            "X0X0XIIIIIII0000X-0" & _
+            "X0X0XIIIIIIII000X-0" & _
+            "X0X0XIIIIIII0000X-0" & _
+            "X0X0X0I0I0I0I000X-0" & _
+            "X0X0X00000000000X-0" & _
+            "X0X0X00000000000X-0" & _
+            "X0X0X00000000000X-0" & _
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "-------------------" & _
+            "X0X0X00000000000X-0"
+
+    Public RealDivResultTypes As String = "" & _
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "XBXBXBBBBBBBBBBBX-B" & _
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "XBXOXOOOOOOOONOPX-O" & _
+            "XXXXXXXXXXXXXXXXX-O" & _
+            "XBXOXOOOOOOOONOPX-O" & _
+            "XBXOXOOOOOOOONOPX-O" & _
+            "XBXOXOOOOOOOONOPX-O" & _
+            "XBXOXOOOOOOOONOPX-O" & _
+            "XBXOXOOOOOOOONOPX-O" & _
+            "XBXOXOOOOOOOONOPX-O" & _
+            "XBXOXOOOOOOOONOPX-O" & _
+            "XBXOXOOOOOOOONOPX-O" & _
+            "XBXNXNNNNNNNNNONX-O" & _
+            "XBXOXOOOOOOOOOOOX-O" & _
+            "XBXPXPPPPPPPPNOPX-O" & _
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "-------------------" & _
+            "XBXOOOOOOOOOOOOOX-O"
+    Public RealDivAllowedType As String =
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "X0X0X00000000000X-0" & _
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "X0XOXOOOOOOOOOOOX-O" & _
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "X0X0XIIIIIIIIIIIX-O" & _
+            "X0X0XIIIIIIIIIIIX-O" & _
+            "X0X0XIIIIIIIIIIIX-O" & _
+            "X0X0XIIIIIIIIIIIX-O" & _
+            "X0X0XIIIIIIIIIIIX-O" & _
+            "X0X0XIIIIIIIIIIIX-O" & _
+            "X0X0XIIIIIIIIIIIX-O" & _
+            "X0X0XIIIIIIIIIIIX-O" & _
+            "X0X0XIIIIIIIIIIIX-O" & _
+            "X0X0XIIIIIIIIIIIX-O" & _
+            "X0X0XIIIIIIIIIIIX-O" & _
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "-------------------" & _
+            "X0X0X00000000000X-O"
+
+    Public AddResultType As String = "" & _
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "XBXBBBBBBBBBBBBBB-B" & _
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "XBXHXFHHJJLLPNOPX-O" & _
+            "XBXXSXXXXXXXXXXXX-S" & _
+            "XBXFXFHHJJLLPNOPX-O" & _
+            "XBXHXHGHIJKLMNOPX-O" & _
+            "XBXHXHHHJJLLPNOPX-O" & _
+            "XBXJXJIJIJKLMNOPX-O" & _
+            "XBXJXJJJJJLLPNOPX-O" & _
+            "XBXLXLKLKLKLMNOPX-O" & _
+            "XBXLXLLLLLLLPNOPX-O" & _
+            "XBXPXPMPMPMPMNOPX-O" & _
+            "XBXNXNNNNNNNNNONX-O" & _
+            "XBXOXOOOOOOOOOOOX-O" & _
+            "XBXPXPPPPPPPPNOPX-O" & _
+            "XBXXXXXXXXXXXXXXX-S" & _
+            "-------------------" & _
+            "XBXOSOOOOOOOOOOOS-S"
+    Public AddAllowedType As String =
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "X0X00000000000000-0" & _
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "X0X0X00000000000X-0" & _
+            "X0XXXXXXXXXXXXXXX-X" & _
+            "X0X0XIIIIIIIIIIIX-0" & _
+            "X0X0XIIIIIIIIIIIX-0" & _
+            "X0X0XIIIIIIIIIIIX-0" & _
+            "X0X0XIIIIIIIIIIIX-0" & _
+            "X0X0XIIIIIIIIIIIX-0" & _
+            "X0X0XIIIIIIIIIIIX-0" & _
+            "X0X0XIIIIIIIIIIIX-0" & _
+            "X0X0XIIIIIIIIIIIX-0" & _
+            "X0X0XIIIIIIIIIIIX-0" & _
+            "X0X0XIIIIIIIIIIIX-0" & _
+            "X0X0XIIIIIIIIIIIX-0" & _
+            "X0XXXXXXXXXXXXXXX-0" & _
+            "-------------------" & _
+            "X0X00000000000000-0"
+
+    Public SubResultType As String = "" & _
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "XBXBXBBBBBBBBBBBX-B" & _
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "XBXHXFHHJJLLPNOPX-O" & _
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "XBXFXFHHJJLLPNOPX-O" & _
+            "XBXHXHGHIJKLMNOPX-O" & _
+            "XBXHXHHHJJLLPNOPX-O" & _
+            "XBXJXJIJIJKLMNOPX-O" & _
+            "XBXJXJJJJJLLPNOPX-O" & _
+            "XBXLXLKLKLKLMNOPX-O" & _
+            "XBXLXLLLLLLLPNOPX-O" & _
+            "XBXPXPMPMPMPMNOPX-O" & _
+            "XBXNXNNNNNNNNNONX-O" & _
+            "XBXOXOOOOOOOOOOOX-O" & _
+            "XBXPXPPPPPPPPNOPX-O" & _
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "-------------------" & _
+            "XBXOXOOOOOOOOOOOX-O"
+    Public SubAllowedType As String =
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "X0X0X00000000000X-0" & _
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "X0X0X00000000000X-0" & _
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "X0X0XIIIIIIIIIIIX-0" & _
+            "X0X0XIIIIIIIIIIIX-0" & _
+            "X0X0XIIIIIIIIIIIX-0" & _
+            "X0X0XIIIIIIIIIIIX-0" & _
+            "X0X0XIIIIIIIIIIIX-0" & _
+            "X0X0XIIIIIIIIIIIX-0" & _
+            "X0X0XIIIIIIIIIIIX-0" & _
+            "X0X0XIIIIIIIIIIIX-0" & _
+            "X0X0XIIIIIIIIIIIX-0" & _
+            "X0X0XIIIIIIIIIIIX-0" & _
+            "X0X0XIIIIIIIIIIIX-0" & _
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "-------------------" & _
+            "X0X0X00000000000X-0"
+
+    Public MultResultType As String = SubResultType
+    Public MultAllowedType As String =
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "X0X0X00000000000X-0" & _
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "X0X0X00000000000X-0" & _
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "X0X0XIIIIIIIIIIIX-0" & _
+            "X0X0XIIIIIIIIIIIX-0" & _
+            "X0X0XIIIIIIIIIIIX-0" & _
+            "X0X0XIIIIIIIIIIIX-0" & _
+            "X0X0XIIIIIIIIIIIX-0" & _
+            "X0X0XIIIIIIIIIIIX-0" & _
+            "X0X0XIIIIIIIIIIIX-0" & _
+            "X0X0XIIIIIIIIIIIX-0" & _
+            "X0X0XIIIIIIIIIIIX-0" & _
+            "X0X0XIIIIIIIIIIIX-0" & _
+            "X0X0XIIIIIIIIIIIX-0" & _
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "-------------------" & _
+            "X0X0X00000000000X-0"
+
+    Public ShortcircuitResultType As String = "" & _
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "XBXBXBBBBBBBBBBBX-B" & _
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "XBXDXDDDDDDDDDDDX-D" & _
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "XBXDXDDDDDDDDDDDX-D" & _
+            "XBXDXDDDDDDDDDDDX-D" & _
+            "XBXDXDDDDDDDDDDDX-D" & _
+            "XBXDXDDDDDDDDDDDX-D" & _
+            "XBXDXDDDDDDDDDDDX-D" & _
+            "XBXDXDDDDDDDDDDDX-D" & _
+            "XBXDXDDDDDDDDDDDX-D" & _
+            "XBXDXDDDDDDDDDDDX-D" & _
+            "XBXDXDDDDDDDDDDDX-D" & _
+            "XBXDXDDDDDDDDDDDX-D" & _
+            "XBXDXDDDDDDDDDDDX-D" & _
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "-------------------" & _
+            "XBXDXDDDDDDDDDDDX-D"
+    Public ShortcircuitAllowedType As String =
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "X0X0X00000000000X-0" & _
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "X0XIX00000000000X-0" & _
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "X0X0X00000000000X-0" & _
+            "X0X0X00000000000X-0" & _
+            "X0X0X00000000000X-0" & _
+            "X0X0X00000000000X-0" & _
+            "X0X0X00000000000X-0" & _
+            "X0X0X00000000000X-0" & _
+            "X0X0X00000000000X-0" & _
+            "X0X0X00000000000X-0" & _
+            "X0X0X00000000000X-0" & _
+            "X0X0X00000000000X-0" & _
+            "X0X0X00000000000X-0" & _
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "-------------------" & _
+            "X0X0X00000000000X-0"
+
+    Public LogicalOperatorResultType As String = "" & _
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "XBXBXBBBBBBBBBBBX-B" & _
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "XBXDXFHHJJLLLLLLX-D" & _
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "XBXFXFHHJJLLLLLLX-L" & _
+            "XBXHXHGHIJKLMLLLX-L" & _
+            "XBXHXHHHJJLLLLLLX-L" & _
+            "XBXJXJIJIJKLMLLLX-L" & _
+            "XBXJXJJJJJLLLLLLX-L" & _
+            "XBXLXLKLKLKLMLLLX-L" & _
+            "XBXLXLLLLLLLLLLLX-L" & _
+            "XBXLXLMLMLMLMLLLX-L" & _
+            "XBXLXLLLLLLLLLLLX-L" & _
+            "XBXLXLLLLLLLLLLLX-L" & _
+            "XBXLXLLLLLLLLLLLX-L" & _
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "-------------------" & _
+            "XBXDXLLLLLLLLLLLX-L"
+    Public LogicalAllowedType As String =
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "X0X0X00000000000X-0" & _
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "X0XIX00000000000X-0" & _
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "X0X0XIIIIIII0000X-0" & _
+            "X0X0XIIIIIII0000X-0" & _
+            "X0X0XIIIIIII0000X-0" & _
+            "X0X0XIIIIIII0000X-0" & _
+            "X0X0XIIIIIII0000X-0" & _
+            "X0X0XIIIIIII0000X-0" & _
+            "X0X0XIIIIIII0000X-0" & _
+            "X0X0X00000000000X-0" & _
+            "X0X0X00000000000X-0" & _
+            "X0X0X00000000000X-0" & _
+            "X0X0X00000000000X-0" & _
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "-------------------" & _
+            "X0X0X00000000000X-0"
+
+    Public RelationalOperandTypes As String = _
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "XBXBBBBBBBBBBBBBB-B" & _
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "XBXDXFHHJJPLPNOPX-D" & _
+            "XBXXEXXXXXXXXXXXX-S" & _
+            "XBXFXFHHJJPLPNOPX-O" & _
+            "XBXHXHGHIJKLMNOPX-O" & _
+            "XBXHXHHHJJPLPNOPX-O" & _
+            "XBXIXJIJIJKLMNOPX-O" & _
+            "XBXJXJJJJJPLPNOPX-O" & _
+            "XBXPXPKPKPKLMNOPX-O" & _
+            "XBXLXLLLLLLLPNOPX-O" & _
+            "XBXPXPMPMPMPMNOPX-O" & _
+            "XBXNXNNNNNNNNNOPX-O" & _
+            "XBXOXOOOOOOOOOOPX-O" & _
+            "XBXPXPPPPPPPPPPPX-O" & _
+            "XBXXXXXXXXXXXXXXQ-Q" & _
+            "-------------------" & _
+            "XBXDSOOOOOOOOOOOQ-S"
+    Public RelationalResultType As String = _
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "XBXBXBBBBBBBBBBBB-B" & _
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "XBXDXDDDDDDDDDDDX-D" & _
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "XBXDXDDDDDDDDDDDX-D" & _
+            "XBXDXDDDDDDDDDDDX-D" & _
+            "XBXDXDDDDDDDDDDDX-D" & _
+            "XBXDXDDDDDDDDDDDX-D" & _
+            "XBXDXDDDDDDDDDDDX-D" & _
+            "XBXDXDDDDDDDDDDDX-D" & _
+            "XBXDXDDDDDDDDDDDX-D" & _
+            "XBXDXDDDDDDDDDDDX-D" & _
+            "XBXDXDDDDDDDDDDDX-D" & _
+            "XBXDXDDDDDDDDDDDX-D" & _
+            "XBXDXDDDDDDDDDDDX-D" & _
+            "XBXXXXXXXXXXXXXXD-X" & _
+            "-------------------" & _
+            "XBXDXDDDDDDDDDDDX-D"
+    Public RelationalAllowedType As String =
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "X0X0X000000000000-0" & _
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "X0XXXXXXXXXXXXXXX-X" & _
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "X0XXXIIIIIIIIIIIX-X" & _
+            "X0XXXIIIIIIIIIIIX-X" & _
+            "X0XXXIIIIIIIIIIIX-X" & _
+            "X0XXXIIIIIIIIIIIX-X" & _
+            "X0XXXIIIIIIIIIIIX-X" & _
+            "X0XXXIIIIIIIIIIIX-X" & _
+            "X0XXXIIIIIIIIIIIX-X" & _
+            "X0XXXIIIIIIIIIIIX-X" & _
+            "X0XXXIIIIIIIIIIIX-X" & _
+            "X0XXXIIIIIIIIIIIX-X" & _
+            "X0XXXIIIIIIIIIIIX-X" & _
+            "X0XXXXXXXXXXXXXXI-X" & _
+            "-------------------" & _
+            "X0XXXXXXXXXXXXXXX-I"
+
+    Public IsIsNotOperandTypes As String = _
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "XBXBBBBBBBBBBBBBB-B" & _
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "XBXDXFHHJJPLPNOPX-D" & _
+            "XBXXEXXXXXXXXXXXX-S" & _
+            "XBXFXFHHJJPLPNOPX-O" & _
+            "XBXHXHGHIJKLMNOPX-O" & _
+            "XBXHXHHHJJPLPNOPX-O" & _
+            "XBXIXJIJIJKLMNOPX-O" & _
+            "XBXJXJJJJJPLPNOPX-O" & _
+            "XBXPXPKPKPKLMNOPX-O" & _
+            "XBXLXLLLLLLLPNOPX-O" & _
+            "XBXPXPMPMPMPMNOPX-O" & _
+            "XBXNXNNNNNNNNNOPX-O" & _
+            "XBXOXOOOOOOOOOOPX-O" & _
+            "XBXPXPPPPPPPPPPPX-O" & _
+            "XBXXXXXXXXXXXXXXQ-Q" & _
+            "-------------------" & _
+            "XBXDSOOOOOOOOOOOQ-S"
+    Public IsIsNotResultType As String = _
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "XDXXXXXXXXXXXXXXX-D" & _
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "-------------------" & _
+            "XDXXXXXXXXXXXXXXX-D"
+    Public IsIsNotAllowedType As String =
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "XIXXXXXXXXXXXXXXX-I" & _
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "-------------------" & _
+            "XIXXXXXXXXXXXXXXX-I"
+
+    Public ExponentResultTypes As String = _
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "XBXBXBBBBBBBBBBBX-B" & _
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "XBXOXOOOOOOOOOOOX-O" & _
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "XBXOXOOOOOOOOOOOX-O" & _
+            "XBXOXOOOOOOOOOOOX-O" & _
+            "XBXOXOOOOOOOOOOOX-O" & _
+            "XBXOXOOOOOOOOOOOX-O" & _
+            "XBXOXOOOOOOOOOOOX-O" & _
+            "XBXOXOOOOOOOOOOOX-O" & _
+            "XBXOXOOOOOOOOOOOX-O" & _
+            "XBXOXOOOOOOOOOOOX-O" & _
+            "XBXOXOOOOOOOOOOOX-O" & _
+            "XBXOXOOOOOOOOOOOX-O" & _
+            "XBXOXOOOOOOOOOOOX-O" & _
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "-------------------" & _
+            "XBXOXOOOOOOOOOOOX-O"
+    Public ExponentAllowedType As String =
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "X0X0X00000000000X-X" & _
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "X0X0X00000000000X-X" & _
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "X0X0XIIIIIIIIIIIX-X" & _
+            "X0X0XIIIIIIIIIIIX-X" & _
+            "X0X0XIIIIIIIIIIIX-X" & _
+            "X0X0XIIIIIIIIIIIX-X" & _
+            "X0X0XIIIIIIIIIIIX-X" & _
+            "X0X0XIIIIIIIIIIIX-X" & _
+            "X0X0XIIIIIIIIIIIX-X" & _
+            "X0X0XIIIIIIIIIIIX-X" & _
+            "X0X0XIIIIIIIIIIIX-X" & _
+            "X0X0XIIIIIIIIIIIX-X" & _
+            "X0X0XIIIIIIIIIIIX-X" & _
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "-------------------" & _
+            "XXXXXXXXXXXXXXXXX-X"
+
+
+    Public ShiftResultType As String = _
+             "XXXXXXXXXXXXXXXXX-X" & _
+             "XBXBXBBBBBBBBBBBX-B" & _
+             "XXXXXXXXXXXXXXXXX-X" & _
+             "XBXHXFGHIJKLMLLLX-L" & _
+             "XBXXXXXXXXXXXXXXX-X" & _
+             "XBXHXFGHIJKLMLLLX-L" & _
+             "XBXHXFGHIJKLMLLLX-L" & _
+             "XBXHXFGHIJKLMLLLX-L" & _
+             "XBXHXFGHIJKLMLLLX-L" & _
+             "XBXHXFGHIJKLMLLLX-L" & _
+             "XBXHXFGHIJKLMLLLX-L" & _
+             "XBXHXFGHIJKLMLLLX-L" & _
+             "XBXHXFGHIJKLMLLLX-L" & _
+             "XBXHXFGHIJKLMLLLX-L" & _
+             "XBXHXFGHIJKLMLLLX-L" & _
+             "XBXHXFGHIJKLMLLLX-L" & _
+             "XBXXXXXXXXXXXXXXX-X" & _
+             "-------------------" & _
+             "XBXHXFGHIJKLMLLLX-L"
+    Public ShiftAllowedType As String =
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "X0X0X00000000000X-0" & _
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "X0X0X00000000000X-0" & _
+            "X0XXXXXXXXXXXXXXX-X" & _
+            "X0X0XIIIIIIII000X-0" & _
+            "X0X0XIIIIIIII000X-0" & _
+            "X0X0XIIIIIIII000X-0" & _
+            "X0X0XIIIIIIII000X-0" & _
+            "X0X0XIIIIIIII000X-0" & _
+            "X0X0X00000000000X-0" & _
+            "X0X0X00000000000X-0" & _
+            "X0X0X00000000000X-0" & _
+            "X0X0X00000000000X-0" & _
+            "X0X0X00000000000X-0" & _
+            "X0X0X00000000000X-0" & _
+            "X0XXXXXXXXXXXXXXX-X" & _
+            "-------------------" & _
+            "X0X0X00000000000X-0"
+
+    Dim NotOperatorResultType1 As String = "XBXDXFGHIJKLMLLLX-L"
+    Dim NotOperatorResultType2 As String = "X0XIXIIIIIIII000X-0"
+    Dim UnaryPlusResultType1 As String = "XBXHXFGHIJKLMNOPX-O"
+    Dim UnaryPlusResultType2 As String = "X0X0XIIIIIIIIIIIX-0"
+    Dim UnaryMinusResultType1 As String = "XBXHXFHHJJLLPNOPX-O"
+    Dim UnaryMinusResultType2 As String = "X0X0XIIIIIIIIIIIX-0"
+
+    Public ConversionResultType As String = _
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "X0X00000000000000-0" & _
+            "XXXXXXXXXXXXXXXXX-X" & _
+            "XIXI1000000000001-0" & _
+            "XIX1I222222221111-0" & _
+            "XIX04I00000000001-0" & _
+            "XIX040I0000000001-0" & _
+            "XIX0400I000000001-0" & _
+            "XIX04000I00000001-0" & _
+            "XIX040000I0000001-0" & _
+            "XIX0400000I000001-0" & _
+            "XIX04000000I00001-0" & _
+            "XIX040000000I0001-0" & _
+            "XIX0100000000I001-0" & _
+            "XIX01000000000I05-0" & _
+            "XIX010000000000I1-0" & _
+            "XIX1111111111161I-0" & _
+            "-------------------" & _
+            "XIX00000000000000-I"
+
+    Dim types() As TypeCode = New TypeCode() {TypeCode.Boolean, TypeCode.Byte, TypeCode.SByte, TypeCode.Int16, TypeCode.UInt16, TypeCode.Int32, TypeCode.UInt32, TypeCode.Int64, TypeCode.UInt64, TypeCode.Decimal, TypeCode.Single, TypeCode.Double, TypeCode.Char, TypeCode.String, TypeCode.DateTime, TypeCode.DBNull, TypeCode.Object}
+    Dim values() As String = New String() {"bool", "b", "sb", "s", "us", "i", "ui", "l", "ul", "dec", "sng", "dbl", "chr", "str", "dt", "dbnull", "obj"}
+    Dim binary_operators() As String = New String() {"AndAlso", "And", "BinaryAdd", "BinarySub", "Concat", "Equals", "Exponent", "GE", "GT", "IntDivision", "Is", "IsNot", "LE", "Like", "LShift", "LT", "Mod", "Mult", "NotEquals", "OrElse", "Or", "RealDivision", "RShift", "Xor"}
+    Dim binary_ops() As String = New String() {"AndAlso", "And", "+", "-", "&", "=", "^", ">=", ">", "\", "Is", "IsNot", "<=", "Like", "<<", "<", "Mod", "*", "<>", "OrElse", "Or", "/", ">>", "Xor"}
+    Dim binary_res() As String = New String() {ShortcircuitResultType, LogicalOperatorResultType, AddResultType, SubResultType, ConcatResultType, RelationalResultType, ExponentResultTypes, RelationalResultType, RelationalResultType, IntDivResultTypes, IsIsNotResultType, IsIsNotResultType, RelationalResultType, LikeResultType, ShiftResultType, RelationalResultType, ModResultType, MultResultType, RelationalResultType, ShortcircuitResultType, LogicalOperatorResultType, RealDivResultTypes, ShiftResultType, LogicalOperatorResultType}
+    Dim binary_imp() As String = New String() {ShortcircuitAllowedType, LogicalAllowedType, AddAllowedType, SubAllowedType, ConcatAllowedType, RelationalAllowedType, ExponentAllowedType, RelationalAllowedType, RelationalAllowedType, IntDivAllowedType, IsIsNotAllowedType, IsIsNotAllowedType, RelationalAllowedType, LikeAllowedType, ShiftAllowedType, RelationalAllowedType, ModAllowedType, MultAllowedType, RelationalAllowedType, ShortcircuitAllowedType, LogicalOperatorResultType, RealDivAllowedType, ShiftAllowedType, LogicalOperatorResultType}
+
+    Dim unary_operators() As String = New String() {"UnaryMinus", "UnaryNot", "UnaryPlus"}
+    Dim unary_ops() As String = New String() {"-", "Not", "+"}
+    Dim unary_res() As String = New String() {UnaryMinusResultType1, NotOperatorResultType1, UnaryPlusResultType1}
+    Dim unary_imp() As String = New String() {UnaryMinusResultType2, NotOperatorResultType2, UnaryPlusResultType2}
+
+    Private Function GetConv(ByVal op1 As TypeCode, ByVal op2 As TypeCode) As Char
+        Return ConversionResultType.Chars(op1 + op2 * 19)
+    End Function
+
+    Sub Main()
+        Dim dir As String = "D:\Documentos\Rolf\Proyectos\VB.NET\vbnc\mono-basic\vbnc\vbnc\tests\CompileTime2"
+        GenerateTypeConversions(dir)
+        GenerateUnaryOperators(dir)
+        GenerateBinaryOperators(dir)
+    End Sub
+
+    Sub GenerateUnaryOperators(ByVal dir As String)
+        Dim id As Integer = 2251
+
+        For i As Integer = 0 To unary_operators.Length - 1
+            Using fs As New FileStream(Path.Combine(dir, "OperatorIntrinsic" + unary_operators(i) + ".vb"), FileMode.Create)
+                GenerateUnaryOperators(fs, unary_operators(i), unary_ops(i), unary_res(i), unary_imp(i))
+            End Using
+
+            Debug.WriteLine(String.Format(
+"	<test id=""{1}"" name=""OperatorIntrinsic{0}""  target=""exe"" mytype=""empty"">" &
+"		<file>CompileTime2\OperatorIntrinsic{0}.vb</file>" &
+"		<file>CompileTime2\OperatorIntrinsic.vb</file>" &
+"	</test>", unary_operators(i), id))
+            Debug.WriteLine(String.Format(
+"	<test id=""{1}"" name=""OperatorIntrinsic{0}Strict"" mytype=""empty"">" &
+"		<arguments>/optionstrict+ /define:STRICT</arguments>" &
+"		<file>CompileTime2\OperatorIntrinsic{0}.vb</file>" &
+"		<file>CompileTime2\OperatorIntrinsic.vb</file>" &
+"	</test>", unary_operators(i), id + 1))
+            Debug.WriteLine(String.Format(
+"	<test id=""{1}"" name=""OperatorIntrinsic{0}Error"" mytype=""empty"" expectedexitcode=""1"">" &
+"		<arguments>/define:ERRORS</arguments>" &
+"		<file>CompileTime2\OperatorIntrinsic{0}.vb</file>" &
+"		<file>CompileTime2\OperatorIntrinsic.vb</file>" &
+"	</test>", unary_operators(i), id + 2))
+            Debug.WriteLine(String.Format(
+"	<test id=""{1}"" name=""OperatorIntrinsic{0}StrictError"" mytype=""empty"" expectedexitcode=""1"">" &
+"		<arguments>/optionstrict+ /define:ERRORS /define:STRICT</arguments>" &
+"		<file>CompileTime2\OperatorIntrinsic{0}.vb</file>" &
+"		<file>CompileTime2\OperatorIntrinsic.vb</file>" &
+"	</test>", unary_operators(i), id + 3))
+            id += 4
+        Next
+    End Sub
+
+    Sub GenerateBinaryOperators(ByVal dir As String)
+        Dim id As Integer = 2251 + 12
+
+        For i As Integer = 0 To binary_operators.Length - 1
+            Debug.WriteLine(String.Format(
+"	<test id=""{1}"" name=""OperatorIntrinsic_{0}_""  target=""exe"" mytype=""empty"">" &
+"		<file>CompileTime2\OperatorIntrinsic{0}.vb</file>" &
+"		<file>CompileTime2\OperatorIntrinsic.vb</file>" &
+"	</test>", binary_operators(i), id))
+            Debug.WriteLine(String.Format(
+"	<test id=""{1}"" name=""OperatorIntrinsic_{0}_Strict"" mytype=""empty"">" &
+"		<arguments>/optionstrict+ /define:STRICT</arguments>" &
+"		<file>CompileTime2\OperatorIntrinsic{0}.vb</file>" &
+"		<file>CompileTime2\OperatorIntrinsic.vb</file>" &
+"	</test>", binary_operators(i), id + 1))
+            id += 2
+
+            Using fs As New FileStream(Path.Combine(dir, "OperatorIntrinsic" + binary_operators(i) + ".vb"), FileMode.Create)
+                GenerateBinaryOperators(fs, binary_operators(i), binary_ops(i), binary_res(i), binary_imp(i))
+            End Using
+
+            For l As Integer = 0 To types.Length - 1
+                Debug.WriteLine(String.Format(
+    "	<test id=""{1}"" name=""OperatorIntrinsic_{0}_{2}Error"" mytype=""empty"" expectedexitcode=""1"">" &
+    "		<arguments>/define:{2}_ERRORS</arguments>" &
+    "		<file>CompileTime2\OperatorIntrinsic{0}.vb</file>" &
+    "		<file>CompileTime2\OperatorIntrinsic.vb</file>" &
+    "	</test>", binary_operators(i), id, types(l).ToString()))
+                Debug.WriteLine(String.Format(
+    "	<test id=""{1}"" name=""OperatorIntrinsic_{0}_{2}StrictError"" mytype=""empty"" expectedexitcode=""1"">" &
+    "		<arguments>/optionstrict+ /define:{2}_ERRORS /define:STRICT</arguments>" &
+    "		<file>CompileTime2\OperatorIntrinsic{0}.vb</file>" &
+    "		<file>CompileTime2\OperatorIntrinsic.vb</file>" &
+    "	</test>", binary_operators(i), id + 1, types(l).ToString()))
+                id += 2
+            Next
+        Next
+    End Sub
+
+    Sub GenerateUnaryOperators(ByVal stream As Stream, ByVal opname As String, ByVal op As String, ByVal result As String, ByVal conv As String)
+        Using w As New StreamWriter(stream)
+            w.WriteLine("Class UnaryOperator" & opname)
+            w.WriteLine("    Inherits IntrinsicOperatorTests")
+            w.WriteLine("    Shared Function Main As Integer")
+            w.WriteLine("        Try")
+            For i As Integer = 0 To types.Count - 1
+                Dim tc As Char = result(CInt(types(i)))
+                Dim c As Char = conv(CInt(types(i)))
+
+                If c = "I" Then
+                    WriteExpectedTC(w, tc)
+                    w.WriteLine("        M({0} {1}, ""{0} {1}"")", op, values(i), op, values(i))
+                ElseIf c = "0" Then
+                    w.WriteLine("#If Not STRICT Or ERRORS")
+                    WriteExpectedTC(w, tc)
+                    w.WriteLine("        M({0} {1}, ""{0} {1}"")", op, values(i), op, values(i))
+                    w.WriteLine("#End If")
+                Else
+                    w.WriteLine("#If ERRORS")
+                    w.WriteLine("        M({0} {1}, ""{0} {1}"")", op, values(i), op, values(i))
+                    w.WriteLine("#End If")
+                End If
+            Next
+            w.WriteLine("    If failures > 0 Then Return 1")
+            w.WriteLine("    Catch ex As Exception")
+            w.WriteLine("        Console.WriteLine (""Exception: {0}"", ex)")
+            w.WriteLine("        Return 2")
+            w.WriteLine("    End Try")
+            w.WriteLine("    End Function")
+            w.WriteLine("End Class")
+        End Using
+    End Sub
+
+    Sub GenerateBinaryOperators(ByVal stream As Stream, ByVal opname As String, ByVal op As String, ByVal result As String, ByVal conv As String)
+        Using w As New StreamWriter(stream)
+            w.WriteLine("Class BinaryOperator" & opname)
+            w.WriteLine("    Inherits IntrinsicOperatorTests")
+            w.WriteLine("    Shared Function Main As Integer")
+            w.WriteLine("        Try")
+            If opname = "IntDivision" OrElse opname = "RealDivision" OrElse opname = "Mod" Then
+                w.WriteLine("            obj = 1")
+            End If
+            For i As Integer = 0 To types.Count - 1
+                For j As Integer = 0 To types.Count - 1
+                    Dim tci As TypeCode = types(i)
+                    Dim tcj As TypeCode = types(j)
+                    Dim tc As Char = result(tci + tcj * 19)
+                    Dim c As Char = conv(tci + tcj * 19)
+
+                    If (opname = "LShift" OrElse opname = "RShift") AndAlso tci = TypeCode.Object AndAlso (tcj = TypeCode.Char OrElse tcj = TypeCode.DateTime) Then
+                        'https://connect.microsoft.com/VisualStudio/feedback/details/669572/vb10-shift-operators-allows-char-as-second-operand
+                        w.WriteLine("#If Not STRICT Or {0}_ERRORS", tci.ToString())
+                        w.WriteLine("        Try")
+                        WriteExpectedTC(w, tc)
+                        w.WriteLine("            M({1} {0} {2}, ""{1} {0} {2}"")", op, values(i), values(j))
+                        w.WriteLine("        Catch ex as InvalidCastException")
+                        w.WriteLine("        End Try")
+                        w.WriteLine("#End If")
+                    ElseIf c = "I" Then
+                        WriteExpectedTC(w, tc)
+                        w.WriteLine("            M({1} {0} {2}, ""{1} {0} {2}"")", op, values(i), values(j))
+                    ElseIf c = "0" Then
+                        w.WriteLine("#If Not STRICT Or {0}_ERRORS", tci.ToString())
+                        WriteExpectedTC(w, tc)
+                        w.WriteLine("            M({1} {0} {2}, ""{1} {0} {2}"")", op, values(i), values(j))
+                        w.WriteLine("#End If")
+                    Else
+                        w.WriteLine("#If {0}_ERRORS", tci.ToString())
+                        w.WriteLine("            M({1} {0} {2}, ""{1} {0} {2}"")", op, values(i), values(j))
+                        w.WriteLine("#End If")
+                    End If
+                Next
+            Next
+            w.WriteLine("        If failures > 0 Then Return 1")
+            w.WriteLine("    Catch ex As Exception")
+            w.WriteLine("        Console.WriteLine (""Exception: {0}"", ex)")
+            w.WriteLine("        Return 2")
+            w.WriteLine("    End Try")
+            w.WriteLine("    Return 0")
+            w.WriteLine("    End Function")
+            w.WriteLine("End Class")
+        End Using
+    End Sub
+
+    Sub WriteExpectedTC(ByVal w As StreamWriter, ByVal tc As Char)
+        '0 = A Empty          A
+        '1 = B Object         B
+        '2 = C DBNull         C
+        '3 = D Boolean        D
+        '4 = E Char           E
+        '5 = F SByte          F
+        '6 = G Byte           G
+        '7 = H Int16(Short)   H
+        '8 = I UInt16(UShort) I
+        '9 = J Int32          J
+        '10= K UInt32         K 
+        '11= L Int64(Long)    L
+        '12= M UInt64(ULong)  M
+        '13= N Single         N
+        '14= O Double         O
+        '15= P Decimal        P
+        '16= Q DateTime       Q
+        '17= - 17             -
+        '18= S String         S
+        w.WriteLine("            expected_tc = TypeCode.{0}", CType(Convert.ToInt16(tc) - Convert.ToInt16("A"c), TypeCode).ToString())
+    End Sub
+
+    Sub GenerateTypeConversions(ByVal dir As String)
+        For i As Integer = 0 To types.Count - 1
+            Dim tc As TypeCode = types(i)
+            If types(i) = TypeCode.Empty Then Continue For
+            Using fs As New FileStream(Path.Combine(dir, "TypeConversionIntrinsic" + tc.ToString() + ".vb"), FileMode.Create)
+                GenerateTypeConversions(fs, tc)
+            End Using
+        Next
+    End Sub
+
+    Sub GenerateTypeConversions(ByVal stream As Stream, ByVal tc As TypeCode)
+        Using w As New StreamWriter(stream)
+            w.WriteLine("Class TypeConversionIntrinsic")
+
+            w.WriteLine("    Sub LocalVariables")
+            WriteVariables(w, "", "i", "        Dim ", Environment.NewLine)
+            WriteVariables(w, "", "o", "        Dim ", Environment.NewLine)
+            WriteConversions(w, tc)
+            w.WriteLine("    End Sub")
+
+            w.Write("    Sub InLocalOutRef(")
+            WriteVariables(w, "ByRef", "o", "", ")" + Environment.NewLine)
+            WriteVariables(w, "", "i", "        Dim ", Environment.NewLine)
+            WriteConversions(w, tc)
+            w.WriteLine("    End Sub")
+
+            w.Write("    Sub InRefOutLocal(")
+            WriteVariables(w, "ByRef", "i", "", ")" + Environment.NewLine)
+            WriteVariables(w, "", "o", "        Dim ", Environment.NewLine)
+            WriteConversions(w, tc)
+            w.WriteLine("    End Sub")
+
+            w.Write("    Sub InRefOutRef(")
+            WriteVariables(w, "ByRef", "i", "", ", ")
+            WriteVariables(w, "ByRef", "o", "", ")" + Environment.NewLine)
+            WriteConversions(w, tc)
+            w.WriteLine("    End Sub")
+
+            w.WriteLine("End Class")
+        End Using
+    End Sub
+
+    Sub WriteVariables(ByVal w As StreamWriter, ByVal access As String, ByVal prefix As String, ByVal pre As String, ByVal post As String)
+        w.Write("{2}{0} {1}_bool As Boolean, {0} {1}_byte As Byte, {0} {1}_sbyte As SByte, {0} {1}_short As Short, {0} {1}_ushort As UShort, {0} {1}_int As Integer, {0} {1}_uint as UInteger, {0} {1}_long As Long, {0} {1}_ulong As ULong, {0} {1}_dec As Decimal, {0} {1}_sng As Single,{0} {1}_dbl As Double, {0} {1}_chr As Char, {0} {1}_str As String, {0} {1}_dt As Date, {0} {1}_dbnull As DBNull, {0} {1}_obj As Object{3}", access, prefix, pre, post)
+    End Sub
+
+    Sub WriteConversions(ByVal w As StreamWriter, ByVal tc As TypeCode)
+        Dim suffix() As String
+
+        ReDim suffix(20)
+
+        suffix(TypeCode.Boolean) = "bool"
+        suffix(TypeCode.Byte) = "byte"
+        suffix(TypeCode.SByte) = "sbyte"
+        suffix(TypeCode.Int16) = "short"
+        suffix(TypeCode.UInt16) = "ushort"
+        suffix(TypeCode.Int32) = "int"
+        suffix(TypeCode.UInt32) = "uint"
+        suffix(TypeCode.Int64) = "long"
+        suffix(TypeCode.UInt64) = "ulong"
+        suffix(TypeCode.Decimal) = "dec"
+        suffix(TypeCode.Single) = "sng"
+        suffix(TypeCode.Double) = "dbl"
+        suffix(TypeCode.String) = "str"
+        suffix(TypeCode.Char) = "chr"
+        suffix(TypeCode.Object) = "obj"
+        suffix(TypeCode.DateTime) = "dt"
+        suffix(TypeCode.DBNull) = "dbnull"
+
+        For i As Integer = 0 To types.Length - 1
+            For o As Integer = 0 To types.Length - 1
+                Dim c As Char
+
+                If types(i) = TypeCode.Empty OrElse types(o) = TypeCode.Empty Then Continue For
+                If types(i) <> tc Then Continue For
+
+                c = GetConv(types(i), types(o))
+                If c = "I" Then
+                    w.WriteLine("        i_{0} = o_{1}", suffix(types(i)), suffix(types(o)))
+                ElseIf c = "0" Then
+                    w.WriteLine("#If Not STRICT Or ERRORS")
+                    w.WriteLine("        i_{0} = o_{1}", suffix(types(i)), suffix(types(o)))
+                    w.WriteLine("#End If")
+                Else
+                    w.WriteLine("#If ERRORS")
+                    w.WriteLine("        i_{0} = o_{1}", suffix(types(i)), suffix(types(o)))
+                    w.WriteLine("#End If")
+                End If
+            Next
+        Next
+    End Sub
+End Module
+#End If
+
diff --git a/vbnc/vbnc/tests/CompileTime2/TypeConversionIntrinsicInt16.vb b/vbnc/vbnc/tests/CompileTime2/TypeConversionIntrinsicInt16.vb
new file mode 100644
index 0000000..3941bfe
--- /dev/null
+++ b/vbnc/vbnc/tests/CompileTime2/TypeConversionIntrinsicInt16.vb
@@ -0,0 +1,210 @@
+Class TypeConversionIntrinsic
+    Sub LocalVariables
+        Dim  i_bool As Boolean,  i_byte As Byte,  i_sbyte As SByte,  i_short As Short,  i_ushort As UShort,  i_int As Integer,  i_uint as UInteger,  i_long As Long,  i_ulong As ULong,  i_dec As Decimal,  i_sng As Single, i_dbl As Double,  i_chr As Char,  i_str As String,  i_dt As Date,  i_dbnull As DBNull,  i_obj As Object
+        Dim  o_bool As Boolean,  o_byte As Byte,  o_sbyte As SByte,  o_short As Short,  o_ushort As UShort,  o_int As Integer,  o_uint as UInteger,  o_long As Long,  o_ulong As ULong,  o_dec As Decimal,  o_sng As Single, o_dbl As Double,  o_chr As Char,  o_str As String,  o_dt As Date,  o_dbnull As DBNull,  o_obj As Object
+#If Not STRICT Or ERRORS
+        i_short = o_bool
+#End If
+#If Not STRICT Or ERRORS
+        i_short = o_byte
+#End If
+#If Not STRICT Or ERRORS
+        i_short = o_sbyte
+#End If
+        i_short = o_short
+#If Not STRICT Or ERRORS
+        i_short = o_ushort
+#End If
+#If Not STRICT Or ERRORS
+        i_short = o_int
+#End If
+#If Not STRICT Or ERRORS
+        i_short = o_uint
+#End If
+#If Not STRICT Or ERRORS
+        i_short = o_long
+#End If
+#If Not STRICT Or ERRORS
+        i_short = o_ulong
+#End If
+#If Not STRICT Or ERRORS
+        i_short = o_dec
+#End If
+#If Not STRICT Or ERRORS
+        i_short = o_sng
+#End If
+#If Not STRICT Or ERRORS
+        i_short = o_dbl
+#End If
+#If ERRORS
+        i_short = o_chr
+#End If
+#If Not STRICT Or ERRORS
+        i_short = o_str
+#End If
+#If ERRORS
+        i_short = o_dt
+#End If
+#If ERRORS
+        i_short = o_dbnull
+#End If
+#If Not STRICT Or ERRORS
+        i_short = o_obj
+#End If
+    End Sub
+    Sub InLocalOutRef(ByRef o_bool As Boolean, ByRef o_byte As Byte, ByRef o_sbyte As SByte, ByRef o_short As Short, ByRef o_ushort As UShort, ByRef o_int As Integer, ByRef o_uint as UInteger, ByRef o_long As Long, ByRef o_ulong As ULong, ByRef o_dec As Decimal, ByRef o_sng As Single,ByRef o_dbl As Double, ByRef o_chr As Char, ByRef o_str As String, ByRef o_dt As Date, ByRef o_dbnull As DBNull, ByRef o_obj As Object)
+        Dim  i_bool As Boolean,  i_byte As Byte,  i_sbyte As SByte,  i_short As Short,  i_ushort As UShort,  i_int As Integer,  i_uint as UInteger,  i_long As Long,  i_ulong As ULong,  i_dec As Decimal,  i_sng As Single, i_dbl As Double,  i_chr As Char,  i_str As String,  i_dt As Date,  i_dbnull As DBNull,  i_obj As Object
+#If Not STRICT Or ERRORS
+        i_short = o_bool
+#End If
+#If Not STRICT Or ERRORS
+        i_short = o_byte
+#End If
+#If Not STRICT Or ERRORS
+        i_short = o_sbyte
+#End If
+        i_short = o_short
+#If Not STRICT Or ERRORS
+        i_short = o_ushort
+#End If
+#If Not STRICT Or ERRORS
+        i_short = o_int
+#End If
+#If Not STRICT Or ERRORS
+        i_short = o_uint
+#End If
+#If Not STRICT Or ERRORS
+        i_short = o_long
+#End If
+#If Not STRICT Or ERRORS
+        i_short = o_ulong
+#End If
+#If Not STRICT Or ERRORS
+        i_short = o_dec
+#End If
+#If Not STRICT Or ERRORS
+        i_short = o_sng
+#End If
+#If Not STRICT Or ERRORS
+        i_short = o_dbl
+#End If
+#If ERRORS
+        i_short = o_chr
+#End If
+#If Not STRICT Or ERRORS
+        i_short = o_str
+#End If
+#If ERRORS
+        i_short = o_dt
+#End If
+#If ERRORS
+        i_short = o_dbnull
+#End If
+#If Not STRICT Or ERRORS
+        i_short = o_obj
+#End If
+    End Sub
+    Sub InRefOutLocal(ByRef i_bool As Boolean, ByRef i_byte As Byte, ByRef i_sbyte As SByte, ByRef i_short As Short, ByRef i_ushort As UShort, ByRef i_int As Integer, ByRef i_uint as UInteger, ByRef i_long As Long, ByRef i_ulong As ULong, ByRef i_dec As Decimal, ByRef i_sng As Single,ByRef i_dbl As Double, ByRef i_chr As Char, ByRef i_str As String, ByRef i_dt As Date, ByRef i_dbnull As DBNull, ByRef i_obj As Object)
+        Dim  o_bool As Boolean,  o_byte As Byte,  o_sbyte As SByte,  o_short As Short,  o_ushort As UShort,  o_int As Integer,  o_uint as UInteger,  o_long As Long,  o_ulong As ULong,  o_dec As Decimal,  o_sng As Single, o_dbl As Double,  o_chr As Char,  o_str As String,  o_dt As Date,  o_dbnull As DBNull,  o_obj As Object
+#If Not STRICT Or ERRORS
+        i_short = o_bool
+#End If
+#If Not STRICT Or ERRORS
+        i_short = o_byte
+#End If
+#If Not STRICT Or ERRORS
+        i_short = o_sbyte
+#End If
+        i_short = o_short
+#If Not STRICT Or ERRORS
+        i_short = o_ushort
+#End If
+#If Not STRICT Or ERRORS
+        i_short = o_int
+#End If
+#If Not STRICT Or ERRORS
+        i_short = o_uint
+#End If
+#If Not STRICT Or ERRORS
+        i_short = o_long
+#End If
+#If Not STRICT Or ERRORS
+        i_short = o_ulong
+#End If
+#If Not STRICT Or ERRORS
+        i_short = o_dec
+#End If
+#If Not STRICT Or ERRORS
+        i_short = o_sng
+#End If
+#If Not STRICT Or ERRORS
+        i_short = o_dbl
+#End If
+#If ERRORS
+        i_short = o_chr
+#End If
+#If Not STRICT Or ERRORS
+        i_short = o_str
+#End If
+#If ERRORS
+        i_short = o_dt
+#End If
+#If ERRORS
+        i_short = o_dbnull
+#End If
+#If Not STRICT Or ERRORS
+        i_short = o_obj
+#End If
+    End Sub
+    Sub InRefOutRef(ByRef i_bool As Boolean, ByRef i_byte As Byte, ByRef i_sbyte As SByte, ByRef i_short As Short, ByRef i_ushort As UShort, ByRef i_int As Integer, ByRef i_uint as UInteger, ByRef i_long As Long, ByRef i_ulong As ULong, ByRef i_dec As Decimal, ByRef i_sng As Single,ByRef i_dbl As Double, ByRef i_chr As Char, ByRef i_str As String, ByRef i_dt As Date, ByRef i_dbnull As DBNull, ByRef i_obj As Object, ByRef o_bool As Boolean, ByRef o_byte As Byte, ByRef o_sbyte As SByte, ByRef o_short As Short, ByRef o_ushort As UShort, ByRef o_int As Integer, ByRef o_uint as UInteger, ByRef o_long As Long, ByRef o_ulong As ULong, ByRef o_dec As Decimal, ByRef o_sng As Single,ByRef o_dbl As Double, ByRef o_chr As Char, ByRef o_str As String, ByRef o_dt As Date, ByRef o_dbnull As DBNull, ByRef o_obj As Object)
+#If Not STRICT Or ERRORS
+        i_short = o_bool
+#End If
+#If Not STRICT Or ERRORS
+        i_short = o_byte
+#End If
+#If Not STRICT Or ERRORS
+        i_short = o_sbyte
+#End If
+        i_short = o_short
+#If Not STRICT Or ERRORS
+        i_short = o_ushort
+#End If
+#If Not STRICT Or ERRORS
+        i_short = o_int
+#End If
+#If Not STRICT Or ERRORS
+        i_short = o_uint
+#End If
+#If Not STRICT Or ERRORS
+        i_short = o_long
+#End If
+#If Not STRICT Or ERRORS
+        i_short = o_ulong
+#End If
+#If Not STRICT Or ERRORS
+        i_short = o_dec
+#End If
+#If Not STRICT Or ERRORS
+        i_short = o_sng
+#End If
+#If Not STRICT Or ERRORS
+        i_short = o_dbl
+#End If
+#If ERRORS
+        i_short = o_chr
+#End If
+#If Not STRICT Or ERRORS
+        i_short = o_str
+#End If
+#If ERRORS
+        i_short = o_dt
+#End If
+#If ERRORS
+        i_short = o_dbnull
+#End If
+#If Not STRICT Or ERRORS
+        i_short = o_obj
+#End If
+    End Sub
+End Class
diff --git a/vbnc/vbnc/tests/CompileTime2/TypeConversionIntrinsicInt32.vb b/vbnc/vbnc/tests/CompileTime2/TypeConversionIntrinsicInt32.vb
new file mode 100644
index 0000000..5bf576f
--- /dev/null
+++ b/vbnc/vbnc/tests/CompileTime2/TypeConversionIntrinsicInt32.vb
@@ -0,0 +1,210 @@
+Class TypeConversionIntrinsic
+    Sub LocalVariables
+        Dim  i_bool As Boolean,  i_byte As Byte,  i_sbyte As SByte,  i_short As Short,  i_ushort As UShort,  i_int As Integer,  i_uint as UInteger,  i_long As Long,  i_ulong As ULong,  i_dec As Decimal,  i_sng As Single, i_dbl As Double,  i_chr As Char,  i_str As String,  i_dt As Date,  i_dbnull As DBNull,  i_obj As Object
+        Dim  o_bool As Boolean,  o_byte As Byte,  o_sbyte As SByte,  o_short As Short,  o_ushort As UShort,  o_int As Integer,  o_uint as UInteger,  o_long As Long,  o_ulong As ULong,  o_dec As Decimal,  o_sng As Single, o_dbl As Double,  o_chr As Char,  o_str As String,  o_dt As Date,  o_dbnull As DBNull,  o_obj As Object
+#If Not STRICT Or ERRORS
+        i_int = o_bool
+#End If
+#If Not STRICT Or ERRORS
+        i_int = o_byte
+#End If
+#If Not STRICT Or ERRORS
+        i_int = o_sbyte
+#End If
+#If Not STRICT Or ERRORS
+        i_int = o_short
+#End If
+#If Not STRICT Or ERRORS
+        i_int = o_ushort
+#End If
+        i_int = o_int
+#If Not STRICT Or ERRORS
+        i_int = o_uint
+#End If
+#If Not STRICT Or ERRORS
+        i_int = o_long
+#End If
+#If Not STRICT Or ERRORS
+        i_int = o_ulong
+#End If
+#If Not STRICT Or ERRORS
+        i_int = o_dec
+#End If
+#If Not STRICT Or ERRORS
+        i_int = o_sng
+#End If
+#If Not STRICT Or ERRORS
+        i_int = o_dbl
+#End If
+#If ERRORS
+        i_int = o_chr
+#End If
+#If Not STRICT Or ERRORS
+        i_int = o_str
+#End If
+#If ERRORS
+        i_int = o_dt
+#End If
+#If ERRORS
+        i_int = o_dbnull
+#End If
+#If Not STRICT Or ERRORS
+        i_int = o_obj
+#End If
+    End Sub
+    Sub InLocalOutRef(ByRef o_bool As Boolean, ByRef o_byte As Byte, ByRef o_sbyte As SByte, ByRef o_short As Short, ByRef o_ushort As UShort, ByRef o_int As Integer, ByRef o_uint as UInteger, ByRef o_long As Long, ByRef o_ulong As ULong, ByRef o_dec As Decimal, ByRef o_sng As Single,ByRef o_dbl As Double, ByRef o_chr As Char, ByRef o_str As String, ByRef o_dt As Date, ByRef o_dbnull As DBNull, ByRef o_obj As Object)
+        Dim  i_bool As Boolean,  i_byte As Byte,  i_sbyte As SByte,  i_short As Short,  i_ushort As UShort,  i_int As Integer,  i_uint as UInteger,  i_long As Long,  i_ulong As ULong,  i_dec As Decimal,  i_sng As Single, i_dbl As Double,  i_chr As Char,  i_str As String,  i_dt As Date,  i_dbnull As DBNull,  i_obj As Object
+#If Not STRICT Or ERRORS
+        i_int = o_bool
+#End If
+#If Not STRICT Or ERRORS
+        i_int = o_byte
+#End If
+#If Not STRICT Or ERRORS
+        i_int = o_sbyte
+#End If
+#If Not STRICT Or ERRORS
+        i_int = o_short
+#End If
+#If Not STRICT Or ERRORS
+        i_int = o_ushort
+#End If
+        i_int = o_int
+#If Not STRICT Or ERRORS
+        i_int = o_uint
+#End If
+#If Not STRICT Or ERRORS
+        i_int = o_long
+#End If
+#If Not STRICT Or ERRORS
+        i_int = o_ulong
+#End If
+#If Not STRICT Or ERRORS
+        i_int = o_dec
+#End If
+#If Not STRICT Or ERRORS
+        i_int = o_sng
+#End If
+#If Not STRICT Or ERRORS
+        i_int = o_dbl
+#End If
+#If ERRORS
+        i_int = o_chr
+#End If
+#If Not STRICT Or ERRORS
+        i_int = o_str
+#End If
+#If ERRORS
+        i_int = o_dt
+#End If
+#If ERRORS
+        i_int = o_dbnull
+#End If
+#If Not STRICT Or ERRORS
+        i_int = o_obj
+#End If
+    End Sub
+    Sub InRefOutLocal(ByRef i_bool As Boolean, ByRef i_byte As Byte, ByRef i_sbyte As SByte, ByRef i_short As Short, ByRef i_ushort As UShort, ByRef i_int As Integer, ByRef i_uint as UInteger, ByRef i_long As Long, ByRef i_ulong As ULong, ByRef i_dec As Decimal, ByRef i_sng As Single,ByRef i_dbl As Double, ByRef i_chr As Char, ByRef i_str As String, ByRef i_dt As Date, ByRef i_dbnull As DBNull, ByRef i_obj As Object)
+        Dim  o_bool As Boolean,  o_byte As Byte,  o_sbyte As SByte,  o_short As Short,  o_ushort As UShort,  o_int As Integer,  o_uint as UInteger,  o_long As Long,  o_ulong As ULong,  o_dec As Decimal,  o_sng As Single, o_dbl As Double,  o_chr As Char,  o_str As String,  o_dt As Date,  o_dbnull As DBNull,  o_obj As Object
+#If Not STRICT Or ERRORS
+        i_int = o_bool
+#End If
+#If Not STRICT Or ERRORS
+        i_int = o_byte
+#End If
+#If Not STRICT Or ERRORS
+        i_int = o_sbyte
+#End If
+#If Not STRICT Or ERRORS
+        i_int = o_short
+#End If
+#If Not STRICT Or ERRORS
+        i_int = o_ushort
+#End If
+        i_int = o_int
+#If Not STRICT Or ERRORS
+        i_int = o_uint
+#End If
+#If Not STRICT Or ERRORS
+        i_int = o_long
+#End If
+#If Not STRICT Or ERRORS
+        i_int = o_ulong
+#End If
+#If Not STRICT Or ERRORS
+        i_int = o_dec
+#End If
+#If Not STRICT Or ERRORS
+        i_int = o_sng
+#End If
+#If Not STRICT Or ERRORS
+        i_int = o_dbl
+#End If
+#If ERRORS
+        i_int = o_chr
+#End If
+#If Not STRICT Or ERRORS
+        i_int = o_str
+#End If
+#If ERRORS
+        i_int = o_dt
+#End If
+#If ERRORS
+        i_int = o_dbnull
+#End If
+#If Not STRICT Or ERRORS
+        i_int = o_obj
+#End If
+    End Sub
+    Sub InRefOutRef(ByRef i_bool As Boolean, ByRef i_byte As Byte, ByRef i_sbyte As SByte, ByRef i_short As Short, ByRef i_ushort As UShort, ByRef i_int As Integer, ByRef i_uint as UInteger, ByRef i_long As Long, ByRef i_ulong As ULong, ByRef i_dec As Decimal, ByRef i_sng As Single,ByRef i_dbl As Double, ByRef i_chr As Char, ByRef i_str As String, ByRef i_dt As Date, ByRef i_dbnull As DBNull, ByRef i_obj As Object, ByRef o_bool As Boolean, ByRef o_byte As Byte, ByRef o_sbyte As SByte, ByRef o_short As Short, ByRef o_ushort As UShort, ByRef o_int As Integer, ByRef o_uint as UInteger, ByRef o_long As Long, ByRef o_ulong As ULong, ByRef o_dec As Decimal, ByRef o_sng As Single,ByRef o_dbl As Double, ByRef o_chr As Char, ByRef o_str As String, ByRef o_dt As Date, ByRef o_dbnull As DBNull, ByRef o_obj As Object)
+#If Not STRICT Or ERRORS
+        i_int = o_bool
+#End If
+#If Not STRICT Or ERRORS
+        i_int = o_byte
+#End If
+#If Not STRICT Or ERRORS
+        i_int = o_sbyte
+#End If
+#If Not STRICT Or ERRORS
+        i_int = o_short
+#End If
+#If Not STRICT Or ERRORS
+        i_int = o_ushort
+#End If
+        i_int = o_int
+#If Not STRICT Or ERRORS
+        i_int = o_uint
+#End If
+#If Not STRICT Or ERRORS
+        i_int = o_long
+#End If
+#If Not STRICT Or ERRORS
+        i_int = o_ulong
+#End If
+#If Not STRICT Or ERRORS
+        i_int = o_dec
+#End If
+#If Not STRICT Or ERRORS
+        i_int = o_sng
+#End If
+#If Not STRICT Or ERRORS
+        i_int = o_dbl
+#End If
+#If ERRORS
+        i_int = o_chr
+#End If
+#If Not STRICT Or ERRORS
+        i_int = o_str
+#End If
+#If ERRORS
+        i_int = o_dt
+#End If
+#If ERRORS
+        i_int = o_dbnull
+#End If
+#If Not STRICT Or ERRORS
+        i_int = o_obj
+#End If
+    End Sub
+End Class
diff --git a/vbnc/vbnc/tests/CompileTime2/TypeConversionIntrinsicInt64.vb b/vbnc/vbnc/tests/CompileTime2/TypeConversionIntrinsicInt64.vb
new file mode 100644
index 0000000..c1f16ae
--- /dev/null
+++ b/vbnc/vbnc/tests/CompileTime2/TypeConversionIntrinsicInt64.vb
@@ -0,0 +1,210 @@
+Class TypeConversionIntrinsic
+    Sub LocalVariables
+        Dim  i_bool As Boolean,  i_byte As Byte,  i_sbyte As SByte,  i_short As Short,  i_ushort As UShort,  i_int As Integer,  i_uint as UInteger,  i_long As Long,  i_ulong As ULong,  i_dec As Decimal,  i_sng As Single, i_dbl As Double,  i_chr As Char,  i_str As String,  i_dt As Date,  i_dbnull As DBNull,  i_obj As Object
+        Dim  o_bool As Boolean,  o_byte As Byte,  o_sbyte As SByte,  o_short As Short,  o_ushort As UShort,  o_int As Integer,  o_uint as UInteger,  o_long As Long,  o_ulong As ULong,  o_dec As Decimal,  o_sng As Single, o_dbl As Double,  o_chr As Char,  o_str As String,  o_dt As Date,  o_dbnull As DBNull,  o_obj As Object
+#If Not STRICT Or ERRORS
+        i_long = o_bool
+#End If
+#If Not STRICT Or ERRORS
+        i_long = o_byte
+#End If
+#If Not STRICT Or ERRORS
+        i_long = o_sbyte
+#End If
+#If Not STRICT Or ERRORS
+        i_long = o_short
+#End If
+#If Not STRICT Or ERRORS
+        i_long = o_ushort
+#End If
+#If Not STRICT Or ERRORS
+        i_long = o_int
+#End If
+#If Not STRICT Or ERRORS
+        i_long = o_uint
+#End If
+        i_long = o_long
+#If Not STRICT Or ERRORS
+        i_long = o_ulong
+#End If
+#If Not STRICT Or ERRORS
+        i_long = o_dec
+#End If
+#If Not STRICT Or ERRORS
+        i_long = o_sng
+#End If
+#If Not STRICT Or ERRORS
+        i_long = o_dbl
+#End If
+#If ERRORS
+        i_long = o_chr
+#End If
+#If Not STRICT Or ERRORS
+        i_long = o_str
+#End If
+#If ERRORS
+        i_long = o_dt
+#End If
+#If ERRORS
+        i_long = o_dbnull
+#End If
+#If Not STRICT Or ERRORS
+        i_long = o_obj
+#End If
+    End Sub
+    Sub InLocalOutRef(ByRef o_bool As Boolean, ByRef o_byte As Byte, ByRef o_sbyte As SByte, ByRef o_short As Short, ByRef o_ushort As UShort, ByRef o_int As Integer, ByRef o_uint as UInteger, ByRef o_long As Long, ByRef o_ulong As ULong, ByRef o_dec As Decimal, ByRef o_sng As Single,ByRef o_dbl As Double, ByRef o_chr As Char, ByRef o_str As String, ByRef o_dt As Date, ByRef o_dbnull As DBNull, ByRef o_obj As Object)
+        Dim  i_bool As Boolean,  i_byte As Byte,  i_sbyte As SByte,  i_short As Short,  i_ushort As UShort,  i_int As Integer,  i_uint as UInteger,  i_long As Long,  i_ulong As ULong,  i_dec As Decimal,  i_sng As Single, i_dbl As Double,  i_chr As Char,  i_str As String,  i_dt As Date,  i_dbnull As DBNull,  i_obj As Object
+#If Not STRICT Or ERRORS
+        i_long = o_bool
+#End If
+#If Not STRICT Or ERRORS
+        i_long = o_byte
+#End If
+#If Not STRICT Or ERRORS
+        i_long = o_sbyte
+#End If
+#If Not STRICT Or ERRORS
+        i_long = o_short
+#End If
+#If Not STRICT Or ERRORS
+        i_long = o_ushort
+#End If
+#If Not STRICT Or ERRORS
+        i_long = o_int
+#End If
+#If Not STRICT Or ERRORS
+        i_long = o_uint
+#End If
+        i_long = o_long
+#If Not STRICT Or ERRORS
+        i_long = o_ulong
+#End If
+#If Not STRICT Or ERRORS
+        i_long = o_dec
+#End If
+#If Not STRICT Or ERRORS
+        i_long = o_sng
+#End If
+#If Not STRICT Or ERRORS
+        i_long = o_dbl
+#End If
+#If ERRORS
+        i_long = o_chr
+#End If
+#If Not STRICT Or ERRORS
+        i_long = o_str
+#End If
+#If ERRORS
+        i_long = o_dt
+#End If
+#If ERRORS
+        i_long = o_dbnull
+#End If
+#If Not STRICT Or ERRORS
+        i_long = o_obj
+#End If
+    End Sub
+    Sub InRefOutLocal(ByRef i_bool As Boolean, ByRef i_byte As Byte, ByRef i_sbyte As SByte, ByRef i_short As Short, ByRef i_ushort As UShort, ByRef i_int As Integer, ByRef i_uint as UInteger, ByRef i_long As Long, ByRef i_ulong As ULong, ByRef i_dec As Decimal, ByRef i_sng As Single,ByRef i_dbl As Double, ByRef i_chr As Char, ByRef i_str As String, ByRef i_dt As Date, ByRef i_dbnull As DBNull, ByRef i_obj As Object)
+        Dim  o_bool As Boolean,  o_byte As Byte,  o_sbyte As SByte,  o_short As Short,  o_ushort As UShort,  o_int As Integer,  o_uint as UInteger,  o_long As Long,  o_ulong As ULong,  o_dec As Decimal,  o_sng As Single, o_dbl As Double,  o_chr As Char,  o_str As String,  o_dt As Date,  o_dbnull As DBNull,  o_obj As Object
+#If Not STRICT Or ERRORS
+        i_long = o_bool
+#End If
+#If Not STRICT Or ERRORS
+        i_long = o_byte
+#End If
+#If Not STRICT Or ERRORS
+        i_long = o_sbyte
+#End If
+#If Not STRICT Or ERRORS
+        i_long = o_short
+#End If
+#If Not STRICT Or ERRORS
+        i_long = o_ushort
+#End If
+#If Not STRICT Or ERRORS
+        i_long = o_int
+#End If
+#If Not STRICT Or ERRORS
+        i_long = o_uint
+#End If
+        i_long = o_long
+#If Not STRICT Or ERRORS
+        i_long = o_ulong
+#End If
+#If Not STRICT Or ERRORS
+        i_long = o_dec
+#End If
+#If Not STRICT Or ERRORS
+        i_long = o_sng
+#End If
+#If Not STRICT Or ERRORS
+        i_long = o_dbl
+#End If
+#If ERRORS
+        i_long = o_chr
+#End If
+#If Not STRICT Or ERRORS
+        i_long = o_str
+#End If
+#If ERRORS
+        i_long = o_dt
+#End If
+#If ERRORS
+        i_long = o_dbnull
+#End If
+#If Not STRICT Or ERRORS
+        i_long = o_obj
+#End If
+    End Sub
+    Sub InRefOutRef(ByRef i_bool As Boolean, ByRef i_byte As Byte, ByRef i_sbyte As SByte, ByRef i_short As Short, ByRef i_ushort As UShort, ByRef i_int As Integer, ByRef i_uint as UInteger, ByRef i_long As Long, ByRef i_ulong As ULong, ByRef i_dec As Decimal, ByRef i_sng As Single,ByRef i_dbl As Double, ByRef i_chr As Char, ByRef i_str As String, ByRef i_dt As Date, ByRef i_dbnull As DBNull, ByRef i_obj As Object, ByRef o_bool As Boolean, ByRef o_byte As Byte, ByRef o_sbyte As SByte, ByRef o_short As Short, ByRef o_ushort As UShort, ByRef o_int As Integer, ByRef o_uint as UInteger, ByRef o_long As Long, ByRef o_ulong As ULong, ByRef o_dec As Decimal, ByRef o_sng As Single,ByRef o_dbl As Double, ByRef o_chr As Char, ByRef o_str As String, ByRef o_dt As Date, ByRef o_dbnull As DBNull, ByRef o_obj As Object)
+#If Not STRICT Or ERRORS
+        i_long = o_bool
+#End If
+#If Not STRICT Or ERRORS
+        i_long = o_byte
+#End If
+#If Not STRICT Or ERRORS
+        i_long = o_sbyte
+#End If
+#If Not STRICT Or ERRORS
+        i_long = o_short
+#End If
+#If Not STRICT Or ERRORS
+        i_long = o_ushort
+#End If
+#If Not STRICT Or ERRORS
+        i_long = o_int
+#End If
+#If Not STRICT Or ERRORS
+        i_long = o_uint
+#End If
+        i_long = o_long
+#If Not STRICT Or ERRORS
+        i_long = o_ulong
+#End If
+#If Not STRICT Or ERRORS
+        i_long = o_dec
+#End If
+#If Not STRICT Or ERRORS
+        i_long = o_sng
+#End If
+#If Not STRICT Or ERRORS
+        i_long = o_dbl
+#End If
+#If ERRORS
+        i_long = o_chr
+#End If
+#If Not STRICT Or ERRORS
+        i_long = o_str
+#End If
+#If ERRORS
+        i_long = o_dt
+#End If
+#If ERRORS
+        i_long = o_dbnull
+#End If
+#If Not STRICT Or ERRORS
+        i_long = o_obj
+#End If
+    End Sub
+End Class
diff --git a/vbnc/vbnc/tests/CompileTime2/TypeConversionIntrinsicObject.vb b/vbnc/vbnc/tests/CompileTime2/TypeConversionIntrinsicObject.vb
new file mode 100644
index 0000000..50a7039
--- /dev/null
+++ b/vbnc/vbnc/tests/CompileTime2/TypeConversionIntrinsicObject.vb
@@ -0,0 +1,98 @@
+Class TypeConversionIntrinsic
+    Sub LocalVariables
+        Dim  i_bool As Boolean,  i_byte As Byte,  i_sbyte As SByte,  i_short As Short,  i_ushort As UShort,  i_int As Integer,  i_uint as UInteger,  i_long As Long,  i_ulong As ULong,  i_dec As Decimal,  i_sng As Single, i_dbl As Double,  i_chr As Char,  i_str As String,  i_dt As Date,  i_dbnull As DBNull,  i_obj As Object
+        Dim  o_bool As Boolean,  o_byte As Byte,  o_sbyte As SByte,  o_short As Short,  o_ushort As UShort,  o_int As Integer,  o_uint as UInteger,  o_long As Long,  o_ulong As ULong,  o_dec As Decimal,  o_sng As Single, o_dbl As Double,  o_chr As Char,  o_str As String,  o_dt As Date,  o_dbnull As DBNull,  o_obj As Object
+        i_obj = o_bool
+        i_obj = o_byte
+        i_obj = o_sbyte
+        i_obj = o_short
+        i_obj = o_ushort
+        i_obj = o_int
+        i_obj = o_uint
+        i_obj = o_long
+        i_obj = o_ulong
+        i_obj = o_dec
+        i_obj = o_sng
+        i_obj = o_dbl
+        i_obj = o_chr
+        i_obj = o_str
+        i_obj = o_dt
+#If ERRORS
+        i_obj = o_dbnull
+#End If
+#If Not STRICT Or ERRORS
+        i_obj = o_obj
+#End If
+    End Sub
+    Sub InLocalOutRef(ByRef o_bool As Boolean, ByRef o_byte As Byte, ByRef o_sbyte As SByte, ByRef o_short As Short, ByRef o_ushort As UShort, ByRef o_int As Integer, ByRef o_uint as UInteger, ByRef o_long As Long, ByRef o_ulong As ULong, ByRef o_dec As Decimal, ByRef o_sng As Single,ByRef o_dbl As Double, ByRef o_chr As Char, ByRef o_str As String, ByRef o_dt As Date, ByRef o_dbnull As DBNull, ByRef o_obj As Object)
+        Dim  i_bool As Boolean,  i_byte As Byte,  i_sbyte As SByte,  i_short As Short,  i_ushort As UShort,  i_int As Integer,  i_uint as UInteger,  i_long As Long,  i_ulong As ULong,  i_dec As Decimal,  i_sng As Single, i_dbl As Double,  i_chr As Char,  i_str As String,  i_dt As Date,  i_dbnull As DBNull,  i_obj As Object
+        i_obj = o_bool
+        i_obj = o_byte
+        i_obj = o_sbyte
+        i_obj = o_short
+        i_obj = o_ushort
+        i_obj = o_int
+        i_obj = o_uint
+        i_obj = o_long
+        i_obj = o_ulong
+        i_obj = o_dec
+        i_obj = o_sng
+        i_obj = o_dbl
+        i_obj = o_chr
+        i_obj = o_str
+        i_obj = o_dt
+#If ERRORS
+        i_obj = o_dbnull
+#End If
+#If Not STRICT Or ERRORS
+        i_obj = o_obj
+#End If
+    End Sub
+    Sub InRefOutLocal(ByRef i_bool As Boolean, ByRef i_byte As Byte, ByRef i_sbyte As SByte, ByRef i_short As Short, ByRef i_ushort As UShort, ByRef i_int As Integer, ByRef i_uint as UInteger, ByRef i_long As Long, ByRef i_ulong As ULong, ByRef i_dec As Decimal, ByRef i_sng As Single,ByRef i_dbl As Double, ByRef i_chr As Char, ByRef i_str As String, ByRef i_dt As Date, ByRef i_dbnull As DBNull, ByRef i_obj As Object)
+        Dim  o_bool As Boolean,  o_byte As Byte,  o_sbyte As SByte,  o_short As Short,  o_ushort As UShort,  o_int As Integer,  o_uint as UInteger,  o_long As Long,  o_ulong As ULong,  o_dec As Decimal,  o_sng As Single, o_dbl As Double,  o_chr As Char,  o_str As String,  o_dt As Date,  o_dbnull As DBNull,  o_obj As Object
+        i_obj = o_bool
+        i_obj = o_byte
+        i_obj = o_sbyte
+        i_obj = o_short
+        i_obj = o_ushort
+        i_obj = o_int
+        i_obj = o_uint
+        i_obj = o_long
+        i_obj = o_ulong
+        i_obj = o_dec
+        i_obj = o_sng
+        i_obj = o_dbl
+        i_obj = o_chr
+        i_obj = o_str
+        i_obj = o_dt
+#If ERRORS
+        i_obj = o_dbnull
+#End If
+#If Not STRICT Or ERRORS
+        i_obj = o_obj
+#End If
+    End Sub
+    Sub InRefOutRef(ByRef i_bool As Boolean, ByRef i_byte As Byte, ByRef i_sbyte As SByte, ByRef i_short As Short, ByRef i_ushort As UShort, ByRef i_int As Integer, ByRef i_uint as UInteger, ByRef i_long As Long, ByRef i_ulong As ULong, ByRef i_dec As Decimal, ByRef i_sng As Single,ByRef i_dbl As Double, ByRef i_chr As Char, ByRef i_str As String, ByRef i_dt As Date, ByRef i_dbnull As DBNull, ByRef i_obj As Object, ByRef o_bool As Boolean, ByRef o_byte As Byte, ByRef o_sbyte As SByte, ByRef o_short As Short, ByRef o_ushort As UShort, ByRef o_int As Integer, ByRef o_uint as UInteger, ByRef o_long As Long, ByRef o_ulong As ULong, ByRef o_dec As Decimal, ByRef o_sng As Single,ByRef o_dbl As Double, ByRef o_chr As Char, ByRef o_str As String, ByRef o_dt As Date, ByRef o_dbnull As DBNull, ByRef o_obj As Object)
+        i_obj = o_bool
+        i_obj = o_byte
+        i_obj = o_sbyte
+        i_obj = o_short
+        i_obj = o_ushort
+        i_obj = o_int
+        i_obj = o_uint
+        i_obj = o_long
+        i_obj = o_ulong
+        i_obj = o_dec
+        i_obj = o_sng
+        i_obj = o_dbl
+        i_obj = o_chr
+        i_obj = o_str
+        i_obj = o_dt
+#If ERRORS
+        i_obj = o_dbnull
+#End If
+#If Not STRICT Or ERRORS
+        i_obj = o_obj
+#End If
+    End Sub
+End Class
diff --git a/vbnc/vbnc/tests/CompileTime2/TypeConversionIntrinsicSByte.vb b/vbnc/vbnc/tests/CompileTime2/TypeConversionIntrinsicSByte.vb
new file mode 100644
index 0000000..6eeb9ae
--- /dev/null
+++ b/vbnc/vbnc/tests/CompileTime2/TypeConversionIntrinsicSByte.vb
@@ -0,0 +1,210 @@
+Class TypeConversionIntrinsic
+    Sub LocalVariables
+        Dim  i_bool As Boolean,  i_byte As Byte,  i_sbyte As SByte,  i_short As Short,  i_ushort As UShort,  i_int As Integer,  i_uint as UInteger,  i_long As Long,  i_ulong As ULong,  i_dec As Decimal,  i_sng As Single, i_dbl As Double,  i_chr As Char,  i_str As String,  i_dt As Date,  i_dbnull As DBNull,  i_obj As Object
+        Dim  o_bool As Boolean,  o_byte As Byte,  o_sbyte As SByte,  o_short As Short,  o_ushort As UShort,  o_int As Integer,  o_uint as UInteger,  o_long As Long,  o_ulong As ULong,  o_dec As Decimal,  o_sng As Single, o_dbl As Double,  o_chr As Char,  o_str As String,  o_dt As Date,  o_dbnull As DBNull,  o_obj As Object
+#If Not STRICT Or ERRORS
+        i_sbyte = o_bool
+#End If
+#If Not STRICT Or ERRORS
+        i_sbyte = o_byte
+#End If
+        i_sbyte = o_sbyte
+#If Not STRICT Or ERRORS
+        i_sbyte = o_short
+#End If
+#If Not STRICT Or ERRORS
+        i_sbyte = o_ushort
+#End If
+#If Not STRICT Or ERRORS
+        i_sbyte = o_int
+#End If
+#If Not STRICT Or ERRORS
+        i_sbyte = o_uint
+#End If
+#If Not STRICT Or ERRORS
+        i_sbyte = o_long
+#End If
+#If Not STRICT Or ERRORS
+        i_sbyte = o_ulong
+#End If
+#If Not STRICT Or ERRORS
+        i_sbyte = o_dec
+#End If
+#If Not STRICT Or ERRORS
+        i_sbyte = o_sng
+#End If
+#If Not STRICT Or ERRORS
+        i_sbyte = o_dbl
+#End If
+#If ERRORS
+        i_sbyte = o_chr
+#End If
+#If Not STRICT Or ERRORS
+        i_sbyte = o_str
+#End If
+#If ERRORS
+        i_sbyte = o_dt
+#End If
+#If ERRORS
+        i_sbyte = o_dbnull
+#End If
+#If Not STRICT Or ERRORS
+        i_sbyte = o_obj
+#End If
+    End Sub
+    Sub InLocalOutRef(ByRef o_bool As Boolean, ByRef o_byte As Byte, ByRef o_sbyte As SByte, ByRef o_short As Short, ByRef o_ushort As UShort, ByRef o_int As Integer, ByRef o_uint as UInteger, ByRef o_long As Long, ByRef o_ulong As ULong, ByRef o_dec As Decimal, ByRef o_sng As Single,ByRef o_dbl As Double, ByRef o_chr As Char, ByRef o_str As String, ByRef o_dt As Date, ByRef o_dbnull As DBNull, ByRef o_obj As Object)
+        Dim  i_bool As Boolean,  i_byte As Byte,  i_sbyte As SByte,  i_short As Short,  i_ushort As UShort,  i_int As Integer,  i_uint as UInteger,  i_long As Long,  i_ulong As ULong,  i_dec As Decimal,  i_sng As Single, i_dbl As Double,  i_chr As Char,  i_str As String,  i_dt As Date,  i_dbnull As DBNull,  i_obj As Object
+#If Not STRICT Or ERRORS
+        i_sbyte = o_bool
+#End If
+#If Not STRICT Or ERRORS
+        i_sbyte = o_byte
+#End If
+        i_sbyte = o_sbyte
+#If Not STRICT Or ERRORS
+        i_sbyte = o_short
+#End If
+#If Not STRICT Or ERRORS
+        i_sbyte = o_ushort
+#End If
+#If Not STRICT Or ERRORS
+        i_sbyte = o_int
+#End If
+#If Not STRICT Or ERRORS
+        i_sbyte = o_uint
+#End If
+#If Not STRICT Or ERRORS
+        i_sbyte = o_long
+#End If
+#If Not STRICT Or ERRORS
+        i_sbyte = o_ulong
+#End If
+#If Not STRICT Or ERRORS
+        i_sbyte = o_dec
+#End If
+#If Not STRICT Or ERRORS
+        i_sbyte = o_sng
+#End If
+#If Not STRICT Or ERRORS
+        i_sbyte = o_dbl
+#End If
+#If ERRORS
+        i_sbyte = o_chr
+#End If
+#If Not STRICT Or ERRORS
+        i_sbyte = o_str
+#End If
+#If ERRORS
+        i_sbyte = o_dt
+#End If
+#If ERRORS
+        i_sbyte = o_dbnull
+#End If
+#If Not STRICT Or ERRORS
+        i_sbyte = o_obj
+#End If
+    End Sub
+    Sub InRefOutLocal(ByRef i_bool As Boolean, ByRef i_byte As Byte, ByRef i_sbyte As SByte, ByRef i_short As Short, ByRef i_ushort As UShort, ByRef i_int As Integer, ByRef i_uint as UInteger, ByRef i_long As Long, ByRef i_ulong As ULong, ByRef i_dec As Decimal, ByRef i_sng As Single,ByRef i_dbl As Double, ByRef i_chr As Char, ByRef i_str As String, ByRef i_dt As Date, ByRef i_dbnull As DBNull, ByRef i_obj As Object)
+        Dim  o_bool As Boolean,  o_byte As Byte,  o_sbyte As SByte,  o_short As Short,  o_ushort As UShort,  o_int As Integer,  o_uint as UInteger,  o_long As Long,  o_ulong As ULong,  o_dec As Decimal,  o_sng As Single, o_dbl As Double,  o_chr As Char,  o_str As String,  o_dt As Date,  o_dbnull As DBNull,  o_obj As Object
+#If Not STRICT Or ERRORS
+        i_sbyte = o_bool
+#End If
+#If Not STRICT Or ERRORS
+        i_sbyte = o_byte
+#End If
+        i_sbyte = o_sbyte
+#If Not STRICT Or ERRORS
+        i_sbyte = o_short
+#End If
+#If Not STRICT Or ERRORS
+        i_sbyte = o_ushort
+#End If
+#If Not STRICT Or ERRORS
+        i_sbyte = o_int
+#End If
+#If Not STRICT Or ERRORS
+        i_sbyte = o_uint
+#End If
+#If Not STRICT Or ERRORS
+        i_sbyte = o_long
+#End If
+#If Not STRICT Or ERRORS
+        i_sbyte = o_ulong
+#End If
+#If Not STRICT Or ERRORS
+        i_sbyte = o_dec
+#End If
+#If Not STRICT Or ERRORS
+        i_sbyte = o_sng
+#End If
+#If Not STRICT Or ERRORS
+        i_sbyte = o_dbl
+#End If
+#If ERRORS
+        i_sbyte = o_chr
+#End If
+#If Not STRICT Or ERRORS
+        i_sbyte = o_str
+#End If
+#If ERRORS
+        i_sbyte = o_dt
+#End If
+#If ERRORS
+        i_sbyte = o_dbnull
+#End If
+#If Not STRICT Or ERRORS
+        i_sbyte = o_obj
+#End If
+    End Sub
+    Sub InRefOutRef(ByRef i_bool As Boolean, ByRef i_byte As Byte, ByRef i_sbyte As SByte, ByRef i_short As Short, ByRef i_ushort As UShort, ByRef i_int As Integer, ByRef i_uint as UInteger, ByRef i_long As Long, ByRef i_ulong As ULong, ByRef i_dec As Decimal, ByRef i_sng As Single,ByRef i_dbl As Double, ByRef i_chr As Char, ByRef i_str As String, ByRef i_dt As Date, ByRef i_dbnull As DBNull, ByRef i_obj As Object, ByRef o_bool As Boolean, ByRef o_byte As Byte, ByRef o_sbyte As SByte, ByRef o_short As Short, ByRef o_ushort As UShort, ByRef o_int As Integer, ByRef o_uint as UInteger, ByRef o_long As Long, ByRef o_ulong As ULong, ByRef o_dec As Decimal, ByRef o_sng As Single,ByRef o_dbl As Double, ByRef o_chr As Char, ByRef o_str As String, ByRef o_dt As Date, ByRef o_dbnull As DBNull, ByRef o_obj As Object)
+#If Not STRICT Or ERRORS
+        i_sbyte = o_bool
+#End If
+#If Not STRICT Or ERRORS
+        i_sbyte = o_byte
+#End If
+        i_sbyte = o_sbyte
+#If Not STRICT Or ERRORS
+        i_sbyte = o_short
+#End If
+#If Not STRICT Or ERRORS
+        i_sbyte = o_ushort
+#End If
+#If Not STRICT Or ERRORS
+        i_sbyte = o_int
+#End If
+#If Not STRICT Or ERRORS
+        i_sbyte = o_uint
+#End If
+#If Not STRICT Or ERRORS
+        i_sbyte = o_long
+#End If
+#If Not STRICT Or ERRORS
+        i_sbyte = o_ulong
+#End If
+#If Not STRICT Or ERRORS
+        i_sbyte = o_dec
+#End If
+#If Not STRICT Or ERRORS
+        i_sbyte = o_sng
+#End If
+#If Not STRICT Or ERRORS
+        i_sbyte = o_dbl
+#End If
+#If ERRORS
+        i_sbyte = o_chr
+#End If
+#If Not STRICT Or ERRORS
+        i_sbyte = o_str
+#End If
+#If ERRORS
+        i_sbyte = o_dt
+#End If
+#If ERRORS
+        i_sbyte = o_dbnull
+#End If
+#If Not STRICT Or ERRORS
+        i_sbyte = o_obj
+#End If
+    End Sub
+End Class
diff --git a/vbnc/vbnc/tests/CompileTime2/TypeConversionIntrinsicSingle.vb b/vbnc/vbnc/tests/CompileTime2/TypeConversionIntrinsicSingle.vb
new file mode 100644
index 0000000..4663dce
--- /dev/null
+++ b/vbnc/vbnc/tests/CompileTime2/TypeConversionIntrinsicSingle.vb
@@ -0,0 +1,210 @@
+Class TypeConversionIntrinsic
+    Sub LocalVariables
+        Dim  i_bool As Boolean,  i_byte As Byte,  i_sbyte As SByte,  i_short As Short,  i_ushort As UShort,  i_int As Integer,  i_uint as UInteger,  i_long As Long,  i_ulong As ULong,  i_dec As Decimal,  i_sng As Single, i_dbl As Double,  i_chr As Char,  i_str As String,  i_dt As Date,  i_dbnull As DBNull,  i_obj As Object
+        Dim  o_bool As Boolean,  o_byte As Byte,  o_sbyte As SByte,  o_short As Short,  o_ushort As UShort,  o_int As Integer,  o_uint as UInteger,  o_long As Long,  o_ulong As ULong,  o_dec As Decimal,  o_sng As Single, o_dbl As Double,  o_chr As Char,  o_str As String,  o_dt As Date,  o_dbnull As DBNull,  o_obj As Object
+#If Not STRICT Or ERRORS
+        i_sng = o_bool
+#End If
+#If Not STRICT Or ERRORS
+        i_sng = o_byte
+#End If
+#If Not STRICT Or ERRORS
+        i_sng = o_sbyte
+#End If
+#If Not STRICT Or ERRORS
+        i_sng = o_short
+#End If
+#If Not STRICT Or ERRORS
+        i_sng = o_ushort
+#End If
+#If Not STRICT Or ERRORS
+        i_sng = o_int
+#End If
+#If Not STRICT Or ERRORS
+        i_sng = o_uint
+#End If
+#If Not STRICT Or ERRORS
+        i_sng = o_long
+#End If
+#If Not STRICT Or ERRORS
+        i_sng = o_ulong
+#End If
+#If Not STRICT Or ERRORS
+        i_sng = o_dec
+#End If
+        i_sng = o_sng
+#If Not STRICT Or ERRORS
+        i_sng = o_dbl
+#End If
+#If ERRORS
+        i_sng = o_chr
+#End If
+#If Not STRICT Or ERRORS
+        i_sng = o_str
+#End If
+#If ERRORS
+        i_sng = o_dt
+#End If
+#If ERRORS
+        i_sng = o_dbnull
+#End If
+#If Not STRICT Or ERRORS
+        i_sng = o_obj
+#End If
+    End Sub
+    Sub InLocalOutRef(ByRef o_bool As Boolean, ByRef o_byte As Byte, ByRef o_sbyte As SByte, ByRef o_short As Short, ByRef o_ushort As UShort, ByRef o_int As Integer, ByRef o_uint as UInteger, ByRef o_long As Long, ByRef o_ulong As ULong, ByRef o_dec As Decimal, ByRef o_sng As Single,ByRef o_dbl As Double, ByRef o_chr As Char, ByRef o_str As String, ByRef o_dt As Date, ByRef o_dbnull As DBNull, ByRef o_obj As Object)
+        Dim  i_bool As Boolean,  i_byte As Byte,  i_sbyte As SByte,  i_short As Short,  i_ushort As UShort,  i_int As Integer,  i_uint as UInteger,  i_long As Long,  i_ulong As ULong,  i_dec As Decimal,  i_sng As Single, i_dbl As Double,  i_chr As Char,  i_str As String,  i_dt As Date,  i_dbnull As DBNull,  i_obj As Object
+#If Not STRICT Or ERRORS
+        i_sng = o_bool
+#End If
+#If Not STRICT Or ERRORS
+        i_sng = o_byte
+#End If
+#If Not STRICT Or ERRORS
+        i_sng = o_sbyte
+#End If
+#If Not STRICT Or ERRORS
+        i_sng = o_short
+#End If
+#If Not STRICT Or ERRORS
+        i_sng = o_ushort
+#End If
+#If Not STRICT Or ERRORS
+        i_sng = o_int
+#End If
+#If Not STRICT Or ERRORS
+        i_sng = o_uint
+#End If
+#If Not STRICT Or ERRORS
+        i_sng = o_long
+#End If
+#If Not STRICT Or ERRORS
+        i_sng = o_ulong
+#End If
+#If Not STRICT Or ERRORS
+        i_sng = o_dec
+#End If
+        i_sng = o_sng
+#If Not STRICT Or ERRORS
+        i_sng = o_dbl
+#End If
+#If ERRORS
+        i_sng = o_chr
+#End If
+#If Not STRICT Or ERRORS
+        i_sng = o_str
+#End If
+#If ERRORS
+        i_sng = o_dt
+#End If
+#If ERRORS
+        i_sng = o_dbnull
+#End If
+#If Not STRICT Or ERRORS
+        i_sng = o_obj
+#End If
+    End Sub
+    Sub InRefOutLocal(ByRef i_bool As Boolean, ByRef i_byte As Byte, ByRef i_sbyte As SByte, ByRef i_short As Short, ByRef i_ushort As UShort, ByRef i_int As Integer, ByRef i_uint as UInteger, ByRef i_long As Long, ByRef i_ulong As ULong, ByRef i_dec As Decimal, ByRef i_sng As Single,ByRef i_dbl As Double, ByRef i_chr As Char, ByRef i_str As String, ByRef i_dt As Date, ByRef i_dbnull As DBNull, ByRef i_obj As Object)
+        Dim  o_bool As Boolean,  o_byte As Byte,  o_sbyte As SByte,  o_short As Short,  o_ushort As UShort,  o_int As Integer,  o_uint as UInteger,  o_long As Long,  o_ulong As ULong,  o_dec As Decimal,  o_sng As Single, o_dbl As Double,  o_chr As Char,  o_str As String,  o_dt As Date,  o_dbnull As DBNull,  o_obj As Object
+#If Not STRICT Or ERRORS
+        i_sng = o_bool
+#End If
+#If Not STRICT Or ERRORS
+        i_sng = o_byte
+#End If
+#If Not STRICT Or ERRORS
+        i_sng = o_sbyte
+#End If
+#If Not STRICT Or ERRORS
+        i_sng = o_short
+#End If
+#If Not STRICT Or ERRORS
+        i_sng = o_ushort
+#End If
+#If Not STRICT Or ERRORS
+        i_sng = o_int
+#End If
+#If Not STRICT Or ERRORS
+        i_sng = o_uint
+#End If
+#If Not STRICT Or ERRORS
+        i_sng = o_long
+#End If
+#If Not STRICT Or ERRORS
+        i_sng = o_ulong
+#End If
+#If Not STRICT Or ERRORS
+        i_sng = o_dec
+#End If
+        i_sng = o_sng
+#If Not STRICT Or ERRORS
+        i_sng = o_dbl
+#End If
+#If ERRORS
+        i_sng = o_chr
+#End If
+#If Not STRICT Or ERRORS
+        i_sng = o_str
+#End If
+#If ERRORS
+        i_sng = o_dt
+#End If
+#If ERRORS
+        i_sng = o_dbnull
+#End If
+#If Not STRICT Or ERRORS
+        i_sng = o_obj
+#End If
+    End Sub
+    Sub InRefOutRef(ByRef i_bool As Boolean, ByRef i_byte As Byte, ByRef i_sbyte As SByte, ByRef i_short As Short, ByRef i_ushort As UShort, ByRef i_int As Integer, ByRef i_uint as UInteger, ByRef i_long As Long, ByRef i_ulong As ULong, ByRef i_dec As Decimal, ByRef i_sng As Single,ByRef i_dbl As Double, ByRef i_chr As Char, ByRef i_str As String, ByRef i_dt As Date, ByRef i_dbnull As DBNull, ByRef i_obj As Object, ByRef o_bool As Boolean, ByRef o_byte As Byte, ByRef o_sbyte As SByte, ByRef o_short As Short, ByRef o_ushort As UShort, ByRef o_int As Integer, ByRef o_uint as UInteger, ByRef o_long As Long, ByRef o_ulong As ULong, ByRef o_dec As Decimal, ByRef o_sng As Single,ByRef o_dbl As Double, ByRef o_chr As Char, ByRef o_str As String, ByRef o_dt As Date, ByRef o_dbnull As DBNull, ByRef o_obj As Object)
+#If Not STRICT Or ERRORS
+        i_sng = o_bool
+#End If
+#If Not STRICT Or ERRORS
+        i_sng = o_byte
+#End If
+#If Not STRICT Or ERRORS
+        i_sng = o_sbyte
+#End If
+#If Not STRICT Or ERRORS
+        i_sng = o_short
+#End If
+#If Not STRICT Or ERRORS
+        i_sng = o_ushort
+#End If
+#If Not STRICT Or ERRORS
+        i_sng = o_int
+#End If
+#If Not STRICT Or ERRORS
+        i_sng = o_uint
+#End If
+#If Not STRICT Or ERRORS
+        i_sng = o_long
+#End If
+#If Not STRICT Or ERRORS
+        i_sng = o_ulong
+#End If
+#If Not STRICT Or ERRORS
+        i_sng = o_dec
+#End If
+        i_sng = o_sng
+#If Not STRICT Or ERRORS
+        i_sng = o_dbl
+#End If
+#If ERRORS
+        i_sng = o_chr
+#End If
+#If Not STRICT Or ERRORS
+        i_sng = o_str
+#End If
+#If ERRORS
+        i_sng = o_dt
+#End If
+#If ERRORS
+        i_sng = o_dbnull
+#End If
+#If Not STRICT Or ERRORS
+        i_sng = o_obj
+#End If
+    End Sub
+End Class
diff --git a/vbnc/vbnc/tests/CompileTime2/TypeConversionIntrinsicString.vb b/vbnc/vbnc/tests/CompileTime2/TypeConversionIntrinsicString.vb
new file mode 100644
index 0000000..0d763a2
--- /dev/null
+++ b/vbnc/vbnc/tests/CompileTime2/TypeConversionIntrinsicString.vb
@@ -0,0 +1,210 @@
+Class TypeConversionIntrinsic
+    Sub LocalVariables
+        Dim  i_bool As Boolean,  i_byte As Byte,  i_sbyte As SByte,  i_short As Short,  i_ushort As UShort,  i_int As Integer,  i_uint as UInteger,  i_long As Long,  i_ulong As ULong,  i_dec As Decimal,  i_sng As Single, i_dbl As Double,  i_chr As Char,  i_str As String,  i_dt As Date,  i_dbnull As DBNull,  i_obj As Object
+        Dim  o_bool As Boolean,  o_byte As Byte,  o_sbyte As SByte,  o_short As Short,  o_ushort As UShort,  o_int As Integer,  o_uint as UInteger,  o_long As Long,  o_ulong As ULong,  o_dec As Decimal,  o_sng As Single, o_dbl As Double,  o_chr As Char,  o_str As String,  o_dt As Date,  o_dbnull As DBNull,  o_obj As Object
+#If Not STRICT Or ERRORS
+        i_str = o_bool
+#End If
+#If Not STRICT Or ERRORS
+        i_str = o_byte
+#End If
+#If Not STRICT Or ERRORS
+        i_str = o_sbyte
+#End If
+#If Not STRICT Or ERRORS
+        i_str = o_short
+#End If
+#If Not STRICT Or ERRORS
+        i_str = o_ushort
+#End If
+#If Not STRICT Or ERRORS
+        i_str = o_int
+#End If
+#If Not STRICT Or ERRORS
+        i_str = o_uint
+#End If
+#If Not STRICT Or ERRORS
+        i_str = o_long
+#End If
+#If Not STRICT Or ERRORS
+        i_str = o_ulong
+#End If
+#If Not STRICT Or ERRORS
+        i_str = o_dec
+#End If
+#If Not STRICT Or ERRORS
+        i_str = o_sng
+#End If
+#If Not STRICT Or ERRORS
+        i_str = o_dbl
+#End If
+#If Not STRICT Or ERRORS
+        i_str = o_chr
+#End If
+        i_str = o_str
+#If Not STRICT Or ERRORS
+        i_str = o_dt
+#End If
+#If ERRORS
+        i_str = o_dbnull
+#End If
+#If Not STRICT Or ERRORS
+        i_str = o_obj
+#End If
+    End Sub
+    Sub InLocalOutRef(ByRef o_bool As Boolean, ByRef o_byte As Byte, ByRef o_sbyte As SByte, ByRef o_short As Short, ByRef o_ushort As UShort, ByRef o_int As Integer, ByRef o_uint as UInteger, ByRef o_long As Long, ByRef o_ulong As ULong, ByRef o_dec As Decimal, ByRef o_sng As Single,ByRef o_dbl As Double, ByRef o_chr As Char, ByRef o_str As String, ByRef o_dt As Date, ByRef o_dbnull As DBNull, ByRef o_obj As Object)
+        Dim  i_bool As Boolean,  i_byte As Byte,  i_sbyte As SByte,  i_short As Short,  i_ushort As UShort,  i_int As Integer,  i_uint as UInteger,  i_long As Long,  i_ulong As ULong,  i_dec As Decimal,  i_sng As Single, i_dbl As Double,  i_chr As Char,  i_str As String,  i_dt As Date,  i_dbnull As DBNull,  i_obj As Object
+#If Not STRICT Or ERRORS
+        i_str = o_bool
+#End If
+#If Not STRICT Or ERRORS
+        i_str = o_byte
+#End If
+#If Not STRICT Or ERRORS
+        i_str = o_sbyte
+#End If
+#If Not STRICT Or ERRORS
+        i_str = o_short
+#End If
+#If Not STRICT Or ERRORS
+        i_str = o_ushort
+#End If
+#If Not STRICT Or ERRORS
+        i_str = o_int
+#End If
+#If Not STRICT Or ERRORS
+        i_str = o_uint
+#End If
+#If Not STRICT Or ERRORS
+        i_str = o_long
+#End If
+#If Not STRICT Or ERRORS
+        i_str = o_ulong
+#End If
+#If Not STRICT Or ERRORS
+        i_str = o_dec
+#End If
+#If Not STRICT Or ERRORS
+        i_str = o_sng
+#End If
+#If Not STRICT Or ERRORS
+        i_str = o_dbl
+#End If
+#If Not STRICT Or ERRORS
+        i_str = o_chr
+#End If
+        i_str = o_str
+#If Not STRICT Or ERRORS
+        i_str = o_dt
+#End If
+#If ERRORS
+        i_str = o_dbnull
+#End If
+#If Not STRICT Or ERRORS
+        i_str = o_obj
+#End If
+    End Sub
+    Sub InRefOutLocal(ByRef i_bool As Boolean, ByRef i_byte As Byte, ByRef i_sbyte As SByte, ByRef i_short As Short, ByRef i_ushort As UShort, ByRef i_int As Integer, ByRef i_uint as UInteger, ByRef i_long As Long, ByRef i_ulong As ULong, ByRef i_dec As Decimal, ByRef i_sng As Single,ByRef i_dbl As Double, ByRef i_chr As Char, ByRef i_str As String, ByRef i_dt As Date, ByRef i_dbnull As DBNull, ByRef i_obj As Object)
+        Dim  o_bool As Boolean,  o_byte As Byte,  o_sbyte As SByte,  o_short As Short,  o_ushort As UShort,  o_int As Integer,  o_uint as UInteger,  o_long As Long,  o_ulong As ULong,  o_dec As Decimal,  o_sng As Single, o_dbl As Double,  o_chr As Char,  o_str As String,  o_dt As Date,  o_dbnull As DBNull,  o_obj As Object
+#If Not STRICT Or ERRORS
+        i_str = o_bool
+#End If
+#If Not STRICT Or ERRORS
+        i_str = o_byte
+#End If
+#If Not STRICT Or ERRORS
+        i_str = o_sbyte
+#End If
+#If Not STRICT Or ERRORS
+        i_str = o_short
+#End If
+#If Not STRICT Or ERRORS
+        i_str = o_ushort
+#End If
+#If Not STRICT Or ERRORS
+        i_str = o_int
+#End If
+#If Not STRICT Or ERRORS
+        i_str = o_uint
+#End If
+#If Not STRICT Or ERRORS
+        i_str = o_long
+#End If
+#If Not STRICT Or ERRORS
+        i_str = o_ulong
+#End If
+#If Not STRICT Or ERRORS
+        i_str = o_dec
+#End If
+#If Not STRICT Or ERRORS
+        i_str = o_sng
+#End If
+#If Not STRICT Or ERRORS
+        i_str = o_dbl
+#End If
+#If Not STRICT Or ERRORS
+        i_str = o_chr
+#End If
+        i_str = o_str
+#If Not STRICT Or ERRORS
+        i_str = o_dt
+#End If
+#If ERRORS
+        i_str = o_dbnull
+#End If
+#If Not STRICT Or ERRORS
+        i_str = o_obj
+#End If
+    End Sub
+    Sub InRefOutRef(ByRef i_bool As Boolean, ByRef i_byte As Byte, ByRef i_sbyte As SByte, ByRef i_short As Short, ByRef i_ushort As UShort, ByRef i_int As Integer, ByRef i_uint as UInteger, ByRef i_long As Long, ByRef i_ulong As ULong, ByRef i_dec As Decimal, ByRef i_sng As Single,ByRef i_dbl As Double, ByRef i_chr As Char, ByRef i_str As String, ByRef i_dt As Date, ByRef i_dbnull As DBNull, ByRef i_obj As Object, ByRef o_bool As Boolean, ByRef o_byte As Byte, ByRef o_sbyte As SByte, ByRef o_short As Short, ByRef o_ushort As UShort, ByRef o_int As Integer, ByRef o_uint as UInteger, ByRef o_long As Long, ByRef o_ulong As ULong, ByRef o_dec As Decimal, ByRef o_sng As Single,ByRef o_dbl As Double, ByRef o_chr As Char, ByRef o_str As String, ByRef o_dt As Date, ByRef o_dbnull As DBNull, ByRef o_obj As Object)
+#If Not STRICT Or ERRORS
+        i_str = o_bool
+#End If
+#If Not STRICT Or ERRORS
+        i_str = o_byte
+#End If
+#If Not STRICT Or ERRORS
+        i_str = o_sbyte
+#End If
+#If Not STRICT Or ERRORS
+        i_str = o_short
+#End If
+#If Not STRICT Or ERRORS
+        i_str = o_ushort
+#End If
+#If Not STRICT Or ERRORS
+        i_str = o_int
+#End If
+#If Not STRICT Or ERRORS
+        i_str = o_uint
+#End If
+#If Not STRICT Or ERRORS
+        i_str = o_long
+#End If
+#If Not STRICT Or ERRORS
+        i_str = o_ulong
+#End If
+#If Not STRICT Or ERRORS
+        i_str = o_dec
+#End If
+#If Not STRICT Or ERRORS
+        i_str = o_sng
+#End If
+#If Not STRICT Or ERRORS
+        i_str = o_dbl
+#End If
+#If Not STRICT Or ERRORS
+        i_str = o_chr
+#End If
+        i_str = o_str
+#If Not STRICT Or ERRORS
+        i_str = o_dt
+#End If
+#If ERRORS
+        i_str = o_dbnull
+#End If
+#If Not STRICT Or ERRORS
+        i_str = o_obj
+#End If
+    End Sub
+End Class
diff --git a/vbnc/vbnc/tests/CompileTime2/TypeConversionIntrinsicUInt16.vb b/vbnc/vbnc/tests/CompileTime2/TypeConversionIntrinsicUInt16.vb
new file mode 100644
index 0000000..875cb22
--- /dev/null
+++ b/vbnc/vbnc/tests/CompileTime2/TypeConversionIntrinsicUInt16.vb
@@ -0,0 +1,210 @@
+Class TypeConversionIntrinsic
+    Sub LocalVariables
+        Dim  i_bool As Boolean,  i_byte As Byte,  i_sbyte As SByte,  i_short As Short,  i_ushort As UShort,  i_int As Integer,  i_uint as UInteger,  i_long As Long,  i_ulong As ULong,  i_dec As Decimal,  i_sng As Single, i_dbl As Double,  i_chr As Char,  i_str As String,  i_dt As Date,  i_dbnull As DBNull,  i_obj As Object
+        Dim  o_bool As Boolean,  o_byte As Byte,  o_sbyte As SByte,  o_short As Short,  o_ushort As UShort,  o_int As Integer,  o_uint as UInteger,  o_long As Long,  o_ulong As ULong,  o_dec As Decimal,  o_sng As Single, o_dbl As Double,  o_chr As Char,  o_str As String,  o_dt As Date,  o_dbnull As DBNull,  o_obj As Object
+#If Not STRICT Or ERRORS
+        i_ushort = o_bool
+#End If
+#If Not STRICT Or ERRORS
+        i_ushort = o_byte
+#End If
+#If Not STRICT Or ERRORS
+        i_ushort = o_sbyte
+#End If
+#If Not STRICT Or ERRORS
+        i_ushort = o_short
+#End If
+        i_ushort = o_ushort
+#If Not STRICT Or ERRORS
+        i_ushort = o_int
+#End If
+#If Not STRICT Or ERRORS
+        i_ushort = o_uint
+#End If
+#If Not STRICT Or ERRORS
+        i_ushort = o_long
+#End If
+#If Not STRICT Or ERRORS
+        i_ushort = o_ulong
+#End If
+#If Not STRICT Or ERRORS
+        i_ushort = o_dec
+#End If
+#If Not STRICT Or ERRORS
+        i_ushort = o_sng
+#End If
+#If Not STRICT Or ERRORS
+        i_ushort = o_dbl
+#End If
+#If ERRORS
+        i_ushort = o_chr
+#End If
+#If Not STRICT Or ERRORS
+        i_ushort = o_str
+#End If
+#If ERRORS
+        i_ushort = o_dt
+#End If
+#If ERRORS
+        i_ushort = o_dbnull
+#End If
+#If Not STRICT Or ERRORS
+        i_ushort = o_obj
+#End If
+    End Sub
+    Sub InLocalOutRef(ByRef o_bool As Boolean, ByRef o_byte As Byte, ByRef o_sbyte As SByte, ByRef o_short As Short, ByRef o_ushort As UShort, ByRef o_int As Integer, ByRef o_uint as UInteger, ByRef o_long As Long, ByRef o_ulong As ULong, ByRef o_dec As Decimal, ByRef o_sng As Single,ByRef o_dbl As Double, ByRef o_chr As Char, ByRef o_str As String, ByRef o_dt As Date, ByRef o_dbnull As DBNull, ByRef o_obj As Object)
+        Dim  i_bool As Boolean,  i_byte As Byte,  i_sbyte As SByte,  i_short As Short,  i_ushort As UShort,  i_int As Integer,  i_uint as UInteger,  i_long As Long,  i_ulong As ULong,  i_dec As Decimal,  i_sng As Single, i_dbl As Double,  i_chr As Char,  i_str As String,  i_dt As Date,  i_dbnull As DBNull,  i_obj As Object
+#If Not STRICT Or ERRORS
+        i_ushort = o_bool
+#End If
+#If Not STRICT Or ERRORS
+        i_ushort = o_byte
+#End If
+#If Not STRICT Or ERRORS
+        i_ushort = o_sbyte
+#End If
+#If Not STRICT Or ERRORS
+        i_ushort = o_short
+#End If
+        i_ushort = o_ushort
+#If Not STRICT Or ERRORS
+        i_ushort = o_int
+#End If
+#If Not STRICT Or ERRORS
+        i_ushort = o_uint
+#End If
+#If Not STRICT Or ERRORS
+        i_ushort = o_long
+#End If
+#If Not STRICT Or ERRORS
+        i_ushort = o_ulong
+#End If
+#If Not STRICT Or ERRORS
+        i_ushort = o_dec
+#End If
+#If Not STRICT Or ERRORS
+        i_ushort = o_sng
+#End If
+#If Not STRICT Or ERRORS
+        i_ushort = o_dbl
+#End If
+#If ERRORS
+        i_ushort = o_chr
+#End If
+#If Not STRICT Or ERRORS
+        i_ushort = o_str
+#End If
+#If ERRORS
+        i_ushort = o_dt
+#End If
+#If ERRORS
+        i_ushort = o_dbnull
+#End If
+#If Not STRICT Or ERRORS
+        i_ushort = o_obj
+#End If
+    End Sub
+    Sub InRefOutLocal(ByRef i_bool As Boolean, ByRef i_byte As Byte, ByRef i_sbyte As SByte, ByRef i_short As Short, ByRef i_ushort As UShort, ByRef i_int As Integer, ByRef i_uint as UInteger, ByRef i_long As Long, ByRef i_ulong As ULong, ByRef i_dec As Decimal, ByRef i_sng As Single,ByRef i_dbl As Double, ByRef i_chr As Char, ByRef i_str As String, ByRef i_dt As Date, ByRef i_dbnull As DBNull, ByRef i_obj As Object)
+        Dim  o_bool As Boolean,  o_byte As Byte,  o_sbyte As SByte,  o_short As Short,  o_ushort As UShort,  o_int As Integer,  o_uint as UInteger,  o_long As Long,  o_ulong As ULong,  o_dec As Decimal,  o_sng As Single, o_dbl As Double,  o_chr As Char,  o_str As String,  o_dt As Date,  o_dbnull As DBNull,  o_obj As Object
+#If Not STRICT Or ERRORS
+        i_ushort = o_bool
+#End If
+#If Not STRICT Or ERRORS
+        i_ushort = o_byte
+#End If
+#If Not STRICT Or ERRORS
+        i_ushort = o_sbyte
+#End If
+#If Not STRICT Or ERRORS
+        i_ushort = o_short
+#End If
+        i_ushort = o_ushort
+#If Not STRICT Or ERRORS
+        i_ushort = o_int
+#End If
+#If Not STRICT Or ERRORS
+        i_ushort = o_uint
+#End If
+#If Not STRICT Or ERRORS
+        i_ushort = o_long
+#End If
+#If Not STRICT Or ERRORS
+        i_ushort = o_ulong
+#End If
+#If Not STRICT Or ERRORS
+        i_ushort = o_dec
+#End If
+#If Not STRICT Or ERRORS
+        i_ushort = o_sng
+#End If
+#If Not STRICT Or ERRORS
+        i_ushort = o_dbl
+#End If
+#If ERRORS
+        i_ushort = o_chr
+#End If
+#If Not STRICT Or ERRORS
+        i_ushort = o_str
+#End If
+#If ERRORS
+        i_ushort = o_dt
+#End If
+#If ERRORS
+        i_ushort = o_dbnull
+#End If
+#If Not STRICT Or ERRORS
+        i_ushort = o_obj
+#End If
+    End Sub
+    Sub InRefOutRef(ByRef i_bool As Boolean, ByRef i_byte As Byte, ByRef i_sbyte As SByte, ByRef i_short As Short, ByRef i_ushort As UShort, ByRef i_int As Integer, ByRef i_uint as UInteger, ByRef i_long As Long, ByRef i_ulong As ULong, ByRef i_dec As Decimal, ByRef i_sng As Single,ByRef i_dbl As Double, ByRef i_chr As Char, ByRef i_str As String, ByRef i_dt As Date, ByRef i_dbnull As DBNull, ByRef i_obj As Object, ByRef o_bool As Boolean, ByRef o_byte As Byte, ByRef o_sbyte As SByte, ByRef o_short As Short, ByRef o_ushort As UShort, ByRef o_int As Integer, ByRef o_uint as UInteger, ByRef o_long As Long, ByRef o_ulong As ULong, ByRef o_dec As Decimal, ByRef o_sng As Single,ByRef o_dbl As Double, ByRef o_chr As Char, ByRef o_str As String, ByRef o_dt As Date, ByRef o_dbnull As DBNull, ByRef o_obj As Object)
+#If Not STRICT Or ERRORS
+        i_ushort = o_bool
+#End If
+#If Not STRICT Or ERRORS
+        i_ushort = o_byte
+#End If
+#If Not STRICT Or ERRORS
+        i_ushort = o_sbyte
+#End If
+#If Not STRICT Or ERRORS
+        i_ushort = o_short
+#End If
+        i_ushort = o_ushort
+#If Not STRICT Or ERRORS
+        i_ushort = o_int
+#End If
+#If Not STRICT Or ERRORS
+        i_ushort = o_uint
+#End If
+#If Not STRICT Or ERRORS
+        i_ushort = o_long
+#End If
+#If Not STRICT Or ERRORS
+        i_ushort = o_ulong
+#End If
+#If Not STRICT Or ERRORS
+        i_ushort = o_dec
+#End If
+#If Not STRICT Or ERRORS
+        i_ushort = o_sng
+#End If
+#If Not STRICT Or ERRORS
+        i_ushort = o_dbl
+#End If
+#If ERRORS
+        i_ushort = o_chr
+#End If
+#If Not STRICT Or ERRORS
+        i_ushort = o_str
+#End If
+#If ERRORS
+        i_ushort = o_dt
+#End If
+#If ERRORS
+        i_ushort = o_dbnull
+#End If
+#If Not STRICT Or ERRORS
+        i_ushort = o_obj
+#End If
+    End Sub
+End Class
diff --git a/vbnc/vbnc/tests/CompileTime2/TypeConversionIntrinsicUInt32.vb b/vbnc/vbnc/tests/CompileTime2/TypeConversionIntrinsicUInt32.vb
new file mode 100644
index 0000000..bcab21a
--- /dev/null
+++ b/vbnc/vbnc/tests/CompileTime2/TypeConversionIntrinsicUInt32.vb
@@ -0,0 +1,210 @@
+Class TypeConversionIntrinsic
+    Sub LocalVariables
+        Dim  i_bool As Boolean,  i_byte As Byte,  i_sbyte As SByte,  i_short As Short,  i_ushort As UShort,  i_int As Integer,  i_uint as UInteger,  i_long As Long,  i_ulong As ULong,  i_dec As Decimal,  i_sng As Single, i_dbl As Double,  i_chr As Char,  i_str As String,  i_dt As Date,  i_dbnull As DBNull,  i_obj As Object
+        Dim  o_bool As Boolean,  o_byte As Byte,  o_sbyte As SByte,  o_short As Short,  o_ushort As UShort,  o_int As Integer,  o_uint as UInteger,  o_long As Long,  o_ulong As ULong,  o_dec As Decimal,  o_sng As Single, o_dbl As Double,  o_chr As Char,  o_str As String,  o_dt As Date,  o_dbnull As DBNull,  o_obj As Object
+#If Not STRICT Or ERRORS
+        i_uint = o_bool
+#End If
+#If Not STRICT Or ERRORS
+        i_uint = o_byte
+#End If
+#If Not STRICT Or ERRORS
+        i_uint = o_sbyte
+#End If
+#If Not STRICT Or ERRORS
+        i_uint = o_short
+#End If
+#If Not STRICT Or ERRORS
+        i_uint = o_ushort
+#End If
+#If Not STRICT Or ERRORS
+        i_uint = o_int
+#End If
+        i_uint = o_uint
+#If Not STRICT Or ERRORS
+        i_uint = o_long
+#End If
+#If Not STRICT Or ERRORS
+        i_uint = o_ulong
+#End If
+#If Not STRICT Or ERRORS
+        i_uint = o_dec
+#End If
+#If Not STRICT Or ERRORS
+        i_uint = o_sng
+#End If
+#If Not STRICT Or ERRORS
+        i_uint = o_dbl
+#End If
+#If ERRORS
+        i_uint = o_chr
+#End If
+#If Not STRICT Or ERRORS
+        i_uint = o_str
+#End If
+#If ERRORS
+        i_uint = o_dt
+#End If
+#If ERRORS
+        i_uint = o_dbnull
+#End If
+#If Not STRICT Or ERRORS
+        i_uint = o_obj
+#End If
+    End Sub
+    Sub InLocalOutRef(ByRef o_bool As Boolean, ByRef o_byte As Byte, ByRef o_sbyte As SByte, ByRef o_short As Short, ByRef o_ushort As UShort, ByRef o_int As Integer, ByRef o_uint as UInteger, ByRef o_long As Long, ByRef o_ulong As ULong, ByRef o_dec As Decimal, ByRef o_sng As Single,ByRef o_dbl As Double, ByRef o_chr As Char, ByRef o_str As String, ByRef o_dt As Date, ByRef o_dbnull As DBNull, ByRef o_obj As Object)
+        Dim  i_bool As Boolean,  i_byte As Byte,  i_sbyte As SByte,  i_short As Short,  i_ushort As UShort,  i_int As Integer,  i_uint as UInteger,  i_long As Long,  i_ulong As ULong,  i_dec As Decimal,  i_sng As Single, i_dbl As Double,  i_chr As Char,  i_str As String,  i_dt As Date,  i_dbnull As DBNull,  i_obj As Object
+#If Not STRICT Or ERRORS
+        i_uint = o_bool
+#End If
+#If Not STRICT Or ERRORS
+        i_uint = o_byte
+#End If
+#If Not STRICT Or ERRORS
+        i_uint = o_sbyte
+#End If
+#If Not STRICT Or ERRORS
+        i_uint = o_short
+#End If
+#If Not STRICT Or ERRORS
+        i_uint = o_ushort
+#End If
+#If Not STRICT Or ERRORS
+        i_uint = o_int
+#End If
+        i_uint = o_uint
+#If Not STRICT Or ERRORS
+        i_uint = o_long
+#End If
+#If Not STRICT Or ERRORS
+        i_uint = o_ulong
+#End If
+#If Not STRICT Or ERRORS
+        i_uint = o_dec
+#End If
+#If Not STRICT Or ERRORS
+        i_uint = o_sng
+#End If
+#If Not STRICT Or ERRORS
+        i_uint = o_dbl
+#End If
+#If ERRORS
+        i_uint = o_chr
+#End If
+#If Not STRICT Or ERRORS
+        i_uint = o_str
+#End If
+#If ERRORS
+        i_uint = o_dt
+#End If
+#If ERRORS
+        i_uint = o_dbnull
+#End If
+#If Not STRICT Or ERRORS
+        i_uint = o_obj
+#End If
+    End Sub
+    Sub InRefOutLocal(ByRef i_bool As Boolean, ByRef i_byte As Byte, ByRef i_sbyte As SByte, ByRef i_short As Short, ByRef i_ushort As UShort, ByRef i_int As Integer, ByRef i_uint as UInteger, ByRef i_long As Long, ByRef i_ulong As ULong, ByRef i_dec As Decimal, ByRef i_sng As Single,ByRef i_dbl As Double, ByRef i_chr As Char, ByRef i_str As String, ByRef i_dt As Date, ByRef i_dbnull As DBNull, ByRef i_obj As Object)
+        Dim  o_bool As Boolean,  o_byte As Byte,  o_sbyte As SByte,  o_short As Short,  o_ushort As UShort,  o_int As Integer,  o_uint as UInteger,  o_long As Long,  o_ulong As ULong,  o_dec As Decimal,  o_sng As Single, o_dbl As Double,  o_chr As Char,  o_str As String,  o_dt As Date,  o_dbnull As DBNull,  o_obj As Object
+#If Not STRICT Or ERRORS
+        i_uint = o_bool
+#End If
+#If Not STRICT Or ERRORS
+        i_uint = o_byte
+#End If
+#If Not STRICT Or ERRORS
+        i_uint = o_sbyte
+#End If
+#If Not STRICT Or ERRORS
+        i_uint = o_short
+#End If
+#If Not STRICT Or ERRORS
+        i_uint = o_ushort
+#End If
+#If Not STRICT Or ERRORS
+        i_uint = o_int
+#End If
+        i_uint = o_uint
+#If Not STRICT Or ERRORS
+        i_uint = o_long
+#End If
+#If Not STRICT Or ERRORS
+        i_uint = o_ulong
+#End If
+#If Not STRICT Or ERRORS
+        i_uint = o_dec
+#End If
+#If Not STRICT Or ERRORS
+        i_uint = o_sng
+#End If
+#If Not STRICT Or ERRORS
+        i_uint = o_dbl
+#End If
+#If ERRORS
+        i_uint = o_chr
+#End If
+#If Not STRICT Or ERRORS
+        i_uint = o_str
+#End If
+#If ERRORS
+        i_uint = o_dt
+#End If
+#If ERRORS
+        i_uint = o_dbnull
+#End If
+#If Not STRICT Or ERRORS
+        i_uint = o_obj
+#End If
+    End Sub
+    Sub InRefOutRef(ByRef i_bool As Boolean, ByRef i_byte As Byte, ByRef i_sbyte As SByte, ByRef i_short As Short, ByRef i_ushort As UShort, ByRef i_int As Integer, ByRef i_uint as UInteger, ByRef i_long As Long, ByRef i_ulong As ULong, ByRef i_dec As Decimal, ByRef i_sng As Single,ByRef i_dbl As Double, ByRef i_chr As Char, ByRef i_str As String, ByRef i_dt As Date, ByRef i_dbnull As DBNull, ByRef i_obj As Object, ByRef o_bool As Boolean, ByRef o_byte As Byte, ByRef o_sbyte As SByte, ByRef o_short As Short, ByRef o_ushort As UShort, ByRef o_int As Integer, ByRef o_uint as UInteger, ByRef o_long As Long, ByRef o_ulong As ULong, ByRef o_dec As Decimal, ByRef o_sng As Single,ByRef o_dbl As Double, ByRef o_chr As Char, ByRef o_str As String, ByRef o_dt As Date, ByRef o_dbnull As DBNull, ByRef o_obj As Object)
+#If Not STRICT Or ERRORS
+        i_uint = o_bool
+#End If
+#If Not STRICT Or ERRORS
+        i_uint = o_byte
+#End If
+#If Not STRICT Or ERRORS
+        i_uint = o_sbyte
+#End If
+#If Not STRICT Or ERRORS
+        i_uint = o_short
+#End If
+#If Not STRICT Or ERRORS
+        i_uint = o_ushort
+#End If
+#If Not STRICT Or ERRORS
+        i_uint = o_int
+#End If
+        i_uint = o_uint
+#If Not STRICT Or ERRORS
+        i_uint = o_long
+#End If
+#If Not STRICT Or ERRORS
+        i_uint = o_ulong
+#End If
+#If Not STRICT Or ERRORS
+        i_uint = o_dec
+#End If
+#If Not STRICT Or ERRORS
+        i_uint = o_sng
+#End If
+#If Not STRICT Or ERRORS
+        i_uint = o_dbl
+#End If
+#If ERRORS
+        i_uint = o_chr
+#End If
+#If Not STRICT Or ERRORS
+        i_uint = o_str
+#End If
+#If ERRORS
+        i_uint = o_dt
+#End If
+#If ERRORS
+        i_uint = o_dbnull
+#End If
+#If Not STRICT Or ERRORS
+        i_uint = o_obj
+#End If
+    End Sub
+End Class
diff --git a/vbnc/vbnc/tests/CompileTime2/TypeConversionIntrinsicUInt64.vb b/vbnc/vbnc/tests/CompileTime2/TypeConversionIntrinsicUInt64.vb
new file mode 100644
index 0000000..836ba6f
--- /dev/null
+++ b/vbnc/vbnc/tests/CompileTime2/TypeConversionIntrinsicUInt64.vb
@@ -0,0 +1,210 @@
+Class TypeConversionIntrinsic
+    Sub LocalVariables
+        Dim  i_bool As Boolean,  i_byte As Byte,  i_sbyte As SByte,  i_short As Short,  i_ushort As UShort,  i_int As Integer,  i_uint as UInteger,  i_long As Long,  i_ulong As ULong,  i_dec As Decimal,  i_sng As Single, i_dbl As Double,  i_chr As Char,  i_str As String,  i_dt As Date,  i_dbnull As DBNull,  i_obj As Object
+        Dim  o_bool As Boolean,  o_byte As Byte,  o_sbyte As SByte,  o_short As Short,  o_ushort As UShort,  o_int As Integer,  o_uint as UInteger,  o_long As Long,  o_ulong As ULong,  o_dec As Decimal,  o_sng As Single, o_dbl As Double,  o_chr As Char,  o_str As String,  o_dt As Date,  o_dbnull As DBNull,  o_obj As Object
+#If Not STRICT Or ERRORS
+        i_ulong = o_bool
+#End If
+#If Not STRICT Or ERRORS
+        i_ulong = o_byte
+#End If
+#If Not STRICT Or ERRORS
+        i_ulong = o_sbyte
+#End If
+#If Not STRICT Or ERRORS
+        i_ulong = o_short
+#End If
+#If Not STRICT Or ERRORS
+        i_ulong = o_ushort
+#End If
+#If Not STRICT Or ERRORS
+        i_ulong = o_int
+#End If
+#If Not STRICT Or ERRORS
+        i_ulong = o_uint
+#End If
+#If Not STRICT Or ERRORS
+        i_ulong = o_long
+#End If
+        i_ulong = o_ulong
+#If Not STRICT Or ERRORS
+        i_ulong = o_dec
+#End If
+#If Not STRICT Or ERRORS
+        i_ulong = o_sng
+#End If
+#If Not STRICT Or ERRORS
+        i_ulong = o_dbl
+#End If
+#If ERRORS
+        i_ulong = o_chr
+#End If
+#If Not STRICT Or ERRORS
+        i_ulong = o_str
+#End If
+#If ERRORS
+        i_ulong = o_dt
+#End If
+#If ERRORS
+        i_ulong = o_dbnull
+#End If
+#If Not STRICT Or ERRORS
+        i_ulong = o_obj
+#End If
+    End Sub
+    Sub InLocalOutRef(ByRef o_bool As Boolean, ByRef o_byte As Byte, ByRef o_sbyte As SByte, ByRef o_short As Short, ByRef o_ushort As UShort, ByRef o_int As Integer, ByRef o_uint as UInteger, ByRef o_long As Long, ByRef o_ulong As ULong, ByRef o_dec As Decimal, ByRef o_sng As Single,ByRef o_dbl As Double, ByRef o_chr As Char, ByRef o_str As String, ByRef o_dt As Date, ByRef o_dbnull As DBNull, ByRef o_obj As Object)
+        Dim  i_bool As Boolean,  i_byte As Byte,  i_sbyte As SByte,  i_short As Short,  i_ushort As UShort,  i_int As Integer,  i_uint as UInteger,  i_long As Long,  i_ulong As ULong,  i_dec As Decimal,  i_sng As Single, i_dbl As Double,  i_chr As Char,  i_str As String,  i_dt As Date,  i_dbnull As DBNull,  i_obj As Object
+#If Not STRICT Or ERRORS
+        i_ulong = o_bool
+#End If
+#If Not STRICT Or ERRORS
+        i_ulong = o_byte
+#End If
+#If Not STRICT Or ERRORS
+        i_ulong = o_sbyte
+#End If
+#If Not STRICT Or ERRORS
+        i_ulong = o_short
+#End If
+#If Not STRICT Or ERRORS
+        i_ulong = o_ushort
+#End If
+#If Not STRICT Or ERRORS
+        i_ulong = o_int
+#End If
+#If Not STRICT Or ERRORS
+        i_ulong = o_uint
+#End If
+#If Not STRICT Or ERRORS
+        i_ulong = o_long
+#End If
+        i_ulong = o_ulong
+#If Not STRICT Or ERRORS
+        i_ulong = o_dec
+#End If
+#If Not STRICT Or ERRORS
+        i_ulong = o_sng
+#End If
+#If Not STRICT Or ERRORS
+        i_ulong = o_dbl
+#End If
+#If ERRORS
+        i_ulong = o_chr
+#End If
+#If Not STRICT Or ERRORS
+        i_ulong = o_str
+#End If
+#If ERRORS
+        i_ulong = o_dt
+#End If
+#If ERRORS
+        i_ulong = o_dbnull
+#End If
+#If Not STRICT Or ERRORS
+        i_ulong = o_obj
+#End If
+    End Sub
+    Sub InRefOutLocal(ByRef i_bool As Boolean, ByRef i_byte As Byte, ByRef i_sbyte As SByte, ByRef i_short As Short, ByRef i_ushort As UShort, ByRef i_int As Integer, ByRef i_uint as UInteger, ByRef i_long As Long, ByRef i_ulong As ULong, ByRef i_dec As Decimal, ByRef i_sng As Single,ByRef i_dbl As Double, ByRef i_chr As Char, ByRef i_str As String, ByRef i_dt As Date, ByRef i_dbnull As DBNull, ByRef i_obj As Object)
+        Dim  o_bool As Boolean,  o_byte As Byte,  o_sbyte As SByte,  o_short As Short,  o_ushort As UShort,  o_int As Integer,  o_uint as UInteger,  o_long As Long,  o_ulong As ULong,  o_dec As Decimal,  o_sng As Single, o_dbl As Double,  o_chr As Char,  o_str As String,  o_dt As Date,  o_dbnull As DBNull,  o_obj As Object
+#If Not STRICT Or ERRORS
+        i_ulong = o_bool
+#End If
+#If Not STRICT Or ERRORS
+        i_ulong = o_byte
+#End If
+#If Not STRICT Or ERRORS
+        i_ulong = o_sbyte
+#End If
+#If Not STRICT Or ERRORS
+        i_ulong = o_short
+#End If
+#If Not STRICT Or ERRORS
+        i_ulong = o_ushort
+#End If
+#If Not STRICT Or ERRORS
+        i_ulong = o_int
+#End If
+#If Not STRICT Or ERRORS
+        i_ulong = o_uint
+#End If
+#If Not STRICT Or ERRORS
+        i_ulong = o_long
+#End If
+        i_ulong = o_ulong
+#If Not STRICT Or ERRORS
+        i_ulong = o_dec
+#End If
+#If Not STRICT Or ERRORS
+        i_ulong = o_sng
+#End If
+#If Not STRICT Or ERRORS
+        i_ulong = o_dbl
+#End If
+#If ERRORS
+        i_ulong = o_chr
+#End If
+#If Not STRICT Or ERRORS
+        i_ulong = o_str
+#End If
+#If ERRORS
+        i_ulong = o_dt
+#End If
+#If ERRORS
+        i_ulong = o_dbnull
+#End If
+#If Not STRICT Or ERRORS
+        i_ulong = o_obj
+#End If
+    End Sub
+    Sub InRefOutRef(ByRef i_bool As Boolean, ByRef i_byte As Byte, ByRef i_sbyte As SByte, ByRef i_short As Short, ByRef i_ushort As UShort, ByRef i_int As Integer, ByRef i_uint as UInteger, ByRef i_long As Long, ByRef i_ulong As ULong, ByRef i_dec As Decimal, ByRef i_sng As Single,ByRef i_dbl As Double, ByRef i_chr As Char, ByRef i_str As String, ByRef i_dt As Date, ByRef i_dbnull As DBNull, ByRef i_obj As Object, ByRef o_bool As Boolean, ByRef o_byte As Byte, ByRef o_sbyte As SByte, ByRef o_short As Short, ByRef o_ushort As UShort, ByRef o_int As Integer, ByRef o_uint as UInteger, ByRef o_long As Long, ByRef o_ulong As ULong, ByRef o_dec As Decimal, ByRef o_sng As Single,ByRef o_dbl As Double, ByRef o_chr As Char, ByRef o_str As String, ByRef o_dt As Date, ByRef o_dbnull As DBNull, ByRef o_obj As Object)
+#If Not STRICT Or ERRORS
+        i_ulong = o_bool
+#End If
+#If Not STRICT Or ERRORS
+        i_ulong = o_byte
+#End If
+#If Not STRICT Or ERRORS
+        i_ulong = o_sbyte
+#End If
+#If Not STRICT Or ERRORS
+        i_ulong = o_short
+#End If
+#If Not STRICT Or ERRORS
+        i_ulong = o_ushort
+#End If
+#If Not STRICT Or ERRORS
+        i_ulong = o_int
+#End If
+#If Not STRICT Or ERRORS
+        i_ulong = o_uint
+#End If
+#If Not STRICT Or ERRORS
+        i_ulong = o_long
+#End If
+        i_ulong = o_ulong
+#If Not STRICT Or ERRORS
+        i_ulong = o_dec
+#End If
+#If Not STRICT Or ERRORS
+        i_ulong = o_sng
+#End If
+#If Not STRICT Or ERRORS
+        i_ulong = o_dbl
+#End If
+#If ERRORS
+        i_ulong = o_chr
+#End If
+#If Not STRICT Or ERRORS
+        i_ulong = o_str
+#End If
+#If ERRORS
+        i_ulong = o_dt
+#End If
+#If ERRORS
+        i_ulong = o_dbnull
+#End If
+#If Not STRICT Or ERRORS
+        i_ulong = o_obj
+#End If
+    End Sub
+End Class
diff --git a/vbnc/vbnc/tests/CompileTime2/TypeInferArray1.vb b/vbnc/vbnc/tests/CompileTime2/TypeInferArray1.vb
new file mode 100644
index 0000000..806d35e
--- /dev/null
+++ b/vbnc/vbnc/tests/CompileTime2/TypeInferArray1.vb
@@ -0,0 +1,25 @@
+Class Bug444995AndyH
+    Shared Sub Main(ByVal args() As String)
+        Dim x(5) As Integer
+        '
+        '#If Not SkipVbncFailures Then
+        Array.Resize(x, 10)
+        Aaaa.One(1)
+        Aaaa.Arr(x)
+        '#End If
+        ' This works: explicit type arguments
+        ' (line: 11)
+        Array.Resize(Of Integer)(x, 10)
+        Aaaa.One(Of Integer)(1)
+        Aaaa.Arr(Of Integer)(x)
+    End Sub
+End Class
+
+
+Class Aaaa
+    Shared Sub One(Of T)(ByVal p As T)
+    End Sub
+
+    Shared Sub Arr(Of T)(ByVal p As T())
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbruntime/Microsoft.VisualBasic/2005VB_test.sln b/vbnc/vbnc/tests/Errors/2003.response
similarity index 100%
rename from vbruntime/Microsoft.VisualBasic/2005VB_test.sln
rename to vbnc/vbnc/tests/Errors/2003.response
diff --git a/vbnc/vbnc/tests/Bugs/30145-bug-328101.vb b/vbnc/vbnc/tests/Errors/2003.vb
similarity index 100%
copy from vbnc/vbnc/tests/Bugs/30145-bug-328101.vb
copy to vbnc/vbnc/tests/Errors/2003.vb
diff --git a/vbnc/vbnc/tests/Bugs/30145-bug-328101.vb b/vbnc/vbnc/tests/Errors/2012.vb
similarity index 100%
copy from vbnc/vbnc/tests/Bugs/30145-bug-328101.vb
copy to vbnc/vbnc/tests/Errors/2012.vb
diff --git a/vbnc/vbnc/tests/Errors/30002-1.vb b/vbnc/vbnc/tests/Errors/30002-1.vb
new file mode 100755
index 0000000..b648d53
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30002-1.vb
@@ -0,0 +1,7 @@
+Public Class A
+    Public Class B
+    End Class
+
+    Function F() As A.C
+    End Function
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30002-2.vb b/vbnc/vbnc/tests/Errors/30002-2.vb
new file mode 100755
index 0000000..574e441
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30002-2.vb
@@ -0,0 +1,10 @@
+Public Class C
+    Public Sub B()
+    End Sub
+End Class
+Public Class A
+    Inherits C
+
+    Function F() As A.B
+    End Function
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30002-3.vb b/vbnc/vbnc/tests/Errors/30002-3.vb
new file mode 100644
index 0000000..3c5662f
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30002-3.vb
@@ -0,0 +1,13 @@
+Class T
+    Public Function F() As A.B.D
+
+    End Function
+
+End Class
+Class A
+    Public Class B
+        Public Class C
+
+        End Class
+    End Class
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30022.vb b/vbnc/vbnc/tests/Errors/30022.vb
new file mode 100644
index 0000000..d7f5f97
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30022.vb
@@ -0,0 +1,9 @@
+Public Class SomeClass
+    Public ReadOnly Property Prop As Integer
+			Get
+				Return 0
+			End Get
+			Set(value As Integer)
+			End Set
+    End Property
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30023.vb b/vbnc/vbnc/tests/Errors/30023.vb
new file mode 100644
index 0000000..decb8bc
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30023.vb
@@ -0,0 +1,8 @@
+Public Class SomeClass
+    Public WriteOnly Property Prop As Integer
+			Get
+			End Get
+			Set(value As Integer)
+			End Set
+    End Property
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30057-2.vb b/vbnc/vbnc/tests/Errors/30057-2.vb
new file mode 100644
index 0000000..c355980
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30057-2.vb
@@ -0,0 +1,30 @@
+Option Strict On
+Class C
+    Sub M()
+        'Dim dec As Decimal
+        'Dim dbl As Double
+        'If dec > dbl Then
+
+        'End If
+        Dim db As dbnull
+        ' N(db, db, l:=2)
+        Z("")
+    End Sub
+    Sub N(ByVal i As Long, ByVal l As Long)
+
+    End Sub
+    Sub N(ByVal i As Integer, ByVal l As Long, ByVal ll As Long)
+        'Dim dt1, dt2, dt3 As Date
+        'dt1 = dt2 + dt3
+    End Sub
+    Sub N(ByVal i As Integer, ByVal l As Long, ByVal ll As Integer)
+        'Dim dt1, dt2, dt3 As Date
+        'dt1 = dt2 + dt3
+    End Sub
+    Sub N(ByVal ParamArray str() As String)
+
+    End Sub
+    Sub Z()
+
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30070-2.vb b/vbnc/vbnc/tests/Errors/30070-2.vb
new file mode 100644
index 0000000..85cd452
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30070-2.vb
@@ -0,0 +1,8 @@
+Module ForEach
+    Public Function test()
+        For Each item As Integer In New Integer() {0, 1, 2}
+
+        Next 2
+        Return 0
+    End Function
+End Module
diff --git a/vbnc/vbnc/tests/Errors/30070-3.vb b/vbnc/vbnc/tests/Errors/30070-3.vb
new file mode 100644
index 0000000..85cd452
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30070-3.vb
@@ -0,0 +1,8 @@
+Module ForEach
+    Public Function test()
+        For Each item As Integer In New Integer() {0, 1, 2}
+
+        Next 2
+        Return 0
+    End Function
+End Module
diff --git a/vbnc/vbnc/tests/Errors/30099.vb b/vbnc/vbnc/tests/Errors/30099.vb
new file mode 100644
index 0000000..d6ae988
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30099.vb
@@ -0,0 +1,11 @@
+Module Main
+
+	Sub Foo
+	
+        If True Then
+            Exit Select
+        End If
+
+	End Sub
+	
+End Module
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30105.vb b/vbnc/vbnc/tests/Errors/30105.vb
new file mode 100644
index 0000000..c1bc3c1
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30105.vb
@@ -0,0 +1,10 @@
+Module Main
+
+		Sub Foo
+	
+		Dim mdarr(,) As String
+		Dim var As String = mdarr(0)
+		
+	End Sub
+	
+End Module
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30106.vb b/vbnc/vbnc/tests/Errors/30106.vb
new file mode 100644
index 0000000..8d8a8ce
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30106.vb
@@ -0,0 +1,10 @@
+Module Main
+
+	Sub Foo
+	
+		Dim arr() As String
+		Dim var As String = arr(0, 0)
+		
+	End Sub
+	
+End Module
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30124-1.vb b/vbnc/vbnc/tests/Errors/30124-1.vb
new file mode 100644
index 0000000..f0c360e
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30124-1.vb
@@ -0,0 +1,4 @@
+Public Class SomeClass
+    Public Property Prop As Integer
+    End Property
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30124.vb b/vbnc/vbnc/tests/Errors/30124.vb
new file mode 100644
index 0000000..167784d
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30124.vb
@@ -0,0 +1,7 @@
+Public Class Test
+    Property Foo1() As Boolean
+        Get
+            Return True
+        End Get
+    End Property
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30125.vb b/vbnc/vbnc/tests/Errors/30125.vb
new file mode 100644
index 0000000..b4162d0
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30125.vb
@@ -0,0 +1,4 @@
+Public Class SomeClass
+    Public WriteOnly Property Prop As Integer
+    End Property
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30126.vb b/vbnc/vbnc/tests/Errors/30126.vb
new file mode 100644
index 0000000..29b1cba
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30126.vb
@@ -0,0 +1,4 @@
+Public Class SomeClass
+    Public ReadOnly Property Prop As Integer
+    End Property
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30132-1.vb b/vbnc/vbnc/tests/Errors/30132-1.vb
new file mode 100644
index 0000000..1234d70
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30132-1.vb
@@ -0,0 +1,27 @@
+Module Module1
+    Sub TestVB6()
+        On Error GoTo HandleErrors
+
+
+        ' Do something in here that
+        ' might raise an error.
+
+ExitHere:
+        ' Perform cleanup code here.
+        ' Disregard errors in this
+        ' cleanup code.
+        On Error Resume Next
+        ' Perform cleanup code.
+        Exit Sub
+
+HandleErrors:
+        Select Case Err.Number
+            ' Add cases for each
+            ' error number you want to trap.
+            Case Else
+                ' Add "last-ditch" error handler.
+                Console.WriteLine("Error: " & Err.Description)
+        End Select
+        Resume ExitHere2
+    End Sub
+End Module
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30132.vb b/vbnc/vbnc/tests/Errors/30132.vb
new file mode 100644
index 0000000..bda9593
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30132.vb
@@ -0,0 +1,5 @@
+  Public Class Application
+    Public Shared Sub Main()
+        GoTo Foo
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30183.vb b/vbnc/vbnc/tests/Errors/30183.vb
new file mode 100644
index 0000000..cd3037d
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30183.vb
@@ -0,0 +1,14 @@
+Option Explicit On
+Option Strict On
+
+Imports System
+Imports System.Web
+Imports System.Web.UI
+
+
+Namespace aspnet
+
+    Public Partial Class Default
+        Inherits System.Web.UI.Page
+    End Class
+End Namespace
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30203-2.vb b/vbnc/vbnc/tests/Errors/30203-2.vb
new file mode 100644
index 0000000..21b97d1
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30203-2.vb
@@ -0,0 +1 @@
+#Const
diff --git a/vbnc/vbnc/tests/Errors/30217.vb b/vbnc/vbnc/tests/Errors/30217.vb
new file mode 100644
index 0000000..3f6cc8b
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30217.vb
@@ -0,0 +1,2 @@
+#Region 
+#End Region
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30248.vb b/vbnc/vbnc/tests/Errors/30248.vb
new file mode 100644
index 0000000..994a178
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30248.vb
@@ -0,0 +1 @@
+#Foo
diff --git a/vbnc/vbnc/tests/Errors/30249.vb b/vbnc/vbnc/tests/Errors/30249.vb
new file mode 100644
index 0000000..962feb9
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30249.vb
@@ -0,0 +1 @@
+#Const Foo
diff --git a/vbnc/vbnc/tests/Errors/30311-57.vb b/vbnc/vbnc/tests/Errors/30311-57.vb
new file mode 100644
index 0000000..938fa9a
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30311-57.vb
@@ -0,0 +1,17 @@
+Class TypeConversion
+    Shared Sub Main()
+        Dim ia As IA
+
+        ia = CType(1, ia)
+    End Sub
+End Class
+
+Interface IA
+
+End Interface
+Interface IB
+
+End Interface
+Interface IC
+    Inherits IA, IB
+End Interface
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30311-58.vb b/vbnc/vbnc/tests/Errors/30311-58.vb
new file mode 100644
index 0000000..890bad7
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30311-58.vb
@@ -0,0 +1,25 @@
+Option Strict On
+
+Class TypeConversion
+    Shared Sub Main()
+        Dim ia As IA
+        Dim sa As SA
+
+        ia = CType("", IA)
+        ia = CType(sa, SA)
+    End Sub
+End Class
+
+Interface IA
+
+End Interface
+Interface IB
+
+End Interface
+Interface IC
+    Inherits IA, IB
+End Interface
+
+Structure SA
+    Dim v As Integer
+End Structure
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30311-59.vb b/vbnc/vbnc/tests/Errors/30311-59.vb
new file mode 100644
index 0000000..de7b05c
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30311-59.vb
@@ -0,0 +1,145 @@
+Option Strict On
+
+Class TypeConversion
+    Shared Sub Main()
+        Dim o As Object
+        Dim e As System.Enum
+        Dim v As System.ValueType
+        Dim d As System.Delegate
+
+        Dim ia As IA
+        Dim ib As IB
+        Dim ic As IC
+        Dim sa As SA
+        Dim da As DA
+        Dim ca As CA
+        Dim c_ia As C_IA
+        Dim c_ib As C_IB
+        Dim c_ic As C_IC
+
+        ia = CType("", IA)
+        ia = CType(ia, IA)
+        ia = CType(ib, IA)
+        ia = CType(da, IA)
+        ia = CType(ca, IA)
+        ia = CType(c_ia, IA)
+        ia = c_ia
+        ia = CType(c_ib, IA)
+        ia = c_ic
+        ia = CType(o, IA)
+
+        ic = c_ic
+
+        o = ia
+
+    End Sub
+
+End Class
+
+Class GenericType1A(Of C)
+    Shared Sub GenericMethodTypeArgument(Of M)(ByVal a As C, ByVal b As M)
+        Dim o As Object
+
+        o = a
+        o = b
+    End Sub
+End Class
+Class GenericType1B(Of C As Structure)
+    Shared Sub GenericMethodTypeArgument(Of M As Structure)(ByVal a As C, ByVal b As M)
+        Dim o As Object
+
+        o = a
+        o = b
+    End Sub
+End Class
+Class GenericType1C(Of C As Class)
+    Shared Sub GenericMethodTypeArgument(Of M As Class)(ByVal a As C, ByVal b As M)
+        Dim o As Object
+
+        o = a
+        o = b
+    End Sub
+End Class
+Class GenericType1D(Of C As New)
+    Shared Sub GenericMethodTypeArgument(Of M)(ByVal a As C, ByVal b As M)
+        Dim o As Object
+
+        o = a
+        o = b
+    End Sub
+End Class
+
+Class GenericType2A(Of C As IA)
+    Shared Sub GenericMethodTypeArgument(Of M As IA)(ByVal a As C, ByVal b As M)
+        Dim o As IA
+
+        o = a
+        o = b
+    End Sub
+End Class
+
+Class GenericType2B(Of C As IC)
+    Shared Sub GenericMethodTypeArgument(Of M As IC)(ByVal a As C, ByVal b As M)
+        Dim o As IA
+        Dim o2 As IB
+        Dim o3 As IC
+
+        o = a
+        o = b
+        o2 = a
+        o2 = b
+        o3 = a
+        o3 = b
+    End Sub
+End Class
+
+Class GenericType3A(Of C As C_IA)
+    Shared Sub GenericMethodTypeArgument(Of M As C_IA)(ByVal a As C, ByVal b As M)
+        Dim o As IA
+
+        o = a
+        o = b
+    End Sub
+End Class
+
+Class GenericType4A(Of C1 As C_IA, C2 As C_IA)
+    Shared Sub GenericMethodTypeArgument(Of M1 As C_IA, M2 As C_IA)(ByVal a As C1, ByVal b As M1)
+        Dim aa As C2
+        'Dim bb As M2
+        aa = a
+        'bb = b
+    End Sub
+End Class
+
+Interface IA
+
+End Interface
+Interface IB
+
+End Interface
+Interface IC
+    Inherits IA, IB
+End Interface
+
+Structure SA
+    Dim v As Integer
+End Structure
+
+Delegate Sub DA()
+
+Class CA
+End Class
+
+Class CB
+    Inherits CA
+End Class
+
+Class C_IA
+    Implements IA
+End Class
+Class C_IB
+    Implements IB
+End Class
+Class C_IC
+    Implements IC
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30311-60.vb b/vbnc/vbnc/tests/Errors/30311-60.vb
new file mode 100644
index 0000000..67cdc63
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30311-60.vb
@@ -0,0 +1,145 @@
+Option Strict On
+
+Class TypeConversion
+    Shared Sub Main()
+        Dim o As Object
+        Dim e As System.Enum
+        Dim v As System.ValueType
+        Dim d As System.Delegate
+
+        Dim ia As IA
+        Dim ib As IB
+        Dim ic As IC
+        Dim sa As SA
+        Dim da As DA
+        Dim ca As CA
+        Dim c_ia As C_IA
+        Dim c_ib As C_IB
+        Dim c_ic As C_IC
+
+        ia = CType("", IA)
+        ia = CType(ia, IA)
+        ia = CType(ib, IA)
+        ia = CType(da, IA)
+        ia = CType(ca, IA)
+        ia = CType(c_ia, IA)
+        ia = c_ia
+        ia = CType(c_ib, IA)
+        ia = c_ic
+        ia = CType(o, IA)
+
+        ic = c_ic
+
+        o = ia
+
+    End Sub
+
+End Class
+
+Class GenericType1A(Of C)
+    Shared Sub GenericMethodTypeArgument(Of M)(ByVal a As C, ByVal b As M)
+        Dim o As Object
+
+        o = a
+        o = b
+    End Sub
+End Class
+Class GenericType1B(Of C As Structure)
+    Shared Sub GenericMethodTypeArgument(Of M As Structure)(ByVal a As C, ByVal b As M)
+        Dim o As Object
+
+        o = a
+        o = b
+    End Sub
+End Class
+Class GenericType1C(Of C As Class)
+    Shared Sub GenericMethodTypeArgument(Of M As Class)(ByVal a As C, ByVal b As M)
+        Dim o As Object
+
+        o = a
+        o = b
+    End Sub
+End Class
+Class GenericType1D(Of C As New)
+    Shared Sub GenericMethodTypeArgument(Of M)(ByVal a As C, ByVal b As M)
+        Dim o As Object
+
+        o = a
+        o = b
+    End Sub
+End Class
+
+Class GenericType2A(Of C As IA)
+    Shared Sub GenericMethodTypeArgument(Of M As IA)(ByVal a As C, ByVal b As M)
+        Dim o As IA
+
+        o = a
+        o = b
+    End Sub
+End Class
+
+Class GenericType2B(Of C As IC)
+    Shared Sub GenericMethodTypeArgument(Of M As IC)(ByVal a As C, ByVal b As M)
+        Dim o As IA
+        Dim o2 As IB
+        Dim o3 As IC
+
+        o = a
+        o = b
+        o2 = a
+        o2 = b
+        o3 = a
+        o3 = b
+    End Sub
+End Class
+
+Class GenericType3A(Of C As C_IA)
+    Shared Sub GenericMethodTypeArgument(Of M As C_IA)(ByVal a As C, ByVal b As M)
+        Dim o As IA
+
+        o = a
+        o = b
+    End Sub
+End Class
+
+Class GenericType4A(Of C1 As C_IA, C2 As C_IA)
+    Shared Sub GenericMethodTypeArgument(Of M1 As C_IA, M2 As C_IA)(ByVal a As C1, ByVal b As M1)
+        'Dim aa As C2
+        Dim bb As M2
+        'aa = a
+        bb = b
+    End Sub
+End Class
+
+Interface IA
+
+End Interface
+Interface IB
+
+End Interface
+Interface IC
+    Inherits IA, IB
+End Interface
+
+Structure SA
+    Dim v As Integer
+End Structure
+
+Delegate Sub DA()
+
+Class CA
+End Class
+
+Class CB
+    Inherits CA
+End Class
+
+Class C_IA
+    Implements IA
+End Class
+Class C_IB
+    Implements IB
+End Class
+Class C_IC
+    Implements IC
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30311-61.vb b/vbnc/vbnc/tests/Errors/30311-61.vb
new file mode 100644
index 0000000..7d149bf
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30311-61.vb
@@ -0,0 +1,22 @@
+Class X(Of T)
+    Public Shared Function F(ByVal t As T) As Long
+        Return CLng(t)
+    End Function
+End Class
+
+'Public Class Test
+'    Public Shared Sub Main()
+'        Dim s As New String("test")
+'        Dim o As Object
+'        T.S(o)
+'    End Sub
+'End Class
+
+'Class T
+'    Shared Sub S(ByVal s As T)
+
+'    End Sub
+'    Shared Sub S(ByVal s As Test)
+
+'    End Sub
+'End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30311-62.vb b/vbnc/vbnc/tests/Errors/30311-62.vb
new file mode 100644
index 0000000..1f83151
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30311-62.vb
@@ -0,0 +1,231 @@
+Option Strict On
+
+Class TypeConversion
+    Shared Sub Main()
+        Dim o As Object
+        Dim e As System.Enum
+        Dim v As System.ValueType
+        Dim d As System.Delegate
+
+        Dim ia As IA
+        Dim ib As IB
+        Dim ic As IC
+        Dim sa As SA
+        Dim da As DA
+        Dim ca As CA
+        Dim c_ia As C_IA
+        Dim c_ib As C_IB
+        Dim c_ic As C_IC
+
+        ia = CType("", IA)
+        ia = CType(ia, IA)
+        ia = CType(ib, IA)
+        ia = CType(da, IA)
+        ia = CType(ca, IA)
+        ia = CType(c_ia, IA)
+        ia = c_ia
+        ia = CType(c_ib, IA)
+        ia = c_ic
+        ia = CType(o, IA)
+
+        ic = c_ic
+
+        o = ia
+
+    End Sub
+
+End Class
+
+Class ArrayType1
+    Sub M()
+        Dim in_ia() As ia
+        Dim in_ic() As ic
+        Dim in_ca() As ca
+        Dim in_cb() As cb
+        Dim in_ia2(,) As ia
+        Dim in_ia_D7(7) As ia
+        Dim in_ia_R2()() As ia
+        Dim in_c_ia() As c_ia
+        Dim in_e_b() As e_b
+        Dim in_e_i() As e_i
+        Dim in_byte() As Byte
+        Dim in_integer() As Integer
+        Dim in_enum() As system.enum
+        Dim in_vt() As system.valuetype
+
+        Dim out_ia() As ia
+        Dim out_ic() As ic
+        Dim out_ca() As ca
+        Dim out_cb() As cb
+        Dim out_c_ia() As c_ia
+        Dim out_ia_D6(6) As ia
+        Dim out_e_b() As e_b
+        Dim out_e_i() As e_i
+        Dim out_byte() As Byte
+        Dim out_integer() As Integer
+        Dim out_enum() As system.enum
+        Dim out_vt() As system.valuetype
+        Dim out_obj() As Object
+        Dim out As system.array
+
+        out_ia = in_ia
+        out_ia = in_ic
+
+        out_ia = in_c_ia
+        out_ca = in_cb
+
+        out_ia_D6 = in_ia_D7
+        out_e_b = in_e_b
+        out_byte = in_e_b
+        out_integer = in_e_i
+        out_enum = in_enum
+
+        out_obj = in_enum
+        out_obj = in_vt
+        out = in_enum
+        out = in_vt
+        out = in_integer
+        out = in_e_i
+    End Sub
+
+    Sub TG1(Of X As Structure)()
+        Dim in_a() As X
+        Dim in_b() As X
+        in_a = in_b
+    End Sub
+End Class
+
+Class ValueType1
+    Sub M()
+        Dim in_sa As sa
+        Dim in_sb As sb
+        Dim in_s_ic As s_ic
+        Dim in_ia As ia
+        Dim in_ic As ic
+
+        Dim out_sa As sa
+        Dim out_sb As sb
+        Dim out_s_ic As s_ic
+        Dim out_ia As ia
+        Dim out_ic As ic
+
+        out_sa = in_sa
+        out_sb = in_sa
+    End Sub
+End Class
+
+Class GenericType1A(Of C)
+    Shared Sub GenericMethodTypeArgument(Of M)(ByVal a As C, ByVal b As M)
+        Dim o As Object
+        Dim l As Long
+
+        o = a
+        o = b
+        l = CLng(CObj(a))
+        l = CLng(CObj(b))
+    End Sub
+End Class
+Class GenericType1B(Of C As Structure)
+    Shared Sub GenericMethodTypeArgument(Of M As Structure)(ByVal a As C, ByVal b As M)
+        Dim o As Object
+
+        o = a
+        o = b
+    End Sub
+End Class
+Class GenericType1C(Of C As Class)
+    Shared Sub GenericMethodTypeArgument(Of M As Class)(ByVal a As C, ByVal b As M)
+        Dim o As Object
+
+        o = a
+        o = b
+    End Sub
+End Class
+Class GenericType1D(Of C As New)
+    Shared Sub GenericMethodTypeArgument(Of M)(ByVal a As C, ByVal b As M)
+        Dim o As Object
+
+        o = a
+        o = b
+    End Sub
+End Class
+
+Class GenericType2A(Of C As IA)
+    Shared Sub GenericMethodTypeArgument(Of M As IA)(ByVal a As C, ByVal b As M)
+        Dim o As IA
+
+        o = a
+        o = b
+    End Sub
+End Class
+
+Class GenericType2B(Of C As IC)
+    Shared Sub GenericMethodTypeArgument(Of M As IC)(ByVal a As C, ByVal b As M)
+        Dim o As IA
+        Dim o2 As IB
+        Dim o3 As IC
+
+        o = a
+        o = b
+        o2 = a
+        o2 = b
+        o3 = a
+        o3 = b
+    End Sub
+End Class
+
+Class GenericType3A(Of C As C_IA)
+    Shared Sub GenericMethodTypeArgument(Of M As C_IA)(ByVal a As C, ByVal b As M)
+        Dim o As IA
+
+        o = a
+        o = b
+    End Sub
+End Class
+
+Interface IA
+
+End Interface
+Interface IB
+
+End Interface
+Interface IC
+    Inherits IA, IB
+End Interface
+
+Delegate Sub DA()
+
+Class CA
+End Class
+
+Class CB
+    Inherits CA
+End Class
+
+Class C_IA
+    Implements IA
+End Class
+Class C_IB
+    Implements IB
+End Class
+Class C_IC
+    Implements IC
+End Class
+
+Enum E_B As Byte
+    a
+End Enum
+Enum E_I As Integer
+    a
+End Enum
+
+Structure SA
+    Dim v As Integer
+End Structure
+Structure SB
+    Dim v As Integer
+End Structure
+Structure S_IC
+    Implements IC
+    Dim v As Integer
+End Structure
diff --git a/vbnc/vbnc/tests/Errors/30311-63.vb b/vbnc/vbnc/tests/Errors/30311-63.vb
new file mode 100644
index 0000000..1239905
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30311-63.vb
@@ -0,0 +1,231 @@
+Option Strict On
+
+Class TypeConversion
+    Shared Sub Main()
+        Dim o As Object
+        Dim e As System.Enum
+        Dim v As System.ValueType
+        Dim d As System.Delegate
+
+        Dim ia As IA
+        Dim ib As IB
+        Dim ic As IC
+        Dim sa As SA
+        Dim da As DA
+        Dim ca As CA
+        Dim c_ia As C_IA
+        Dim c_ib As C_IB
+        Dim c_ic As C_IC
+
+        ia = CType("", IA)
+        ia = CType(ia, IA)
+        ia = CType(ib, IA)
+        ia = CType(da, IA)
+        ia = CType(ca, IA)
+        ia = CType(c_ia, IA)
+        ia = c_ia
+        ia = CType(c_ib, IA)
+        ia = c_ic
+        ia = CType(o, IA)
+
+        ic = c_ic
+
+        o = ia
+
+    End Sub
+
+End Class
+
+Class ArrayType1
+    Sub M()
+        Dim in_ia() As ia
+        Dim in_ic() As ic
+        Dim in_ca() As ca
+        Dim in_cb() As cb
+        Dim in_ia2(,) As ia
+        Dim in_ia_D7(7) As ia
+        Dim in_ia_R2()() As ia
+        Dim in_c_ia() As c_ia
+        Dim in_e_b() As e_b
+        Dim in_e_i() As e_i
+        Dim in_byte() As Byte
+        Dim in_integer() As Integer
+        Dim in_enum() As system.enum
+        Dim in_vt() As system.valuetype
+
+        Dim out_ia() As ia
+        Dim out_ic() As ic
+        Dim out_ca() As ca
+        Dim out_cb() As cb
+        Dim out_c_ia() As c_ia
+        Dim out_ia_D6(6) As ia
+        Dim out_e_b() As e_b
+        Dim out_e_i() As e_i
+        Dim out_byte() As Byte
+        Dim out_integer() As Integer
+        Dim out_enum() As system.enum
+        Dim out_vt() As system.valuetype
+        Dim out_obj() As Object
+        Dim out As system.array
+
+        out_ia = in_ia
+        out_ia = in_ic
+
+        out_ia = in_c_ia
+        out_ca = in_cb
+
+        out_ia_D6 = in_ia_D7
+        out_e_b = in_e_b
+        out_byte = in_e_b
+        out_integer = in_e_i
+        out_enum = in_enum
+
+        out_obj = in_enum
+        out_obj = in_vt
+        out = in_enum
+        out = in_vt
+        out = in_integer
+        out = in_e_i
+    End Sub
+
+    Sub TG1(Of X As Structure)()
+        Dim in_a() As X
+        Dim in_b() As X
+        in_a = in_b
+    End Sub
+End Class
+
+Class ValueType1
+    Sub M()
+        Dim in_sa As sa
+        Dim in_sb As sb
+        Dim in_s_ic As s_ic
+        Dim in_ia As ia
+        Dim in_ic As ic
+
+        Dim out_sa As sa
+        Dim out_sb As sb
+        Dim out_s_ic As s_ic
+        Dim out_ia As ia
+        Dim out_ic As ic
+
+        out_sa = in_sa
+        out_sa = in_s_ic
+    End Sub
+End Class
+
+Class GenericType1A(Of C)
+    Shared Sub GenericMethodTypeArgument(Of M)(ByVal a As C, ByVal b As M)
+        Dim o As Object
+        Dim l As Long
+
+        o = a
+        o = b
+        l = CLng(CObj(a))
+        l = CLng(CObj(b))
+    End Sub
+End Class
+Class GenericType1B(Of C As Structure)
+    Shared Sub GenericMethodTypeArgument(Of M As Structure)(ByVal a As C, ByVal b As M)
+        Dim o As Object
+
+        o = a
+        o = b
+    End Sub
+End Class
+Class GenericType1C(Of C As Class)
+    Shared Sub GenericMethodTypeArgument(Of M As Class)(ByVal a As C, ByVal b As M)
+        Dim o As Object
+
+        o = a
+        o = b
+    End Sub
+End Class
+Class GenericType1D(Of C As New)
+    Shared Sub GenericMethodTypeArgument(Of M)(ByVal a As C, ByVal b As M)
+        Dim o As Object
+
+        o = a
+        o = b
+    End Sub
+End Class
+
+Class GenericType2A(Of C As IA)
+    Shared Sub GenericMethodTypeArgument(Of M As IA)(ByVal a As C, ByVal b As M)
+        Dim o As IA
+
+        o = a
+        o = b
+    End Sub
+End Class
+
+Class GenericType2B(Of C As IC)
+    Shared Sub GenericMethodTypeArgument(Of M As IC)(ByVal a As C, ByVal b As M)
+        Dim o As IA
+        Dim o2 As IB
+        Dim o3 As IC
+
+        o = a
+        o = b
+        o2 = a
+        o2 = b
+        o3 = a
+        o3 = b
+    End Sub
+End Class
+
+Class GenericType3A(Of C As C_IA)
+    Shared Sub GenericMethodTypeArgument(Of M As C_IA)(ByVal a As C, ByVal b As M)
+        Dim o As IA
+
+        o = a
+        o = b
+    End Sub
+End Class
+
+Interface IA
+
+End Interface
+Interface IB
+
+End Interface
+Interface IC
+    Inherits IA, IB
+End Interface
+
+Delegate Sub DA()
+
+Class CA
+End Class
+
+Class CB
+    Inherits CA
+End Class
+
+Class C_IA
+    Implements IA
+End Class
+Class C_IB
+    Implements IB
+End Class
+Class C_IC
+    Implements IC
+End Class
+
+Enum E_B As Byte
+    a
+End Enum
+Enum E_I As Integer
+    a
+End Enum
+
+Structure SA
+    Dim v As Integer
+End Structure
+Structure SB
+    Dim v As Integer
+End Structure
+Structure S_IC
+    Implements IC
+    Dim v As Integer
+End Structure
diff --git a/vbnc/vbnc/tests/Errors/30311-64.vb b/vbnc/vbnc/tests/Errors/30311-64.vb
new file mode 100644
index 0000000..0d76906
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30311-64.vb
@@ -0,0 +1,231 @@
+Option Strict On
+
+Class TypeConversion
+    Shared Sub Main()
+        Dim o As Object
+        Dim e As System.Enum
+        Dim v As System.ValueType
+        Dim d As System.Delegate
+
+        Dim ia As IA
+        Dim ib As IB
+        Dim ic As IC
+        Dim sa As SA
+        Dim da As DA
+        Dim ca As CA
+        Dim c_ia As C_IA
+        Dim c_ib As C_IB
+        Dim c_ic As C_IC
+
+        ia = CType("", IA)
+        ia = CType(ia, IA)
+        ia = CType(ib, IA)
+        ia = CType(da, IA)
+        ia = CType(ca, IA)
+        ia = CType(c_ia, IA)
+        ia = c_ia
+        ia = CType(c_ib, IA)
+        ia = c_ic
+        ia = CType(o, IA)
+
+        ic = c_ic
+
+        o = ia
+
+    End Sub
+
+End Class
+
+Class ArrayType1
+    Sub M()
+        Dim in_ia() As ia
+        Dim in_ic() As ic
+        Dim in_ca() As ca
+        Dim in_cb() As cb
+        Dim in_ia2(,) As ia
+        Dim in_ia_D7(7) As ia
+        Dim in_ia_R2()() As ia
+        Dim in_c_ia() As c_ia
+        Dim in_e_b() As e_b
+        Dim in_e_i() As e_i
+        Dim in_byte() As Byte
+        Dim in_integer() As Integer
+        Dim in_enum() As system.enum
+        Dim in_vt() As system.valuetype
+
+        Dim out_ia() As ia
+        Dim out_ic() As ic
+        Dim out_ca() As ca
+        Dim out_cb() As cb
+        Dim out_c_ia() As c_ia
+        Dim out_ia_D6(6) As ia
+        Dim out_e_b() As e_b
+        Dim out_e_i() As e_i
+        Dim out_byte() As Byte
+        Dim out_integer() As Integer
+        Dim out_enum() As system.enum
+        Dim out_vt() As system.valuetype
+        Dim out_obj() As Object
+        Dim out As system.array
+
+        out_ia = in_ia
+        out_ia = in_ic
+
+        out_ia = in_c_ia
+        out_ca = in_cb
+
+        out_ia_D6 = in_ia_D7
+        out_e_b = in_e_b
+        out_byte = in_e_b
+        out_integer = in_e_i
+        out_enum = in_enum
+
+        out_obj = in_enum
+        out_obj = in_vt
+        out = in_enum
+        out = in_vt
+        out = in_integer
+        out = in_e_i
+    End Sub
+
+    Sub TG1(Of X As Structure)()
+        Dim in_a() As X
+        Dim in_b() As X
+        in_a = in_b
+    End Sub
+End Class
+
+Class ValueType1
+    Sub M()
+        Dim in_sa As sa
+        Dim in_sb As sb
+        Dim in_s_ic As s_ic
+        Dim in_ia As ia
+        Dim in_ic As ic
+
+        Dim out_sa As sa
+        Dim out_sb As sb
+        Dim out_s_ic As s_ic
+        Dim out_ia As ia
+        Dim out_ic As ic
+
+        out_sa = in_sa
+        out_s_ic = in_sa
+    End Sub
+End Class
+
+Class GenericType1A(Of C)
+    Shared Sub GenericMethodTypeArgument(Of M)(ByVal a As C, ByVal b As M)
+        Dim o As Object
+        Dim l As Long
+
+        o = a
+        o = b
+        l = CLng(CObj(a))
+        l = CLng(CObj(b))
+    End Sub
+End Class
+Class GenericType1B(Of C As Structure)
+    Shared Sub GenericMethodTypeArgument(Of M As Structure)(ByVal a As C, ByVal b As M)
+        Dim o As Object
+
+        o = a
+        o = b
+    End Sub
+End Class
+Class GenericType1C(Of C As Class)
+    Shared Sub GenericMethodTypeArgument(Of M As Class)(ByVal a As C, ByVal b As M)
+        Dim o As Object
+
+        o = a
+        o = b
+    End Sub
+End Class
+Class GenericType1D(Of C As New)
+    Shared Sub GenericMethodTypeArgument(Of M)(ByVal a As C, ByVal b As M)
+        Dim o As Object
+
+        o = a
+        o = b
+    End Sub
+End Class
+
+Class GenericType2A(Of C As IA)
+    Shared Sub GenericMethodTypeArgument(Of M As IA)(ByVal a As C, ByVal b As M)
+        Dim o As IA
+
+        o = a
+        o = b
+    End Sub
+End Class
+
+Class GenericType2B(Of C As IC)
+    Shared Sub GenericMethodTypeArgument(Of M As IC)(ByVal a As C, ByVal b As M)
+        Dim o As IA
+        Dim o2 As IB
+        Dim o3 As IC
+
+        o = a
+        o = b
+        o2 = a
+        o2 = b
+        o3 = a
+        o3 = b
+    End Sub
+End Class
+
+Class GenericType3A(Of C As C_IA)
+    Shared Sub GenericMethodTypeArgument(Of M As C_IA)(ByVal a As C, ByVal b As M)
+        Dim o As IA
+
+        o = a
+        o = b
+    End Sub
+End Class
+
+Interface IA
+
+End Interface
+Interface IB
+
+End Interface
+Interface IC
+    Inherits IA, IB
+End Interface
+
+Delegate Sub DA()
+
+Class CA
+End Class
+
+Class CB
+    Inherits CA
+End Class
+
+Class C_IA
+    Implements IA
+End Class
+Class C_IB
+    Implements IB
+End Class
+Class C_IC
+    Implements IC
+End Class
+
+Enum E_B As Byte
+    a
+End Enum
+Enum E_I As Integer
+    a
+End Enum
+
+Structure SA
+    Dim v As Integer
+End Structure
+Structure SB
+    Dim v As Integer
+End Structure
+Structure S_IC
+    Implements IC
+    Dim v As Integer
+End Structure
diff --git a/vbnc/vbnc/tests/Errors/30311-65.vb b/vbnc/vbnc/tests/Errors/30311-65.vb
new file mode 100644
index 0000000..e3b8481
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30311-65.vb
@@ -0,0 +1,251 @@
+Option Strict On
+
+Class TypeConversion
+    Shared Sub Main()
+        Dim o As Object
+        Dim e As System.Enum
+        Dim v As System.ValueType
+        Dim d As System.Delegate
+
+        Dim ia As IA
+        Dim ib As IB
+        Dim ic As IC
+        Dim sa As SA
+        Dim da As DA
+        Dim ca As CA
+        Dim c_ia As C_IA
+        Dim c_ib As C_IB
+        Dim c_ic As C_IC
+
+        ia = CType("", IA)
+        ia = CType(ia, IA)
+        ia = CType(ib, IA)
+        ia = CType(da, IA)
+        ia = CType(ca, IA)
+        ia = CType(c_ia, IA)
+        ia = c_ia
+        ia = CType(c_ib, IA)
+        ia = c_ic
+        ia = CType(o, IA)
+
+        ic = c_ic
+
+        o = ia
+
+    End Sub
+
+End Class
+
+Class ArrayType1
+    Sub M()
+        Dim in_ia() As ia
+        Dim in_ic() As ic
+        Dim in_ca() As ca
+        Dim in_cb() As cb
+        Dim in_ia2(,) As ia
+        Dim in_ia_D7(7) As ia
+        Dim in_ia_R2()() As ia
+        Dim in_c_ia() As c_ia
+        Dim in_e_b() As e_b
+        Dim in_e_i() As e_i
+        Dim in_byte() As Byte
+        Dim in_integer() As Integer
+        Dim in_enum() As system.enum
+        Dim in_vt() As system.valuetype
+
+        Dim out_ia() As ia
+        Dim out_ic() As ic
+        Dim out_ca() As ca
+        Dim out_cb() As cb
+        Dim out_c_ia() As c_ia
+        Dim out_ia_D6(6) As ia
+        Dim out_e_b() As e_b
+        Dim out_e_i() As e_i
+        Dim out_byte() As Byte
+        Dim out_integer() As Integer
+        Dim out_enum() As system.enum
+        Dim out_vt() As system.valuetype
+        Dim out_obj() As Object
+        Dim out As system.array
+
+        out_ia = in_ia
+        out_ia = in_ic
+
+        out_ia = in_c_ia
+        out_ca = in_cb
+
+        out_ia_D6 = in_ia_D7
+        out_e_b = in_e_b
+        out_byte = in_e_b
+        out_integer = in_e_i
+        out_enum = in_enum
+
+        out_obj = in_enum
+        out_obj = in_vt
+        out = in_enum
+        out = in_vt
+        out = in_integer
+        out = in_e_i
+    End Sub
+
+    Sub TG1(Of X As Structure)()
+        Dim in_a() As X
+        Dim in_b() As X
+        in_a = in_b
+    End Sub
+End Class
+
+Class ValueType1
+    Sub M()
+        Dim in_sa As sa
+        Dim in_sb As sb
+        Dim in_s_ic As s_ic
+        Dim in_ia As ia
+        Dim in_ic As ic
+        Dim in_id As id(Of Object)
+        Dim in_s_id As s_id(Of Object)
+        Dim in_s_id_byte As s_id(Of Byte)
+
+        Dim out_sa As sa
+        Dim out_sb As sb
+        Dim out_s_ic As s_ic
+        Dim out_ia As ia
+        Dim out_ic As ic
+        Dim out_vt As system.valuetype
+        Dim out As Object
+        Dim out_id As id(Of Object)
+        Dim out_id_str As id(Of String)
+
+        out_sa = in_sa
+        out_ia = in_s_ic
+        out_ic = in_s_ic
+        out_vt = in_sa
+        out_vt = in_s_ic
+        out = in_sa
+        out_id = in_s_id
+        out_id_str = in_s_id_byte
+    End Sub
+End Class
+
+Class GenericType1A(Of C)
+    Shared Sub GenericMethodTypeArgument(Of M)(ByVal a As C, ByVal b As M)
+        Dim o As Object
+        Dim l As Long
+
+        o = a
+        o = b
+        l = CLng(CObj(a))
+        l = CLng(CObj(b))
+    End Sub
+End Class
+Class GenericType1B(Of C As Structure)
+    Shared Sub GenericMethodTypeArgument(Of M As Structure)(ByVal a As C, ByVal b As M)
+        Dim o As Object
+
+        o = a
+        o = b
+    End Sub
+End Class
+Class GenericType1C(Of C As Class)
+    Shared Sub GenericMethodTypeArgument(Of M As Class)(ByVal a As C, ByVal b As M)
+        Dim o As Object
+
+        o = a
+        o = b
+    End Sub
+End Class
+Class GenericType1D(Of C As New)
+    Shared Sub GenericMethodTypeArgument(Of M)(ByVal a As C, ByVal b As M)
+        Dim o As Object
+
+        o = a
+        o = b
+    End Sub
+End Class
+
+Class GenericType2A(Of C As IA)
+    Shared Sub GenericMethodTypeArgument(Of M As IA)(ByVal a As C, ByVal b As M)
+        Dim o As IA
+
+        o = a
+        o = b
+    End Sub
+End Class
+
+Class GenericType2B(Of C As IC)
+    Shared Sub GenericMethodTypeArgument(Of M As IC)(ByVal a As C, ByVal b As M)
+        Dim o As IA
+        Dim o2 As IB
+        Dim o3 As IC
+
+        o = a
+        o = b
+        o2 = a
+        o2 = b
+        o3 = a
+        o3 = b
+    End Sub
+End Class
+
+Class GenericType3A(Of C As C_IA)
+    Shared Sub GenericMethodTypeArgument(Of M As C_IA)(ByVal a As C, ByVal b As M)
+        Dim o As IA
+
+        o = a
+        o = b
+    End Sub
+End Class
+
+Interface IA
+
+End Interface
+Interface IB
+
+End Interface
+Interface IC
+    Inherits IA, IB
+End Interface
+Interface ID(Of T)
+
+End Interface
+
+Delegate Sub DA()
+
+Class CA
+End Class
+
+Class CB
+    Inherits CA
+End Class
+
+Class C_IA
+    Implements IA
+End Class
+Class C_IB
+    Implements IB
+End Class
+Class C_IC
+    Implements IC
+End Class
+
+Enum E_B As Byte
+    a
+End Enum
+Enum E_I As Integer
+    a
+End Enum
+
+Structure SA
+    Dim v As Integer
+End Structure
+Structure SB
+    Dim v As Integer
+End Structure
+Structure S_IC
+    Implements IC
+    Dim v As Integer
+End Structure
+Structure S_ID(Of T)
+    Implements ID(Of T)
+    Dim v As Integer
+End Structure
diff --git a/vbnc/vbnc/tests/Errors/30311-66.vb b/vbnc/vbnc/tests/Errors/30311-66.vb
new file mode 100644
index 0000000..1c2f19e
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30311-66.vb
@@ -0,0 +1,491 @@
+Option Strict Off
+
+Class TypeConversion
+    Shared Sub Main()
+        Dim o As Object
+        Dim e As System.Enum
+        Dim v As System.ValueType
+        Dim d As System.Delegate
+
+        Dim ia As IA
+        Dim ib As IB
+        Dim ic As IC
+        Dim sa As SA
+        Dim da As DA
+        Dim ca As CA
+        Dim c_ia As C_IA
+        Dim c_ib As C_IB
+        Dim c_ic As C_IC
+
+        ia = CType("", IA)
+        ia = CType(ia, IA)
+        ia = CType(ib, IA)
+        ia = CType(da, IA)
+        ia = CType(ca, IA)
+        ia = CType(c_ia, IA)
+        ia = c_ia
+        ia = CType(c_ib, IA)
+        ia = c_ic
+        ia = CType(o, IA)
+
+        ic = c_ic
+
+        o = ia
+        e = o
+        ia = o
+        sa = o
+        ca = o
+        da = o
+        ia = ib
+        ib = ia
+        da = sa
+
+        e = Nothing
+        v = Nothing
+        d = Nothing
+        ia = Nothing
+        sa = Nothing
+        da = Nothing
+        c_ia = Nothing
+    End Sub
+
+End Class
+
+Class Intrinsic
+    Sub BooleanConversions()
+        Dim out_b As Byte
+        Dim out_sb As SByte
+        Dim out_s As Short
+        Dim out_us As UShort
+        Dim out_i As Integer
+        Dim out_ui As UInteger
+        Dim out_l As Long
+        Dim out_ul As ULong
+        Dim out_dec As Decimal
+        Dim out_bool As Boolean
+        Dim out_sng As Single
+        Dim out_dbl As Double
+        Dim out_str As String
+        Dim out_chr As Char
+        Dim out_dt As Date
+        Dim value As Boolean
+        Dim in_b As Byte
+        Dim in_sb As SByte
+        Dim in_s As Short
+        Dim in_us As UShort
+        Dim in_i As Integer
+        Dim in_ui As UInteger
+        Dim in_l As Long
+        Dim in_ul As ULong
+        Dim in_dec As Decimal
+        Dim in_bool As Boolean
+        Dim in_sng As Single
+        Dim in_dbl As Double
+        Dim in_str As String
+        Dim in_chr As Char
+        Dim in_dt As Date
+
+        out_b = value
+        out_sb = value
+        out_s = value
+        out_us = value
+        out_i = value
+        out_ui = value
+        out_l = value
+        out_ul = value
+        out_dec = value
+        out_sng = value
+        out_dbl = value
+
+        value = in_b
+        value = in_sb
+        value = in_s
+        value = in_us
+        value = in_i
+        value = in_ui
+        value = in_l
+        value = in_ul
+        value = in_dec
+        value = in_sng
+        value = in_dbl
+    End Sub
+
+    Sub NumericConversions()
+        Dim out_b As Byte
+        Dim out_sb As SByte
+        Dim out_s As Short
+        Dim out_us As UShort
+        Dim out_i As Integer
+        Dim out_ui As UInteger
+        Dim out_l As Long
+        Dim out_ul As ULong
+        Dim out_dec As Decimal
+        Dim out_bool As Boolean
+        Dim out_sng As Single
+        Dim out_dbl As Double
+        Dim out_str As String
+        Dim out_chr As Char
+        Dim out_dt As Date
+
+        Dim in_b As Byte
+        Dim in_sb As SByte
+        Dim in_s As Short
+        Dim in_us As UShort
+        Dim in_i As Integer
+        Dim in_ui As UInteger
+        Dim in_l As Long
+        Dim in_ul As ULong
+        Dim in_dec As Decimal
+        Dim in_bool As Boolean
+        Dim in_sng As Single
+        Dim in_dbl As Double
+        Dim in_str As String
+        Dim in_chr As Char
+        Dim in_dt As Date
+
+        out_sb = in_b
+
+        out_b = in_sb
+        out_us = in_sb
+        out_ui = in_sb
+        out_ul = in_sb
+
+        out_b = in_us
+        out_sb = in_us
+        out_s = in_us
+
+        out_b = in_s
+        out_sb = in_s
+        out_ui = in_s
+        out_ul = in_s
+
+        out_b = in_ui
+        out_sb = in_ui
+        out_us = in_ui
+        out_s = in_ui
+        out_i = in_ui
+
+        out_b = in_i
+        out_sb = in_i
+        out_us = in_i
+        out_s = in_i
+        out_ui = in_i
+        out_ul = in_i
+
+        out_b = in_ul
+        out_sb = in_ul
+        out_us = in_ul
+        out_s = in_ul
+        out_ui = in_ul
+        out_i = in_ul
+        out_l = in_ul
+
+        out_b = in_l
+        out_sb = in_l
+        out_us = in_l
+        out_s = in_l
+        out_ui = in_l
+        out_i = in_l
+        out_ul = in_l
+
+        out_b = in_dec
+        out_sb = in_dec
+        out_us = in_dec
+        out_s = in_dec
+        out_ui = in_dec
+        out_i = in_dec
+        out_ul = in_dec
+        out_l = in_dec
+
+        out_b = in_sng
+        out_sb = in_sng
+        out_us = in_sng
+        out_s = in_sng
+        out_ui = in_sng
+        out_i = in_sng
+        out_ul = in_sng
+        out_l = in_sng
+        out_dec = in_sng
+
+        out_b = in_dbl
+        out_sb = in_dbl
+        out_us = in_dbl
+        out_s = in_dbl
+        out_ui = in_dbl
+        out_i = in_dbl
+        out_ul = in_dbl
+        out_l = in_dbl
+        out_dec = in_dbl
+        out_sng = in_dbl
+    End Sub
+
+    Sub NumericConversionsEnum()
+        Dim e_b As e_b
+        Dim e_i As e_i
+        Dim b As Byte
+        Dim i As Integer
+
+        e_b = 2
+        e_i = 4
+
+        e_b = b
+        e_i = i
+        e_b = i
+        e_i = b
+        b = e_b
+        b = e_i
+        i = e_b
+        i = e_i
+        e_b = e_i
+        e_i = e_b
+    End Sub
+End Class
+
+Class ArrayType1
+    Sub M()
+        Dim in_ia() As ia
+        Dim in_ic() As ic
+        Dim in_ca() As ca
+        Dim in_cb() As cb
+        Dim in_ia2(,) As ia
+        Dim in_ia_D7(7) As ia
+        Dim in_ia_R2()() As ia
+        Dim in_c_ia() As c_ia
+        Dim in_e_b() As e_b
+        Dim in_e_i() As e_i
+        Dim in_byte() As Byte
+        Dim in_integer() As Integer
+        Dim in_enum() As system.enum
+        Dim in_vt() As system.valuetype
+
+        Dim out_ia() As ia
+        Dim out_ic() As ic
+        Dim out_ca() As ca
+        Dim out_cb() As cb
+        Dim out_c_ia() As c_ia
+        Dim out_ia_D6(6) As ia
+        Dim out_e_b() As e_b
+        Dim out_e_i() As e_i
+        Dim out_byte() As Byte
+        Dim out_integer() As Integer
+        Dim out_enum() As system.enum
+        Dim out_vt() As system.valuetype
+        Dim out_obj() As Object
+        Dim out As system.array
+
+        out_ia = in_ia
+        out_ia = in_ic
+
+        out_ia = in_c_ia
+        out_ca = in_cb
+
+        out_ia_D6 = in_ia_D7
+        out_e_b = in_e_b
+        out_byte = in_e_b
+        out_integer = in_e_i
+        out_enum = in_enum
+
+        out_obj = in_enum
+        out_obj = in_vt
+        out = in_enum
+        out = in_vt
+        out = in_integer
+        out = in_e_i
+    End Sub
+
+    Sub TG1(Of X As Structure)()
+        Dim in_a() As X
+        Dim in_b() As X
+        in_a = in_b
+    End Sub
+End Class
+
+Class ValueType1
+    Sub M()
+        Dim in_sa As sa
+        Dim in_sb As sb
+        Dim in_s_ic As s_ic
+        Dim in_ia As ia
+        Dim in_ic As ic
+        Dim in_id As id(Of Object)
+        Dim in_s_id As s_id(Of Object)
+        Dim in_s_id_byte As s_id(Of Byte)
+
+        Dim out_sa As sa
+        Dim out_sb As sb
+        Dim out_s_ic As s_ic
+        Dim out_ia As ia
+        Dim out_ic As ic
+        Dim out_vt As system.valuetype
+        Dim out As Object
+        Dim out_id As id(Of Object)
+        Dim out_id_str As id(Of String)
+
+        out_sa = in_sa
+        out_ia = in_s_ic
+        out_ic = in_s_ic
+        out_vt = in_sa
+        out_vt = in_s_ic
+        out = in_sa
+        out_id = in_s_id
+    End Sub
+End Class
+
+Class String1
+    Sub M()
+        Dim c As Char
+        Dim s As String
+        Dim c_arr() As Char
+
+        s = c
+        s = c_arr
+    End Sub
+End Class
+
+Class Nullable1
+    Sub M()
+        Dim in_i_n As Integer?
+        Dim in_i As Integer
+        Dim in_s As Short
+        Dim in_s_n As Short?
+        Dim in_s_ic_n As s_ic?
+        Dim in_s_id_n As s_id(Of String)?
+
+        Dim out_i_n As Integer?
+        Dim out_i As Integer
+        Dim out_s_n As Short?
+        Dim out_ic As ic
+        Dim out_ib As ib
+        Dim out_id As id(Of String)
+
+        out_i_n = in_i
+        out_i_n = in_s
+        out_s_n = in_s_n
+        out_ic = in_s_ic_n
+        out_ib = in_s_ic_n
+        out_id = in_s_id_n
+    End Sub
+End Class
+
+Class GenericType1A(Of C)
+    Shared Sub GenericMethodTypeArgument(Of M)(ByVal a As C, ByVal b As M)
+        Dim o As Object
+        Dim l As Long
+
+        o = a
+        o = b
+        l = CLng(CObj(a))
+        l = CLng(CObj(b))
+    End Sub
+End Class
+Class GenericType1B(Of C As Structure)
+    Shared Sub GenericMethodTypeArgument(Of M As Structure)(ByVal a As C, ByVal b As M)
+        Dim o As Object
+
+        o = a
+        o = b
+    End Sub
+End Class
+Class GenericType1C(Of C As Class)
+    Shared Sub GenericMethodTypeArgument(Of M As Class)(ByVal a As C, ByVal b As M)
+        Dim o As Object
+
+        o = a
+        o = b
+    End Sub
+End Class
+Class GenericType1D(Of C As New)
+    Shared Sub GenericMethodTypeArgument(Of M)(ByVal a As C, ByVal b As M)
+        Dim o As Object
+
+        o = a
+        o = b
+    End Sub
+End Class
+
+Class GenericType2A(Of C As IA)
+    Shared Sub GenericMethodTypeArgument(Of M As IA)(ByVal a As C, ByVal b As M)
+        Dim o As IA
+
+        o = a
+        o = b
+    End Sub
+End Class
+
+Class GenericType2B(Of C As IC)
+    Shared Sub GenericMethodTypeArgument(Of M As IC)(ByVal a As C, ByVal b As M)
+        Dim o As IA
+        Dim o2 As IB
+        Dim o3 As IC
+
+        o = a
+        o = b
+        o2 = a
+        o2 = b
+        o3 = a
+        o3 = b
+    End Sub
+End Class
+
+Class GenericType3A(Of C As C_IA)
+    Shared Sub GenericMethodTypeArgument(Of M As C_IA)(ByVal a As C, ByVal b As M)
+        Dim o As IA
+
+        o = a
+        o = b
+    End Sub
+End Class
+
+Interface IA
+
+End Interface
+Interface IB
+
+End Interface
+Interface IC
+    Inherits IA, IB
+End Interface
+Interface ID(Of T)
+
+End Interface
+
+Delegate Sub DA()
+
+Class CA
+End Class
+
+Class CB
+    Inherits CA
+End Class
+
+Class C_IA
+    Implements IA
+End Class
+Class C_IB
+    Implements IB
+End Class
+Class C_IC
+    Implements IC
+End Class
+
+Enum E_B As Byte
+    a
+End Enum
+Enum E_I As Integer
+    a
+End Enum
+
+Structure SA
+    Dim v As Integer
+End Structure
+Structure SB
+    Dim v As Integer
+End Structure
+Structure S_IC
+    Implements IC
+    Dim v As Integer
+End Structure
+Structure S_ID(Of T)
+    Implements ID(Of T)
+    Dim v As Integer
+End Structure
diff --git a/vbnc/vbnc/tests/Errors/30311-67.vb b/vbnc/vbnc/tests/Errors/30311-67.vb
new file mode 100644
index 0000000..d6be22e
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30311-67.vb
@@ -0,0 +1,493 @@
+Option Strict Off
+
+Class TypeConversion
+    Shared Sub Main()
+        Dim o As Object
+        Dim e As System.Enum
+        Dim v As System.ValueType
+        Dim d As System.Delegate
+
+        Dim ia As IA
+        Dim ib As IB
+        Dim ic As IC
+        Dim sa As SA
+        Dim da As DA
+        Dim ca As CA
+        Dim c_ia As C_IA
+        Dim c_ib As C_IB
+        Dim c_ic As C_IC
+
+        ia = CType("", IA)
+        ia = CType(ia, IA)
+        ia = CType(ib, IA)
+        ia = CType(da, IA)
+        ia = CType(ca, IA)
+        ia = CType(c_ia, IA)
+        ia = c_ia
+        ia = CType(c_ib, IA)
+        ia = c_ic
+        ia = CType(o, IA)
+
+        ic = c_ic
+
+        o = ia
+        e = o
+        ia = o
+        sa = o
+        ca = o
+        da = o
+        ia = ib
+        ib = ia
+        v = sa
+        sa = v
+        sa = e
+
+        e = Nothing
+        v = Nothing
+        d = Nothing
+        ia = Nothing
+        sa = Nothing
+        da = Nothing
+        c_ia = Nothing
+    End Sub
+
+End Class
+
+Class Intrinsic
+    Sub BooleanConversions()
+        Dim out_b As Byte
+        Dim out_sb As SByte
+        Dim out_s As Short
+        Dim out_us As UShort
+        Dim out_i As Integer
+        Dim out_ui As UInteger
+        Dim out_l As Long
+        Dim out_ul As ULong
+        Dim out_dec As Decimal
+        Dim out_bool As Boolean
+        Dim out_sng As Single
+        Dim out_dbl As Double
+        Dim out_str As String
+        Dim out_chr As Char
+        Dim out_dt As Date
+        Dim value As Boolean
+        Dim in_b As Byte
+        Dim in_sb As SByte
+        Dim in_s As Short
+        Dim in_us As UShort
+        Dim in_i As Integer
+        Dim in_ui As UInteger
+        Dim in_l As Long
+        Dim in_ul As ULong
+        Dim in_dec As Decimal
+        Dim in_bool As Boolean
+        Dim in_sng As Single
+        Dim in_dbl As Double
+        Dim in_str As String
+        Dim in_chr As Char
+        Dim in_dt As Date
+
+        out_b = value
+        out_sb = value
+        out_s = value
+        out_us = value
+        out_i = value
+        out_ui = value
+        out_l = value
+        out_ul = value
+        out_dec = value
+        out_sng = value
+        out_dbl = value
+
+        value = in_b
+        value = in_sb
+        value = in_s
+        value = in_us
+        value = in_i
+        value = in_ui
+        value = in_l
+        value = in_ul
+        value = in_dec
+        value = in_sng
+        value = in_dbl
+    End Sub
+
+    Sub NumericConversions()
+        Dim out_b As Byte
+        Dim out_sb As SByte
+        Dim out_s As Short
+        Dim out_us As UShort
+        Dim out_i As Integer
+        Dim out_ui As UInteger
+        Dim out_l As Long
+        Dim out_ul As ULong
+        Dim out_dec As Decimal
+        Dim out_bool As Boolean
+        Dim out_sng As Single
+        Dim out_dbl As Double
+        Dim out_str As String
+        Dim out_chr As Char
+        Dim out_dt As Date
+
+        Dim in_b As Byte
+        Dim in_sb As SByte
+        Dim in_s As Short
+        Dim in_us As UShort
+        Dim in_i As Integer
+        Dim in_ui As UInteger
+        Dim in_l As Long
+        Dim in_ul As ULong
+        Dim in_dec As Decimal
+        Dim in_bool As Boolean
+        Dim in_sng As Single
+        Dim in_dbl As Double
+        Dim in_str As String
+        Dim in_chr As Char
+        Dim in_dt As Date
+
+        out_sb = in_b
+
+        out_b = in_sb
+        out_us = in_sb
+        out_ui = in_sb
+        out_ul = in_sb
+
+        out_b = in_us
+        out_sb = in_us
+        out_s = in_us
+
+        out_b = in_s
+        out_sb = in_s
+        out_ui = in_s
+        out_ul = in_s
+
+        out_b = in_ui
+        out_sb = in_ui
+        out_us = in_ui
+        out_s = in_ui
+        out_i = in_ui
+
+        out_b = in_i
+        out_sb = in_i
+        out_us = in_i
+        out_s = in_i
+        out_ui = in_i
+        out_ul = in_i
+
+        out_b = in_ul
+        out_sb = in_ul
+        out_us = in_ul
+        out_s = in_ul
+        out_ui = in_ul
+        out_i = in_ul
+        out_l = in_ul
+
+        out_b = in_l
+        out_sb = in_l
+        out_us = in_l
+        out_s = in_l
+        out_ui = in_l
+        out_i = in_l
+        out_ul = in_l
+
+        out_b = in_dec
+        out_sb = in_dec
+        out_us = in_dec
+        out_s = in_dec
+        out_ui = in_dec
+        out_i = in_dec
+        out_ul = in_dec
+        out_l = in_dec
+
+        out_b = in_sng
+        out_sb = in_sng
+        out_us = in_sng
+        out_s = in_sng
+        out_ui = in_sng
+        out_i = in_sng
+        out_ul = in_sng
+        out_l = in_sng
+        out_dec = in_sng
+
+        out_b = in_dbl
+        out_sb = in_dbl
+        out_us = in_dbl
+        out_s = in_dbl
+        out_ui = in_dbl
+        out_i = in_dbl
+        out_ul = in_dbl
+        out_l = in_dbl
+        out_dec = in_dbl
+        out_sng = in_dbl
+    End Sub
+
+    Sub NumericConversionsEnum()
+        Dim e_b As e_b
+        Dim e_i As e_i
+        Dim b As Byte
+        Dim i As Integer
+
+        e_b = 2
+        e_i = 4
+
+        e_b = b
+        e_i = i
+        e_b = i
+        e_i = b
+        b = e_b
+        b = e_i
+        i = e_b
+        i = e_i
+        e_b = e_i
+        e_i = e_b
+    End Sub
+End Class
+
+Class ArrayType1
+    Sub M()
+        Dim in_ia() As ia
+        Dim in_ic() As ic
+        Dim in_ca() As ca
+        Dim in_cb() As cb
+        Dim in_ia2(,) As ia
+        Dim in_ia_D7(7) As ia
+        Dim in_ia_R2()() As ia
+        Dim in_c_ia() As c_ia
+        Dim in_e_b() As e_b
+        Dim in_e_i() As e_i
+        Dim in_byte() As Byte
+        Dim in_integer() As Integer
+        Dim in_enum() As system.enum
+        Dim in_vt() As system.valuetype
+
+        Dim out_ia() As ia
+        Dim out_ic() As ic
+        Dim out_ca() As ca
+        Dim out_cb() As cb
+        Dim out_c_ia() As c_ia
+        Dim out_ia_D6(6) As ia
+        Dim out_e_b() As e_b
+        Dim out_e_i() As e_i
+        Dim out_byte() As Byte
+        Dim out_integer() As Integer
+        Dim out_enum() As system.enum
+        Dim out_vt() As system.valuetype
+        Dim out_obj() As Object
+        Dim out As system.array
+
+        out_ia = in_ia
+        out_ia = in_ic
+
+        out_ia = in_c_ia
+        out_ca = in_cb
+
+        out_ia_D6 = in_ia_D7
+        out_e_b = in_e_b
+        out_byte = in_e_b
+        out_integer = in_e_i
+        out_enum = in_enum
+
+        out_obj = in_enum
+        out_obj = in_vt
+        out = in_enum
+        out = in_vt
+        out = in_integer
+        out = in_e_i
+    End Sub
+
+    Sub TG1(Of X As Structure)()
+        Dim in_a() As X
+        Dim in_b() As X
+        in_a = in_b
+    End Sub
+End Class
+
+Class ValueType1
+    Sub M()
+        Dim in_sa As sa
+        Dim in_sb As sb
+        Dim in_s_ic As s_ic
+        Dim in_ia As ia
+        Dim in_ic As ic
+        Dim in_id As id(Of Object)
+        Dim in_s_id As s_id(Of Object)
+        Dim in_s_id_byte As s_id(Of Byte)
+
+        Dim out_sa As sa
+        Dim out_sb As sb
+        Dim out_s_ic As s_ic
+        Dim out_ia As ia
+        Dim out_ic As ic
+        Dim out_vt As system.valuetype
+        Dim out As Object
+        Dim out_id As id(Of Object)
+        Dim out_id_str As id(Of String)
+
+        out_sa = in_sa
+        out_ia = in_s_ic
+        out_ic = in_s_ic
+        out_vt = in_sa
+        out_vt = in_s_ic
+        out = in_sa
+        out_id = in_s_id
+    End Sub
+End Class
+
+Class String1
+    Sub M()
+        Dim c As Char
+        Dim s As String
+        Dim c_arr() As Char
+
+        s = c
+        s = c_arr
+    End Sub
+End Class
+
+Class Nullable1
+    Sub M()
+        Dim in_i_n As Integer?
+        Dim in_i As Integer
+        Dim in_s As Short
+        Dim in_s_n As Short?
+        Dim in_s_ic_n As s_ic?
+        Dim in_s_id_n As s_id(Of String)?
+
+        Dim out_i_n As Integer?
+        Dim out_i As Integer
+        Dim out_s_n As Short?
+        Dim out_ic As ic
+        Dim out_ib As ib
+        Dim out_id As id(Of String)
+
+        out_i_n = in_i
+        out_i_n = in_s
+        out_s_n = in_s_n
+        out_ic = in_s_ic_n
+        out_ib = in_s_ic_n
+        out_id = in_s_id_n
+    End Sub
+End Class
+
+Class GenericType1A(Of C)
+    Shared Sub GenericMethodTypeArgument(Of M)(ByVal a As C, ByVal b As M)
+        Dim o As Object
+        Dim l As Long
+
+        o = a
+        o = b
+        l = CLng(CObj(a))
+        l = CLng(CObj(b))
+    End Sub
+End Class
+Class GenericType1B(Of C As Structure)
+    Shared Sub GenericMethodTypeArgument(Of M As Structure)(ByVal a As C, ByVal b As M)
+        Dim o As Object
+
+        o = a
+        o = b
+    End Sub
+End Class
+Class GenericType1C(Of C As Class)
+    Shared Sub GenericMethodTypeArgument(Of M As Class)(ByVal a As C, ByVal b As M)
+        Dim o As Object
+
+        o = a
+        o = b
+    End Sub
+End Class
+Class GenericType1D(Of C As New)
+    Shared Sub GenericMethodTypeArgument(Of M)(ByVal a As C, ByVal b As M)
+        Dim o As Object
+
+        o = a
+        o = b
+    End Sub
+End Class
+
+Class GenericType2A(Of C As IA)
+    Shared Sub GenericMethodTypeArgument(Of M As IA)(ByVal a As C, ByVal b As M)
+        Dim o As IA
+
+        o = a
+        o = b
+    End Sub
+End Class
+
+Class GenericType2B(Of C As IC)
+    Shared Sub GenericMethodTypeArgument(Of M As IC)(ByVal a As C, ByVal b As M)
+        Dim o As IA
+        Dim o2 As IB
+        Dim o3 As IC
+
+        o = a
+        o = b
+        o2 = a
+        o2 = b
+        o3 = a
+        o3 = b
+    End Sub
+End Class
+
+Class GenericType3A(Of C As C_IA)
+    Shared Sub GenericMethodTypeArgument(Of M As C_IA)(ByVal a As C, ByVal b As M)
+        Dim o As IA
+
+        o = a
+        o = b
+    End Sub
+End Class
+
+Interface IA
+
+End Interface
+Interface IB
+
+End Interface
+Interface IC
+    Inherits IA, IB
+End Interface
+Interface ID(Of T)
+
+End Interface
+
+Delegate Sub DA()
+
+Class CA
+End Class
+
+Class CB
+    Inherits CA
+End Class
+
+Class C_IA
+    Implements IA
+End Class
+Class C_IB
+    Implements IB
+End Class
+Class C_IC
+    Implements IC
+End Class
+
+Enum E_B As Byte
+    a
+End Enum
+Enum E_I As Integer
+    a
+End Enum
+
+Structure SA
+    Dim v As Integer
+End Structure
+Structure SB
+    Dim v As Integer
+End Structure
+Structure S_IC
+    Implements IC
+    Dim v As Integer
+End Structure
+Structure S_ID(Of T)
+    Implements ID(Of T)
+    Dim v As Integer
+End Structure
diff --git a/vbnc/vbnc/tests/Errors/30311-68.vb b/vbnc/vbnc/tests/Errors/30311-68.vb
new file mode 100644
index 0000000..758297a
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30311-68.vb
@@ -0,0 +1,14 @@
+Option Strict Off
+
+Class GenericType3A(Of X As C)
+    Shared Sub GenericMethodTypeArgument(ByVal a As X)
+        Dim o As D
+        o = a
+    End Sub
+End Class
+
+Class C
+End Class
+Class D
+    Inherits C
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30332-1.vb b/vbnc/vbnc/tests/Errors/30332-1.vb
new file mode 100644
index 0000000..95796fa
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30332-1.vb
@@ -0,0 +1,169 @@
+Option Strict On
+
+Class TypeConversion
+    Shared Sub Main()
+        Dim o As Object
+        Dim e As System.Enum
+        Dim v As System.ValueType
+        Dim d As System.Delegate
+
+        Dim ia As IA
+        Dim ib As IB
+        Dim ic As IC
+        Dim sa As SA
+        Dim da As DA
+        Dim ca As CA
+        Dim c_ia As C_IA
+        Dim c_ib As C_IB
+        Dim c_ic As C_IC
+
+        ia = CType("", IA)
+        ia = CType(ia, IA)
+        ia = CType(ib, IA)
+        ia = CType(da, IA)
+        ia = CType(ca, IA)
+        ia = CType(c_ia, IA)
+        ia = c_ia
+        ia = CType(c_ib, IA)
+        ia = c_ic
+        ia = CType(o, IA)
+
+        ic = c_ic
+
+        o = ia
+
+    End Sub
+
+End Class
+
+Class ArrayType1
+    Sub M()
+        Dim in_ia() As ia
+        Dim in_ic() As ic
+        Dim in_ca() As ca
+        Dim in_cb() As cb
+        Dim in_ia2(,) As ia
+        Dim in_ia_D7(7) As ia
+        Dim in_ia_R2()() As ia
+
+        Dim out_ia() As ia
+        Dim out_ic() As ic
+        Dim out_ca() As ca
+        Dim out_cb() As cb
+        Dim out_c_ia() As c_ia
+        Dim out_ia_D6(6) As ia
+
+        out_ia = in_ia
+        out_ia = in_ic
+
+        out_ia = out_c_ia
+
+        out_ia_D6 = in_ia_D7
+
+        Dim ii() As Integer
+        Dim ll() As Long
+        ll = ii
+    End Sub
+End Class
+
+Class GenericType1A(Of C)
+    Shared Sub GenericMethodTypeArgument(Of M)(ByVal a As C, ByVal b As M)
+        Dim o As Object
+        Dim l As Long
+
+        o = a
+        o = b
+        l = CLng(CObj(a))
+        l = CLng(CObj(b))
+    End Sub
+End Class
+Class GenericType1B(Of C As Structure)
+    Shared Sub GenericMethodTypeArgument(Of M As Structure)(ByVal a As C, ByVal b As M)
+        Dim o As Object
+
+        o = a
+        o = b
+    End Sub
+End Class
+Class GenericType1C(Of C As Class)
+    Shared Sub GenericMethodTypeArgument(Of M As Class)(ByVal a As C, ByVal b As M)
+        Dim o As Object
+
+        o = a
+        o = b
+    End Sub
+End Class
+Class GenericType1D(Of C As New)
+    Shared Sub GenericMethodTypeArgument(Of M)(ByVal a As C, ByVal b As M)
+        Dim o As Object
+
+        o = a
+        o = b
+    End Sub
+End Class
+
+Class GenericType2A(Of C As IA)
+    Shared Sub GenericMethodTypeArgument(Of M As IA)(ByVal a As C, ByVal b As M)
+        Dim o As IA
+
+        o = a
+        o = b
+    End Sub
+End Class
+
+Class GenericType2B(Of C As IC)
+    Shared Sub GenericMethodTypeArgument(Of M As IC)(ByVal a As C, ByVal b As M)
+        Dim o As IA
+        Dim o2 As IB
+        Dim o3 As IC
+
+        o = a
+        o = b
+        o2 = a
+        o2 = b
+        o3 = a
+        o3 = b
+    End Sub
+End Class
+
+Class GenericType3A(Of C As C_IA)
+    Shared Sub GenericMethodTypeArgument(Of M As C_IA)(ByVal a As C, ByVal b As M)
+        Dim o As IA
+
+        o = a
+        o = b
+    End Sub
+End Class
+
+Interface IA
+
+End Interface
+Interface IB
+
+End Interface
+Interface IC
+    Inherits IA, IB
+End Interface
+
+Structure SA
+    Dim v As Integer
+End Structure
+
+Delegate Sub DA()
+
+Class CA
+End Class
+
+Class CB
+    Inherits CA
+End Class
+
+Class C_IA
+    Implements IA
+End Class
+Class C_IB
+    Implements IB
+End Class
+Class C_IC
+    Implements IC
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30332-2.vb b/vbnc/vbnc/tests/Errors/30332-2.vb
new file mode 100644
index 0000000..b0d4370
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30332-2.vb
@@ -0,0 +1,169 @@
+Option Strict On
+
+Class TypeConversion
+    Shared Sub Main()
+        Dim o As Object
+        Dim e As System.Enum
+        Dim v As System.ValueType
+        Dim d As System.Delegate
+
+        Dim ia As IA
+        Dim ib As IB
+        Dim ic As IC
+        Dim sa As SA
+        Dim da As DA
+        Dim ca As CA
+        Dim c_ia As C_IA
+        Dim c_ib As C_IB
+        Dim c_ic As C_IC
+
+        ia = CType("", IA)
+        ia = CType(ia, IA)
+        ia = CType(ib, IA)
+        ia = CType(da, IA)
+        ia = CType(ca, IA)
+        ia = CType(c_ia, IA)
+        ia = c_ia
+        ia = CType(c_ib, IA)
+        ia = c_ic
+        ia = CType(o, IA)
+
+        ic = c_ic
+
+        o = ia
+
+    End Sub
+
+End Class
+
+Class ArrayType1
+    Sub M()
+        Dim in_ia() As ia
+        Dim in_ic() As ic
+        Dim in_ca() As ca
+        Dim in_cb() As cb
+        Dim in_ia2(,) As ia
+        Dim in_ia_D7(7) As ia
+        Dim in_ia_R2()() As ia
+
+        Dim out_ia() As ia
+        Dim out_ic() As ic
+        Dim out_ca() As ca
+        Dim out_cb() As cb
+        Dim out_c_ia() As c_ia
+        Dim out_ia_D6(6) As ia
+
+        out_ia = in_ia
+        out_ia = in_ic
+
+        out_ia = out_c_ia
+
+        out_ia_D6 = in_ia_D7
+
+        Dim ii() As Integer
+        Dim ll() As UInteger
+        ll = ii
+    End Sub
+End Class
+
+Class GenericType1A(Of C)
+    Shared Sub GenericMethodTypeArgument(Of M)(ByVal a As C, ByVal b As M)
+        Dim o As Object
+        Dim l As Long
+
+        o = a
+        o = b
+        l = CLng(CObj(a))
+        l = CLng(CObj(b))
+    End Sub
+End Class
+Class GenericType1B(Of C As Structure)
+    Shared Sub GenericMethodTypeArgument(Of M As Structure)(ByVal a As C, ByVal b As M)
+        Dim o As Object
+
+        o = a
+        o = b
+    End Sub
+End Class
+Class GenericType1C(Of C As Class)
+    Shared Sub GenericMethodTypeArgument(Of M As Class)(ByVal a As C, ByVal b As M)
+        Dim o As Object
+
+        o = a
+        o = b
+    End Sub
+End Class
+Class GenericType1D(Of C As New)
+    Shared Sub GenericMethodTypeArgument(Of M)(ByVal a As C, ByVal b As M)
+        Dim o As Object
+
+        o = a
+        o = b
+    End Sub
+End Class
+
+Class GenericType2A(Of C As IA)
+    Shared Sub GenericMethodTypeArgument(Of M As IA)(ByVal a As C, ByVal b As M)
+        Dim o As IA
+
+        o = a
+        o = b
+    End Sub
+End Class
+
+Class GenericType2B(Of C As IC)
+    Shared Sub GenericMethodTypeArgument(Of M As IC)(ByVal a As C, ByVal b As M)
+        Dim o As IA
+        Dim o2 As IB
+        Dim o3 As IC
+
+        o = a
+        o = b
+        o2 = a
+        o2 = b
+        o3 = a
+        o3 = b
+    End Sub
+End Class
+
+Class GenericType3A(Of C As C_IA)
+    Shared Sub GenericMethodTypeArgument(Of M As C_IA)(ByVal a As C, ByVal b As M)
+        Dim o As IA
+
+        o = a
+        o = b
+    End Sub
+End Class
+
+Interface IA
+
+End Interface
+Interface IB
+
+End Interface
+Interface IC
+    Inherits IA, IB
+End Interface
+
+Structure SA
+    Dim v As Integer
+End Structure
+
+Delegate Sub DA()
+
+Class CA
+End Class
+
+Class CB
+    Inherits CA
+End Class
+
+Class C_IA
+    Implements IA
+End Class
+Class C_IB
+    Implements IB
+End Class
+Class C_IC
+    Implements IC
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30332-3.vb b/vbnc/vbnc/tests/Errors/30332-3.vb
new file mode 100644
index 0000000..4331f7d
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30332-3.vb
@@ -0,0 +1,176 @@
+Option Strict On
+
+Class TypeConversion
+    Shared Sub Main()
+        Dim o As Object
+        Dim e As System.Enum
+        Dim v As System.ValueType
+        Dim d As System.Delegate
+
+        Dim ia As IA
+        Dim ib As IB
+        Dim ic As IC
+        Dim sa As SA
+        Dim da As DA
+        Dim ca As CA
+        Dim c_ia As C_IA
+        Dim c_ib As C_IB
+        Dim c_ic As C_IC
+
+        ia = CType("", IA)
+        ia = CType(ia, IA)
+        ia = CType(ib, IA)
+        ia = CType(da, IA)
+        ia = CType(ca, IA)
+        ia = CType(c_ia, IA)
+        ia = c_ia
+        ia = CType(c_ib, IA)
+        ia = c_ic
+        ia = CType(o, IA)
+
+        ic = c_ic
+
+        o = ia
+
+    End Sub
+
+End Class
+
+Class ArrayType1
+    Sub M()
+        Dim in_ia() As ia
+        Dim in_ic() As ic
+        Dim in_ca() As ca
+        Dim in_cb() As cb
+        Dim in_ia2(,) As ia
+        Dim in_ia_D7(7) As ia
+        Dim in_ia_R2()() As ia
+
+        Dim out_ia() As ia
+        Dim out_ic() As ic
+        Dim out_ca() As ca
+        Dim out_cb() As cb
+        Dim out_c_ia() As c_ia
+        Dim out_ia_D6(6) As ia
+
+        out_ia = in_ia
+        out_ia = in_ic
+
+        out_ia = out_c_ia
+
+        out_ia_D6 = in_ia_D7
+    End Sub
+
+    Sub TG1(Of X As Structure)()
+        Dim in_a() As X
+        Dim in_b() As X
+        in_a = in_b
+    End Sub
+    Sub TG2(Of X As Structure, Y As Structure)()
+        Dim in_a() As X
+        Dim in_b() As Y
+        in_a = in_b
+    End Sub
+End Class
+
+Class GenericType1A(Of C)
+    Shared Sub GenericMethodTypeArgument(Of M)(ByVal a As C, ByVal b As M)
+        Dim o As Object
+        Dim l As Long
+
+        o = a
+        o = b
+        l = CLng(CObj(a))
+        l = CLng(CObj(b))
+    End Sub
+End Class
+Class GenericType1B(Of C As Structure)
+    Shared Sub GenericMethodTypeArgument(Of M As Structure)(ByVal a As C, ByVal b As M)
+        Dim o As Object
+
+        o = a
+        o = b
+    End Sub
+End Class
+Class GenericType1C(Of C As Class)
+    Shared Sub GenericMethodTypeArgument(Of M As Class)(ByVal a As C, ByVal b As M)
+        Dim o As Object
+
+        o = a
+        o = b
+    End Sub
+End Class
+Class GenericType1D(Of C As New)
+    Shared Sub GenericMethodTypeArgument(Of M)(ByVal a As C, ByVal b As M)
+        Dim o As Object
+
+        o = a
+        o = b
+    End Sub
+End Class
+
+Class GenericType2A(Of C As IA)
+    Shared Sub GenericMethodTypeArgument(Of M As IA)(ByVal a As C, ByVal b As M)
+        Dim o As IA
+
+        o = a
+        o = b
+    End Sub
+End Class
+
+Class GenericType2B(Of C As IC)
+    Shared Sub GenericMethodTypeArgument(Of M As IC)(ByVal a As C, ByVal b As M)
+        Dim o As IA
+        Dim o2 As IB
+        Dim o3 As IC
+
+        o = a
+        o = b
+        o2 = a
+        o2 = b
+        o3 = a
+        o3 = b
+    End Sub
+End Class
+
+Class GenericType3A(Of C As C_IA)
+    Shared Sub GenericMethodTypeArgument(Of M As C_IA)(ByVal a As C, ByVal b As M)
+        Dim o As IA
+
+        o = a
+        o = b
+    End Sub
+End Class
+
+Interface IA
+
+End Interface
+Interface IB
+
+End Interface
+Interface IC
+    Inherits IA, IB
+End Interface
+
+Structure SA
+    Dim v As Integer
+End Structure
+
+Delegate Sub DA()
+
+Class CA
+End Class
+
+Class CB
+    Inherits CA
+End Class
+
+Class C_IA
+    Implements IA
+End Class
+Class C_IB
+    Implements IB
+End Class
+Class C_IC
+    Implements IC
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30332-4.vb b/vbnc/vbnc/tests/Errors/30332-4.vb
new file mode 100644
index 0000000..b60d9ac
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30332-4.vb
@@ -0,0 +1,176 @@
+Option Strict On
+
+Class TypeConversion
+    Shared Sub Main()
+        Dim o As Object
+        Dim e As System.Enum
+        Dim v As System.ValueType
+        Dim d As System.Delegate
+
+        Dim ia As IA
+        Dim ib As IB
+        Dim ic As IC
+        Dim sa As SA
+        Dim da As DA
+        Dim ca As CA
+        Dim c_ia As C_IA
+        Dim c_ib As C_IB
+        Dim c_ic As C_IC
+
+        ia = CType("", IA)
+        ia = CType(ia, IA)
+        ia = CType(ib, IA)
+        ia = CType(da, IA)
+        ia = CType(ca, IA)
+        ia = CType(c_ia, IA)
+        ia = c_ia
+        ia = CType(c_ib, IA)
+        ia = c_ic
+        ia = CType(o, IA)
+
+        ic = c_ic
+
+        o = ia
+
+    End Sub
+
+End Class
+
+Class ArrayType1
+    Sub M()
+        Dim in_ia() As ia
+        Dim in_ic() As ic
+        Dim in_ca() As ca
+        Dim in_cb() As cb
+        Dim in_ia2(,) As ia
+        Dim in_ia_D7(7) As ia
+        Dim in_ia_R2()() As ia
+
+        Dim out_ia() As ia
+        Dim out_ic() As ic
+        Dim out_ca() As ca
+        Dim out_cb() As cb
+        Dim out_c_ia() As c_ia
+        Dim out_ia_D6(6) As ia
+
+        out_ia = in_ia
+        out_ia = in_ic
+
+        out_ia = out_c_ia
+
+        out_ia_D6 = in_ia_D7
+    End Sub
+
+    Sub TG1(Of X As Structure)()
+        Dim in_a() As X
+        Dim in_b() As X
+        in_a = in_b
+    End Sub
+    Sub TG2(Of X, Y)()
+        Dim in_a() As X
+        Dim in_b() As Y
+        in_a = in_b
+    End Sub
+End Class
+
+Class GenericType1A(Of C)
+    Shared Sub GenericMethodTypeArgument(Of M)(ByVal a As C, ByVal b As M)
+        Dim o As Object
+        Dim l As Long
+
+        o = a
+        o = b
+        l = CLng(CObj(a))
+        l = CLng(CObj(b))
+    End Sub
+End Class
+Class GenericType1B(Of C As Structure)
+    Shared Sub GenericMethodTypeArgument(Of M As Structure)(ByVal a As C, ByVal b As M)
+        Dim o As Object
+
+        o = a
+        o = b
+    End Sub
+End Class
+Class GenericType1C(Of C As Class)
+    Shared Sub GenericMethodTypeArgument(Of M As Class)(ByVal a As C, ByVal b As M)
+        Dim o As Object
+
+        o = a
+        o = b
+    End Sub
+End Class
+Class GenericType1D(Of C As New)
+    Shared Sub GenericMethodTypeArgument(Of M)(ByVal a As C, ByVal b As M)
+        Dim o As Object
+
+        o = a
+        o = b
+    End Sub
+End Class
+
+Class GenericType2A(Of C As IA)
+    Shared Sub GenericMethodTypeArgument(Of M As IA)(ByVal a As C, ByVal b As M)
+        Dim o As IA
+
+        o = a
+        o = b
+    End Sub
+End Class
+
+Class GenericType2B(Of C As IC)
+    Shared Sub GenericMethodTypeArgument(Of M As IC)(ByVal a As C, ByVal b As M)
+        Dim o As IA
+        Dim o2 As IB
+        Dim o3 As IC
+
+        o = a
+        o = b
+        o2 = a
+        o2 = b
+        o3 = a
+        o3 = b
+    End Sub
+End Class
+
+Class GenericType3A(Of C As C_IA)
+    Shared Sub GenericMethodTypeArgument(Of M As C_IA)(ByVal a As C, ByVal b As M)
+        Dim o As IA
+
+        o = a
+        o = b
+    End Sub
+End Class
+
+Interface IA
+
+End Interface
+Interface IB
+
+End Interface
+Interface IC
+    Inherits IA, IB
+End Interface
+
+Structure SA
+    Dim v As Integer
+End Structure
+
+Delegate Sub DA()
+
+Class CA
+End Class
+
+Class CB
+    Inherits CA
+End Class
+
+Class C_IA
+    Implements IA
+End Class
+Class C_IB
+    Implements IB
+End Class
+Class C_IC
+    Implements IC
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30332-5.vb b/vbnc/vbnc/tests/Errors/30332-5.vb
new file mode 100644
index 0000000..7ebef2a
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30332-5.vb
@@ -0,0 +1,176 @@
+Option Strict On
+
+Class TypeConversion
+    Shared Sub Main()
+        Dim o As Object
+        Dim e As System.Enum
+        Dim v As System.ValueType
+        Dim d As System.Delegate
+
+        Dim ia As IA
+        Dim ib As IB
+        Dim ic As IC
+        Dim sa As SA
+        Dim da As DA
+        Dim ca As CA
+        Dim c_ia As C_IA
+        Dim c_ib As C_IB
+        Dim c_ic As C_IC
+
+        ia = CType("", IA)
+        ia = CType(ia, IA)
+        ia = CType(ib, IA)
+        ia = CType(da, IA)
+        ia = CType(ca, IA)
+        ia = CType(c_ia, IA)
+        ia = c_ia
+        ia = CType(c_ib, IA)
+        ia = c_ic
+        ia = CType(o, IA)
+
+        ic = c_ic
+
+        o = ia
+
+    End Sub
+
+End Class
+
+Class ArrayType1
+    Sub M()
+        Dim in_ia() As ia
+        Dim in_ic() As ic
+        Dim in_ca() As ca
+        Dim in_cb() As cb
+        Dim in_ia2(,) As ia
+        Dim in_ia_D7(7) As ia
+        Dim in_ia_R2()() As ia
+
+        Dim out_ia() As ia
+        Dim out_ic() As ic
+        Dim out_ca() As ca
+        Dim out_cb() As cb
+        Dim out_c_ia() As c_ia
+        Dim out_ia_D6(6) As ia
+
+        out_ia = in_ia
+        out_ia = in_ic
+
+        out_ia = out_c_ia
+
+        out_ia_D6 = in_ia_D7
+    End Sub
+
+    Sub TG1(Of X As Structure)()
+        Dim in_a() As X
+        Dim in_b() As X
+        in_a = in_b
+    End Sub
+    Sub TG2(Of X As IA, Y As IC)()
+        Dim in_a() As X
+        Dim in_b() As Y
+        in_a = in_b
+    End Sub
+End Class
+
+Class GenericType1A(Of C)
+    Shared Sub GenericMethodTypeArgument(Of M)(ByVal a As C, ByVal b As M)
+        Dim o As Object
+        Dim l As Long
+
+        o = a
+        o = b
+        l = CLng(CObj(a))
+        l = CLng(CObj(b))
+    End Sub
+End Class
+Class GenericType1B(Of C As Structure)
+    Shared Sub GenericMethodTypeArgument(Of M As Structure)(ByVal a As C, ByVal b As M)
+        Dim o As Object
+
+        o = a
+        o = b
+    End Sub
+End Class
+Class GenericType1C(Of C As Class)
+    Shared Sub GenericMethodTypeArgument(Of M As Class)(ByVal a As C, ByVal b As M)
+        Dim o As Object
+
+        o = a
+        o = b
+    End Sub
+End Class
+Class GenericType1D(Of C As New)
+    Shared Sub GenericMethodTypeArgument(Of M)(ByVal a As C, ByVal b As M)
+        Dim o As Object
+
+        o = a
+        o = b
+    End Sub
+End Class
+
+Class GenericType2A(Of C As IA)
+    Shared Sub GenericMethodTypeArgument(Of M As IA)(ByVal a As C, ByVal b As M)
+        Dim o As IA
+
+        o = a
+        o = b
+    End Sub
+End Class
+
+Class GenericType2B(Of C As IC)
+    Shared Sub GenericMethodTypeArgument(Of M As IC)(ByVal a As C, ByVal b As M)
+        Dim o As IA
+        Dim o2 As IB
+        Dim o3 As IC
+
+        o = a
+        o = b
+        o2 = a
+        o2 = b
+        o3 = a
+        o3 = b
+    End Sub
+End Class
+
+Class GenericType3A(Of C As C_IA)
+    Shared Sub GenericMethodTypeArgument(Of M As C_IA)(ByVal a As C, ByVal b As M)
+        Dim o As IA
+
+        o = a
+        o = b
+    End Sub
+End Class
+
+Interface IA
+
+End Interface
+Interface IB
+
+End Interface
+Interface IC
+    Inherits IA, IB
+End Interface
+
+Structure SA
+    Dim v As Integer
+End Structure
+
+Delegate Sub DA()
+
+Class CA
+End Class
+
+Class CB
+    Inherits CA
+End Class
+
+Class C_IA
+    Implements IA
+End Class
+Class C_IB
+    Implements IB
+End Class
+Class C_IC
+    Implements IC
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30332-6.vb b/vbnc/vbnc/tests/Errors/30332-6.vb
new file mode 100644
index 0000000..17c2f07
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30332-6.vb
@@ -0,0 +1,189 @@
+Option Strict On
+
+Class TypeConversion
+    Shared Sub Main()
+        Dim o As Object
+        Dim e As System.Enum
+        Dim v As System.ValueType
+        Dim d As System.Delegate
+
+        Dim ia As IA
+        Dim ib As IB
+        Dim ic As IC
+        Dim sa As SA
+        Dim da As DA
+        Dim ca As CA
+        Dim c_ia As C_IA
+        Dim c_ib As C_IB
+        Dim c_ic As C_IC
+
+        ia = CType("", IA)
+        ia = CType(ia, IA)
+        ia = CType(ib, IA)
+        ia = CType(da, IA)
+        ia = CType(ca, IA)
+        ia = CType(c_ia, IA)
+        ia = c_ia
+        ia = CType(c_ib, IA)
+        ia = c_ic
+        ia = CType(o, IA)
+
+        ic = c_ic
+
+        o = ia
+
+    End Sub
+
+End Class
+
+Class ArrayType1
+    Sub M()
+        Dim in_ia() As ia
+        Dim in_ic() As ic
+        Dim in_ca() As ca
+        Dim in_cb() As cb
+        Dim in_ia2(,) As ia
+        Dim in_ia_D7(7) As ia
+        Dim in_ia_R2()() As ia
+        Dim in_e_b() As e_b
+        Dim in_e_i() As e_i
+        Dim in_byte() As Byte
+        Dim in_integer() As Integer
+
+        Dim out_ia() As ia
+        Dim out_ic() As ic
+        Dim out_ca() As ca
+        Dim out_cb() As cb
+        Dim out_c_ia() As c_ia
+        Dim out_ia_D6(6) As ia
+        Dim out_e_b() As e_b
+        Dim out_e_i() As e_i
+        Dim out_byte() As Byte
+        Dim out_integer() As Integer
+
+        out_ia = in_ia
+        out_ia = in_ic
+
+        out_ia = out_c_ia
+        out_ca = in_cb
+
+        out_ia_D6 = in_ia_D7
+        out_e_b = in_e_b
+        out_e_b = in_e_i
+    End Sub
+
+    Sub TG1(Of X As Structure)()
+        Dim in_a() As X
+        Dim in_b() As X
+        in_a = in_b
+    End Sub
+End Class
+
+Class GenericType1A(Of C)
+    Shared Sub GenericMethodTypeArgument(Of M)(ByVal a As C, ByVal b As M)
+        Dim o As Object
+        Dim l As Long
+
+        o = a
+        o = b
+        l = CLng(CObj(a))
+        l = CLng(CObj(b))
+    End Sub
+End Class
+Class GenericType1B(Of C As Structure)
+    Shared Sub GenericMethodTypeArgument(Of M As Structure)(ByVal a As C, ByVal b As M)
+        Dim o As Object
+
+        o = a
+        o = b
+    End Sub
+End Class
+Class GenericType1C(Of C As Class)
+    Shared Sub GenericMethodTypeArgument(Of M As Class)(ByVal a As C, ByVal b As M)
+        Dim o As Object
+
+        o = a
+        o = b
+    End Sub
+End Class
+Class GenericType1D(Of C As New)
+    Shared Sub GenericMethodTypeArgument(Of M)(ByVal a As C, ByVal b As M)
+        Dim o As Object
+
+        o = a
+        o = b
+    End Sub
+End Class
+
+Class GenericType2A(Of C As IA)
+    Shared Sub GenericMethodTypeArgument(Of M As IA)(ByVal a As C, ByVal b As M)
+        Dim o As IA
+
+        o = a
+        o = b
+    End Sub
+End Class
+
+Class GenericType2B(Of C As IC)
+    Shared Sub GenericMethodTypeArgument(Of M As IC)(ByVal a As C, ByVal b As M)
+        Dim o As IA
+        Dim o2 As IB
+        Dim o3 As IC
+
+        o = a
+        o = b
+        o2 = a
+        o2 = b
+        o3 = a
+        o3 = b
+    End Sub
+End Class
+
+Class GenericType3A(Of C As C_IA)
+    Shared Sub GenericMethodTypeArgument(Of M As C_IA)(ByVal a As C, ByVal b As M)
+        Dim o As IA
+
+        o = a
+        o = b
+    End Sub
+End Class
+
+Interface IA
+
+End Interface
+Interface IB
+
+End Interface
+Interface IC
+    Inherits IA, IB
+End Interface
+
+Structure SA
+    Dim v As Integer
+End Structure
+
+Delegate Sub DA()
+
+Class CA
+End Class
+
+Class CB
+    Inherits CA
+End Class
+
+Class C_IA
+    Implements IA
+End Class
+Class C_IB
+    Implements IB
+End Class
+Class C_IC
+    Implements IC
+End Class
+
+Enum E_B As Byte
+    a
+End Enum
+Enum E_I As Integer
+    a
+End Enum
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30332-7.vb b/vbnc/vbnc/tests/Errors/30332-7.vb
new file mode 100644
index 0000000..2b39513
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30332-7.vb
@@ -0,0 +1,194 @@
+Option Strict On
+
+Class TypeConversion
+    Shared Sub Main()
+        Dim o As Object
+        Dim e As System.Enum
+        Dim v As System.ValueType
+        Dim d As System.Delegate
+
+        Dim ia As IA
+        Dim ib As IB
+        Dim ic As IC
+        Dim sa As SA
+        Dim da As DA
+        Dim ca As CA
+        Dim c_ia As C_IA
+        Dim c_ib As C_IB
+        Dim c_ic As C_IC
+
+        ia = CType("", IA)
+        ia = CType(ia, IA)
+        ia = CType(ib, IA)
+        ia = CType(da, IA)
+        ia = CType(ca, IA)
+        ia = CType(c_ia, IA)
+        ia = c_ia
+        ia = CType(c_ib, IA)
+        ia = c_ic
+        ia = CType(o, IA)
+
+        ic = c_ic
+
+        o = ia
+
+    End Sub
+
+End Class
+
+Class ArrayType1
+    Sub M()
+        Dim in_ia() As ia
+        Dim in_ic() As ic
+        Dim in_ca() As ca
+        Dim in_cb() As cb
+        Dim in_ia2(,) As ia
+        Dim in_ia_D7(7) As ia
+        Dim in_ia_R2()() As ia
+        Dim in_c_ia() As c_ia
+        Dim in_e_b() As e_b
+        Dim in_e_i() As e_i
+        Dim in_byte() As Byte
+        Dim in_integer() As Integer
+        Dim in_enum() As system.enum
+
+        Dim out_ia() As ia
+        Dim out_ic() As ic
+        Dim out_ca() As ca
+        Dim out_cb() As cb
+        Dim out_c_ia() As c_ia
+        Dim out_ia_D6(6) As ia
+        Dim out_e_b() As e_b
+        Dim out_e_i() As e_i
+        Dim out_byte() As Byte
+        Dim out_integer() As Integer
+        Dim out_enum() As system.enum
+
+        out_ia = in_ia
+        out_ia = in_ic
+
+        out_ia = in_c_ia
+        out_ca = in_cb
+
+        out_ia_D6 = in_ia_D7
+        out_e_b = in_e_b
+        out_byte = in_e_b
+        out_integer = in_e_i
+        out_enum = in_e_i
+    End Sub
+
+    Sub TG1(Of X As Structure)()
+        Dim in_a() As X
+        Dim in_b() As X
+        in_a = in_b
+    End Sub
+End Class
+
+Class GenericType1A(Of C)
+    Shared Sub GenericMethodTypeArgument(Of M)(ByVal a As C, ByVal b As M)
+        Dim o As Object
+        Dim l As Long
+
+        o = a
+        o = b
+        l = CLng(CObj(a))
+        l = CLng(CObj(b))
+    End Sub
+End Class
+Class GenericType1B(Of C As Structure)
+    Shared Sub GenericMethodTypeArgument(Of M As Structure)(ByVal a As C, ByVal b As M)
+        Dim o As Object
+
+        o = a
+        o = b
+    End Sub
+End Class
+Class GenericType1C(Of C As Class)
+    Shared Sub GenericMethodTypeArgument(Of M As Class)(ByVal a As C, ByVal b As M)
+        Dim o As Object
+
+        o = a
+        o = b
+    End Sub
+End Class
+Class GenericType1D(Of C As New)
+    Shared Sub GenericMethodTypeArgument(Of M)(ByVal a As C, ByVal b As M)
+        Dim o As Object
+
+        o = a
+        o = b
+    End Sub
+End Class
+
+Class GenericType2A(Of C As IA)
+    Shared Sub GenericMethodTypeArgument(Of M As IA)(ByVal a As C, ByVal b As M)
+        Dim o As IA
+
+        o = a
+        o = b
+    End Sub
+End Class
+
+Class GenericType2B(Of C As IC)
+    Shared Sub GenericMethodTypeArgument(Of M As IC)(ByVal a As C, ByVal b As M)
+        Dim o As IA
+        Dim o2 As IB
+        Dim o3 As IC
+
+        o = a
+        o = b
+        o2 = a
+        o2 = b
+        o3 = a
+        o3 = b
+    End Sub
+End Class
+
+Class GenericType3A(Of C As C_IA)
+    Shared Sub GenericMethodTypeArgument(Of M As C_IA)(ByVal a As C, ByVal b As M)
+        Dim o As IA
+
+        o = a
+        o = b
+    End Sub
+End Class
+
+Interface IA
+
+End Interface
+Interface IB
+
+End Interface
+Interface IC
+    Inherits IA, IB
+End Interface
+
+Structure SA
+    Dim v As Integer
+End Structure
+
+Delegate Sub DA()
+
+Class CA
+End Class
+
+Class CB
+    Inherits CA
+End Class
+
+Class C_IA
+    Implements IA
+End Class
+Class C_IB
+    Implements IB
+End Class
+Class C_IC
+    Implements IC
+End Class
+
+Enum E_B As Byte
+    a
+End Enum
+Enum E_I As Integer
+    a
+End Enum
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30332.vb b/vbnc/vbnc/tests/Errors/30332.vb
new file mode 100644
index 0000000..7d53144
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30332.vb
@@ -0,0 +1,166 @@
+Option Strict On
+
+Class TypeConversion
+    Shared Sub Main()
+        Dim o As Object
+        Dim e As System.Enum
+        Dim v As System.ValueType
+        Dim d As System.Delegate
+
+        Dim ia As IA
+        Dim ib As IB
+        Dim ic As IC
+        Dim sa As SA
+        Dim da As DA
+        Dim ca As CA
+        Dim c_ia As C_IA
+        Dim c_ib As C_IB
+        Dim c_ic As C_IC
+
+        ia = CType("", IA)
+        ia = CType(ia, IA)
+        ia = CType(ib, IA)
+        ia = CType(da, IA)
+        ia = CType(ca, IA)
+        ia = CType(c_ia, IA)
+        ia = c_ia
+        ia = CType(c_ib, IA)
+        ia = c_ic
+        ia = CType(o, IA)
+
+        ic = c_ic
+
+        o = ia
+
+    End Sub
+
+End Class
+
+Class ArrayType1
+    Sub M()
+        Dim in_ia() As ia
+        Dim in_ic() As ic
+        Dim in_ca() As ca
+        Dim in_cb() As cb
+        Dim in_ia2(,) As ia
+        Dim in_ia_D7(7) As ia
+        Dim in_ia_R2()() As ia
+
+        Dim out_ia() As ia
+        Dim out_ic() As ic
+        Dim out_ca() As ca
+        Dim out_cb() As cb
+        Dim out_c_ia() As c_ia
+        Dim out_ia_D6(6) As ia
+
+        out_ia = in_ia
+        out_ia = in_ic
+
+        out_ia = out_c_ia
+
+        out_ia_D6 = in_ia_D7
+        out_ia = in_ia_R2
+    End Sub
+End Class
+
+Class GenericType1A(Of C)
+    Shared Sub GenericMethodTypeArgument(Of M)(ByVal a As C, ByVal b As M)
+        Dim o As Object
+        Dim l As Long
+
+        o = a
+        o = b
+        l = CLng(CObj(a))
+        l = CLng(CObj(b))
+    End Sub
+End Class
+Class GenericType1B(Of C As Structure)
+    Shared Sub GenericMethodTypeArgument(Of M As Structure)(ByVal a As C, ByVal b As M)
+        Dim o As Object
+
+        o = a
+        o = b
+    End Sub
+End Class
+Class GenericType1C(Of C As Class)
+    Shared Sub GenericMethodTypeArgument(Of M As Class)(ByVal a As C, ByVal b As M)
+        Dim o As Object
+
+        o = a
+        o = b
+    End Sub
+End Class
+Class GenericType1D(Of C As New)
+    Shared Sub GenericMethodTypeArgument(Of M)(ByVal a As C, ByVal b As M)
+        Dim o As Object
+
+        o = a
+        o = b
+    End Sub
+End Class
+
+Class GenericType2A(Of C As IA)
+    Shared Sub GenericMethodTypeArgument(Of M As IA)(ByVal a As C, ByVal b As M)
+        Dim o As IA
+
+        o = a
+        o = b
+    End Sub
+End Class
+
+Class GenericType2B(Of C As IC)
+    Shared Sub GenericMethodTypeArgument(Of M As IC)(ByVal a As C, ByVal b As M)
+        Dim o As IA
+        Dim o2 As IB
+        Dim o3 As IC
+
+        o = a
+        o = b
+        o2 = a
+        o2 = b
+        o3 = a
+        o3 = b
+    End Sub
+End Class
+
+Class GenericType3A(Of C As C_IA)
+    Shared Sub GenericMethodTypeArgument(Of M As C_IA)(ByVal a As C, ByVal b As M)
+        Dim o As IA
+
+        o = a
+        o = b
+    End Sub
+End Class
+
+Interface IA
+
+End Interface
+Interface IB
+
+End Interface
+Interface IC
+    Inherits IA, IB
+End Interface
+
+Structure SA
+    Dim v As Integer
+End Structure
+
+Delegate Sub DA()
+
+Class CA
+End Class
+
+Class CB
+    Inherits CA
+End Class
+
+Class C_IA
+    Implements IA
+End Class
+Class C_IB
+    Implements IB
+End Class
+Class C_IC
+    Implements IC
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30333-1.vb b/vbnc/vbnc/tests/Errors/30333-1.vb
new file mode 100644
index 0000000..4387979
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30333-1.vb
@@ -0,0 +1,202 @@
+Option Strict On
+
+Class TypeConversion
+    Shared Sub Main()
+        Dim o As Object
+        Dim e As System.Enum
+        Dim v As System.ValueType
+        Dim d As System.Delegate
+
+        Dim ia As IA
+        Dim ib As IB
+        Dim ic As IC
+        Dim sa As SA
+        Dim da As DA
+        Dim ca As CA
+        Dim c_ia As C_IA
+        Dim c_ib As C_IB
+        Dim c_ic As C_IC
+
+        ia = CType("", IA)
+        ia = CType(ia, IA)
+        ia = CType(ib, IA)
+        ia = CType(da, IA)
+        ia = CType(ca, IA)
+        ia = CType(c_ia, IA)
+        ia = c_ia
+        ia = CType(c_ib, IA)
+        ia = c_ic
+        ia = CType(o, IA)
+
+        ic = c_ic
+
+        o = ia
+
+    End Sub
+
+End Class
+
+Class ArrayType1
+    Sub M()
+        Dim in_ia() As ia
+        Dim in_ic() As ic
+        Dim in_ca() As ca
+        Dim in_cb() As cb
+        Dim in_ia2(,) As ia
+        Dim in_ia_D7(7) As ia
+        Dim in_ia_R2()() As ia
+        Dim in_c_ia() As c_ia
+        Dim in_e_b() As e_b
+        Dim in_e_i() As e_i
+        Dim in_byte() As Byte
+        Dim in_integer() As Integer
+        Dim in_enum() As system.enum
+        Dim in_vt() As system.valuetype
+
+        Dim out_ia() As ia
+        Dim out_ic() As ic
+        Dim out_ca() As ca
+        Dim out_cb() As cb
+        Dim out_c_ia() As c_ia
+        Dim out_ia_D6(6) As ia
+        Dim out_e_b() As e_b
+        Dim out_e_i() As e_i
+        Dim out_byte() As Byte
+        Dim out_integer() As Integer
+        Dim out_enum() As system.enum
+        Dim out_vt() As system.valuetype
+        Dim out_obj() As Object
+        Dim out As system.array
+
+        out_ia = in_ia
+        out_ia = in_ic
+
+        out_ia = in_c_ia
+        out_ca = in_cb
+
+        out_ia_D6 = in_ia_D7
+        out_e_b = in_e_b
+        out_byte = in_e_b
+        out_integer = in_e_i
+        out_enum = in_enum
+
+        out_obj = out_integer
+        out_obj = out_enum
+        out_obj = out_vt
+    End Sub
+
+    Sub TG1(Of X As Structure)()
+        Dim in_a() As X
+        Dim in_b() As X
+        in_a = in_b
+    End Sub
+End Class
+
+Class GenericType1A(Of C)
+    Shared Sub GenericMethodTypeArgument(Of M)(ByVal a As C, ByVal b As M)
+        Dim o As Object
+        Dim l As Long
+
+        o = a
+        o = b
+        l = CLng(CObj(a))
+        l = CLng(CObj(b))
+    End Sub
+End Class
+Class GenericType1B(Of C As Structure)
+    Shared Sub GenericMethodTypeArgument(Of M As Structure)(ByVal a As C, ByVal b As M)
+        Dim o As Object
+
+        o = a
+        o = b
+    End Sub
+End Class
+Class GenericType1C(Of C As Class)
+    Shared Sub GenericMethodTypeArgument(Of M As Class)(ByVal a As C, ByVal b As M)
+        Dim o As Object
+
+        o = a
+        o = b
+    End Sub
+End Class
+Class GenericType1D(Of C As New)
+    Shared Sub GenericMethodTypeArgument(Of M)(ByVal a As C, ByVal b As M)
+        Dim o As Object
+
+        o = a
+        o = b
+    End Sub
+End Class
+
+Class GenericType2A(Of C As IA)
+    Shared Sub GenericMethodTypeArgument(Of M As IA)(ByVal a As C, ByVal b As M)
+        Dim o As IA
+
+        o = a
+        o = b
+    End Sub
+End Class
+
+Class GenericType2B(Of C As IC)
+    Shared Sub GenericMethodTypeArgument(Of M As IC)(ByVal a As C, ByVal b As M)
+        Dim o As IA
+        Dim o2 As IB
+        Dim o3 As IC
+
+        o = a
+        o = b
+        o2 = a
+        o2 = b
+        o3 = a
+        o3 = b
+    End Sub
+End Class
+
+Class GenericType3A(Of C As C_IA)
+    Shared Sub GenericMethodTypeArgument(Of M As C_IA)(ByVal a As C, ByVal b As M)
+        Dim o As IA
+
+        o = a
+        o = b
+    End Sub
+End Class
+
+Interface IA
+
+End Interface
+Interface IB
+
+End Interface
+Interface IC
+    Inherits IA, IB
+End Interface
+
+Structure SA
+    Dim v As Integer
+End Structure
+
+Delegate Sub DA()
+
+Class CA
+End Class
+
+Class CB
+    Inherits CA
+End Class
+
+Class C_IA
+    Implements IA
+End Class
+Class C_IB
+    Implements IB
+End Class
+Class C_IC
+    Implements IC
+End Class
+
+Enum E_B As Byte
+    a
+End Enum
+Enum E_I As Integer
+    a
+End Enum
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30333.vb b/vbnc/vbnc/tests/Errors/30333.vb
new file mode 100644
index 0000000..66629e7
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30333.vb
@@ -0,0 +1,198 @@
+Option Strict On
+
+Class TypeConversion
+    Shared Sub Main()
+        Dim o As Object
+        Dim e As System.Enum
+        Dim v As System.ValueType
+        Dim d As System.Delegate
+
+        Dim ia As IA
+        Dim ib As IB
+        Dim ic As IC
+        Dim sa As SA
+        Dim da As DA
+        Dim ca As CA
+        Dim c_ia As C_IA
+        Dim c_ib As C_IB
+        Dim c_ic As C_IC
+
+        ia = CType("", IA)
+        ia = CType(ia, IA)
+        ia = CType(ib, IA)
+        ia = CType(da, IA)
+        ia = CType(ca, IA)
+        ia = CType(c_ia, IA)
+        ia = c_ia
+        ia = CType(c_ib, IA)
+        ia = c_ic
+        ia = CType(o, IA)
+
+        ic = c_ic
+
+        o = ia
+
+    End Sub
+
+End Class
+
+Class ArrayType1
+    Sub M()
+        Dim in_ia() As ia
+        Dim in_ic() As ic
+        Dim in_ca() As ca
+        Dim in_cb() As cb
+        Dim in_ia2(,) As ia
+        Dim in_ia_D7(7) As ia
+        Dim in_ia_R2()() As ia
+        Dim in_c_ia() As c_ia
+        Dim in_e_b() As e_b
+        Dim in_e_i() As e_i
+        Dim in_byte() As Byte
+        Dim in_integer() As Integer
+        Dim in_enum() As system.enum
+        Dim in_vt() As system.valuetype
+
+        Dim out_ia() As ia
+        Dim out_ic() As ic
+        Dim out_ca() As ca
+        Dim out_cb() As cb
+        Dim out_c_ia() As c_ia
+        Dim out_ia_D6(6) As ia
+        Dim out_e_b() As e_b
+        Dim out_e_i() As e_i
+        Dim out_byte() As Byte
+        Dim out_integer() As Integer
+        Dim out_enum() As system.enum
+        Dim out_vt() As system.valuetype
+
+        out_ia = in_ia
+        out_ia = in_ic
+
+        out_ia = in_c_ia
+        out_ca = in_cb
+
+        out_ia_D6 = in_ia_D7
+        out_e_b = in_e_b
+        out_byte = in_e_b
+        out_integer = in_e_i
+        out_enum = in_enum
+
+        out_vt = in_integer
+    End Sub
+
+    Sub TG1(Of X As Structure)()
+        Dim in_a() As X
+        Dim in_b() As X
+        in_a = in_b
+    End Sub
+End Class
+
+Class GenericType1A(Of C)
+    Shared Sub GenericMethodTypeArgument(Of M)(ByVal a As C, ByVal b As M)
+        Dim o As Object
+        Dim l As Long
+
+        o = a
+        o = b
+        l = CLng(CObj(a))
+        l = CLng(CObj(b))
+    End Sub
+End Class
+Class GenericType1B(Of C As Structure)
+    Shared Sub GenericMethodTypeArgument(Of M As Structure)(ByVal a As C, ByVal b As M)
+        Dim o As Object
+
+        o = a
+        o = b
+    End Sub
+End Class
+Class GenericType1C(Of C As Class)
+    Shared Sub GenericMethodTypeArgument(Of M As Class)(ByVal a As C, ByVal b As M)
+        Dim o As Object
+
+        o = a
+        o = b
+    End Sub
+End Class
+Class GenericType1D(Of C As New)
+    Shared Sub GenericMethodTypeArgument(Of M)(ByVal a As C, ByVal b As M)
+        Dim o As Object
+
+        o = a
+        o = b
+    End Sub
+End Class
+
+Class GenericType2A(Of C As IA)
+    Shared Sub GenericMethodTypeArgument(Of M As IA)(ByVal a As C, ByVal b As M)
+        Dim o As IA
+
+        o = a
+        o = b
+    End Sub
+End Class
+
+Class GenericType2B(Of C As IC)
+    Shared Sub GenericMethodTypeArgument(Of M As IC)(ByVal a As C, ByVal b As M)
+        Dim o As IA
+        Dim o2 As IB
+        Dim o3 As IC
+
+        o = a
+        o = b
+        o2 = a
+        o2 = b
+        o3 = a
+        o3 = b
+    End Sub
+End Class
+
+Class GenericType3A(Of C As C_IA)
+    Shared Sub GenericMethodTypeArgument(Of M As C_IA)(ByVal a As C, ByVal b As M)
+        Dim o As IA
+
+        o = a
+        o = b
+    End Sub
+End Class
+
+Interface IA
+
+End Interface
+Interface IB
+
+End Interface
+Interface IC
+    Inherits IA, IB
+End Interface
+
+Structure SA
+    Dim v As Integer
+End Structure
+
+Delegate Sub DA()
+
+Class CA
+End Class
+
+Class CB
+    Inherits CA
+End Class
+
+Class C_IA
+    Implements IA
+End Class
+Class C_IB
+    Implements IB
+End Class
+Class C_IC
+    Implements IC
+End Class
+
+Enum E_B As Byte
+    a
+End Enum
+Enum E_I As Integer
+    a
+End Enum
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30367.vb b/vbnc/vbnc/tests/Errors/30367.vb
new file mode 100644
index 0000000..7a25471
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30367.vb
@@ -0,0 +1,25 @@
+Option Strict Off
+
+Imports System.Data
+Class R
+    Shared Function Main() As Integer
+        Dim result As Integer
+        Dim a As New a
+
+        If Not a!foo Then
+            Console.WriteLine("a failed")
+            result += 1
+        End If
+
+
+        Return result
+    End Function
+End Class
+
+Class A
+    ReadOnly Property I(ByVal a As String) As Boolean
+        Get
+            Return False
+        End Get
+    End Property
+End Class
diff --git a/vbnc/vbnc/tests/Errors/30369-1.vb b/vbnc/vbnc/tests/Errors/30369-1.vb
new file mode 100644
index 0000000..85c7e2e
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30369-1.vb
@@ -0,0 +1,61 @@
+Option Strict On
+Option Explicit On
+
+
+Public Class StaticCreateDelegateToSharedMethod
+
+    Public Shared Sub Main()
+        ' All lines here should fail with BC30369:
+        ' "Cannot refer to an instance member of a class from within a shared method or shared member initializer without an explicit instance of the class."
+        'Console.WriteLine(m_foo)
+        Console.WriteLine(Foo())
+        'Dim eh As New EventHandler(AddressOf InstanceMethodA)
+        'AddHandler WizBangChanged, eh
+        'Bar = 100
+        '' This causes a very wierd error in MSFT's vbc, it reports overload
+        'resolution()
+        '' failed on WriteLine, but reports each overload alongwith the message
+        'from(BC30369)
+        'Console.WriteLine(Bar)
+    End Sub
+
+    '
+    ' A selection of instance members
+    '
+    Public Sub InstanceMethodA(ByVal sender As Object, ByVal e As EventArgs)
+        Console.WriteLine("curious!")
+    End Sub
+
+    Public Function Foo() As int32
+        Return &H45
+    End Function
+
+    Public Property Bar() As int32
+        Get
+            Return m_bar
+        End Get
+        Set(ByVal value As int32)
+            m_bar = value
+        End Set
+    End Property
+
+    Public Event WizBangChanged As EventHandler
+
+    Private m_bar As Integer
+    Public m_foo As Int32 = 99
+    Public m_here As String = "here"
+
+End Class
+
+
+'Class AnyDifferenceWhenAccessFromAnotherClass
+'    Sub Accesses()
+'        ' As above.
+'        Console.WriteLine(StaticCreateDelegateToSharedMethod.m_foo)
+'        Console.WriteLine(StaticCreateDelegateToSharedMethod.Foo())
+'        Dim eh As New EventHandler(AddressOf StaticCreateDelegateToSharedMethod.InstanceMethodA)
+'        AddHandler StaticCreateDelegateToSharedMethod.WizBangChanged, eh
+'        StaticCreateDelegateToSharedMethod.Bar = 100
+'        Console.WriteLine(StaticCreateDelegateToSharedMethod.Bar)
+'    End Sub
+'End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30369-10.vb b/vbnc/vbnc/tests/Errors/30369-10.vb
new file mode 100644
index 0000000..0163616
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30369-10.vb
@@ -0,0 +1,69 @@
+Option Strict On
+Option Explicit On
+
+Public Class C
+    Public Shared Sub SharedMethodA(ByVal sender As Object, ByVal e As EventArgs)
+        Console.WriteLine("curious!")
+    End Sub
+
+    Public Shared Function Foo() As Integer
+        Return &H45
+    End Function
+
+    Public Shared Property Bar() As Integer
+        Get
+            Return 0
+        End Get
+        Set(ByVal value As int32)
+        End Set
+    End Property
+
+    Public Shared Event WizBangChanged As EventHandler
+
+    Public Shared m_foo As Int32 = 99
+End Class
+
+Class C1
+    Dim C As C
+
+    Shared Sub Accesses()
+        Console.WriteLine(C.m_foo)
+        Console.WriteLine(C.Foo())
+        Dim eh As New EventHandler(AddressOf C.SharedMethodA)
+        'AddHandler C.WizBangChanged, eh
+        C.Bar = 100
+        Console.WriteLine(C.Bar)
+    End Sub
+End Class
+
+Class C2
+    ReadOnly Property C As C
+        Get
+            Return Nothing
+        End Get
+    End Property
+
+    Shared Sub Accesses()
+        Console.WriteLine(C.m_foo)
+        Console.WriteLine(C.Foo())
+        Dim eh As New EventHandler(AddressOf C.SharedMethodA)
+        'AddHandler C.WizBangChanged, eh
+        C.Bar = 100
+        Console.WriteLine(C.Bar)
+    End Sub
+End Class
+
+Class C3
+    Function C() As C
+        Return Nothing
+    End Function
+    
+    Shared Sub Accesses()
+        'Console.WriteLine(C.m_foo)
+        'Console.WriteLine(C.Foo())
+        Dim eh As New EventHandler(AddressOf C.SharedMethodA)
+        'AddHandler C.WizBangChanged, eh
+        'C.Bar = 100
+        'Console.WriteLine(C.Bar)
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30369-11.vb b/vbnc/vbnc/tests/Errors/30369-11.vb
new file mode 100644
index 0000000..119ca2a
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30369-11.vb
@@ -0,0 +1,69 @@
+Option Strict On
+Option Explicit On
+
+Public Class C
+    Public Shared Sub SharedMethodA(ByVal sender As Object, ByVal e As EventArgs)
+        Console.WriteLine("curious!")
+    End Sub
+
+    Public Shared Function Foo() As Integer
+        Return &H45
+    End Function
+
+    Public Shared Property Bar() As Integer
+        Get
+            Return 0
+        End Get
+        Set(ByVal value As int32)
+        End Set
+    End Property
+
+    Public Shared Event WizBangChanged As EventHandler
+
+    Public Shared m_foo As Int32 = 99
+End Class
+
+Class C1
+    Dim C As C
+
+    Shared Sub Accesses()
+        Console.WriteLine(C.m_foo)
+        Console.WriteLine(C.Foo())
+        Dim eh As New EventHandler(AddressOf C.SharedMethodA)
+        'AddHandler C.WizBangChanged, eh
+        C.Bar = 100
+        Console.WriteLine(C.Bar)
+    End Sub
+End Class
+
+Class C2
+    ReadOnly Property C As C
+        Get
+            Return Nothing
+        End Get
+    End Property
+
+    Shared Sub Accesses()
+        Console.WriteLine(C.m_foo)
+        Console.WriteLine(C.Foo())
+        Dim eh As New EventHandler(AddressOf C.SharedMethodA)
+        'AddHandler C.WizBangChanged, eh
+        C.Bar = 100
+        Console.WriteLine(C.Bar)
+    End Sub
+End Class
+
+Class C3
+    Function C() As C
+        Return Nothing
+    End Function
+    
+    Shared Sub Accesses()
+        'Console.WriteLine(C.m_foo)
+        'Console.WriteLine(C.Foo())
+        Dim eh As New EventHandler(AddressOf Global.C.SharedMethodA)
+        AddHandler C.WizBangChanged, eh
+        'C.Bar = 100
+        'Console.WriteLine(C.Bar)
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30369-12.vb b/vbnc/vbnc/tests/Errors/30369-12.vb
new file mode 100644
index 0000000..4f0ff81
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30369-12.vb
@@ -0,0 +1,69 @@
+Option Strict On
+Option Explicit On
+
+Public Class C
+    Public Shared Sub SharedMethodA(ByVal sender As Object, ByVal e As EventArgs)
+        Console.WriteLine("curious!")
+    End Sub
+
+    Public Shared Function Foo() As Integer
+        Return &H45
+    End Function
+
+    Public Shared Property Bar() As Integer
+        Get
+            Return 0
+        End Get
+        Set(ByVal value As int32)
+        End Set
+    End Property
+
+    Public Shared Event WizBangChanged As EventHandler
+
+    Public Shared m_foo As Int32 = 99
+End Class
+
+Class C1
+    Dim C As C
+
+    Shared Sub Accesses()
+        Console.WriteLine(C.m_foo)
+        Console.WriteLine(C.Foo())
+        Dim eh As New EventHandler(AddressOf C.SharedMethodA)
+        'AddHandler C.WizBangChanged, eh
+        C.Bar = 100
+        Console.WriteLine(C.Bar)
+    End Sub
+End Class
+
+Class C2
+    ReadOnly Property C As C
+        Get
+            Return Nothing
+        End Get
+    End Property
+
+    Shared Sub Accesses()
+        Console.WriteLine(C.m_foo)
+        Console.WriteLine(C.Foo())
+        Dim eh As New EventHandler(AddressOf C.SharedMethodA)
+        'AddHandler C.WizBangChanged, eh
+        C.Bar = 100
+        Console.WriteLine(C.Bar)
+    End Sub
+End Class
+
+Class C3
+    Function C() As C
+        Return Nothing
+    End Function
+    
+    Shared Sub Accesses()
+        'Console.WriteLine(C.m_foo)
+        'Console.WriteLine(C.Foo())
+        'Dim eh As New EventHandler(AddressOf Global.C.SharedMethodA)
+        'AddHandler C.WizBangChanged, eh
+        C.Bar = 100
+        'Console.WriteLine(C.Bar)
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30369-13.vb b/vbnc/vbnc/tests/Errors/30369-13.vb
new file mode 100644
index 0000000..4f5470a
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30369-13.vb
@@ -0,0 +1,69 @@
+Option Strict On
+Option Explicit On
+
+Public Class C
+    Public Shared Sub SharedMethodA(ByVal sender As Object, ByVal e As EventArgs)
+        Console.WriteLine("curious!")
+    End Sub
+
+    Public Shared Function Foo() As Integer
+        Return &H45
+    End Function
+
+    Public Shared Property Bar() As Integer
+        Get
+            Return 0
+        End Get
+        Set(ByVal value As int32)
+        End Set
+    End Property
+
+    Public Shared Event WizBangChanged As EventHandler
+
+    Public Shared m_foo As Int32 = 99
+End Class
+
+Class C1
+    Dim C As C
+
+    Shared Sub Accesses()
+        Console.WriteLine(C.m_foo)
+        Console.WriteLine(C.Foo())
+        Dim eh As New EventHandler(AddressOf C.SharedMethodA)
+        'AddHandler C.WizBangChanged, eh
+        C.Bar = 100
+        Console.WriteLine(C.Bar)
+    End Sub
+End Class
+
+Class C2
+    ReadOnly Property C As C
+        Get
+            Return Nothing
+        End Get
+    End Property
+
+    Shared Sub Accesses()
+        Console.WriteLine(C.m_foo)
+        Console.WriteLine(C.Foo())
+        Dim eh As New EventHandler(AddressOf C.SharedMethodA)
+        'AddHandler C.WizBangChanged, eh
+        C.Bar = 100
+        Console.WriteLine(C.Bar)
+    End Sub
+End Class
+
+Class C3
+    Function C() As C
+        Return Nothing
+    End Function
+    
+    Shared Sub Accesses()
+        'Console.WriteLine(C.m_foo)
+        'Console.WriteLine(C.Foo())
+        'Dim eh As New EventHandler(AddressOf Global.C.SharedMethodA)
+        'AddHandler C.WizBangChanged, eh
+        'C.Bar = 100
+        Console.WriteLine(C.Bar)
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30369-2.vb b/vbnc/vbnc/tests/Errors/30369-2.vb
new file mode 100644
index 0000000..cb358b0
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30369-2.vb
@@ -0,0 +1,61 @@
+Option Strict On
+Option Explicit On
+
+
+Public Class StaticCreateDelegateToSharedMethod
+
+    Public Shared Sub Main()
+        ' All lines here should fail with BC30369:
+        ' "Cannot refer to an instance member of a class from within a shared method or shared member initializer without an explicit instance of the class."
+        'Console.WriteLine(m_foo)
+        'Console.WriteLine(Foo())
+        Dim eh As New EventHandler(AddressOf InstanceMethodA)
+        'AddHandler WizBangChanged, eh
+        'Bar = 100
+        '' This causes a very wierd error in MSFT's vbc, it reports overload
+        'resolution()
+        '' failed on WriteLine, but reports each overload alongwith the message
+        'from(BC30369)
+        'Console.WriteLine(Bar)
+    End Sub
+
+    '
+    ' A selection of instance members
+    '
+    Public Sub InstanceMethodA(ByVal sender As Object, ByVal e As EventArgs)
+        Console.WriteLine("curious!")
+    End Sub
+
+    Public Function Foo() As int32
+        Return &H45
+    End Function
+
+    Public Property Bar() As int32
+        Get
+            Return m_bar
+        End Get
+        Set(ByVal value As int32)
+            m_bar = value
+        End Set
+    End Property
+
+    Public Event WizBangChanged As EventHandler
+
+    Private m_bar As Integer
+    Public m_foo As Int32 = 99
+    Public m_here As String = "here"
+
+End Class
+
+
+'Class AnyDifferenceWhenAccessFromAnotherClass
+'    Sub Accesses()
+'        ' As above.
+'        Console.WriteLine(StaticCreateDelegateToSharedMethod.m_foo)
+'        Console.WriteLine(StaticCreateDelegateToSharedMethod.Foo())
+'        Dim eh As New EventHandler(AddressOf StaticCreateDelegateToSharedMethod.InstanceMethodA)
+'        AddHandler StaticCreateDelegateToSharedMethod.WizBangChanged, eh
+'        StaticCreateDelegateToSharedMethod.Bar = 100
+'        Console.WriteLine(StaticCreateDelegateToSharedMethod.Bar)
+'    End Sub
+'End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30369-3.vb b/vbnc/vbnc/tests/Errors/30369-3.vb
new file mode 100644
index 0000000..2d8061b
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30369-3.vb
@@ -0,0 +1,64 @@
+Option Strict On
+Option Explicit On
+
+
+Public Class StaticCreateDelegateToSharedMethod
+
+    Public Shared Sub Main()
+        ' All lines here should fail with BC30369:
+        ' "Cannot refer to an instance member of a class from within a shared method or shared member initializer without an explicit instance of the class."
+        'Console.WriteLine(m_foo)
+        'Console.WriteLine(Foo())
+        Dim eh As New EventHandler(AddressOf SharedMethodA)
+        AddHandler WizBangChanged, eh
+        'Bar = 100
+        '' This causes a very wierd error in MSFT's vbc, it reports overload
+        'resolution()
+        '' failed on WriteLine, but reports each overload alongwith the message
+        'from(BC30369)
+        'Console.WriteLine(Bar)
+    End Sub
+
+    '
+    ' A selection of instance members
+    '
+    Public Sub InstanceMethodA(ByVal sender As Object, ByVal e As EventArgs)
+        Console.WriteLine("curious!")
+    End Sub
+    Public Shared Sub SharedMethodA(ByVal sender As Object, ByVal e As EventArgs)
+        Console.WriteLine("curious!")
+    End Sub
+
+    Public Function Foo() As int32
+        Return &H45
+    End Function
+
+    Public Property Bar() As int32
+        Get
+            Return m_bar
+        End Get
+        Set(ByVal value As int32)
+            m_bar = value
+        End Set
+    End Property
+
+    Public Event WizBangChanged As EventHandler
+
+    Private m_bar As Integer
+    Public m_foo As Int32 = 99
+    Public m_here As String = "here"
+
+End Class
+
+
+'Class AnyDifferenceWhenAccessFromAnotherClass
+'    Sub Accesses()
+'        ' As above.
+'        Console.WriteLine(StaticCreateDelegateToSharedMethod.m_foo)
+'        Console.WriteLine(StaticCreateDelegateToSharedMethod.Foo())
+'        Dim eh As New EventHandler(AddressOf StaticCreateDelegateToSharedMethod.InstanceMethodA)
+'        AddHandler StaticCreateDelegateToSharedMethod.WizBangChanged, eh
+'        StaticCreateDelegateToSharedMethod.Bar = 100
+'        Console.WriteLine(StaticCreateDelegateToSharedMethod.Bar)
+'    End Sub
+'End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30369-4.vb b/vbnc/vbnc/tests/Errors/30369-4.vb
new file mode 100644
index 0000000..9c0a332
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30369-4.vb
@@ -0,0 +1,64 @@
+Option Strict On
+Option Explicit On
+
+
+Public Class StaticCreateDelegateToSharedMethod
+
+    Public Shared Sub Main()
+        ' All lines here should fail with BC30369:
+        ' "Cannot refer to an instance member of a class from within a shared method or shared member initializer without an explicit instance of the class."
+        'Console.WriteLine(m_foo)
+        'Console.WriteLine(Foo())
+        'Dim eh As New EventHandler(AddressOf SharedMethodA)
+        'AddHandler WizBangChanged, eh
+        Bar = 100
+        '' This causes a very wierd error in MSFT's vbc, it reports overload
+        'resolution()
+        '' failed on WriteLine, but reports each overload alongwith the message
+        'from(BC30369)
+        'Console.WriteLine(Bar)
+    End Sub
+
+    '
+    ' A selection of instance members
+    '
+    Public Sub InstanceMethodA(ByVal sender As Object, ByVal e As EventArgs)
+        Console.WriteLine("curious!")
+    End Sub
+    Public Shared Sub SharedMethodA(ByVal sender As Object, ByVal e As EventArgs)
+        Console.WriteLine("curious!")
+    End Sub
+
+    Public Function Foo() As int32
+        Return &H45
+    End Function
+
+    Public Property Bar() As int32
+        Get
+            Return m_bar
+        End Get
+        Set(ByVal value As int32)
+            m_bar = value
+        End Set
+    End Property
+
+    Public Event WizBangChanged As EventHandler
+
+    Private m_bar As Integer
+    Public m_foo As Int32 = 99
+    Public m_here As String = "here"
+
+End Class
+
+
+'Class AnyDifferenceWhenAccessFromAnotherClass
+'    Sub Accesses()
+'        ' As above.
+'        Console.WriteLine(StaticCreateDelegateToSharedMethod.m_foo)
+'        Console.WriteLine(StaticCreateDelegateToSharedMethod.Foo())
+'        Dim eh As New EventHandler(AddressOf StaticCreateDelegateToSharedMethod.InstanceMethodA)
+'        AddHandler StaticCreateDelegateToSharedMethod.WizBangChanged, eh
+'        StaticCreateDelegateToSharedMethod.Bar = 100
+'        Console.WriteLine(StaticCreateDelegateToSharedMethod.Bar)
+'    End Sub
+'End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30369-5.vb b/vbnc/vbnc/tests/Errors/30369-5.vb
new file mode 100644
index 0000000..6b7f57f
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30369-5.vb
@@ -0,0 +1,62 @@
+Option Strict On
+Option Explicit On
+
+
+Public Class StaticCreateDelegateToSharedMethod
+
+    Public Shared Sub Main()
+        ' All lines here should fail with BC30369:
+        ' "Cannot refer to an instance member of a class from within a shared method or shared member initializer without an explicit instance of the class."
+        'Console.WriteLine(m_foo)
+        'Console.WriteLine(Foo())
+        'Dim eh As New EventHandler(AddressOf SharedMethodA)
+        'AddHandler WizBangChanged, eh
+        'Bar = 100
+        '' This causes a very wierd error in MSFT's vbc, it reports overload resolution()
+        '' failed on WriteLine, but reports each overload alongwith the message from(BC30369)
+        Console.WriteLine(Bar)
+    End Sub
+
+    '
+    ' A selection of instance members
+    '
+    Public Sub InstanceMethodA(ByVal sender As Object, ByVal e As EventArgs)
+        Console.WriteLine("curious!")
+    End Sub
+    Public Shared Sub SharedMethodA(ByVal sender As Object, ByVal e As EventArgs)
+        Console.WriteLine("curious!")
+    End Sub
+
+    Public Function Foo() As int32
+        Return &H45
+    End Function
+
+    Public Property Bar() As int32
+        Get
+            Return m_bar
+        End Get
+        Set(ByVal value As int32)
+            m_bar = value
+        End Set
+    End Property
+
+    Public Event WizBangChanged As EventHandler
+
+    Private m_bar As Integer
+    Public m_foo As Int32 = 99
+    Public m_here As String = "here"
+
+End Class
+
+
+'Class AnyDifferenceWhenAccessFromAnotherClass
+'    Sub Accesses()
+'        ' As above.
+'        Console.WriteLine(StaticCreateDelegateToSharedMethod.m_foo)
+'        Console.WriteLine(StaticCreateDelegateToSharedMethod.Foo())
+'        Dim eh As New EventHandler(AddressOf StaticCreateDelegateToSharedMethod.InstanceMethodA)
+'        AddHandler StaticCreateDelegateToSharedMethod.WizBangChanged, eh
+'        StaticCreateDelegateToSharedMethod.Bar = 100
+'        Console.WriteLine(StaticCreateDelegateToSharedMethod.Bar)
+'    End Sub
+'End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30369-6.vb b/vbnc/vbnc/tests/Errors/30369-6.vb
new file mode 100644
index 0000000..d30a252
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30369-6.vb
@@ -0,0 +1,73 @@
+Option Strict On
+Option Explicit On
+
+Public Class C
+    Public Shared Sub SharedMethodA(ByVal sender As Object, ByVal e As EventArgs)
+        Console.WriteLine("curious!")
+    End Sub
+
+    Public Shared Function Foo() As Integer
+        Return &H45
+    End Function
+
+    Public Shared Property Bar() As Integer
+        Get
+            Return 0
+        End Get
+        Set(ByVal value As int32)
+        End Set
+    End Property
+
+    Public Shared Event WizBangChanged As EventHandler
+
+    Public Shared m_foo As Int32 = 99
+End Class
+
+Class C1
+    Dim C As C
+
+    Shared Sub Accesses()
+        Console.WriteLine(C.m_foo)
+        Console.WriteLine(C.Foo())
+        Dim eh As New EventHandler(AddressOf C.SharedMethodA)
+        AddHandler C.WizBangChanged, eh
+        C.Bar = 100
+        Console.WriteLine(C.Bar)
+    End Sub
+End Class
+
+Class C2
+    Dim F As C
+
+    ReadOnly Property C As C
+        Get
+            Return Nothing
+        End Get
+    End Property
+
+    Function M() As C
+        Return Nothing
+    End Function
+
+    Shared Sub Accesses()
+        Console.WriteLine(C.Foo())
+    End Sub
+End Class
+
+Class C3
+    Dim F As C
+
+    ReadOnly Property C As C
+        Get
+            Return Nothing
+        End Get
+    End Property
+
+    Function M() As C
+        Return Nothing
+    End Function
+
+    Shared Sub Accesses()
+        Console.WriteLine(C.Foo())
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30369-7.vb b/vbnc/vbnc/tests/Errors/30369-7.vb
new file mode 100644
index 0000000..91bdf7c
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30369-7.vb
@@ -0,0 +1,19 @@
+Option Strict On
+Option Explicit On
+
+Public Class C
+    Public Shared Event WizBangChanged As EventHandler
+End Class
+
+Class C2
+    Dim C As C
+
+    Shared Sub Accesses()
+        Dim eh As New EventHandler(AddressOf SharedMethodA)
+        AddHandler C.WizBangChanged, eh
+    End Sub
+
+    Public Shared Sub SharedMethodA(ByVal sender As Object, ByVal e As EventArgs)
+        Console.WriteLine("curious!")
+    End Sub
+End Class
diff --git a/vbnc/vbnc/tests/Errors/30369-8.vb b/vbnc/vbnc/tests/Errors/30369-8.vb
new file mode 100644
index 0000000..765b115
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30369-8.vb
@@ -0,0 +1,69 @@
+Option Strict On
+Option Explicit On
+
+Public Class C
+    Public Shared Sub SharedMethodA(ByVal sender As Object, ByVal e As EventArgs)
+        Console.WriteLine("curious!")
+    End Sub
+
+    Public Shared Function Foo() As Integer
+        Return &H45
+    End Function
+
+    Public Shared Property Bar() As Integer
+        Get
+            Return 0
+        End Get
+        Set(ByVal value As int32)
+        End Set
+    End Property
+
+    Public Shared Event WizBangChanged As EventHandler
+
+    Public Shared m_foo As Int32 = 99
+End Class
+
+Class C1
+    Dim C As C
+
+    Shared Sub Accesses()
+        Console.WriteLine(C.m_foo)
+        Console.WriteLine(C.Foo())
+        Dim eh As New EventHandler(AddressOf C.SharedMethodA)
+        'AddHandler C.WizBangChanged, eh
+        C.Bar = 100
+        Console.WriteLine(C.Bar)
+    End Sub
+End Class
+
+Class C2
+    ReadOnly Property C As C
+        Get
+            Return Nothing
+        End Get
+    End Property
+
+    Shared Sub Accesses()
+        Console.WriteLine(C.m_foo)
+        Console.WriteLine(C.Foo())
+        Dim eh As New EventHandler(AddressOf C.SharedMethodA)
+        'AddHandler C.WizBangChanged, eh
+        C.Bar = 100
+        Console.WriteLine(C.Bar)
+    End Sub
+End Class
+
+Class C3
+    Function C() As C
+        Return Nothing
+    End Function
+    
+    Shared Sub Accesses()
+        Console.WriteLine(C.m_foo)
+        'Console.WriteLine(C.Foo())
+        'Dim eh As New EventHandler(AddressOf C.SharedMethodA)
+        'AddHandler C.WizBangChanged, eh
+        'C.Bar = 100
+        'Console.WriteLine(C.Bar)
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30369-9.vb b/vbnc/vbnc/tests/Errors/30369-9.vb
new file mode 100644
index 0000000..75816bc
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30369-9.vb
@@ -0,0 +1,69 @@
+Option Strict On
+Option Explicit On
+
+Public Class C
+    Public Shared Sub SharedMethodA(ByVal sender As Object, ByVal e As EventArgs)
+        Console.WriteLine("curious!")
+    End Sub
+
+    Public Shared Function Foo() As Integer
+        Return &H45
+    End Function
+
+    Public Shared Property Bar() As Integer
+        Get
+            Return 0
+        End Get
+        Set(ByVal value As int32)
+        End Set
+    End Property
+
+    Public Shared Event WizBangChanged As EventHandler
+
+    Public Shared m_foo As Int32 = 99
+End Class
+
+Class C1
+    Dim C As C
+
+    Shared Sub Accesses()
+        Console.WriteLine(C.m_foo)
+        Console.WriteLine(C.Foo())
+        Dim eh As New EventHandler(AddressOf C.SharedMethodA)
+        'AddHandler C.WizBangChanged, eh
+        C.Bar = 100
+        Console.WriteLine(C.Bar)
+    End Sub
+End Class
+
+Class C2
+    ReadOnly Property C As C
+        Get
+            Return Nothing
+        End Get
+    End Property
+
+    Shared Sub Accesses()
+        Console.WriteLine(C.m_foo)
+        Console.WriteLine(C.Foo())
+        Dim eh As New EventHandler(AddressOf C.SharedMethodA)
+        'AddHandler C.WizBangChanged, eh
+        C.Bar = 100
+        Console.WriteLine(C.Bar)
+    End Sub
+End Class
+
+Class C3
+    Function C() As C
+        Return Nothing
+    End Function
+    
+    Shared Sub Accesses()
+        'Console.WriteLine(C.m_foo)
+        Console.WriteLine(C.Foo())
+        'Dim eh As New EventHandler(AddressOf C.SharedMethodA)
+        'AddHandler C.WizBangChanged, eh
+        'C.Bar = 100
+        'Console.WriteLine(C.Bar)
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30369.vb b/vbnc/vbnc/tests/Errors/30369.vb
new file mode 100644
index 0000000..2e990f2
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30369.vb
@@ -0,0 +1,35 @@
+Option Strict On
+Option Explicit On
+
+Public Class StaticCreateDelegateToSharedMethod
+    Public Shared Sub Main()
+        Console.WriteLine(m_foo)
+    End Sub
+
+    '
+    ' A selection of instance members
+    '
+    Public Sub InstanceMethodA(ByVal sender As Object, ByVal e As EventArgs)
+        Console.WriteLine("curious!")
+    End Sub
+
+    Public Function Foo() As int32
+        Return &H45
+    End Function
+
+    Public Property Bar() As int32
+        Get
+            Return m_bar
+        End Get
+        Set(ByVal value As int32)
+            m_bar = value
+        End Set
+    End Property
+
+    Public Event WizBangChanged As EventHandler
+
+    Private m_bar As Integer
+    Public m_foo As Int32 = 99
+    Public m_here As String = "here"
+
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30414.vb b/vbnc/vbnc/tests/Errors/30414.vb
new file mode 100644
index 0000000..894fe28
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30414.vb
@@ -0,0 +1,127 @@
+Option Strict On
+
+Class TypeConversion
+    Shared Sub Main()
+    End Sub
+
+End Class
+
+Class ArrayType1
+    Sub M()
+        Dim in_ia() As ia
+        Dim in_ic() As ic
+        Dim in_ca() As ca
+        Dim in_cb() As cb
+        Dim in_ia2(,) As ia
+
+        Dim out_ia() As ia
+        Dim out_ic() As ic
+        Dim out_ca() As ca
+        Dim out_cb() As cb
+        Dim out_c_ia() As c_ia
+
+        out_ia = in_ia2
+    End Sub
+End Class
+
+Class GenericType1A(Of C)
+    Shared Sub GenericMethodTypeArgument(Of M)(ByVal a As C, ByVal b As M)
+        Dim o As Object
+        Dim l As Long
+
+        o = a
+        o = b
+        l = CLng(CObj(a))
+        l = CLng(CObj(b))
+    End Sub
+End Class
+Class GenericType1B(Of C As Structure)
+    Shared Sub GenericMethodTypeArgument(Of M As Structure)(ByVal a As C, ByVal b As M)
+        Dim o As Object
+
+        o = a
+        o = b
+    End Sub
+End Class
+Class GenericType1C(Of C As Class)
+    Shared Sub GenericMethodTypeArgument(Of M As Class)(ByVal a As C, ByVal b As M)
+        Dim o As Object
+
+        o = a
+        o = b
+    End Sub
+End Class
+Class GenericType1D(Of C As New)
+    Shared Sub GenericMethodTypeArgument(Of M)(ByVal a As C, ByVal b As M)
+        Dim o As Object
+
+        o = a
+        o = b
+    End Sub
+End Class
+
+Class GenericType2A(Of C As IA)
+    Shared Sub GenericMethodTypeArgument(Of M As IA)(ByVal a As C, ByVal b As M)
+        Dim o As IA
+
+        o = a
+        o = b
+    End Sub
+End Class
+
+Class GenericType2B(Of C As IC)
+    Shared Sub GenericMethodTypeArgument(Of M As IC)(ByVal a As C, ByVal b As M)
+        Dim o As IA
+        Dim o2 As IB
+        Dim o3 As IC
+
+        o = a
+        o = b
+        o2 = a
+        o2 = b
+        o3 = a
+        o3 = b
+    End Sub
+End Class
+
+Class GenericType3A(Of C As C_IA)
+    Shared Sub GenericMethodTypeArgument(Of M As C_IA)(ByVal a As C, ByVal b As M)
+        Dim o As IA
+
+        o = a
+        o = b
+    End Sub
+End Class
+
+Interface IA
+
+End Interface
+Interface IB
+
+End Interface
+Interface IC
+    Inherits IA, IB
+End Interface
+
+Structure SA
+    Dim v As Integer
+End Structure
+
+Delegate Sub DA()
+
+Class CA
+End Class
+
+Class CB
+    Inherits CA
+End Class
+
+Class C_IA
+    Implements IA
+End Class
+Class C_IB
+    Implements IB
+End Class
+Class C_IC
+    Implements IC
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30443.vb b/vbnc/vbnc/tests/Errors/30443.vb
new file mode 100644
index 0000000..2d4e345
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30443.vb
@@ -0,0 +1,12 @@
+Public Class Test
+
+    Public ReadOnly Property MultipleGets As String
+        Get
+            Return ""
+        End Get
+        Get
+            Return ""
+        End Get
+    End Property
+
+End Class
diff --git a/vbnc/vbnc/tests/Errors/30444.vb b/vbnc/vbnc/tests/Errors/30444.vb
new file mode 100644
index 0000000..d3b5eb2
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30444.vb
@@ -0,0 +1,10 @@
+Public Class Test
+
+    Public WriteOnly Property MultipleSets As String
+        Set
+        End Set
+				Set
+        End Set
+    End Property
+
+End Class
diff --git a/vbnc/vbnc/tests/Errors/30451-3.vb b/vbnc/vbnc/tests/Errors/30451-3.vb
new file mode 100644
index 0000000..5338282
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30451-3.vb
@@ -0,0 +1,8 @@
+Module ForEach
+    Public Function test()
+        For Each item As Integer In New Integer() {0, 1, 2}
+
+        Next item2
+        Return 0
+    End Function
+End Module
diff --git a/vbnc/vbnc/tests/Errors/30469-1.vb b/vbnc/vbnc/tests/Errors/30469-1.vb
new file mode 100644
index 0000000..c2068d7
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30469-1.vb
@@ -0,0 +1,62 @@
+Option Strict On
+Option Explicit On
+
+
+Public Class StaticCreateDelegateToSharedMethod
+
+    Public Shared Sub Main()
+        ' All lines here should fail with BC30369:
+        ' "Cannot refer to an instance member of a class from within a shared method or shared member initializer without an explicit instance of the class."
+        'Console.WriteLine(m_foo)
+        'Console.WriteLine(Foo())
+        'Dim eh As New EventHandler(AddressOf SharedMethodA)
+        'AddHandler WizBangChanged, eh
+        'Bar = 100
+        '' This causes a very wierd error in MSFT's vbc, it reports overload resolution()
+        '' failed on WriteLine, but reports each overload alongwith the message from(BC30369)
+        'Console.WriteLine(Bar)
+    End Sub
+
+    '
+    ' A selection of instance members
+    '
+    Public Sub InstanceMethodA(ByVal sender As Object, ByVal e As EventArgs)
+        Console.WriteLine("curious!")
+    End Sub
+    Public Shared Sub SharedMethodA(ByVal sender As Object, ByVal e As EventArgs)
+        Console.WriteLine("curious!")
+    End Sub
+
+    Public Function Foo() As int32
+        Return &H45
+    End Function
+
+    Public Property Bar() As int32
+        Get
+            Return m_bar
+        End Get
+        Set(ByVal value As int32)
+            m_bar = value
+        End Set
+    End Property
+
+    Public Event WizBangChanged As EventHandler
+
+    Private m_bar As Integer
+    Public m_foo As Int32 = 99
+    Public m_here As String = "here"
+
+End Class
+
+
+Class AnyDifferenceWhenAccessFromAnotherClass
+    Sub Accesses()
+        ' As above.
+        Console.WriteLine(StaticCreateDelegateToSharedMethod.m_foo)
+        'Console.WriteLine(StaticCreateDelegateToSharedMethod.Foo())
+        'Dim eh As New EventHandler(AddressOf StaticCreateDelegateToSharedMethod.InstanceMethodA)
+        'AddHandler StaticCreateDelegateToSharedMethod.WizBangChanged, eh
+        'StaticCreateDelegateToSharedMethod.Bar = 100
+        'Console.WriteLine(StaticCreateDelegateToSharedMethod.Bar)
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30469-2.vb b/vbnc/vbnc/tests/Errors/30469-2.vb
new file mode 100644
index 0000000..1b846a7
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30469-2.vb
@@ -0,0 +1,62 @@
+Option Strict On
+Option Explicit On
+
+
+Public Class StaticCreateDelegateToSharedMethod
+
+    Public Shared Sub Main()
+        ' All lines here should fail with BC30369:
+        ' "Cannot refer to an instance member of a class from within a shared method or shared member initializer without an explicit instance of the class."
+        'Console.WriteLine(m_foo)
+        'Console.WriteLine(Foo())
+        'Dim eh As New EventHandler(AddressOf SharedMethodA)
+        'AddHandler WizBangChanged, eh
+        'Bar = 100
+        '' This causes a very wierd error in MSFT's vbc, it reports overload resolution()
+        '' failed on WriteLine, but reports each overload alongwith the message from(BC30369)
+        'Console.WriteLine(Bar)
+    End Sub
+
+    '
+    ' A selection of instance members
+    '
+    Public Sub InstanceMethodA(ByVal sender As Object, ByVal e As EventArgs)
+        Console.WriteLine("curious!")
+    End Sub
+    Public Shared Sub SharedMethodA(ByVal sender As Object, ByVal e As EventArgs)
+        Console.WriteLine("curious!")
+    End Sub
+
+    Public Function Foo() As int32
+        Return &H45
+    End Function
+
+    Public Property Bar() As int32
+        Get
+            Return m_bar
+        End Get
+        Set(ByVal value As int32)
+            m_bar = value
+        End Set
+    End Property
+
+    Public Event WizBangChanged As EventHandler
+
+    Private m_bar As Integer
+    Public m_foo As Int32 = 99
+    Public m_here As String = "here"
+
+End Class
+
+
+Class AnyDifferenceWhenAccessFromAnotherClass
+    Sub Accesses()
+        ' As above.
+        'Console.WriteLine(StaticCreateDelegateToSharedMethod.m_foo)
+        Console.WriteLine(StaticCreateDelegateToSharedMethod.Foo())
+        'Dim eh As New EventHandler(AddressOf StaticCreateDelegateToSharedMethod.InstanceMethodA)
+        'AddHandler StaticCreateDelegateToSharedMethod.WizBangChanged, eh
+        'StaticCreateDelegateToSharedMethod.Bar = 100
+        'Console.WriteLine(StaticCreateDelegateToSharedMethod.Bar)
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30469-3.vb b/vbnc/vbnc/tests/Errors/30469-3.vb
new file mode 100644
index 0000000..59648c9
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30469-3.vb
@@ -0,0 +1,62 @@
+Option Strict On
+Option Explicit On
+
+
+Public Class StaticCreateDelegateToSharedMethod
+
+    Public Shared Sub Main()
+        ' All lines here should fail with BC30369:
+        ' "Cannot refer to an instance member of a class from within a shared method or shared member initializer without an explicit instance of the class."
+        'Console.WriteLine(m_foo)
+        'Console.WriteLine(Foo())
+        'Dim eh As New EventHandler(AddressOf SharedMethodA)
+        'AddHandler WizBangChanged, eh
+        'Bar = 100
+        '' This causes a very wierd error in MSFT's vbc, it reports overload resolution()
+        '' failed on WriteLine, but reports each overload alongwith the message from(BC30369)
+        'Console.WriteLine(Bar)
+    End Sub
+
+    '
+    ' A selection of instance members
+    '
+    Public Sub InstanceMethodA(ByVal sender As Object, ByVal e As EventArgs)
+        Console.WriteLine("curious!")
+    End Sub
+    Public Shared Sub SharedMethodA(ByVal sender As Object, ByVal e As EventArgs)
+        Console.WriteLine("curious!")
+    End Sub
+
+    Public Function Foo() As int32
+        Return &H45
+    End Function
+
+    Public Property Bar() As int32
+        Get
+            Return m_bar
+        End Get
+        Set(ByVal value As int32)
+            m_bar = value
+        End Set
+    End Property
+
+    Public Event WizBangChanged As EventHandler
+
+    Private m_bar As Integer
+    Public m_foo As Int32 = 99
+    Public m_here As String = "here"
+
+End Class
+
+
+Class AnyDifferenceWhenAccessFromAnotherClass
+    Sub Accesses()
+        ' As above.
+        'Console.WriteLine(StaticCreateDelegateToSharedMethod.m_foo)
+        'Console.WriteLine(StaticCreateDelegateToSharedMethod.Foo())
+        Dim eh As New EventHandler(AddressOf StaticCreateDelegateToSharedMethod.InstanceMethodA)
+        'AddHandler StaticCreateDelegateToSharedMethod.WizBangChanged, eh
+        'StaticCreateDelegateToSharedMethod.Bar = 100
+        'Console.WriteLine(StaticCreateDelegateToSharedMethod.Bar)
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30469-4.vb b/vbnc/vbnc/tests/Errors/30469-4.vb
new file mode 100644
index 0000000..537d5d1
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30469-4.vb
@@ -0,0 +1,62 @@
+Option Strict On
+Option Explicit On
+
+
+Public Class StaticCreateDelegateToSharedMethod
+
+    Public Shared Sub Main()
+        ' All lines here should fail with BC30369:
+        ' "Cannot refer to an instance member of a class from within a shared method or shared member initializer without an explicit instance of the class."
+        'Console.WriteLine(m_foo)
+        'Console.WriteLine(Foo())
+        'Dim eh As New EventHandler(AddressOf SharedMethodA)
+        'AddHandler WizBangChanged, eh
+        'Bar = 100
+        '' This causes a very wierd error in MSFT's vbc, it reports overload resolution()
+        '' failed on WriteLine, but reports each overload alongwith the message from(BC30369)
+        'Console.WriteLine(Bar)
+    End Sub
+
+    '
+    ' A selection of instance members
+    '
+    Public Sub InstanceMethodA(ByVal sender As Object, ByVal e As EventArgs)
+        Console.WriteLine("curious!")
+    End Sub
+    Public Shared Sub SharedMethodA(ByVal sender As Object, ByVal e As EventArgs)
+        Console.WriteLine("curious!")
+    End Sub
+
+    Public Function Foo() As int32
+        Return &H45
+    End Function
+
+    Public Property Bar() As int32
+        Get
+            Return m_bar
+        End Get
+        Set(ByVal value As int32)
+            m_bar = value
+        End Set
+    End Property
+
+    Public Event WizBangChanged As EventHandler
+
+    Private m_bar As Integer
+    Public m_foo As Int32 = 99
+    Public m_here As String = "here"
+
+End Class
+
+
+Class AnyDifferenceWhenAccessFromAnotherClass
+    Sub Accesses()
+        ' As above.
+        'Console.WriteLine(StaticCreateDelegateToSharedMethod.m_foo)
+        'Console.WriteLine(StaticCreateDelegateToSharedMethod.Foo())
+        Dim eh As New EventHandler(AddressOf StaticCreateDelegateToSharedMethod.SharedMethodA)
+        AddHandler StaticCreateDelegateToSharedMethod.WizBangChanged, eh
+        'StaticCreateDelegateToSharedMethod.Bar = 100
+        'Console.WriteLine(StaticCreateDelegateToSharedMethod.Bar)
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30469-5.vb b/vbnc/vbnc/tests/Errors/30469-5.vb
new file mode 100644
index 0000000..e9eaa1e
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30469-5.vb
@@ -0,0 +1,62 @@
+Option Strict On
+Option Explicit On
+
+
+Public Class StaticCreateDelegateToSharedMethod
+
+    Public Shared Sub Main()
+        ' All lines here should fail with BC30369:
+        ' "Cannot refer to an instance member of a class from within a shared method or shared member initializer without an explicit instance of the class."
+        'Console.WriteLine(m_foo)
+        'Console.WriteLine(Foo())
+        'Dim eh As New EventHandler(AddressOf SharedMethodA)
+        'AddHandler WizBangChanged, eh
+        'Bar = 100
+        '' This causes a very wierd error in MSFT's vbc, it reports overload resolution()
+        '' failed on WriteLine, but reports each overload alongwith the message from(BC30369)
+        'Console.WriteLine(Bar)
+    End Sub
+
+    '
+    ' A selection of instance members
+    '
+    Public Sub InstanceMethodA(ByVal sender As Object, ByVal e As EventArgs)
+        Console.WriteLine("curious!")
+    End Sub
+    Public Shared Sub SharedMethodA(ByVal sender As Object, ByVal e As EventArgs)
+        Console.WriteLine("curious!")
+    End Sub
+
+    Public Function Foo() As int32
+        Return &H45
+    End Function
+
+    Public Property Bar() As int32
+        Get
+            Return m_bar
+        End Get
+        Set(ByVal value As int32)
+            m_bar = value
+        End Set
+    End Property
+
+    Public Event WizBangChanged As EventHandler
+
+    Private m_bar As Integer
+    Public m_foo As Int32 = 99
+    Public m_here As String = "here"
+
+End Class
+
+
+Class AnyDifferenceWhenAccessFromAnotherClass
+    Sub Accesses()
+        ' As above.
+        'Console.WriteLine(StaticCreateDelegateToSharedMethod.m_foo)
+        'Console.WriteLine(StaticCreateDelegateToSharedMethod.Foo())
+        'Dim eh As New EventHandler(AddressOf StaticCreateDelegateToSharedMethod.SharedMethodA)
+        'AddHandler StaticCreateDelegateToSharedMethod.WizBangChanged, eh
+        StaticCreateDelegateToSharedMethod.Bar = 100
+        'Console.WriteLine(StaticCreateDelegateToSharedMethod.Bar)
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30469-6.vb b/vbnc/vbnc/tests/Errors/30469-6.vb
new file mode 100644
index 0000000..5946ce7
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30469-6.vb
@@ -0,0 +1,62 @@
+Option Strict On
+Option Explicit On
+
+
+Public Class StaticCreateDelegateToSharedMethod
+
+    Public Shared Sub Main()
+        ' All lines here should fail with BC30369:
+        ' "Cannot refer to an instance member of a class from within a shared method or shared member initializer without an explicit instance of the class."
+        'Console.WriteLine(m_foo)
+        'Console.WriteLine(Foo())
+        'Dim eh As New EventHandler(AddressOf SharedMethodA)
+        'AddHandler WizBangChanged, eh
+        'Bar = 100
+        '' This causes a very wierd error in MSFT's vbc, it reports overload resolution()
+        '' failed on WriteLine, but reports each overload alongwith the message from(BC30369)
+        'Console.WriteLine(Bar)
+    End Sub
+
+    '
+    ' A selection of instance members
+    '
+    Public Sub InstanceMethodA(ByVal sender As Object, ByVal e As EventArgs)
+        Console.WriteLine("curious!")
+    End Sub
+    Public Shared Sub SharedMethodA(ByVal sender As Object, ByVal e As EventArgs)
+        Console.WriteLine("curious!")
+    End Sub
+
+    Public Function Foo() As int32
+        Return &H45
+    End Function
+
+    Public Property Bar() As int32
+        Get
+            Return m_bar
+        End Get
+        Set(ByVal value As int32)
+            m_bar = value
+        End Set
+    End Property
+
+    Public Event WizBangChanged As EventHandler
+
+    Private m_bar As Integer
+    Public m_foo As Int32 = 99
+    Public m_here As String = "here"
+
+End Class
+
+
+Class AnyDifferenceWhenAccessFromAnotherClass
+    Sub Accesses()
+        ' As above.
+        'Console.WriteLine(StaticCreateDelegateToSharedMethod.m_foo)
+        'Console.WriteLine(StaticCreateDelegateToSharedMethod.Foo())
+        'Dim eh As New EventHandler(AddressOf StaticCreateDelegateToSharedMethod.SharedMethodA)
+        'AddHandler StaticCreateDelegateToSharedMethod.WizBangChanged, eh
+        'StaticCreateDelegateToSharedMethod.Bar = 100
+        Console.WriteLine(StaticCreateDelegateToSharedMethod.Bar)
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30480-1.vb b/vbnc/vbnc/tests/Errors/30480-1.vb
new file mode 100644
index 0000000..d1f6848
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30480-1.vb
@@ -0,0 +1,19 @@
+'Author:
+'   V. Sudharsan (vsudharsan at novell.com)
+'
+' (C) 2005 Novell, Inc.
+
+'To Prove Constructors can be overloaded
+
+Imports System
+
+Class A
+    Protected Shared Sub New()
+    End Sub
+End Class
+
+Module Test
+    Public Sub Main()
+    End Sub
+End Module
+
diff --git a/vbnc/vbnc/tests/Errors/30480-2.vb b/vbnc/vbnc/tests/Errors/30480-2.vb
new file mode 100644
index 0000000..113b810
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30480-2.vb
@@ -0,0 +1,19 @@
+'Author:
+'   V. Sudharsan (vsudharsan at novell.com)
+'
+' (C) 2005 Novell, Inc.
+
+'To Prove Constructors can be overloaded
+
+Imports System
+
+Class A
+    Friend Shared Sub New()
+    End Sub
+End Class
+
+Module Test
+    Public Sub Main()
+    End Sub
+End Module
+
diff --git a/vbnc/vbnc/tests/Errors/30480-3.vb b/vbnc/vbnc/tests/Errors/30480-3.vb
new file mode 100644
index 0000000..1520682
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30480-3.vb
@@ -0,0 +1,19 @@
+'Author:
+'   V. Sudharsan (vsudharsan at novell.com)
+'
+' (C) 2005 Novell, Inc.
+
+'To Prove Constructors can be overloaded
+
+Imports System
+
+Class A
+    Protected Friend Shared Sub New()
+    End Sub
+End Class
+
+Module Test
+    Public Sub Main()
+    End Sub
+End Module
+
diff --git a/vbnc/vbnc/tests/Errors/30480-4.vb b/vbnc/vbnc/tests/Errors/30480-4.vb
new file mode 100644
index 0000000..13ec84f
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30480-4.vb
@@ -0,0 +1,19 @@
+'Author:
+'   V. Sudharsan (vsudharsan at novell.com)
+'
+' (C) 2005 Novell, Inc.
+
+'To Prove Constructors can be overloaded
+
+Imports System
+
+Class A
+    Private Shared Sub New()
+    End Sub
+End Class
+
+Module Test
+    Public Sub Main()
+    End Sub
+End Module
+
diff --git a/vbnc/vbnc/tests/Errors/30480.vb b/vbnc/vbnc/tests/Errors/30480.vb
new file mode 100644
index 0000000..92d5eec
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30480.vb
@@ -0,0 +1,19 @@
+'Author:
+'   V. Sudharsan (vsudharsan at novell.com)
+'
+' (C) 2005 Novell, Inc.
+
+'To Prove Constructors can be overloaded
+
+Imports System
+
+Class A
+    Public Shared Sub New()
+    End Sub
+End Class
+
+Module Test
+    Public Sub Main()
+    End Sub
+End Module
+
diff --git a/vbnc/vbnc/tests/Errors/30491-1.vb b/vbnc/vbnc/tests/Errors/30491-1.vb
new file mode 100644
index 0000000..8dab670
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30491-1.vb
@@ -0,0 +1,5 @@
+class C
+    Shared Sub Main()
+        Dim a = Main()
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30512-100.vb b/vbnc/vbnc/tests/Errors/30512-100.vb
new file mode 100644
index 0000000..fc0af1f
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30512-100.vb
@@ -0,0 +1,24 @@
+Option Explicit On
+Option Strict On
+
+Class X
+    Public Shared Sub Main()
+        Dim b As Byte
+        Dim sb As SByte
+        Dim s As Short
+        Dim us As UShort
+        Dim i As Integer
+        Dim ui As UInteger
+        Dim l As Long
+        Dim ul As ULong
+        Dim dt As Date
+        Dim chr As Char
+        Dim str As String
+        Dim bool As Boolean
+        Dim sng As Single
+        Dim dbl As Double
+        Dim dec As Decimal
+
+        Dim y As Boolean = ul
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30512-101.vb b/vbnc/vbnc/tests/Errors/30512-101.vb
new file mode 100644
index 0000000..3415cf8
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30512-101.vb
@@ -0,0 +1,24 @@
+Option Explicit On
+Option Strict On
+
+Class X
+    Public Shared Sub Main()
+        Dim b As Byte
+        Dim sb As SByte
+        Dim s As Short
+        Dim us As UShort
+        Dim i As Integer
+        Dim ui As UInteger
+        Dim l As Long
+        Dim ul As ULong
+        Dim dt As Date
+        Dim chr As Char
+        Dim str As String
+        Dim bool As Boolean
+        Dim sng As Single
+        Dim dbl As Double
+        Dim dec As Decimal
+
+        Dim y As Boolean = str
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30512-102.vb b/vbnc/vbnc/tests/Errors/30512-102.vb
new file mode 100644
index 0000000..2ba56a5
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30512-102.vb
@@ -0,0 +1,24 @@
+Option Explicit On
+Option Strict On
+
+Class X
+    Public Shared Sub Main()
+        Dim b As Byte
+        Dim sb As SByte
+        Dim s As Short
+        Dim us As UShort
+        Dim i As Integer
+        Dim ui As UInteger
+        Dim l As Long
+        Dim ul As ULong
+        Dim dt As Date
+        Dim chr As Char
+        Dim str As String
+        Dim bool As Boolean
+        Dim sng As Single
+        Dim dbl As Double
+        Dim dec As Decimal
+
+        Dim y As Boolean = sng
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30512-103.vb b/vbnc/vbnc/tests/Errors/30512-103.vb
new file mode 100644
index 0000000..f5f3ca9
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30512-103.vb
@@ -0,0 +1,24 @@
+Option Explicit On
+Option Strict On
+
+Class X
+    Public Shared Sub Main()
+        Dim b As Byte
+        Dim sb As SByte
+        Dim s As Short
+        Dim us As UShort
+        Dim i As Integer
+        Dim ui As UInteger
+        Dim l As Long
+        Dim ul As ULong
+        Dim dt As Date
+        Dim chr As Char
+        Dim str As String
+        Dim bool As Boolean
+        Dim sng As Single
+        Dim dbl As Double
+        Dim dec As Decimal
+
+        Dim y As Boolean = dbl
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30512-104.vb b/vbnc/vbnc/tests/Errors/30512-104.vb
new file mode 100644
index 0000000..bf213fd
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30512-104.vb
@@ -0,0 +1,24 @@
+Option Explicit On
+Option Strict On
+
+Class X
+    Public Shared Sub Main()
+        Dim b As Byte
+        Dim sb As SByte
+        Dim s As Short
+        Dim us As UShort
+        Dim i As Integer
+        Dim ui As UInteger
+        Dim l As Long
+        Dim ul As ULong
+        Dim dt As Date
+        Dim chr As Char
+        Dim str As String
+        Dim bool As Boolean
+        Dim sng As Single
+        Dim dbl As Double
+        Dim dec As Decimal
+
+        Dim y As Boolean = dec
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30512-105.vb b/vbnc/vbnc/tests/Errors/30512-105.vb
new file mode 100644
index 0000000..fdd5063
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30512-105.vb
@@ -0,0 +1,24 @@
+Option Explicit On
+Option Strict On
+
+Class X
+    Public Shared Sub Main()
+        Dim b As Byte
+        Dim sb As SByte
+        Dim s As Short
+        Dim us As UShort
+        Dim i As Integer
+        Dim ui As UInteger
+        Dim l As Long
+        Dim ul As ULong
+        Dim dt As Date
+        Dim chr As Char
+        Dim str As String
+        Dim bool As Boolean
+        Dim sng As Single
+        Dim dbl As Double
+        Dim dec As Decimal
+
+        Dim y As Single = dbl
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30512-106.vb b/vbnc/vbnc/tests/Errors/30512-106.vb
new file mode 100644
index 0000000..4d4c418
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30512-106.vb
@@ -0,0 +1,24 @@
+Option Explicit On
+Option Strict On
+
+Class X
+    Public Shared Sub Main()
+        Dim b As Byte
+        Dim sb As SByte
+        Dim s As Short
+        Dim us As UShort
+        Dim i As Integer
+        Dim ui As UInteger
+        Dim l As Long
+        Dim ul As ULong
+        Dim dt As Date
+        Dim chr As Char
+        Dim str As String
+        Dim bool As Boolean
+        Dim sng As Single
+        Dim dbl As Double
+        Dim dec As Decimal
+
+        Dim y As Single = bool
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30512-107.vb b/vbnc/vbnc/tests/Errors/30512-107.vb
new file mode 100644
index 0000000..fbdd1a3
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30512-107.vb
@@ -0,0 +1,24 @@
+Option Explicit On
+Option Strict On
+
+Class X
+    Public Shared Sub Main()
+        Dim b As Byte
+        Dim sb As SByte
+        Dim s As Short
+        Dim us As UShort
+        Dim i As Integer
+        Dim ui As UInteger
+        Dim l As Long
+        Dim ul As ULong
+        Dim dt As Date
+        Dim chr As Char
+        Dim str As String
+        Dim bool As Boolean
+        Dim sng As Single
+        Dim dbl As Double
+        Dim dec As Decimal
+
+        Dim y As Double = bool
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30512-108.vb b/vbnc/vbnc/tests/Errors/30512-108.vb
new file mode 100644
index 0000000..48ffe29
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30512-108.vb
@@ -0,0 +1,24 @@
+Option Explicit On
+Option Strict On
+
+Class X
+    Public Shared Sub Main()
+        Dim b As Byte
+        Dim sb As SByte
+        Dim s As Short
+        Dim us As UShort
+        Dim i As Integer
+        Dim ui As UInteger
+        Dim l As Long
+        Dim ul As ULong
+        Dim dt As Date
+        Dim chr As Char
+        Dim str As String
+        Dim bool As Boolean
+        Dim sng As Single
+        Dim dbl As Double
+        Dim dec As Decimal
+
+        Dim y As Single = str
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30512-109.vb b/vbnc/vbnc/tests/Errors/30512-109.vb
new file mode 100644
index 0000000..5af1d8d
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30512-109.vb
@@ -0,0 +1,24 @@
+Option Explicit On
+Option Strict On
+
+Class X
+    Public Shared Sub Main()
+        Dim b As Byte
+        Dim sb As SByte
+        Dim s As Short
+        Dim us As UShort
+        Dim i As Integer
+        Dim ui As UInteger
+        Dim l As Long
+        Dim ul As ULong
+        Dim dt As Date
+        Dim chr As Char
+        Dim str As String
+        Dim bool As Boolean
+        Dim sng As Single
+        Dim dbl As Double
+        Dim dec As Decimal
+
+        Dim y As Double = str
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30512-110.vb b/vbnc/vbnc/tests/Errors/30512-110.vb
new file mode 100644
index 0000000..d40264a
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30512-110.vb
@@ -0,0 +1,24 @@
+Option Explicit On
+Option Strict On
+
+Class X
+    Public Shared Sub Main()
+        Dim b As Byte
+        Dim sb As SByte
+        Dim s As Short
+        Dim us As UShort
+        Dim i As Integer
+        Dim ui As UInteger
+        Dim l As Long
+        Dim ul As ULong
+        Dim dt As Date
+        Dim chr As Char
+        Dim str As String
+        Dim bool As Boolean
+        Dim sng As Single
+        Dim dbl As Double
+        Dim dec As Decimal
+
+        Dim y As Decimal = str
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30512-111.vb b/vbnc/vbnc/tests/Errors/30512-111.vb
new file mode 100644
index 0000000..0ebccd0
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30512-111.vb
@@ -0,0 +1,24 @@
+Option Explicit On
+Option Strict On
+
+Class X
+    Public Shared Sub Main()
+        Dim b As Byte
+        Dim sb As SByte
+        Dim s As Short
+        Dim us As UShort
+        Dim i As Integer
+        Dim ui As UInteger
+        Dim l As Long
+        Dim ul As ULong
+        Dim dt As Date
+        Dim chr As Char
+        Dim str As String
+        Dim bool As Boolean
+        Dim sng As Single
+        Dim dbl As Double
+        Dim dec As Decimal
+
+        Dim y As Decimal = bool
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30512-112.vb b/vbnc/vbnc/tests/Errors/30512-112.vb
new file mode 100644
index 0000000..9332cff
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30512-112.vb
@@ -0,0 +1,39 @@
+Option Strict On
+
+Class TypeConversion
+    Shared Sub Main()
+        Dim ia As IA
+        Dim ib As IB
+        Dim ic As IC
+        Dim sa As SA
+        Dim da As DA
+        Dim ca As CA
+
+        ia = CType("", IA)
+        ia = CType(ia, IA)
+        ia = CType(ib, IA)
+        ia = CType(da, IA)
+        ia = CType(ca, IA)
+
+        ia = ""
+    End Sub
+End Class
+
+Interface IA
+
+End Interface
+Interface IB
+
+End Interface
+Interface IC
+    Inherits IA, IB
+End Interface
+
+Structure SA
+    Dim v As Integer
+End Structure
+
+Delegate Sub DA()
+
+Class CA
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30512-113.vb b/vbnc/vbnc/tests/Errors/30512-113.vb
new file mode 100644
index 0000000..391905b
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30512-113.vb
@@ -0,0 +1,39 @@
+Option Strict On
+
+Class TypeConversion
+    Shared Sub Main()
+        Dim ia As IA
+        Dim ib As IB
+        Dim ic As IC
+        Dim sa As SA
+        Dim da As DA
+        Dim ca As CA
+
+        ia = CType("", IA)
+        ia = CType(ia, IA)
+        ia = CType(ib, IA)
+        ia = CType(da, IA)
+        ia = CType(ca, IA)
+
+        ia = ib
+    End Sub
+End Class
+
+Interface IA
+
+End Interface
+Interface IB
+
+End Interface
+Interface IC
+    Inherits IA, IB
+End Interface
+
+Structure SA
+    Dim v As Integer
+End Structure
+
+Delegate Sub DA()
+
+Class CA
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30512-114.vb b/vbnc/vbnc/tests/Errors/30512-114.vb
new file mode 100644
index 0000000..e13107e
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30512-114.vb
@@ -0,0 +1,156 @@
+Option Strict On
+
+Class TypeConversion
+    Shared Sub Main()
+        Dim o As Object
+        Dim e As System.Enum
+        Dim v As System.ValueType
+        Dim d As System.Delegate
+
+        Dim ia As IA
+        Dim ib As IB
+        Dim ic As IC
+        Dim sa As SA
+        Dim da As DA
+        Dim ca As CA
+        Dim c_ia As C_IA
+        Dim c_ib As C_IB
+        Dim c_ic As C_IC
+
+        ia = CType("", IA)
+        ia = CType(ia, IA)
+        ia = CType(ib, IA)
+        ia = CType(da, IA)
+        ia = CType(ca, IA)
+        ia = CType(c_ia, IA)
+        ia = c_ia
+        ia = CType(c_ib, IA)
+        ia = c_ic
+        ia = CType(o, IA)
+
+        ic = c_ic
+
+        o = ia
+
+    End Sub
+
+End Class
+
+Class ArrayType
+    Sub M()
+        Dim in_ia() As ia
+        Dim in_ic() As ic
+        Dim in_ca() As ca
+        Dim in_cb() As cb
+
+        Dim out_ia() As ia
+        Dim out_ic() As ic
+
+        out_ia = in_ia
+        out_ic = in_ia
+        out_ia = in_ic
+
+    End Sub
+End Class
+
+Class GenericType1A(Of C)
+    Shared Sub GenericMethodTypeArgument(Of M)(ByVal a As C, ByVal b As M)
+        Dim o As Object
+        Dim l As Long
+
+        o = a
+        o = b
+        l = CLng(CObj(a))
+        l = CLng(CObj(b))
+    End Sub
+End Class
+Class GenericType1B(Of C As Structure)
+    Shared Sub GenericMethodTypeArgument(Of M As Structure)(ByVal a As C, ByVal b As M)
+        Dim o As Object
+
+        o = a
+        o = b
+    End Sub
+End Class
+Class GenericType1C(Of C As Class)
+    Shared Sub GenericMethodTypeArgument(Of M As Class)(ByVal a As C, ByVal b As M)
+        Dim o As Object
+
+        o = a
+        o = b
+    End Sub
+End Class
+Class GenericType1D(Of C As New)
+    Shared Sub GenericMethodTypeArgument(Of M)(ByVal a As C, ByVal b As M)
+        Dim o As Object
+
+        o = a
+        o = b
+    End Sub
+End Class
+
+Class GenericType2A(Of C As IA)
+    Shared Sub GenericMethodTypeArgument(Of M As IA)(ByVal a As C, ByVal b As M)
+        Dim o As IA
+
+        o = a
+        o = b
+    End Sub
+End Class
+
+Class GenericType2B(Of C As IC)
+    Shared Sub GenericMethodTypeArgument(Of M As IC)(ByVal a As C, ByVal b As M)
+        Dim o As IA
+        Dim o2 As IB
+        Dim o3 As IC
+
+        o = a
+        o = b
+        o2 = a
+        o2 = b
+        o3 = a
+        o3 = b
+    End Sub
+End Class
+
+Class GenericType3A(Of C As C_IA)
+    Shared Sub GenericMethodTypeArgument(Of M As C_IA)(ByVal a As C, ByVal b As M)
+        Dim o As IA
+
+        o = a
+        o = b
+    End Sub
+End Class
+
+Interface IA
+
+End Interface
+Interface IB
+
+End Interface
+Interface IC
+    Inherits IA, IB
+End Interface
+
+Structure SA
+    Dim v As Integer
+End Structure
+
+Delegate Sub DA()
+
+Class CA
+End Class
+
+Class CB
+    Inherits CA
+End Class
+
+Class C_IA
+    Implements IA
+End Class
+Class C_IB
+    Implements IB
+End Class
+Class C_IC
+    Implements IC
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30512-115.vb b/vbnc/vbnc/tests/Errors/30512-115.vb
new file mode 100644
index 0000000..07334f3
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30512-115.vb
@@ -0,0 +1,158 @@
+Option Strict On
+
+Class TypeConversion
+    Shared Sub Main()
+        Dim o As Object
+        Dim e As System.Enum
+        Dim v As System.ValueType
+        Dim d As System.Delegate
+
+        Dim ia As IA
+        Dim ib As IB
+        Dim ic As IC
+        Dim sa As SA
+        Dim da As DA
+        Dim ca As CA
+        Dim c_ia As C_IA
+        Dim c_ib As C_IB
+        Dim c_ic As C_IC
+
+        ia = CType("", IA)
+        ia = CType(ia, IA)
+        ia = CType(ib, IA)
+        ia = CType(da, IA)
+        ia = CType(ca, IA)
+        ia = CType(c_ia, IA)
+        ia = c_ia
+        ia = CType(c_ib, IA)
+        ia = c_ic
+        ia = CType(o, IA)
+
+        ic = c_ic
+
+        o = ia
+
+    End Sub
+
+End Class
+
+Class ArrayType
+    Sub M()
+        Dim in_ia() As ia
+        Dim in_ic() As ic
+        Dim in_ca() As ca
+        Dim in_cb() As cb
+
+        Dim out_ia() As ia
+        Dim out_ic() As ic
+        Dim out_ca() As ca
+        Dim out_cb() As cb
+
+        out_ia = in_ia
+        out_ia = in_ic
+
+        out_ia = in_ca
+    End Sub
+End Class
+
+Class GenericType1A(Of C)
+    Shared Sub GenericMethodTypeArgument(Of M)(ByVal a As C, ByVal b As M)
+        Dim o As Object
+        Dim l As Long
+
+        o = a
+        o = b
+        l = CLng(CObj(a))
+        l = CLng(CObj(b))
+    End Sub
+End Class
+Class GenericType1B(Of C As Structure)
+    Shared Sub GenericMethodTypeArgument(Of M As Structure)(ByVal a As C, ByVal b As M)
+        Dim o As Object
+
+        o = a
+        o = b
+    End Sub
+End Class
+Class GenericType1C(Of C As Class)
+    Shared Sub GenericMethodTypeArgument(Of M As Class)(ByVal a As C, ByVal b As M)
+        Dim o As Object
+
+        o = a
+        o = b
+    End Sub
+End Class
+Class GenericType1D(Of C As New)
+    Shared Sub GenericMethodTypeArgument(Of M)(ByVal a As C, ByVal b As M)
+        Dim o As Object
+
+        o = a
+        o = b
+    End Sub
+End Class
+
+Class GenericType2A(Of C As IA)
+    Shared Sub GenericMethodTypeArgument(Of M As IA)(ByVal a As C, ByVal b As M)
+        Dim o As IA
+
+        o = a
+        o = b
+    End Sub
+End Class
+
+Class GenericType2B(Of C As IC)
+    Shared Sub GenericMethodTypeArgument(Of M As IC)(ByVal a As C, ByVal b As M)
+        Dim o As IA
+        Dim o2 As IB
+        Dim o3 As IC
+
+        o = a
+        o = b
+        o2 = a
+        o2 = b
+        o3 = a
+        o3 = b
+    End Sub
+End Class
+
+Class GenericType3A(Of C As C_IA)
+    Shared Sub GenericMethodTypeArgument(Of M As C_IA)(ByVal a As C, ByVal b As M)
+        Dim o As IA
+
+        o = a
+        o = b
+    End Sub
+End Class
+
+Interface IA
+
+End Interface
+Interface IB
+
+End Interface
+Interface IC
+    Inherits IA, IB
+End Interface
+
+Structure SA
+    Dim v As Integer
+End Structure
+
+Delegate Sub DA()
+
+Class CA
+End Class
+
+Class CB
+    Inherits CA
+End Class
+
+Class C_IA
+    Implements IA
+End Class
+Class C_IB
+    Implements IB
+End Class
+Class C_IC
+    Implements IC
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30512-116.vb b/vbnc/vbnc/tests/Errors/30512-116.vb
new file mode 100644
index 0000000..c12a61d
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30512-116.vb
@@ -0,0 +1,231 @@
+Option Strict On
+
+Class TypeConversion
+    Shared Sub Main()
+        Dim o As Object
+        Dim e As System.Enum
+        Dim v As System.ValueType
+        Dim d As System.Delegate
+
+        Dim ia As IA
+        Dim ib As IB
+        Dim ic As IC
+        Dim sa As SA
+        Dim da As DA
+        Dim ca As CA
+        Dim c_ia As C_IA
+        Dim c_ib As C_IB
+        Dim c_ic As C_IC
+
+        ia = CType("", IA)
+        ia = CType(ia, IA)
+        ia = CType(ib, IA)
+        ia = CType(da, IA)
+        ia = CType(ca, IA)
+        ia = CType(c_ia, IA)
+        ia = c_ia
+        ia = CType(c_ib, IA)
+        ia = c_ic
+        ia = CType(o, IA)
+
+        ic = c_ic
+
+        o = ia
+
+    End Sub
+
+End Class
+
+Class ArrayType1
+    Sub M()
+        Dim in_ia() As ia
+        Dim in_ic() As ic
+        Dim in_ca() As ca
+        Dim in_cb() As cb
+        Dim in_ia2(,) As ia
+        Dim in_ia_D7(7) As ia
+        Dim in_ia_R2()() As ia
+        Dim in_c_ia() As c_ia
+        Dim in_e_b() As e_b
+        Dim in_e_i() As e_i
+        Dim in_byte() As Byte
+        Dim in_integer() As Integer
+        Dim in_enum() As system.enum
+        Dim in_vt() As system.valuetype
+
+        Dim out_ia() As ia
+        Dim out_ic() As ic
+        Dim out_ca() As ca
+        Dim out_cb() As cb
+        Dim out_c_ia() As c_ia
+        Dim out_ia_D6(6) As ia
+        Dim out_e_b() As e_b
+        Dim out_e_i() As e_i
+        Dim out_byte() As Byte
+        Dim out_integer() As Integer
+        Dim out_enum() As system.enum
+        Dim out_vt() As system.valuetype
+        Dim out_obj() As Object
+        Dim out As system.array
+
+        out_ia = in_ia
+        out_ia = in_ic
+
+        out_ia = in_c_ia
+        out_ca = in_cb
+
+        out_ia_D6 = in_ia_D7
+        out_e_b = in_e_b
+        out_byte = in_e_b
+        out_integer = in_e_i
+        out_enum = in_enum
+
+        out_obj = in_enum
+        out_obj = in_vt
+        out = in_enum
+        out = in_vt
+        out = in_integer
+        out = in_e_i
+    End Sub
+
+    Sub TG1(Of X As Structure)()
+        Dim in_a() As X
+        Dim in_b() As X
+        in_a = in_b
+    End Sub
+End Class
+
+Class ValueType1
+    Sub M()
+        Dim in_sa As sa
+        Dim in_sb As sb
+        Dim in_s_ic As s_ic
+        Dim in_ia As ia
+        Dim in_ic As ic
+
+        Dim out_sa As sa
+        Dim out_sb As sb
+        Dim out_s_ic As s_ic
+        Dim out_ia As ia
+        Dim out_ic As ic
+
+        out_sa = in_sa
+        out_s_ic = in_ia
+    End Sub
+End Class
+
+Class GenericType1A(Of C)
+    Shared Sub GenericMethodTypeArgument(Of M)(ByVal a As C, ByVal b As M)
+        Dim o As Object
+        Dim l As Long
+
+        o = a
+        o = b
+        l = CLng(CObj(a))
+        l = CLng(CObj(b))
+    End Sub
+End Class
+Class GenericType1B(Of C As Structure)
+    Shared Sub GenericMethodTypeArgument(Of M As Structure)(ByVal a As C, ByVal b As M)
+        Dim o As Object
+
+        o = a
+        o = b
+    End Sub
+End Class
+Class GenericType1C(Of C As Class)
+    Shared Sub GenericMethodTypeArgument(Of M As Class)(ByVal a As C, ByVal b As M)
+        Dim o As Object
+
+        o = a
+        o = b
+    End Sub
+End Class
+Class GenericType1D(Of C As New)
+    Shared Sub GenericMethodTypeArgument(Of M)(ByVal a As C, ByVal b As M)
+        Dim o As Object
+
+        o = a
+        o = b
+    End Sub
+End Class
+
+Class GenericType2A(Of C As IA)
+    Shared Sub GenericMethodTypeArgument(Of M As IA)(ByVal a As C, ByVal b As M)
+        Dim o As IA
+
+        o = a
+        o = b
+    End Sub
+End Class
+
+Class GenericType2B(Of C As IC)
+    Shared Sub GenericMethodTypeArgument(Of M As IC)(ByVal a As C, ByVal b As M)
+        Dim o As IA
+        Dim o2 As IB
+        Dim o3 As IC
+
+        o = a
+        o = b
+        o2 = a
+        o2 = b
+        o3 = a
+        o3 = b
+    End Sub
+End Class
+
+Class GenericType3A(Of C As C_IA)
+    Shared Sub GenericMethodTypeArgument(Of M As C_IA)(ByVal a As C, ByVal b As M)
+        Dim o As IA
+
+        o = a
+        o = b
+    End Sub
+End Class
+
+Interface IA
+
+End Interface
+Interface IB
+
+End Interface
+Interface IC
+    Inherits IA, IB
+End Interface
+
+Delegate Sub DA()
+
+Class CA
+End Class
+
+Class CB
+    Inherits CA
+End Class
+
+Class C_IA
+    Implements IA
+End Class
+Class C_IB
+    Implements IB
+End Class
+Class C_IC
+    Implements IC
+End Class
+
+Enum E_B As Byte
+    a
+End Enum
+Enum E_I As Integer
+    a
+End Enum
+
+Structure SA
+    Dim v As Integer
+End Structure
+Structure SB
+    Dim v As Integer
+End Structure
+Structure S_IC
+    Implements IC
+    Dim v As Integer
+End Structure
diff --git a/vbnc/vbnc/tests/Errors/30512-117.vb b/vbnc/vbnc/tests/Errors/30512-117.vb
new file mode 100644
index 0000000..7618299
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30512-117.vb
@@ -0,0 +1,294 @@
+Option Strict On
+
+Class TypeConversion
+    Shared Sub Main()
+        Dim o As Object
+        Dim e As System.Enum
+        Dim v As System.ValueType
+        Dim d As System.Delegate
+
+        Dim ia As IA
+        Dim ib As IB
+        Dim ic As IC
+        Dim sa As SA
+        Dim da As DA
+        Dim ca As CA
+        Dim c_ia As C_IA
+        Dim c_ib As C_IB
+        Dim c_ic As C_IC
+
+        ia = CType("", IA)
+        ia = CType(ia, IA)
+        ia = CType(ib, IA)
+        ia = CType(da, IA)
+        ia = CType(ca, IA)
+        ia = CType(c_ia, IA)
+        ia = c_ia
+        ia = CType(c_ib, IA)
+        ia = c_ic
+        ia = CType(o, IA)
+
+        ic = c_ic
+
+        o = ia
+
+        e = Nothing
+        v = Nothing
+        d = Nothing
+        ia = Nothing
+        sa = Nothing
+        da = Nothing
+        c_ia = Nothing
+    End Sub
+
+End Class
+
+Class ArrayType1
+    Sub M()
+        Dim in_ia() As ia
+        Dim in_ic() As ic
+        Dim in_ca() As ca
+        Dim in_cb() As cb
+        Dim in_ia2(,) As ia
+        Dim in_ia_D7(7) As ia
+        Dim in_ia_R2()() As ia
+        Dim in_c_ia() As c_ia
+        Dim in_e_b() As e_b
+        Dim in_e_i() As e_i
+        Dim in_byte() As Byte
+        Dim in_integer() As Integer
+        Dim in_enum() As system.enum
+        Dim in_vt() As system.valuetype
+
+        Dim out_ia() As ia
+        Dim out_ic() As ic
+        Dim out_ca() As ca
+        Dim out_cb() As cb
+        Dim out_c_ia() As c_ia
+        Dim out_ia_D6(6) As ia
+        Dim out_e_b() As e_b
+        Dim out_e_i() As e_i
+        Dim out_byte() As Byte
+        Dim out_integer() As Integer
+        Dim out_enum() As system.enum
+        Dim out_vt() As system.valuetype
+        Dim out_obj() As Object
+        Dim out As system.array
+
+        out_ia = in_ia
+        out_ia = in_ic
+
+        out_ia = in_c_ia
+        out_ca = in_cb
+
+        out_ia_D6 = in_ia_D7
+        out_e_b = in_e_b
+        out_byte = in_e_b
+        out_integer = in_e_i
+        out_enum = in_enum
+
+        out_obj = in_enum
+        out_obj = in_vt
+        out = in_enum
+        out = in_vt
+        out = in_integer
+        out = in_e_i
+    End Sub
+
+    Sub TG1(Of X As Structure)()
+        Dim in_a() As X
+        Dim in_b() As X
+        in_a = in_b
+    End Sub
+End Class
+
+Class ValueType1
+    Sub M()
+        Dim in_sa As sa
+        Dim in_sb As sb
+        Dim in_s_ic As s_ic
+        Dim in_ia As ia
+        Dim in_ic As ic
+        Dim in_id As id(Of Object)
+        Dim in_s_id As s_id(Of Object)
+        Dim in_s_id_byte As s_id(Of Byte)
+
+        Dim out_sa As sa
+        Dim out_sb As sb
+        Dim out_s_ic As s_ic
+        Dim out_ia As ia
+        Dim out_ic As ic
+        Dim out_vt As system.valuetype
+        Dim out As Object
+        Dim out_id As id(Of Object)
+        Dim out_id_str As id(Of String)
+
+        out_sa = in_sa
+        out_ia = in_s_ic
+        out_ic = in_s_ic
+        out_vt = in_sa
+        out_vt = in_s_ic
+        out = in_sa
+        out_id = in_s_id
+    End Sub
+End Class
+
+Class String1
+    Sub M()
+        Dim c As Char
+        Dim s As String
+        Dim c_arr() As Char
+
+        s = c
+        s = c_arr
+    End Sub
+End Class
+
+Class Nullable1
+    Sub M()
+        Dim in_i_n As Integer?
+        Dim in_i As Integer
+        Dim in_s As Short
+        Dim in_s_n As Short?
+        Dim in_s_ic_n As s_ic?
+        Dim in_s_id_n As s_id(Of String)?
+
+        Dim out_i_n As Integer?
+        Dim out_i As Integer
+        Dim out_s_n As Short?
+        Dim out_ic As ic
+        Dim out_ib As ib
+        Dim out_id As id(Of String)
+
+        out_i_n = in_i
+        out_i_n = in_s
+        out_s_n = in_s_n
+        out_ic = in_s_ic_n
+        out_ib = in_s_ic_n
+        out_id = in_s_id_n
+        out_i = in_i_n
+    End Sub
+End Class
+
+Class GenericType1A(Of C)
+    Shared Sub GenericMethodTypeArgument(Of M)(ByVal a As C, ByVal b As M)
+        Dim o As Object
+        Dim l As Long
+
+        o = a
+        o = b
+        l = CLng(CObj(a))
+        l = CLng(CObj(b))
+    End Sub
+End Class
+Class GenericType1B(Of C As Structure)
+    Shared Sub GenericMethodTypeArgument(Of M As Structure)(ByVal a As C, ByVal b As M)
+        Dim o As Object
+
+        o = a
+        o = b
+    End Sub
+End Class
+Class GenericType1C(Of C As Class)
+    Shared Sub GenericMethodTypeArgument(Of M As Class)(ByVal a As C, ByVal b As M)
+        Dim o As Object
+
+        o = a
+        o = b
+    End Sub
+End Class
+Class GenericType1D(Of C As New)
+    Shared Sub GenericMethodTypeArgument(Of M)(ByVal a As C, ByVal b As M)
+        Dim o As Object
+
+        o = a
+        o = b
+    End Sub
+End Class
+
+Class GenericType2A(Of C As IA)
+    Shared Sub GenericMethodTypeArgument(Of M As IA)(ByVal a As C, ByVal b As M)
+        Dim o As IA
+
+        o = a
+        o = b
+    End Sub
+End Class
+
+Class GenericType2B(Of C As IC)
+    Shared Sub GenericMethodTypeArgument(Of M As IC)(ByVal a As C, ByVal b As M)
+        Dim o As IA
+        Dim o2 As IB
+        Dim o3 As IC
+
+        o = a
+        o = b
+        o2 = a
+        o2 = b
+        o3 = a
+        o3 = b
+    End Sub
+End Class
+
+Class GenericType3A(Of C As C_IA)
+    Shared Sub GenericMethodTypeArgument(Of M As C_IA)(ByVal a As C, ByVal b As M)
+        Dim o As IA
+
+        o = a
+        o = b
+    End Sub
+End Class
+
+Interface IA
+
+End Interface
+Interface IB
+
+End Interface
+Interface IC
+    Inherits IA, IB
+End Interface
+Interface ID(Of T)
+
+End Interface
+
+Delegate Sub DA()
+
+Class CA
+End Class
+
+Class CB
+    Inherits CA
+End Class
+
+Class C_IA
+    Implements IA
+End Class
+Class C_IB
+    Implements IB
+End Class
+Class C_IC
+    Implements IC
+End Class
+
+Enum E_B As Byte
+    a
+End Enum
+Enum E_I As Integer
+    a
+End Enum
+
+Structure SA
+    Dim v As Integer
+End Structure
+Structure SB
+    Dim v As Integer
+End Structure
+Structure S_IC
+    Implements IC
+    Dim v As Integer
+End Structure
+Structure S_ID(Of T)
+    Implements ID(Of T)
+    Dim v As Integer
+End Structure
diff --git a/vbnc/vbnc/tests/Errors/30512-118.vb b/vbnc/vbnc/tests/Errors/30512-118.vb
new file mode 100644
index 0000000..c997508
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30512-118.vb
@@ -0,0 +1,615 @@
+#If STRICT Then
+Option Strict On
+#Else
+Option Strict Off
+#End If
+
+Class TypeConversion
+    Sub M()
+        Dim out_o As Object
+        Dim out_e As System.Enum
+        Dim out_v As System.ValueType
+        Dim out_d As System.Delegate
+        Dim out_ia As IA
+        Dim out_ib As IB
+        Dim out_ic As IC
+        Dim out_sa As SA
+        Dim out_da As DA
+        Dim out_ca As CA
+        Dim out_c_ia As C_IA
+        Dim out_e_i As E_I
+
+        Dim in_o As Object
+        Dim in_ia As IA
+        Dim in_ib As IB
+        Dim in_sa As SA
+        Dim in_da As DA
+        Dim in_ca As CA
+        Dim in_c_ia As C_IA
+        Dim in_c_ib As C_IB
+        Dim in_c_ic As C_IC
+        Dim in_str As String
+        Dim in_v As System.ValueType
+        Dim in_e As System.Enum
+        Dim in_d As System.Delegate
+
+        out_ia = CType(in_str, IA)
+        out_ia = CType(in_ia, IA)
+        out_ia = CType(in_ib, IA)
+        out_ia = CType(in_da, IA)
+        out_ia = CType(in_ca, IA)
+        out_ia = CType(in_c_ia, IA)
+        out_ia = in_c_ia
+        out_ia = CType(in_c_ib, IA)
+        out_ia = in_c_ic
+        out_ia = CType(in_o, IA)
+
+        out_ic = in_c_ic
+
+        out_o = in_ia
+
+#If Not STRICT Then
+        out_e = in_o
+        out_ia = in_o
+        out_sa = in_o
+        out_ca = in_o
+        out_da = in_o
+        out_ia = in_ib
+        out_ib = in_ia
+        out_v = in_sa
+        out_sa = in_v
+        out_e_i = in_e
+        out_ca = in_ia
+#End If
+
+        out_e = Nothing
+        out_v = Nothing
+        out_d = Nothing
+        out_ia = Nothing
+        out_sa = Nothing
+        out_da = Nothing
+        out_c_ia = Nothing
+    End Sub
+
+    Sub M_InRef(ByRef in_o As Object, ByRef in_ia As IA, ByRef in_ib As IB, ByRef in_sa As SA, ByRef in_da As da, _
+          ByRef in_ca As ca, ByRef in_c_ia As c_ia, ByRef in_c_ib As c_ib, ByRef in_c_ic As c_ic, ByRef in_str As String, _
+          ByRef in_v As system.valuetype, ByRef in_d As system.delegate, ByRef in_e As system.enum)
+        Dim out_o As Object
+        Dim out_e As System.Enum
+        Dim out_v As System.ValueType
+        Dim out_d As System.Delegate
+        Dim out_ia As IA
+        Dim out_ib As IB
+        Dim out_ic As IC
+        Dim out_sa As SA
+        Dim out_da As DA
+        Dim out_ca As CA
+        Dim out_c_ia As C_IA
+        Dim out_e_i As E_I
+
+        out_ia = CType(in_str, IA)
+        out_ia = CType(in_ia, IA)
+        out_ia = CType(in_ib, IA)
+        out_ia = CType(in_da, IA)
+        out_ia = CType(in_ca, IA)
+        out_ia = CType(in_c_ia, IA)
+        out_ia = in_c_ia
+        out_ia = CType(in_c_ib, IA)
+        out_ia = in_c_ic
+        out_ia = CType(in_o, IA)
+
+        out_ic = in_c_ic
+
+        out_o = in_ia
+
+#If Not STRICT Then
+        out_e = in_o
+        out_ia = in_o
+        out_sa = in_o
+        out_ca = in_o
+        out_da = in_o
+        out_ia = in_ib
+        out_ib = in_ia
+        out_v = in_sa
+        out_sa = in_v
+        out_e_i = in_e
+        out_ca = in_ia
+#End If
+
+        out_e = Nothing
+        out_v = Nothing
+        out_d = Nothing
+        out_ia = Nothing
+        out_sa = Nothing
+        out_da = Nothing
+        out_c_ia = Nothing
+    End Sub
+
+    Sub M_OutRef(ByRef out_o As Object, ByRef out_e As system.enum, ByRef out_v As system.valuetype, ByRef out_d As system.delegate, _
+                 ByRef out_ia As ia, ByRef out_ib As ib, ByRef out_ic As ic, ByRef out_sa As sa, ByRef out_da As da, ByRef out_ca As ca, _
+                 ByRef out_c_ia As c_ia, ByRef out_e_i As e_I)
+        Dim in_o As Object
+        Dim in_ia As IA
+        Dim in_ib As IB
+        Dim in_sa As SA
+        Dim in_da As DA
+        Dim in_ca As CA
+        Dim in_c_ia As C_IA
+        Dim in_c_ib As C_IB
+        Dim in_c_ic As C_IC
+        Dim in_str As String
+        Dim in_v As System.ValueType
+        Dim in_e As System.Enum
+        Dim in_d As System.Delegate
+
+        out_ia = CType(in_str, IA)
+        out_ia = CType(in_ia, IA)
+        out_ia = CType(in_ib, IA)
+        out_ia = CType(in_da, IA)
+        out_ia = CType(in_ca, IA)
+        out_ia = CType(in_c_ia, IA)
+        out_ia = in_c_ia
+        out_ia = CType(in_c_ib, IA)
+        out_ia = in_c_ic
+        out_ia = CType(in_o, IA)
+
+        out_ic = in_c_ic
+
+        out_o = in_ia
+
+#If Not STRICT Then
+        out_e = in_o
+        out_ia = in_o
+        out_sa = in_o
+        out_ca = in_o
+        out_da = in_o
+        out_ia = in_ib
+        out_ib = in_ia
+        out_v = in_sa
+        out_sa = in_v
+        out_e_i = in_e
+        out_ca = in_ia
+#End If
+
+        out_e = Nothing
+        out_v = Nothing
+        out_d = Nothing
+        out_ia = Nothing
+        out_sa = Nothing
+        out_da = Nothing
+        out_c_ia = Nothing
+    End Sub
+
+    Sub M_InOutRef(ByRef out_o As Object, ByRef out_e As system.enum, ByRef out_v As system.valuetype, ByRef out_d As system.delegate, _
+                 ByRef out_ia As ia, ByRef out_ib As ib, ByRef out_ic As ic, ByRef out_sa As sa, ByRef out_da As da, ByRef out_ca As ca, _
+                 ByRef out_c_ia As c_ia, ByRef out_e_i As e_I, _
+                 ByRef in_o As Object, ByRef in_ia As IA, ByRef in_ib As IB, ByRef in_sa As SA, ByRef in_da As da, _
+          ByRef in_ca As ca, ByRef in_c_ia As c_ia, ByRef in_c_ib As c_ib, ByRef in_c_ic As c_ic, ByRef in_str As String, _
+          ByRef in_v As system.valuetype, ByRef in_d As system.delegate, ByRef in_e As system.enum)
+
+        out_ia = CType(in_str, IA)
+        out_ia = CType(in_ia, IA)
+        out_ia = CType(in_ib, IA)
+        out_ia = CType(in_da, IA)
+        out_ia = CType(in_ca, IA)
+        out_ia = CType(in_c_ia, IA)
+        out_ia = in_c_ia
+        out_ia = CType(in_c_ib, IA)
+        out_ia = in_c_ic
+        out_ia = CType(in_o, IA)
+
+        out_ic = in_c_ic
+
+        out_o = in_ia
+
+#If Not STRICT Then
+        out_e = in_o
+        out_ia = in_o
+        out_sa = in_o
+        out_ca = in_o
+        out_da = in_o
+        out_ia = in_ib
+        out_ib = in_ia
+        out_v = in_sa
+        out_sa = in_v
+        out_e_i = in_e
+        out_ca = in_ia
+#End If
+
+        out_e = Nothing
+        out_v = Nothing
+        out_d = Nothing
+        out_ia = Nothing
+        out_sa = Nothing
+        out_da = Nothing
+        out_c_ia = Nothing
+    End Sub
+End Class
+
+Class Intrinsic
+    Sub NumericConversionsEnum()
+        Dim e_b As e_b
+        Dim e_i As e_i
+        Dim b As Byte
+        Dim i As Integer
+#If Not STRICT Then
+        e_b = 2
+        e_i = 4
+
+        e_b = b
+        e_i = i
+        e_b = i
+        e_i = b
+        b = e_b
+        b = e_i
+        i = e_b
+        i = e_i
+        e_b = e_i
+        e_i = e_b
+#End If
+    End Sub
+
+    Sub StringConversions()
+        Dim out_b As Byte
+        Dim out_sb As SByte
+        Dim out_s As Short
+        Dim out_us As UShort
+        Dim out_i As Integer
+        Dim out_ui As UInteger
+        Dim out_l As Long
+        Dim out_ul As ULong
+        Dim out_dec As Decimal
+        Dim out_bool As Boolean
+        Dim out_sng As Single
+        Dim out_dbl As Double
+        Dim out_str As String
+        Dim out_chr As Char
+        Dim out_dt As Date
+
+        Dim in_b As Byte
+        Dim in_sb As SByte
+        Dim in_s As Short
+        Dim in_us As UShort
+        Dim in_i As Integer
+        Dim in_ui As UInteger
+        Dim in_l As Long
+        Dim in_ul As ULong
+        Dim in_dec As Decimal
+        Dim in_bool As Boolean
+        Dim in_sng As Single
+        Dim in_dbl As Double
+        Dim in_str As String
+        Dim in_chr As Char
+        Dim in_dt As Date
+#If Not STRICT Then
+        out_b = in_str
+        out_sb = in_str
+        out_us = in_str
+        out_s = in_str
+        out_ui = in_str
+        out_i = in_str
+        out_ul = in_str
+        out_l = in_str
+        out_dec = in_str
+        out_sng = in_str
+        out_dbl = in_str
+        out_dt = in_str
+
+        out_str = in_b
+        out_str = in_sb
+        out_str = in_us
+        out_str = in_s
+        out_str = in_ui
+        out_str = in_i
+        out_str = in_ul
+        out_str = in_l
+        out_str = in_dec
+        out_str = in_sng
+        out_str = in_dbl
+        out_str = in_dt
+#End If
+    End Sub
+End Class
+
+Class ArrayType1
+    Sub M()
+        Dim in_ia() As ia
+        Dim in_ic() As ic
+        Dim in_ca() As ca
+        Dim in_cb() As cb
+        Dim in_ia2(,) As ia
+        Dim in_ia_D7(7) As ia
+        Dim in_ia_R2()() As ia
+        Dim in_c_ia() As c_ia
+        Dim in_e_b() As e_b
+        Dim in_e_i() As e_i
+        Dim in_byte() As Byte
+        Dim in_integer() As Integer
+        Dim in_enum() As system.enum
+        Dim in_vt() As system.valuetype
+
+        Dim out_ia() As ia
+        Dim out_ic() As ic
+        Dim out_ca() As ca
+        Dim out_cb() As cb
+        Dim out_c_ia() As c_ia
+        Dim out_ia_D6(6) As ia
+        Dim out_e_b() As e_b
+        Dim out_e_i() As e_i
+        Dim out_byte() As Byte
+        Dim out_integer() As Integer
+        Dim out_enum() As system.enum
+        Dim out_vt() As system.valuetype
+        Dim out_obj() As Object
+        Dim out As system.array
+
+        out_ia = in_ia
+        out_ia = in_ic
+#If Not STRICT Then
+        out_ic = in_ia
+#End If
+
+        out_ia = in_c_ia
+        out_ca = in_cb
+
+        out_ia_D6 = in_ia_D7
+        out_e_b = in_e_b
+        out_byte = in_e_b
+        out_integer = in_e_i
+        out_enum = in_enum
+#If Not STRICT Then
+        out_e_i = in_integer
+#End If
+
+        out_obj = in_enum
+        out_obj = in_vt
+        out = in_enum
+        out = in_vt
+        out = in_integer
+        out = in_e_i
+    End Sub
+
+    Sub TG1(Of X As Structure)()
+        Dim in_a() As X
+        Dim in_b() As X
+        in_a = in_b
+    End Sub
+End Class
+
+Class ValueType1
+    Sub M()
+        Dim in_sa As sa
+        Dim in_sb As sb
+        Dim in_s_ic As s_ic
+        Dim in_ia As ia
+        Dim in_ic As ic
+        Dim in_id As id(Of Object)
+        Dim in_s_id As s_id(Of Object)
+        Dim in_s_id_byte As s_id(Of Byte)
+
+        Dim out_sa As sa
+        Dim out_sb As sb
+        Dim out_s_ic As s_ic
+        Dim out_ia As ia
+        Dim out_ic As ic
+        Dim out_vt As system.valuetype
+        Dim out As Object
+        Dim out_id As id(Of Object)
+        Dim out_id_str As id(Of String)
+
+        out_sa = in_sa
+        out_ia = in_s_ic
+        out_ic = in_s_ic
+        out_vt = in_sa
+        out_vt = in_s_ic
+        out = in_sa
+        out_id = in_s_id
+#If Not STRICT Then
+        out_s_ic = in_ic
+#End If
+    End Sub
+End Class
+
+Class String1
+    Sub M()
+        Dim c As Char
+        Dim s As String
+        Dim c_arr() As Char
+
+        s = c
+        s = c_arr
+#If Not STRICT Then
+        c = s
+        c_arr = s
+#End If
+    End Sub
+End Class
+
+Class Nullable1
+    Sub M()
+        Dim in_i_n As Integer?
+        Dim in_i As Integer
+        Dim in_s As Short
+        Dim in_s_n As Short?
+        Dim in_s_ic_n As s_ic?
+        Dim in_s_id_n As s_id(Of String)?
+
+        Dim out_i_n As Integer?
+        Dim out_i As Integer
+        Dim out_s_n As Short?
+        Dim out_s As Short
+        Dim out_ic As ic
+        Dim out_ib As ib
+        Dim out_id As id(Of String)
+
+        out_i_n = in_i
+        out_i_n = in_s
+        out_s_n = in_s_n
+        out_ic = in_s_ic_n
+        out_ib = in_s_ic_n
+        out_id = in_s_id_n
+
+#If Not STRICT Then
+        out_i = in_i_n
+        out_s_n = in_i_n
+        out_s_n = in_i
+        out_s = in_i_n
+#End If
+        out_ic = in_s_ic_n
+    End Sub
+End Class
+
+Class GenericType1A(Of C)
+    Shared Sub GenericMethodTypeArgument(Of M)(ByVal a As C, ByVal b As M)
+        Dim o As Object
+        Dim l As Long
+
+        o = a
+        o = b
+#If Not STRICT Then
+        a = o
+        b = o
+#End If
+        l = CLng(CObj(a))
+        l = CLng(CObj(b))
+    End Sub
+End Class
+Class GenericType1B(Of C As Structure)
+    Shared Sub GenericMethodTypeArgument(Of M As Structure)(ByVal a As C, ByVal b As M)
+        Dim o As Object
+
+        o = a
+        o = b
+#If Not STRICT Then
+        a = o
+        b = o
+#End If
+    End Sub
+End Class
+Class GenericType1C(Of C As Class)
+    Shared Sub GenericMethodTypeArgument(Of M As Class)(ByVal a As C, ByVal b As M)
+        Dim o As Object
+
+        o = a
+        o = b
+    End Sub
+End Class
+Class GenericType1D(Of C As New)
+    Shared Sub GenericMethodTypeArgument(Of M)(ByVal a As C, ByVal b As M)
+        Dim o As Object
+
+        o = a
+        o = b
+    End Sub
+End Class
+
+Class GenericType2A(Of C As IA)
+    Shared Sub GenericMethodTypeArgument(Of M As IA)(ByVal a As C, ByVal b As M)
+        Dim o As IA
+        Dim o2 As IB
+
+        o = a
+        o = b
+#If Not STRICT Then
+        a = o
+        b = o
+        a = o2
+        b = o2
+#End If
+    End Sub
+End Class
+
+Class GenericType2B(Of C As IC)
+    Shared Sub GenericMethodTypeArgument(Of M As IC)(ByVal a As C, ByVal b As M)
+        Dim o As IA
+        Dim o2 As IB
+        Dim o3 As IC
+
+        o = a
+        o = b
+#If Not STRICT Then
+        o2 = a
+        o2 = b
+        o3 = a
+        o3 = b
+#End If
+    End Sub
+End Class
+
+Class GenericType3A(Of C As C_IA)
+    Shared Sub GenericMethodTypeArgument(Of M As C_IA)(ByVal a As C, ByVal b As M)
+        Dim o As IA
+        Dim o2 As C_IA_D
+        o = a
+        o = b
+    End Sub
+End Class
+
+Class GenericType4A(Of C As C_IA)
+    Shared Sub GenericMethodTypeArgument(Of M As C_IA)(ByVal a As C, ByVal b As M)
+        Dim enumerableC As system.collections.generic.ienumerable(Of C)
+        Dim arrC() As M
+        Dim enumerableA As system.collections.generic.ienumerable(Of M)
+        Dim arrA() As M
+
+        enumerableC = arrC
+        enumerableA = arrA
+    End Sub
+End Class
+
+Interface IA
+
+End Interface
+Interface IB
+
+End Interface
+Interface IC
+    Inherits IA, IB
+End Interface
+Interface ID(Of T)
+
+End Interface
+
+Delegate Sub DA()
+
+Class CA
+End Class
+
+Class CB
+    Inherits CA
+End Class
+
+Class C_IA
+    Implements IA
+End Class
+Class C_IA_D
+    Inherits C_IA
+End Class
+Class C_IB
+    Implements IB
+End Class
+Class C_IC
+    Implements IC
+End Class
+
+Enum E_B As Byte
+    a
+End Enum
+Enum E_I As Integer
+    a
+End Enum
+
+Structure SA
+    Dim v As Integer
+End Structure
+Structure SB
+    Dim v As Integer
+End Structure
+Structure S_IC
+    Implements IC
+    Dim v As Integer
+End Structure
+Structure S_ID(Of T)
+    Implements ID(Of T)
+    Dim v As Integer
+End Structure
diff --git a/vbnc/vbnc/tests/Errors/30512-119.vb b/vbnc/vbnc/tests/Errors/30512-119.vb
new file mode 100644
index 0000000..039fd02
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30512-119.vb
@@ -0,0 +1,18 @@
+Option Strict On
+Imports System.Data
+Class A
+    Sub Main()
+        Dim s As String = Me!TABLE_TYPE
+        'Dim SchemaTable As DataTable
+        'For table As Integer = 0 To SchemaTable.Rows.Count - 1
+        '    If SchemaTable.Rows(table)!TABLE_TYPE.ToString = "TABLE" Then
+        '    End If
+        'Next
+    End Sub
+
+    Default ReadOnly Property I(ByVal a As Integer) As String
+        Get
+            Return ""
+        End Get
+    End Property
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30512-23.vb b/vbnc/vbnc/tests/Errors/30512-23.vb
new file mode 100644
index 0000000..5dc1e22
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30512-23.vb
@@ -0,0 +1,9 @@
+Option Explicit On
+Option Strict On
+
+Class X
+    Public Shared Sub Main()
+        Dim x As UInteger = 2
+        Dim y As Integer = x
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30512-24.vb b/vbnc/vbnc/tests/Errors/30512-24.vb
new file mode 100644
index 0000000..ee0bc9c
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30512-24.vb
@@ -0,0 +1,9 @@
+Option Explicit On
+Option Strict On
+
+Class X
+    Public Shared Sub Main()
+        Dim x As Long = 2
+        Dim y As Integer = x
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30512-25.vb b/vbnc/vbnc/tests/Errors/30512-25.vb
new file mode 100644
index 0000000..c57673a
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30512-25.vb
@@ -0,0 +1,9 @@
+Option Explicit On
+Option Strict On
+
+Class X
+    Public Shared Sub Main()
+        Dim x As ULong = 2
+        Dim y As Integer = x
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30512-26.vb b/vbnc/vbnc/tests/Errors/30512-26.vb
new file mode 100644
index 0000000..f4cf590
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30512-26.vb
@@ -0,0 +1,9 @@
+Option Explicit On
+Option Strict On
+
+Class X
+    Public Shared Sub Main()
+        Dim x As Decimal = 2
+        Dim y As Integer = x
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30512-27.vb b/vbnc/vbnc/tests/Errors/30512-27.vb
new file mode 100644
index 0000000..6ab413f
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30512-27.vb
@@ -0,0 +1,9 @@
+Option Explicit On
+Option Strict On
+
+Class X
+    Public Shared Sub Main()
+        Dim x As Single = 2
+        Dim y As Integer = x
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30512-28.vb b/vbnc/vbnc/tests/Errors/30512-28.vb
new file mode 100644
index 0000000..c854181
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30512-28.vb
@@ -0,0 +1,9 @@
+Option Explicit On
+Option Strict On
+
+Class X
+    Public Shared Sub Main()
+        Dim x As Double = 2
+        Dim y As Integer = x
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30512-29.vb b/vbnc/vbnc/tests/Errors/30512-29.vb
new file mode 100644
index 0000000..4de55dd
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30512-29.vb
@@ -0,0 +1,9 @@
+Option Explicit On
+Option Strict On
+
+Class X
+    Public Shared Sub Main()
+        Dim x As Boolean
+        Dim y As Integer = x
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30512-30.vb b/vbnc/vbnc/tests/Errors/30512-30.vb
new file mode 100644
index 0000000..6268f86
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30512-30.vb
@@ -0,0 +1,9 @@
+Option Explicit On
+Option Strict On
+
+Class X
+    Public Shared Sub Main()
+        Dim x As String
+        Dim y As Integer = x
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30512-31.vb b/vbnc/vbnc/tests/Errors/30512-31.vb
new file mode 100644
index 0000000..118c2bb
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30512-31.vb
@@ -0,0 +1,24 @@
+Option Explicit On
+Option Strict On
+
+Class X
+    Public Shared Sub Main()
+        Dim b As Byte
+        Dim sb As SByte
+        Dim s As Short
+        Dim us As UShort
+        Dim i As Integer
+        Dim ui As UInteger
+        Dim l As Long
+        Dim ul As ULong
+        Dim dt As Date
+        Dim chr As Char
+        Dim str As String
+        Dim bool As Boolean
+        Dim sng As Single
+        Dim dbl As Double
+        Dim dec As Decimal
+
+        Dim y As Short = us
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30512-32.vb b/vbnc/vbnc/tests/Errors/30512-32.vb
new file mode 100644
index 0000000..56a5d9d
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30512-32.vb
@@ -0,0 +1,24 @@
+Option Explicit On
+Option Strict On
+
+Class X
+    Public Shared Sub Main()
+        Dim b As Byte
+        Dim sb As SByte
+        Dim s As Short
+        Dim us As UShort
+        Dim i As Integer
+        Dim ui As UInteger
+        Dim l As Long
+        Dim ul As ULong
+        Dim dt As Date
+        Dim chr As Char
+        Dim str As String
+        Dim bool As Boolean
+        Dim sng As Single
+        Dim dbl As Double
+        Dim dec As Decimal
+
+        Dim y As Short = i
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30512-33.vb b/vbnc/vbnc/tests/Errors/30512-33.vb
new file mode 100644
index 0000000..9b070e0
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30512-33.vb
@@ -0,0 +1,24 @@
+Option Explicit On
+Option Strict On
+
+Class X
+    Public Shared Sub Main()
+        Dim b As Byte
+        Dim sb As SByte
+        Dim s As Short
+        Dim us As UShort
+        Dim i As Integer
+        Dim ui As UInteger
+        Dim l As Long
+        Dim ul As ULong
+        Dim dt As Date
+        Dim chr As Char
+        Dim str As String
+        Dim bool As Boolean
+        Dim sng As Single
+        Dim dbl As Double
+        Dim dec As Decimal
+
+        Dim y As Short = ui
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30512-34.vb b/vbnc/vbnc/tests/Errors/30512-34.vb
new file mode 100644
index 0000000..f934009
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30512-34.vb
@@ -0,0 +1,24 @@
+Option Explicit On
+Option Strict On
+
+Class X
+    Public Shared Sub Main()
+        Dim b As Byte
+        Dim sb As SByte
+        Dim s As Short
+        Dim us As UShort
+        Dim i As Integer
+        Dim ui As UInteger
+        Dim l As Long
+        Dim ul As ULong
+        Dim dt As Date
+        Dim chr As Char
+        Dim str As String
+        Dim bool As Boolean
+        Dim sng As Single
+        Dim dbl As Double
+        Dim dec As Decimal
+
+        Dim y As Short = l
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30512-35.vb b/vbnc/vbnc/tests/Errors/30512-35.vb
new file mode 100644
index 0000000..6f40d94
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30512-35.vb
@@ -0,0 +1,24 @@
+Option Explicit On
+Option Strict On
+
+Class X
+    Public Shared Sub Main()
+        Dim b As Byte
+        Dim sb As SByte
+        Dim s As Short
+        Dim us As UShort
+        Dim i As Integer
+        Dim ui As UInteger
+        Dim l As Long
+        Dim ul As ULong
+        Dim dt As Date
+        Dim chr As Char
+        Dim str As String
+        Dim bool As Boolean
+        Dim sng As Single
+        Dim dbl As Double
+        Dim dec As Decimal
+
+        Dim y As Short = ul
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30512-36.vb b/vbnc/vbnc/tests/Errors/30512-36.vb
new file mode 100644
index 0000000..baef30f
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30512-36.vb
@@ -0,0 +1,24 @@
+Option Explicit On
+Option Strict On
+
+Class X
+    Public Shared Sub Main()
+        Dim b As Byte
+        Dim sb As SByte
+        Dim s As Short
+        Dim us As UShort
+        Dim i As Integer
+        Dim ui As UInteger
+        Dim l As Long
+        Dim ul As ULong
+        Dim dt As Date
+        Dim chr As Char
+        Dim str As String
+        Dim bool As Boolean
+        Dim sng As Single
+        Dim dbl As Double
+        Dim dec As Decimal
+
+        Dim y As Short = str
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30512-37.vb b/vbnc/vbnc/tests/Errors/30512-37.vb
new file mode 100644
index 0000000..7660561
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30512-37.vb
@@ -0,0 +1,24 @@
+Option Explicit On
+Option Strict On
+
+Class X
+    Public Shared Sub Main()
+        Dim b As Byte
+        Dim sb As SByte
+        Dim s As Short
+        Dim us As UShort
+        Dim i As Integer
+        Dim ui As UInteger
+        Dim l As Long
+        Dim ul As ULong
+        Dim dt As Date
+        Dim chr As Char
+        Dim str As String
+        Dim bool As Boolean
+        Dim sng As Single
+        Dim dbl As Double
+        Dim dec As Decimal
+
+        Dim y As Short = bool
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30512-38.vb b/vbnc/vbnc/tests/Errors/30512-38.vb
new file mode 100644
index 0000000..cdcecbf
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30512-38.vb
@@ -0,0 +1,24 @@
+Option Explicit On
+Option Strict On
+
+Class X
+    Public Shared Sub Main()
+        Dim b As Byte
+        Dim sb As SByte
+        Dim s As Short
+        Dim us As UShort
+        Dim i As Integer
+        Dim ui As UInteger
+        Dim l As Long
+        Dim ul As ULong
+        Dim dt As Date
+        Dim chr As Char
+        Dim str As String
+        Dim bool As Boolean
+        Dim sng As Single
+        Dim dbl As Double
+        Dim dec As Decimal
+
+        Dim y As Short = sng
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30512-39.vb b/vbnc/vbnc/tests/Errors/30512-39.vb
new file mode 100644
index 0000000..a3a78a8
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30512-39.vb
@@ -0,0 +1,24 @@
+Option Explicit On
+Option Strict On
+
+Class X
+    Public Shared Sub Main()
+        Dim b As Byte
+        Dim sb As SByte
+        Dim s As Short
+        Dim us As UShort
+        Dim i As Integer
+        Dim ui As UInteger
+        Dim l As Long
+        Dim ul As ULong
+        Dim dt As Date
+        Dim chr As Char
+        Dim str As String
+        Dim bool As Boolean
+        Dim sng As Single
+        Dim dbl As Double
+        Dim dec As Decimal
+
+        Dim y As Short = dbl
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30512-40.vb b/vbnc/vbnc/tests/Errors/30512-40.vb
new file mode 100644
index 0000000..8f1770d
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30512-40.vb
@@ -0,0 +1,24 @@
+Option Explicit On
+Option Strict On
+
+Class X
+    Public Shared Sub Main()
+        Dim b As Byte
+        Dim sb As SByte
+        Dim s As Short
+        Dim us As UShort
+        Dim i As Integer
+        Dim ui As UInteger
+        Dim l As Long
+        Dim ul As ULong
+        Dim dt As Date
+        Dim chr As Char
+        Dim str As String
+        Dim bool As Boolean
+        Dim sng As Single
+        Dim dbl As Double
+        Dim dec As Decimal
+
+        Dim y As Short = dec
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30512-41.vb b/vbnc/vbnc/tests/Errors/30512-41.vb
new file mode 100644
index 0000000..3ef3cc5
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30512-41.vb
@@ -0,0 +1,24 @@
+Option Explicit On
+Option Strict On
+
+Class X
+    Public Shared Sub Main()
+        Dim b As Byte
+        Dim sb As SByte
+        Dim s As Short
+        Dim us As UShort
+        Dim i As Integer
+        Dim ui As UInteger
+        Dim l As Long
+        Dim ul As ULong
+        Dim dt As Date
+        Dim chr As Char
+        Dim str As String
+        Dim bool As Boolean
+        Dim sng As Single
+        Dim dbl As Double
+        Dim dec As Decimal
+
+        Dim y As UShort = i
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30512-42.vb b/vbnc/vbnc/tests/Errors/30512-42.vb
new file mode 100644
index 0000000..860d1c3
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30512-42.vb
@@ -0,0 +1,24 @@
+Option Explicit On
+Option Strict On
+
+Class X
+    Public Shared Sub Main()
+        Dim b As Byte
+        Dim sb As SByte
+        Dim s As Short
+        Dim us As UShort
+        Dim i As Integer
+        Dim ui As UInteger
+        Dim l As Long
+        Dim ul As ULong
+        Dim dt As Date
+        Dim chr As Char
+        Dim str As String
+        Dim bool As Boolean
+        Dim sng As Single
+        Dim dbl As Double
+        Dim dec As Decimal
+
+        Dim y As UShort = ui
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30512-43.vb b/vbnc/vbnc/tests/Errors/30512-43.vb
new file mode 100644
index 0000000..a909309
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30512-43.vb
@@ -0,0 +1,24 @@
+Option Explicit On
+Option Strict On
+
+Class X
+    Public Shared Sub Main()
+        Dim b As Byte
+        Dim sb As SByte
+        Dim s As Short
+        Dim us As UShort
+        Dim i As Integer
+        Dim ui As UInteger
+        Dim l As Long
+        Dim ul As ULong
+        Dim dt As Date
+        Dim chr As Char
+        Dim str As String
+        Dim bool As Boolean
+        Dim sng As Single
+        Dim dbl As Double
+        Dim dec As Decimal
+
+        Dim y As UShort = l
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30512-44.vb b/vbnc/vbnc/tests/Errors/30512-44.vb
new file mode 100644
index 0000000..361369e
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30512-44.vb
@@ -0,0 +1,24 @@
+Option Explicit On
+Option Strict On
+
+Class X
+    Public Shared Sub Main()
+        Dim b As Byte
+        Dim sb As SByte
+        Dim s As Short
+        Dim us As UShort
+        Dim i As Integer
+        Dim ui As UInteger
+        Dim l As Long
+        Dim ul As ULong
+        Dim dt As Date
+        Dim chr As Char
+        Dim str As String
+        Dim bool As Boolean
+        Dim sng As Single
+        Dim dbl As Double
+        Dim dec As Decimal
+
+        Dim y As UShort = ul
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30512-45.vb b/vbnc/vbnc/tests/Errors/30512-45.vb
new file mode 100644
index 0000000..a48b10d
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30512-45.vb
@@ -0,0 +1,24 @@
+Option Explicit On
+Option Strict On
+
+Class X
+    Public Shared Sub Main()
+        Dim b As Byte
+        Dim sb As SByte
+        Dim s As Short
+        Dim us As UShort
+        Dim i As Integer
+        Dim ui As UInteger
+        Dim l As Long
+        Dim ul As ULong
+        Dim dt As Date
+        Dim chr As Char
+        Dim str As String
+        Dim bool As Boolean
+        Dim sng As Single
+        Dim dbl As Double
+        Dim dec As Decimal
+
+        Dim y As UShort = str
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30512-46.vb b/vbnc/vbnc/tests/Errors/30512-46.vb
new file mode 100644
index 0000000..3d16f43
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30512-46.vb
@@ -0,0 +1,24 @@
+Option Explicit On
+Option Strict On
+
+Class X
+    Public Shared Sub Main()
+        Dim b As Byte
+        Dim sb As SByte
+        Dim s As Short
+        Dim us As UShort
+        Dim i As Integer
+        Dim ui As UInteger
+        Dim l As Long
+        Dim ul As ULong
+        Dim dt As Date
+        Dim chr As Char
+        Dim str As String
+        Dim bool As Boolean
+        Dim sng As Single
+        Dim dbl As Double
+        Dim dec As Decimal
+
+        Dim y As UShort = bool
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30512-47.vb b/vbnc/vbnc/tests/Errors/30512-47.vb
new file mode 100644
index 0000000..b2ffbeb
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30512-47.vb
@@ -0,0 +1,24 @@
+Option Explicit On
+Option Strict On
+
+Class X
+    Public Shared Sub Main()
+        Dim b As Byte
+        Dim sb As SByte
+        Dim s As Short
+        Dim us As UShort
+        Dim i As Integer
+        Dim ui As UInteger
+        Dim l As Long
+        Dim ul As ULong
+        Dim dt As Date
+        Dim chr As Char
+        Dim str As String
+        Dim bool As Boolean
+        Dim sng As Single
+        Dim dbl As Double
+        Dim dec As Decimal
+
+        Dim y As UShort = sng
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30512-48.vb b/vbnc/vbnc/tests/Errors/30512-48.vb
new file mode 100644
index 0000000..7502560
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30512-48.vb
@@ -0,0 +1,24 @@
+Option Explicit On
+Option Strict On
+
+Class X
+    Public Shared Sub Main()
+        Dim b As Byte
+        Dim sb As SByte
+        Dim s As Short
+        Dim us As UShort
+        Dim i As Integer
+        Dim ui As UInteger
+        Dim l As Long
+        Dim ul As ULong
+        Dim dt As Date
+        Dim chr As Char
+        Dim str As String
+        Dim bool As Boolean
+        Dim sng As Single
+        Dim dbl As Double
+        Dim dec As Decimal
+
+        Dim y As UShort = dbl
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30512-49.vb b/vbnc/vbnc/tests/Errors/30512-49.vb
new file mode 100644
index 0000000..f78bb7e
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30512-49.vb
@@ -0,0 +1,24 @@
+Option Explicit On
+Option Strict On
+
+Class X
+    Public Shared Sub Main()
+        Dim b As Byte
+        Dim sb As SByte
+        Dim s As Short
+        Dim us As UShort
+        Dim i As Integer
+        Dim ui As UInteger
+        Dim l As Long
+        Dim ul As ULong
+        Dim dt As Date
+        Dim chr As Char
+        Dim str As String
+        Dim bool As Boolean
+        Dim sng As Single
+        Dim dbl As Double
+        Dim dec As Decimal
+
+        Dim y As UShort = dec
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30512-50.vb b/vbnc/vbnc/tests/Errors/30512-50.vb
new file mode 100644
index 0000000..30cb227
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30512-50.vb
@@ -0,0 +1,24 @@
+Option Explicit On
+Option Strict On
+
+Class X
+    Public Shared Sub Main()
+        Dim b As Byte
+        Dim sb As SByte
+        Dim s As Short
+        Dim us As UShort
+        Dim i As Integer
+        Dim ui As UInteger
+        Dim l As Long
+        Dim ul As ULong
+        Dim dt As Date
+        Dim chr As Char
+        Dim str As String
+        Dim bool As Boolean
+        Dim sng As Single
+        Dim dbl As Double
+        Dim dec As Decimal
+
+        Dim y As UInteger = l
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30512-51.vb b/vbnc/vbnc/tests/Errors/30512-51.vb
new file mode 100644
index 0000000..0686032
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30512-51.vb
@@ -0,0 +1,24 @@
+Option Explicit On
+Option Strict On
+
+Class X
+    Public Shared Sub Main()
+        Dim b As Byte
+        Dim sb As SByte
+        Dim s As Short
+        Dim us As UShort
+        Dim i As Integer
+        Dim ui As UInteger
+        Dim l As Long
+        Dim ul As ULong
+        Dim dt As Date
+        Dim chr As Char
+        Dim str As String
+        Dim bool As Boolean
+        Dim sng As Single
+        Dim dbl As Double
+        Dim dec As Decimal
+
+        Dim y As UInteger = ul
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30512-52.vb b/vbnc/vbnc/tests/Errors/30512-52.vb
new file mode 100644
index 0000000..29db458
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30512-52.vb
@@ -0,0 +1,24 @@
+Option Explicit On
+Option Strict On
+
+Class X
+    Public Shared Sub Main()
+        Dim b As Byte
+        Dim sb As SByte
+        Dim s As Short
+        Dim us As UShort
+        Dim i As Integer
+        Dim ui As UInteger
+        Dim l As Long
+        Dim ul As ULong
+        Dim dt As Date
+        Dim chr As Char
+        Dim str As String
+        Dim bool As Boolean
+        Dim sng As Single
+        Dim dbl As Double
+        Dim dec As Decimal
+
+        Dim y As UInteger = str
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30512-53.vb b/vbnc/vbnc/tests/Errors/30512-53.vb
new file mode 100644
index 0000000..574b802
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30512-53.vb
@@ -0,0 +1,24 @@
+Option Explicit On
+Option Strict On
+
+Class X
+    Public Shared Sub Main()
+        Dim b As Byte
+        Dim sb As SByte
+        Dim s As Short
+        Dim us As UShort
+        Dim i As Integer
+        Dim ui As UInteger
+        Dim l As Long
+        Dim ul As ULong
+        Dim dt As Date
+        Dim chr As Char
+        Dim str As String
+        Dim bool As Boolean
+        Dim sng As Single
+        Dim dbl As Double
+        Dim dec As Decimal
+
+        Dim y As UInteger = bool
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30512-54.vb b/vbnc/vbnc/tests/Errors/30512-54.vb
new file mode 100644
index 0000000..db0634a
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30512-54.vb
@@ -0,0 +1,24 @@
+Option Explicit On
+Option Strict On
+
+Class X
+    Public Shared Sub Main()
+        Dim b As Byte
+        Dim sb As SByte
+        Dim s As Short
+        Dim us As UShort
+        Dim i As Integer
+        Dim ui As UInteger
+        Dim l As Long
+        Dim ul As ULong
+        Dim dt As Date
+        Dim chr As Char
+        Dim str As String
+        Dim bool As Boolean
+        Dim sng As Single
+        Dim dbl As Double
+        Dim dec As Decimal
+
+        Dim y As UInteger = sng
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30512-55.vb b/vbnc/vbnc/tests/Errors/30512-55.vb
new file mode 100644
index 0000000..cfb5909
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30512-55.vb
@@ -0,0 +1,24 @@
+Option Explicit On
+Option Strict On
+
+Class X
+    Public Shared Sub Main()
+        Dim b As Byte
+        Dim sb As SByte
+        Dim s As Short
+        Dim us As UShort
+        Dim i As Integer
+        Dim ui As UInteger
+        Dim l As Long
+        Dim ul As ULong
+        Dim dt As Date
+        Dim chr As Char
+        Dim str As String
+        Dim bool As Boolean
+        Dim sng As Single
+        Dim dbl As Double
+        Dim dec As Decimal
+
+        Dim y As UInteger = dbl
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30512-56.vb b/vbnc/vbnc/tests/Errors/30512-56.vb
new file mode 100644
index 0000000..0fa0996
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30512-56.vb
@@ -0,0 +1,24 @@
+Option Explicit On
+Option Strict On
+
+Class X
+    Public Shared Sub Main()
+        Dim b As Byte
+        Dim sb As SByte
+        Dim s As Short
+        Dim us As UShort
+        Dim i As Integer
+        Dim ui As UInteger
+        Dim l As Long
+        Dim ul As ULong
+        Dim dt As Date
+        Dim chr As Char
+        Dim str As String
+        Dim bool As Boolean
+        Dim sng As Single
+        Dim dbl As Double
+        Dim dec As Decimal
+
+        Dim y As UInteger = dec
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30512-57.vb b/vbnc/vbnc/tests/Errors/30512-57.vb
new file mode 100644
index 0000000..654da14
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30512-57.vb
@@ -0,0 +1,24 @@
+Option Explicit On
+Option Strict On
+
+Class X
+    Public Shared Sub Main()
+        Dim b As Byte
+        Dim sb As SByte
+        Dim s As Short
+        Dim us As UShort
+        Dim i As Integer
+        Dim ui As UInteger
+        Dim l As Long
+        Dim ul As ULong
+        Dim dt As Date
+        Dim chr As Char
+        Dim str As String
+        Dim bool As Boolean
+        Dim sng As Single
+        Dim dbl As Double
+        Dim dec As Decimal
+
+        Dim y As Byte = sb
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30512-58.vb b/vbnc/vbnc/tests/Errors/30512-58.vb
new file mode 100644
index 0000000..f5818fc
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30512-58.vb
@@ -0,0 +1,24 @@
+Option Explicit On
+Option Strict On
+
+Class X
+    Public Shared Sub Main()
+        Dim b As Byte
+        Dim sb As SByte
+        Dim s As Short
+        Dim us As UShort
+        Dim i As Integer
+        Dim ui As UInteger
+        Dim l As Long
+        Dim ul As ULong
+        Dim dt As Date
+        Dim chr As Char
+        Dim str As String
+        Dim bool As Boolean
+        Dim sng As Single
+        Dim dbl As Double
+        Dim dec As Decimal
+
+        Dim y As Byte = s
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30512-59.vb b/vbnc/vbnc/tests/Errors/30512-59.vb
new file mode 100644
index 0000000..30dd9ef
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30512-59.vb
@@ -0,0 +1,24 @@
+Option Explicit On
+Option Strict On
+
+Class X
+    Public Shared Sub Main()
+        Dim b As Byte
+        Dim sb As SByte
+        Dim s As Short
+        Dim us As UShort
+        Dim i As Integer
+        Dim ui As UInteger
+        Dim l As Long
+        Dim ul As ULong
+        Dim dt As Date
+        Dim chr As Char
+        Dim str As String
+        Dim bool As Boolean
+        Dim sng As Single
+        Dim dbl As Double
+        Dim dec As Decimal
+
+        Dim y As Byte = us
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30512-60.vb b/vbnc/vbnc/tests/Errors/30512-60.vb
new file mode 100644
index 0000000..ba9e85e
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30512-60.vb
@@ -0,0 +1,24 @@
+Option Explicit On
+Option Strict On
+
+Class X
+    Public Shared Sub Main()
+        Dim b As Byte
+        Dim sb As SByte
+        Dim s As Short
+        Dim us As UShort
+        Dim i As Integer
+        Dim ui As UInteger
+        Dim l As Long
+        Dim ul As ULong
+        Dim dt As Date
+        Dim chr As Char
+        Dim str As String
+        Dim bool As Boolean
+        Dim sng As Single
+        Dim dbl As Double
+        Dim dec As Decimal
+
+        Dim y As Byte = i
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30512-61.vb b/vbnc/vbnc/tests/Errors/30512-61.vb
new file mode 100644
index 0000000..c007adf
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30512-61.vb
@@ -0,0 +1,24 @@
+Option Explicit On
+Option Strict On
+
+Class X
+    Public Shared Sub Main()
+        Dim b As Byte
+        Dim sb As SByte
+        Dim s As Short
+        Dim us As UShort
+        Dim i As Integer
+        Dim ui As UInteger
+        Dim l As Long
+        Dim ul As ULong
+        Dim dt As Date
+        Dim chr As Char
+        Dim str As String
+        Dim bool As Boolean
+        Dim sng As Single
+        Dim dbl As Double
+        Dim dec As Decimal
+
+        Dim y As Byte = ui
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30512-62.vb b/vbnc/vbnc/tests/Errors/30512-62.vb
new file mode 100644
index 0000000..50af630
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30512-62.vb
@@ -0,0 +1,24 @@
+Option Explicit On
+Option Strict On
+
+Class X
+    Public Shared Sub Main()
+        Dim b As Byte
+        Dim sb As SByte
+        Dim s As Short
+        Dim us As UShort
+        Dim i As Integer
+        Dim ui As UInteger
+        Dim l As Long
+        Dim ul As ULong
+        Dim dt As Date
+        Dim chr As Char
+        Dim str As String
+        Dim bool As Boolean
+        Dim sng As Single
+        Dim dbl As Double
+        Dim dec As Decimal
+
+        Dim y As Byte = l
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30512-63.vb b/vbnc/vbnc/tests/Errors/30512-63.vb
new file mode 100644
index 0000000..f1891b9
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30512-63.vb
@@ -0,0 +1,24 @@
+Option Explicit On
+Option Strict On
+
+Class X
+    Public Shared Sub Main()
+        Dim b As Byte
+        Dim sb As SByte
+        Dim s As Short
+        Dim us As UShort
+        Dim i As Integer
+        Dim ui As UInteger
+        Dim l As Long
+        Dim ul As ULong
+        Dim dt As Date
+        Dim chr As Char
+        Dim str As String
+        Dim bool As Boolean
+        Dim sng As Single
+        Dim dbl As Double
+        Dim dec As Decimal
+
+        Dim y As Byte = ul
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30512-64.vb b/vbnc/vbnc/tests/Errors/30512-64.vb
new file mode 100644
index 0000000..71083a5
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30512-64.vb
@@ -0,0 +1,24 @@
+Option Explicit On
+Option Strict On
+
+Class X
+    Public Shared Sub Main()
+        Dim b As Byte
+        Dim sb As SByte
+        Dim s As Short
+        Dim us As UShort
+        Dim i As Integer
+        Dim ui As UInteger
+        Dim l As Long
+        Dim ul As ULong
+        Dim dt As Date
+        Dim chr As Char
+        Dim str As String
+        Dim bool As Boolean
+        Dim sng As Single
+        Dim dbl As Double
+        Dim dec As Decimal
+
+        Dim y As Byte = str
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30512-65.vb b/vbnc/vbnc/tests/Errors/30512-65.vb
new file mode 100644
index 0000000..24621ae
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30512-65.vb
@@ -0,0 +1,24 @@
+Option Explicit On
+Option Strict On
+
+Class X
+    Public Shared Sub Main()
+        Dim b As Byte
+        Dim sb As SByte
+        Dim s As Short
+        Dim us As UShort
+        Dim i As Integer
+        Dim ui As UInteger
+        Dim l As Long
+        Dim ul As ULong
+        Dim dt As Date
+        Dim chr As Char
+        Dim str As String
+        Dim bool As Boolean
+        Dim sng As Single
+        Dim dbl As Double
+        Dim dec As Decimal
+
+        Dim y As Byte = bool
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30512-66.vb b/vbnc/vbnc/tests/Errors/30512-66.vb
new file mode 100644
index 0000000..41c0753
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30512-66.vb
@@ -0,0 +1,24 @@
+Option Explicit On
+Option Strict On
+
+Class X
+    Public Shared Sub Main()
+        Dim b As Byte
+        Dim sb As SByte
+        Dim s As Short
+        Dim us As UShort
+        Dim i As Integer
+        Dim ui As UInteger
+        Dim l As Long
+        Dim ul As ULong
+        Dim dt As Date
+        Dim chr As Char
+        Dim str As String
+        Dim bool As Boolean
+        Dim sng As Single
+        Dim dbl As Double
+        Dim dec As Decimal
+
+        Dim y As Byte = sng
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30512-67.vb b/vbnc/vbnc/tests/Errors/30512-67.vb
new file mode 100644
index 0000000..77be95e
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30512-67.vb
@@ -0,0 +1,24 @@
+Option Explicit On
+Option Strict On
+
+Class X
+    Public Shared Sub Main()
+        Dim b As Byte
+        Dim sb As SByte
+        Dim s As Short
+        Dim us As UShort
+        Dim i As Integer
+        Dim ui As UInteger
+        Dim l As Long
+        Dim ul As ULong
+        Dim dt As Date
+        Dim chr As Char
+        Dim str As String
+        Dim bool As Boolean
+        Dim sng As Single
+        Dim dbl As Double
+        Dim dec As Decimal
+
+        Dim y As Byte = dbl
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30512-68.vb b/vbnc/vbnc/tests/Errors/30512-68.vb
new file mode 100644
index 0000000..65d17f9
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30512-68.vb
@@ -0,0 +1,24 @@
+Option Explicit On
+Option Strict On
+
+Class X
+    Public Shared Sub Main()
+        Dim b As Byte
+        Dim sb As SByte
+        Dim s As Short
+        Dim us As UShort
+        Dim i As Integer
+        Dim ui As UInteger
+        Dim l As Long
+        Dim ul As ULong
+        Dim dt As Date
+        Dim chr As Char
+        Dim str As String
+        Dim bool As Boolean
+        Dim sng As Single
+        Dim dbl As Double
+        Dim dec As Decimal
+
+        Dim y As Byte = dec
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30512-69.vb b/vbnc/vbnc/tests/Errors/30512-69.vb
new file mode 100644
index 0000000..bf2c25f
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30512-69.vb
@@ -0,0 +1,24 @@
+Option Explicit On
+Option Strict On
+
+Class X
+    Public Shared Sub Main()
+        Dim b As Byte
+        Dim sb As SByte
+        Dim s As Short
+        Dim us As UShort
+        Dim i As Integer
+        Dim ui As UInteger
+        Dim l As Long
+        Dim ul As ULong
+        Dim dt As Date
+        Dim chr As Char
+        Dim str As String
+        Dim bool As Boolean
+        Dim sng As Single
+        Dim dbl As Double
+        Dim dec As Decimal
+
+        Dim y As SByte = b
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30512-70.vb b/vbnc/vbnc/tests/Errors/30512-70.vb
new file mode 100644
index 0000000..f6b399b
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30512-70.vb
@@ -0,0 +1,24 @@
+Option Explicit On
+Option Strict On
+
+Class X
+    Public Shared Sub Main()
+        Dim b As Byte
+        Dim sb As SByte
+        Dim s As Short
+        Dim us As UShort
+        Dim i As Integer
+        Dim ui As UInteger
+        Dim l As Long
+        Dim ul As ULong
+        Dim dt As Date
+        Dim chr As Char
+        Dim str As String
+        Dim bool As Boolean
+        Dim sng As Single
+        Dim dbl As Double
+        Dim dec As Decimal
+
+        Dim y As SByte = s
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30512-71.vb b/vbnc/vbnc/tests/Errors/30512-71.vb
new file mode 100644
index 0000000..39e555f
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30512-71.vb
@@ -0,0 +1,24 @@
+Option Explicit On
+Option Strict On
+
+Class X
+    Public Shared Sub Main()
+        Dim b As Byte
+        Dim sb As SByte
+        Dim s As Short
+        Dim us As UShort
+        Dim i As Integer
+        Dim ui As UInteger
+        Dim l As Long
+        Dim ul As ULong
+        Dim dt As Date
+        Dim chr As Char
+        Dim str As String
+        Dim bool As Boolean
+        Dim sng As Single
+        Dim dbl As Double
+        Dim dec As Decimal
+
+        Dim y As SByte = us
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30512-72.vb b/vbnc/vbnc/tests/Errors/30512-72.vb
new file mode 100644
index 0000000..c1b3b5c
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30512-72.vb
@@ -0,0 +1,24 @@
+Option Explicit On
+Option Strict On
+
+Class X
+    Public Shared Sub Main()
+        Dim b As Byte
+        Dim sb As SByte
+        Dim s As Short
+        Dim us As UShort
+        Dim i As Integer
+        Dim ui As UInteger
+        Dim l As Long
+        Dim ul As ULong
+        Dim dt As Date
+        Dim chr As Char
+        Dim str As String
+        Dim bool As Boolean
+        Dim sng As Single
+        Dim dbl As Double
+        Dim dec As Decimal
+
+        Dim y As SByte = i
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30512-73.vb b/vbnc/vbnc/tests/Errors/30512-73.vb
new file mode 100644
index 0000000..32454fb
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30512-73.vb
@@ -0,0 +1,24 @@
+Option Explicit On
+Option Strict On
+
+Class X
+    Public Shared Sub Main()
+        Dim b As Byte
+        Dim sb As SByte
+        Dim s As Short
+        Dim us As UShort
+        Dim i As Integer
+        Dim ui As UInteger
+        Dim l As Long
+        Dim ul As ULong
+        Dim dt As Date
+        Dim chr As Char
+        Dim str As String
+        Dim bool As Boolean
+        Dim sng As Single
+        Dim dbl As Double
+        Dim dec As Decimal
+
+        Dim y As SByte = ui
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30512-74.vb b/vbnc/vbnc/tests/Errors/30512-74.vb
new file mode 100644
index 0000000..5f59d65
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30512-74.vb
@@ -0,0 +1,24 @@
+Option Explicit On
+Option Strict On
+
+Class X
+    Public Shared Sub Main()
+        Dim b As Byte
+        Dim sb As SByte
+        Dim s As Short
+        Dim us As UShort
+        Dim i As Integer
+        Dim ui As UInteger
+        Dim l As Long
+        Dim ul As ULong
+        Dim dt As Date
+        Dim chr As Char
+        Dim str As String
+        Dim bool As Boolean
+        Dim sng As Single
+        Dim dbl As Double
+        Dim dec As Decimal
+
+        Dim y As SByte = l
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30512-75.vb b/vbnc/vbnc/tests/Errors/30512-75.vb
new file mode 100644
index 0000000..526b904
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30512-75.vb
@@ -0,0 +1,24 @@
+Option Explicit On
+Option Strict On
+
+Class X
+    Public Shared Sub Main()
+        Dim b As Byte
+        Dim sb As SByte
+        Dim s As Short
+        Dim us As UShort
+        Dim i As Integer
+        Dim ui As UInteger
+        Dim l As Long
+        Dim ul As ULong
+        Dim dt As Date
+        Dim chr As Char
+        Dim str As String
+        Dim bool As Boolean
+        Dim sng As Single
+        Dim dbl As Double
+        Dim dec As Decimal
+
+        Dim y As SByte = ul
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30512-76.vb b/vbnc/vbnc/tests/Errors/30512-76.vb
new file mode 100644
index 0000000..0eea5b5
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30512-76.vb
@@ -0,0 +1,24 @@
+Option Explicit On
+Option Strict On
+
+Class X
+    Public Shared Sub Main()
+        Dim b As Byte
+        Dim sb As SByte
+        Dim s As Short
+        Dim us As UShort
+        Dim i As Integer
+        Dim ui As UInteger
+        Dim l As Long
+        Dim ul As ULong
+        Dim dt As Date
+        Dim chr As Char
+        Dim str As String
+        Dim bool As Boolean
+        Dim sng As Single
+        Dim dbl As Double
+        Dim dec As Decimal
+
+        Dim y As SByte = str
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30512-77.vb b/vbnc/vbnc/tests/Errors/30512-77.vb
new file mode 100644
index 0000000..99ddbab
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30512-77.vb
@@ -0,0 +1,24 @@
+Option Explicit On
+Option Strict On
+
+Class X
+    Public Shared Sub Main()
+        Dim b As Byte
+        Dim sb As SByte
+        Dim s As Short
+        Dim us As UShort
+        Dim i As Integer
+        Dim ui As UInteger
+        Dim l As Long
+        Dim ul As ULong
+        Dim dt As Date
+        Dim chr As Char
+        Dim str As String
+        Dim bool As Boolean
+        Dim sng As Single
+        Dim dbl As Double
+        Dim dec As Decimal
+
+        Dim y As SByte = bool
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30512-78.vb b/vbnc/vbnc/tests/Errors/30512-78.vb
new file mode 100644
index 0000000..a7b926b
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30512-78.vb
@@ -0,0 +1,24 @@
+Option Explicit On
+Option Strict On
+
+Class X
+    Public Shared Sub Main()
+        Dim b As Byte
+        Dim sb As SByte
+        Dim s As Short
+        Dim us As UShort
+        Dim i As Integer
+        Dim ui As UInteger
+        Dim l As Long
+        Dim ul As ULong
+        Dim dt As Date
+        Dim chr As Char
+        Dim str As String
+        Dim bool As Boolean
+        Dim sng As Single
+        Dim dbl As Double
+        Dim dec As Decimal
+
+        Dim y As SByte = sng
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30512-79.vb b/vbnc/vbnc/tests/Errors/30512-79.vb
new file mode 100644
index 0000000..449f8c6
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30512-79.vb
@@ -0,0 +1,24 @@
+Option Explicit On
+Option Strict On
+
+Class X
+    Public Shared Sub Main()
+        Dim b As Byte
+        Dim sb As SByte
+        Dim s As Short
+        Dim us As UShort
+        Dim i As Integer
+        Dim ui As UInteger
+        Dim l As Long
+        Dim ul As ULong
+        Dim dt As Date
+        Dim chr As Char
+        Dim str As String
+        Dim bool As Boolean
+        Dim sng As Single
+        Dim dbl As Double
+        Dim dec As Decimal
+
+        Dim y As SByte = dbl
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30512-80.vb b/vbnc/vbnc/tests/Errors/30512-80.vb
new file mode 100644
index 0000000..61c8847
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30512-80.vb
@@ -0,0 +1,24 @@
+Option Explicit On
+Option Strict On
+
+Class X
+    Public Shared Sub Main()
+        Dim b As Byte
+        Dim sb As SByte
+        Dim s As Short
+        Dim us As UShort
+        Dim i As Integer
+        Dim ui As UInteger
+        Dim l As Long
+        Dim ul As ULong
+        Dim dt As Date
+        Dim chr As Char
+        Dim str As String
+        Dim bool As Boolean
+        Dim sng As Single
+        Dim dbl As Double
+        Dim dec As Decimal
+
+        Dim y As SByte = dec
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30512-81.vb b/vbnc/vbnc/tests/Errors/30512-81.vb
new file mode 100644
index 0000000..fd5e47e
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30512-81.vb
@@ -0,0 +1,24 @@
+Option Explicit On
+Option Strict On
+
+Class X
+    Public Shared Sub Main()
+        Dim b As Byte
+        Dim sb As SByte
+        Dim s As Short
+        Dim us As UShort
+        Dim i As Integer
+        Dim ui As UInteger
+        Dim l As Long
+        Dim ul As ULong
+        Dim dt As Date
+        Dim chr As Char
+        Dim str As String
+        Dim bool As Boolean
+        Dim sng As Single
+        Dim dbl As Double
+        Dim dec As Decimal
+
+        Dim y As Long = ul
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30512-82.vb b/vbnc/vbnc/tests/Errors/30512-82.vb
new file mode 100644
index 0000000..cfc2c2a
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30512-82.vb
@@ -0,0 +1,24 @@
+Option Explicit On
+Option Strict On
+
+Class X
+    Public Shared Sub Main()
+        Dim b As Byte
+        Dim sb As SByte
+        Dim s As Short
+        Dim us As UShort
+        Dim i As Integer
+        Dim ui As UInteger
+        Dim l As Long
+        Dim ul As ULong
+        Dim dt As Date
+        Dim chr As Char
+        Dim str As String
+        Dim bool As Boolean
+        Dim sng As Single
+        Dim dbl As Double
+        Dim dec As Decimal
+
+        Dim y As Long = str
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30512-83.vb b/vbnc/vbnc/tests/Errors/30512-83.vb
new file mode 100644
index 0000000..4f7c806
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30512-83.vb
@@ -0,0 +1,24 @@
+Option Explicit On
+Option Strict On
+
+Class X
+    Public Shared Sub Main()
+        Dim b As Byte
+        Dim sb As SByte
+        Dim s As Short
+        Dim us As UShort
+        Dim i As Integer
+        Dim ui As UInteger
+        Dim l As Long
+        Dim ul As ULong
+        Dim dt As Date
+        Dim chr As Char
+        Dim str As String
+        Dim bool As Boolean
+        Dim sng As Single
+        Dim dbl As Double
+        Dim dec As Decimal
+
+        Dim y As Long = bool
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30512-84.vb b/vbnc/vbnc/tests/Errors/30512-84.vb
new file mode 100644
index 0000000..38e4ef3
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30512-84.vb
@@ -0,0 +1,24 @@
+Option Explicit On
+Option Strict On
+
+Class X
+    Public Shared Sub Main()
+        Dim b As Byte
+        Dim sb As SByte
+        Dim s As Short
+        Dim us As UShort
+        Dim i As Integer
+        Dim ui As UInteger
+        Dim l As Long
+        Dim ul As ULong
+        Dim dt As Date
+        Dim chr As Char
+        Dim str As String
+        Dim bool As Boolean
+        Dim sng As Single
+        Dim dbl As Double
+        Dim dec As Decimal
+
+        Dim y As Long = sng
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30512-85.vb b/vbnc/vbnc/tests/Errors/30512-85.vb
new file mode 100644
index 0000000..78a264b
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30512-85.vb
@@ -0,0 +1,24 @@
+Option Explicit On
+Option Strict On
+
+Class X
+    Public Shared Sub Main()
+        Dim b As Byte
+        Dim sb As SByte
+        Dim s As Short
+        Dim us As UShort
+        Dim i As Integer
+        Dim ui As UInteger
+        Dim l As Long
+        Dim ul As ULong
+        Dim dt As Date
+        Dim chr As Char
+        Dim str As String
+        Dim bool As Boolean
+        Dim sng As Single
+        Dim dbl As Double
+        Dim dec As Decimal
+
+        Dim y As Long = dbl
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30512-86.vb b/vbnc/vbnc/tests/Errors/30512-86.vb
new file mode 100644
index 0000000..53fb3c0
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30512-86.vb
@@ -0,0 +1,24 @@
+Option Explicit On
+Option Strict On
+
+Class X
+    Public Shared Sub Main()
+        Dim b As Byte
+        Dim sb As SByte
+        Dim s As Short
+        Dim us As UShort
+        Dim i As Integer
+        Dim ui As UInteger
+        Dim l As Long
+        Dim ul As ULong
+        Dim dt As Date
+        Dim chr As Char
+        Dim str As String
+        Dim bool As Boolean
+        Dim sng As Single
+        Dim dbl As Double
+        Dim dec As Decimal
+
+        Dim y As Long = dec
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30512-87.vb b/vbnc/vbnc/tests/Errors/30512-87.vb
new file mode 100644
index 0000000..fbea98d
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30512-87.vb
@@ -0,0 +1,24 @@
+Option Explicit On
+Option Strict On
+
+Class X
+    Public Shared Sub Main()
+        Dim b As Byte
+        Dim sb As SByte
+        Dim s As Short
+        Dim us As UShort
+        Dim i As Integer
+        Dim ui As UInteger
+        Dim l As Long
+        Dim ul As ULong
+        Dim dt As Date
+        Dim chr As Char
+        Dim str As String
+        Dim bool As Boolean
+        Dim sng As Single
+        Dim dbl As Double
+        Dim dec As Decimal
+
+        Dim y As ULong = l
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30512-88.vb b/vbnc/vbnc/tests/Errors/30512-88.vb
new file mode 100644
index 0000000..55cf01c
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30512-88.vb
@@ -0,0 +1,24 @@
+Option Explicit On
+Option Strict On
+
+Class X
+    Public Shared Sub Main()
+        Dim b As Byte
+        Dim sb As SByte
+        Dim s As Short
+        Dim us As UShort
+        Dim i As Integer
+        Dim ui As UInteger
+        Dim l As Long
+        Dim ul As ULong
+        Dim dt As Date
+        Dim chr As Char
+        Dim str As String
+        Dim bool As Boolean
+        Dim sng As Single
+        Dim dbl As Double
+        Dim dec As Decimal
+
+        Dim y As ULong = str
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30512-89.vb b/vbnc/vbnc/tests/Errors/30512-89.vb
new file mode 100644
index 0000000..838e478
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30512-89.vb
@@ -0,0 +1,24 @@
+Option Explicit On
+Option Strict On
+
+Class X
+    Public Shared Sub Main()
+        Dim b As Byte
+        Dim sb As SByte
+        Dim s As Short
+        Dim us As UShort
+        Dim i As Integer
+        Dim ui As UInteger
+        Dim l As Long
+        Dim ul As ULong
+        Dim dt As Date
+        Dim chr As Char
+        Dim str As String
+        Dim bool As Boolean
+        Dim sng As Single
+        Dim dbl As Double
+        Dim dec As Decimal
+
+        Dim y As ULong = bool
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30512-90.vb b/vbnc/vbnc/tests/Errors/30512-90.vb
new file mode 100644
index 0000000..0fc1b48
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30512-90.vb
@@ -0,0 +1,24 @@
+Option Explicit On
+Option Strict On
+
+Class X
+    Public Shared Sub Main()
+        Dim b As Byte
+        Dim sb As SByte
+        Dim s As Short
+        Dim us As UShort
+        Dim i As Integer
+        Dim ui As UInteger
+        Dim l As Long
+        Dim ul As ULong
+        Dim dt As Date
+        Dim chr As Char
+        Dim str As String
+        Dim bool As Boolean
+        Dim sng As Single
+        Dim dbl As Double
+        Dim dec As Decimal
+
+        Dim y As ULong = sng
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30512-91.vb b/vbnc/vbnc/tests/Errors/30512-91.vb
new file mode 100644
index 0000000..95ba8fd
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30512-91.vb
@@ -0,0 +1,24 @@
+Option Explicit On
+Option Strict On
+
+Class X
+    Public Shared Sub Main()
+        Dim b As Byte
+        Dim sb As SByte
+        Dim s As Short
+        Dim us As UShort
+        Dim i As Integer
+        Dim ui As UInteger
+        Dim l As Long
+        Dim ul As ULong
+        Dim dt As Date
+        Dim chr As Char
+        Dim str As String
+        Dim bool As Boolean
+        Dim sng As Single
+        Dim dbl As Double
+        Dim dec As Decimal
+
+        Dim y As ULong = dbl
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30512-92.vb b/vbnc/vbnc/tests/Errors/30512-92.vb
new file mode 100644
index 0000000..60b37ee
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30512-92.vb
@@ -0,0 +1,24 @@
+Option Explicit On
+Option Strict On
+
+Class X
+    Public Shared Sub Main()
+        Dim b As Byte
+        Dim sb As SByte
+        Dim s As Short
+        Dim us As UShort
+        Dim i As Integer
+        Dim ui As UInteger
+        Dim l As Long
+        Dim ul As ULong
+        Dim dt As Date
+        Dim chr As Char
+        Dim str As String
+        Dim bool As Boolean
+        Dim sng As Single
+        Dim dbl As Double
+        Dim dec As Decimal
+
+        Dim y As ULong = dec
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30512-93.vb b/vbnc/vbnc/tests/Errors/30512-93.vb
new file mode 100644
index 0000000..a58d526
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30512-93.vb
@@ -0,0 +1,24 @@
+Option Explicit On
+Option Strict On
+
+Class X
+    Public Shared Sub Main()
+        Dim b As Byte
+        Dim sb As SByte
+        Dim s As Short
+        Dim us As UShort
+        Dim i As Integer
+        Dim ui As UInteger
+        Dim l As Long
+        Dim ul As ULong
+        Dim dt As Date
+        Dim chr As Char
+        Dim str As String
+        Dim bool As Boolean
+        Dim sng As Single
+        Dim dbl As Double
+        Dim dec As Decimal
+
+        Dim y As Boolean = b
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30512-94.vb b/vbnc/vbnc/tests/Errors/30512-94.vb
new file mode 100644
index 0000000..589f250
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30512-94.vb
@@ -0,0 +1,24 @@
+Option Explicit On
+Option Strict On
+
+Class X
+    Public Shared Sub Main()
+        Dim b As Byte
+        Dim sb As SByte
+        Dim s As Short
+        Dim us As UShort
+        Dim i As Integer
+        Dim ui As UInteger
+        Dim l As Long
+        Dim ul As ULong
+        Dim dt As Date
+        Dim chr As Char
+        Dim str As String
+        Dim bool As Boolean
+        Dim sng As Single
+        Dim dbl As Double
+        Dim dec As Decimal
+
+        Dim y As Boolean = sb
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30512-95.vb b/vbnc/vbnc/tests/Errors/30512-95.vb
new file mode 100644
index 0000000..372ae9d
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30512-95.vb
@@ -0,0 +1,24 @@
+Option Explicit On
+Option Strict On
+
+Class X
+    Public Shared Sub Main()
+        Dim b As Byte
+        Dim sb As SByte
+        Dim s As Short
+        Dim us As UShort
+        Dim i As Integer
+        Dim ui As UInteger
+        Dim l As Long
+        Dim ul As ULong
+        Dim dt As Date
+        Dim chr As Char
+        Dim str As String
+        Dim bool As Boolean
+        Dim sng As Single
+        Dim dbl As Double
+        Dim dec As Decimal
+
+        Dim y As Boolean = s
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30512-96.vb b/vbnc/vbnc/tests/Errors/30512-96.vb
new file mode 100644
index 0000000..b571b46
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30512-96.vb
@@ -0,0 +1,24 @@
+Option Explicit On
+Option Strict On
+
+Class X
+    Public Shared Sub Main()
+        Dim b As Byte
+        Dim sb As SByte
+        Dim s As Short
+        Dim us As UShort
+        Dim i As Integer
+        Dim ui As UInteger
+        Dim l As Long
+        Dim ul As ULong
+        Dim dt As Date
+        Dim chr As Char
+        Dim str As String
+        Dim bool As Boolean
+        Dim sng As Single
+        Dim dbl As Double
+        Dim dec As Decimal
+
+        Dim y As Boolean = us
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30512-97.vb b/vbnc/vbnc/tests/Errors/30512-97.vb
new file mode 100644
index 0000000..b5013ab
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30512-97.vb
@@ -0,0 +1,24 @@
+Option Explicit On
+Option Strict On
+
+Class X
+    Public Shared Sub Main()
+        Dim b As Byte
+        Dim sb As SByte
+        Dim s As Short
+        Dim us As UShort
+        Dim i As Integer
+        Dim ui As UInteger
+        Dim l As Long
+        Dim ul As ULong
+        Dim dt As Date
+        Dim chr As Char
+        Dim str As String
+        Dim bool As Boolean
+        Dim sng As Single
+        Dim dbl As Double
+        Dim dec As Decimal
+
+        Dim y As Boolean = i
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30512-98.vb b/vbnc/vbnc/tests/Errors/30512-98.vb
new file mode 100644
index 0000000..7a4a090
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30512-98.vb
@@ -0,0 +1,24 @@
+Option Explicit On
+Option Strict On
+
+Class X
+    Public Shared Sub Main()
+        Dim b As Byte
+        Dim sb As SByte
+        Dim s As Short
+        Dim us As UShort
+        Dim i As Integer
+        Dim ui As UInteger
+        Dim l As Long
+        Dim ul As ULong
+        Dim dt As Date
+        Dim chr As Char
+        Dim str As String
+        Dim bool As Boolean
+        Dim sng As Single
+        Dim dbl As Double
+        Dim dec As Decimal
+
+        Dim y As Boolean = ui
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30512-99.vb b/vbnc/vbnc/tests/Errors/30512-99.vb
new file mode 100644
index 0000000..570da92
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30512-99.vb
@@ -0,0 +1,24 @@
+Option Explicit On
+Option Strict On
+
+Class X
+    Public Shared Sub Main()
+        Dim b As Byte
+        Dim sb As SByte
+        Dim s As Short
+        Dim us As UShort
+        Dim i As Integer
+        Dim ui As UInteger
+        Dim l As Long
+        Dim ul As ULong
+        Dim dt As Date
+        Dim chr As Char
+        Dim str As String
+        Dim bool As Boolean
+        Dim sng As Single
+        Dim dbl As Double
+        Dim dec As Decimal
+
+        Dim y As Boolean = l
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30516-1.vb b/vbnc/vbnc/tests/Errors/30516-1.vb
new file mode 100644
index 0000000..2f018f3
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30516-1.vb
@@ -0,0 +1,8 @@
+Module ArgumentTypeInference
+    Sub a(Of T)(ByVal b As Integer, ByVal bc As Integer)
+        a(1)
+    End Sub
+    Sub a(Of T)(ByVal b As Integer, ByVal bc As Integer, ByVal bcc As Integer)
+
+    End Sub
+End Module
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30516.vb b/vbnc/vbnc/tests/Errors/30516.vb
new file mode 100644
index 0000000..8fb6111
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30516.vb
@@ -0,0 +1,19 @@
+Option Strict On
+Class C
+    Sub M()
+        'Dim dec As Decimal
+        'Dim dbl As Double
+        'If dec > dbl Then
+
+        'End If
+        Dim db As dbnull
+        N(db, db, db)
+    End Sub
+    Sub N(ByVal i As Long, ByVal l As Long)
+
+    End Sub
+    Sub N(ByVal i As Integer, ByVal l As Long)
+        'Dim dt1, dt2, dt3 As Date
+        'dt1 = dt2 + dt3
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30518.vb b/vbnc/vbnc/tests/Errors/30518.vb
new file mode 100644
index 0000000..0834d52
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30518.vb
@@ -0,0 +1,23 @@
+Option Strict On
+Class C
+    Sub M()
+        'Dim dec As Decimal
+        'Dim dbl As Double
+        'If dec > dbl Then
+
+        'End If
+        Dim db As dbnull
+        N(db, db, l:=2)
+    End Sub
+    Sub N(ByVal i As Long, ByVal l As Long)
+
+    End Sub
+    Sub N(ByVal i As Integer, ByVal l As Long, ByVal ll As Long)
+        'Dim dt1, dt2, dt3 As Date
+        'dt1 = dt2 + dt3
+    End Sub
+    Sub N(ByVal i As Integer, ByVal l As Long, ByVal ll As Integer)
+        'Dim dt1, dt2, dt3 As Date
+        'dt1 = dt2 + dt3
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30519-1.vb b/vbnc/vbnc/tests/Errors/30519-1.vb
new file mode 100644
index 0000000..bdd0066
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30519-1.vb
@@ -0,0 +1,29 @@
+Option Strict Off
+
+Imports System.Data
+Class R
+    Shared Function Main() As Integer
+        Dim result As Integer
+        Dim a As New a
+
+        If Not a!foo Then
+            Console.WriteLine("a failed")
+            result += 1
+        End If
+
+        Return result
+    End Function
+End Class
+
+Class A
+    Default ReadOnly Property I(ByVal a As Integer) As Boolean
+        Get
+            Return False
+        End Get
+    End Property
+    Default ReadOnly Property I(ByVal a As Long) As Boolean
+        Get
+            Return True
+        End Get
+    End Property
+End Class
diff --git a/vbnc/vbnc/tests/Errors/30519.vb b/vbnc/vbnc/tests/Errors/30519.vb
new file mode 100644
index 0000000..d645a83
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30519.vb
@@ -0,0 +1,16 @@
+Public Class Test
+    Public Shared Sub Main()
+        Dim s As New String("test")
+        Dim o As Object
+        Dim t As New t(o)
+    End Sub
+End Class
+
+Class T
+    Sub New(ByVal s As T)
+
+    End Sub
+    Sub New(ByVal s As Test)
+
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30587.vb b/vbnc/vbnc/tests/Errors/30587.vb
new file mode 100644
index 0000000..8a5e330
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30587.vb
@@ -0,0 +1,17 @@
+Option Strict On
+Class C
+    Sub Z()
+        'Dim dec As Decimal
+        'Dim dbl As Double
+        'If dec > dbl Then
+
+        'End If
+        Dim db As dbnull
+        ' N(db, db, l:=2)
+        M(str:=Nothing)
+    End Sub
+
+    Sub M(ByVal ParamArray str() As String)
+
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30588.vb b/vbnc/vbnc/tests/Errors/30588.vb
new file mode 100644
index 0000000..4010da9
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30588.vb
@@ -0,0 +1,27 @@
+Option Strict On
+Class C
+    Sub M()
+        'Dim dec As Decimal
+        'Dim dbl As Double
+        'If dec > dbl Then
+
+        'End If
+        Dim db As dbnull
+        ' N(db, db, l:=2)
+        N("", "", , "")
+    End Sub
+    Sub N(ByVal i As Long, ByVal l As Long)
+
+    End Sub
+    Sub N(ByVal i As Integer, ByVal l As Long, ByVal ll As Long)
+        'Dim dt1, dt2, dt3 As Date
+        'dt1 = dt2 + dt3
+    End Sub
+    Sub N(ByVal i As Integer, ByVal l As Long, ByVal ll As Integer)
+        'Dim dt1, dt2, dt3 As Date
+        'dt1 = dt2 + dt3
+    End Sub
+    Sub N(ByVal ParamArray str() As String)
+
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30623.vb b/vbnc/vbnc/tests/Errors/30623.vb
new file mode 100644
index 0000000..f373663
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30623.vb
@@ -0,0 +1 @@
+End Namespace
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30636.vb b/vbnc/vbnc/tests/Errors/30636.vb
new file mode 100644
index 0000000..c4ca9ba
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30636.vb
@@ -0,0 +1,7 @@
+Imports System.Reflection
+
+<
+Assembly: A("")
+
+> 
+
diff --git a/vbnc/vbnc/tests/Errors/30648.vb b/vbnc/vbnc/tests/Errors/30648.vb
new file mode 100644
index 0000000..ee449d0
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30648.vb
@@ -0,0 +1,5 @@
+Class C
+    Shared Sub Main()
+        dim s as string = "”"
+    End Sub
+End Class
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/30650.vb b/vbnc/vbnc/tests/Errors/30650.vb
new file mode 100644
index 0000000..df56292
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/30650.vb
@@ -0,0 +1,3 @@
+Enum E As Double
+    e
+End Enum
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Bugs/30145-bug-328101.vb b/vbnc/vbnc/tests/Errors/31019.vb
similarity index 100%
copy from vbnc/vbnc/tests/Bugs/30145-bug-328101.vb
copy to vbnc/vbnc/tests/Errors/31019.vb
diff --git a/vbnc/vbnc/tests/Errors/31087.vb b/vbnc/vbnc/tests/Errors/31087.vb
new file mode 100644
index 0000000..060f0ee
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/31087.vb
@@ -0,0 +1,9 @@
+Module Test
+
+	Sub Foo()
+	  
+		Dim a() As String()
+		
+	End Sub
+	
+End Module
diff --git a/vbnc/vbnc/tests/Errors/32021.vb b/vbnc/vbnc/tests/Errors/32021.vb
new file mode 100644
index 0000000..4ba7e00
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/32021.vb
@@ -0,0 +1,6 @@
+Option Strict On
+Class C1
+    Sub G(ByVal i As Integer, ByVal ParamArray args() As String)
+        G(, "2", "3", i:=2)
+    End Sub
+End Class
diff --git a/vbnc/vbnc/tests/Errors/32022.vb b/vbnc/vbnc/tests/Errors/32022.vb
index 5db2eb5..94b997c 100644
--- a/vbnc/vbnc/tests/Errors/32022.vb
+++ b/vbnc/vbnc/tests/Errors/32022.vb
@@ -4,7 +4,7 @@ Imports System.Reflection
 
 Namespace For7
     Class Test
-        Event Foo(ByVal i As Integer)
+        Shared Event Foo(ByVal i As Integer)
         Shared Function Start() As Integer
             Return 1
         End Function
diff --git a/vbnc/vbnc/tests/Errors/36758.vb b/vbnc/vbnc/tests/Errors/36758.vb
new file mode 100644
index 0000000..7233385
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/36758.vb
@@ -0,0 +1,250 @@
+Option Strict On
+
+Class TypeConversion
+    Shared Sub Main()
+        Dim o As Object
+        Dim e As System.Enum
+        Dim v As System.ValueType
+        Dim d As System.Delegate
+
+        Dim ia As IA
+        Dim ib As IB
+        Dim ic As IC
+        Dim sa As SA
+        Dim da As DA
+        Dim ca As CA
+        Dim c_ia As C_IA
+        Dim c_ib As C_IB
+        Dim c_ic As C_IC
+
+        ia = CType("", IA)
+        ia = CType(ia, IA)
+        ia = CType(ib, IA)
+        ia = CType(da, IA)
+        ia = CType(ca, IA)
+        ia = CType(c_ia, IA)
+        ia = c_ia
+        ia = CType(c_ib, IA)
+        ia = c_ic
+        ia = CType(o, IA)
+
+        ic = c_ic
+
+        o = ia
+
+    End Sub
+
+End Class
+
+Class ArrayType1
+    Sub M()
+        Dim in_ia() As ia
+        Dim in_ic() As ic
+        Dim in_ca() As ca
+        Dim in_cb() As cb
+        Dim in_ia2(,) As ia
+        Dim in_ia_D7(7) As ia
+        Dim in_ia_R2()() As ia
+        Dim in_c_ia() As c_ia
+        Dim in_e_b() As e_b
+        Dim in_e_i() As e_i
+        Dim in_byte() As Byte
+        Dim in_integer() As Integer
+        Dim in_enum() As system.enum
+        Dim in_vt() As system.valuetype
+
+        Dim out_ia() As ia
+        Dim out_ic() As ic
+        Dim out_ca() As ca
+        Dim out_cb() As cb
+        Dim out_c_ia() As c_ia
+        Dim out_ia_D6(6) As ia
+        Dim out_e_b() As e_b
+        Dim out_e_i() As e_i
+        Dim out_byte() As Byte
+        Dim out_integer() As Integer
+        Dim out_enum() As system.enum
+        Dim out_vt() As system.valuetype
+        Dim out_obj() As Object
+        Dim out As system.array
+
+        out_ia = in_ia
+        out_ia = in_ic
+
+        out_ia = in_c_ia
+        out_ca = in_cb
+
+        out_ia_D6 = in_ia_D7
+        out_e_b = in_e_b
+        out_byte = in_e_b
+        out_integer = in_e_i
+        out_enum = in_enum
+
+        out_obj = in_enum
+        out_obj = in_vt
+        out = in_enum
+        out = in_vt
+        out = in_integer
+        out = in_e_i
+    End Sub
+
+    Sub TG1(Of X As Structure)()
+        Dim in_a() As X
+        Dim in_b() As X
+        in_a = in_b
+    End Sub
+End Class
+
+Class ValueType1
+    Sub M()
+        Dim in_sa As sa
+        Dim in_sb As sb
+        Dim in_s_ic As s_ic
+        Dim in_ia As ia
+        Dim in_ic As ic
+        Dim in_id As id(Of Object)
+        Dim in_s_id As s_id(Of Object)
+
+        Dim out_sa As sa
+        Dim out_sb As sb
+        Dim out_s_ic As s_ic
+        Dim out_ia As ia
+        Dim out_ic As ic
+        Dim out_vt As system.valuetype
+        Dim out As Object
+        Dim out_id As id(Of Object)
+        Dim out_id_str As id(Of String)
+
+        out_sa = in_sa
+        out_ia = in_s_ic
+        out_ic = in_s_ic
+        out_vt = in_sa
+        out_vt = in_s_ic
+        out = in_sa
+        out_id = in_s_id
+        out_id_str = in_s_id
+    End Sub
+End Class
+
+Class GenericType1A(Of C)
+    Shared Sub GenericMethodTypeArgument(Of M)(ByVal a As C, ByVal b As M)
+        Dim o As Object
+        Dim l As Long
+
+        o = a
+        o = b
+        l = CLng(CObj(a))
+        l = CLng(CObj(b))
+    End Sub
+End Class
+Class GenericType1B(Of C As Structure)
+    Shared Sub GenericMethodTypeArgument(Of M As Structure)(ByVal a As C, ByVal b As M)
+        Dim o As Object
+
+        o = a
+        o = b
+    End Sub
+End Class
+Class GenericType1C(Of C As Class)
+    Shared Sub GenericMethodTypeArgument(Of M As Class)(ByVal a As C, ByVal b As M)
+        Dim o As Object
+
+        o = a
+        o = b
+    End Sub
+End Class
+Class GenericType1D(Of C As New)
+    Shared Sub GenericMethodTypeArgument(Of M)(ByVal a As C, ByVal b As M)
+        Dim o As Object
+
+        o = a
+        o = b
+    End Sub
+End Class
+
+Class GenericType2A(Of C As IA)
+    Shared Sub GenericMethodTypeArgument(Of M As IA)(ByVal a As C, ByVal b As M)
+        Dim o As IA
+
+        o = a
+        o = b
+    End Sub
+End Class
+
+Class GenericType2B(Of C As IC)
+    Shared Sub GenericMethodTypeArgument(Of M As IC)(ByVal a As C, ByVal b As M)
+        Dim o As IA
+        Dim o2 As IB
+        Dim o3 As IC
+
+        o = a
+        o = b
+        o2 = a
+        o2 = b
+        o3 = a
+        o3 = b
+    End Sub
+End Class
+
+Class GenericType3A(Of C As C_IA)
+    Shared Sub GenericMethodTypeArgument(Of M As C_IA)(ByVal a As C, ByVal b As M)
+        Dim o As IA
+
+        o = a
+        o = b
+    End Sub
+End Class
+
+Interface IA
+
+End Interface
+Interface IB
+
+End Interface
+Interface IC
+    Inherits IA, IB
+End Interface
+Interface ID(Of T)
+
+End Interface
+
+Delegate Sub DA()
+
+Class CA
+End Class
+
+Class CB
+    Inherits CA
+End Class
+
+Class C_IA
+    Implements IA
+End Class
+Class C_IB
+    Implements IB
+End Class
+Class C_IC
+    Implements IC
+End Class
+
+Enum E_B As Byte
+    a
+End Enum
+Enum E_I As Integer
+    a
+End Enum
+
+Structure SA
+    Dim v As Integer
+End Structure
+Structure SB
+    Dim v As Integer
+End Structure
+Structure S_IC
+    Implements IC
+    Dim v As Integer
+End Structure
+Structure S_ID(Of T)
+    Implements ID(Of T)
+    Dim v As Integer
+End Structure
diff --git a/vbnc/vbnc/tests/Errors/42024-1.vb b/vbnc/vbnc/tests/Errors/42024-1.vb
new file mode 100644
index 0000000..7c21619
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/42024-1.vb
@@ -0,0 +1,15 @@
+Option Strict Off
+Module Module1
+
+    Private Sub SyncLockTest()
+
+        Dim UsedInSyncLock As Object
+        Dim UnusedInSyncLock As Object
+
+        SyncLock UsedInSyncLock
+
+        End SyncLock
+
+    End Sub
+
+End Module
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Errors/42024.vb b/vbnc/vbnc/tests/Errors/42024.vb
index f167a0a..62b525a 100644
--- a/vbnc/vbnc/tests/Errors/42024.vb
+++ b/vbnc/vbnc/tests/Errors/42024.vb
@@ -1,7 +1,158 @@
 Option Strict Off
+Module Module1
 
-Class T
-    Function A()
-        Return Nothing
-    End Function
-End Class
\ No newline at end of file
+    'Tests not included:
+    ' Lambda expressions
+    ' LINQ expressions
+
+    Private Event DummyEvent(ByVal a As Integer)
+
+    Private Sub AssignmentTest()
+
+        Dim Used As Integer = 23
+        Dim UsedAsRhs As Integer
+        Dim Assigned As Integer = UsedAsRhs
+        Dim NotAssigned As Integer
+
+    End Sub
+
+    Private Sub Dummy(ByVal a As Integer)
+        'Nothing
+    End Sub
+
+    Private Sub FunctionCallTest()
+
+        Dim UsedAsParam As Integer
+        Dim UnusedAsParam As Integer
+
+        Dummy(UsedAsParam)
+
+    End Sub
+
+    Private Sub ArithExpressionTest()
+
+        Dim Lhs As Integer
+        Dim Rhs As Integer
+        Dim UnusedInArithExpr As Integer
+
+        Dim Result As Integer = Lhs * Rhs
+
+    End Sub
+
+    Private Sub IfTest()
+
+        Dim CondExpr As Boolean
+        Dim UnusedCondExpr As Boolean
+
+        If CondExpr Then
+            Dim inBlock As Boolean
+        End If
+
+        Dim UnusedElseifExpr As Boolean
+        Dim UsedElseIfExpr As Boolean
+        Dim UsedElseIfExpr2 As Integer
+
+        If False Then
+            Dim inBlock As Boolean
+        ElseIf UsedElseIfExpr Then
+            Dim inBlock As Boolean
+        ElseIf UsedElseIfExpr2 > 10 Then
+            Dim inBlock As Boolean
+        End If
+
+    End Sub
+
+    Private Sub SelectCaseTest()
+
+        Dim SelectExpr As Integer
+        Dim UnusedSelectExpr As Integer
+
+        Dim CaseExpr As Integer
+        Dim UnusedCaseExpr As Integer
+
+        Select Case SelectExpr
+
+            Case CaseExpr
+                Dim Temp As Integer = 1
+
+        End Select
+
+    End Sub
+
+    Private Sub ForEachTest()
+
+        Dim UsedItr As Integer
+        Dim UnusedItr As Integer
+
+        Dim UsedList As New System.Collections.Generic.LIst(Of Integer)
+        Dim UnusedList As New System.Collections.Generic.List(Of Integer)
+
+        For Each UsedItr In UsedLIst
+            Dim inBlock As Boolean
+
+        Next
+
+    End Sub
+
+    Private Sub ForTest()
+
+        Dim UsedCtrlVar As Integer
+        Dim UnusedCtrlVar As Integer
+
+        For UsedCtrlVar = 10 To 20
+            Dim inBlock As Boolean
+
+        Next
+
+        Dim UsedStepVar As Integer
+        Dim UsedCtrlVar2 As Integer
+        Dim UnusedStepVar As Integer
+
+        For UsedCtrlVar2 = 2 To 20 Step UsedStepVar
+            Dim inBlock As Boolean
+
+        Next
+
+    End Sub
+
+    Private Sub WhileTest()
+
+        Dim UsedWhileLoopVar As Boolean
+        Dim UnusedWhileLoopVar As Boolean
+
+        While UsedWhileLoopVar
+            Dim inBlock As Boolean
+
+        End While
+
+    End Sub
+
+    Private Sub DoWhileTest()
+
+        Dim UsedDoWhileVar As Boolean
+        Dim UnusedDoWhileVar As Boolean
+
+        Do While UsedDoWhileVar <> False
+            Dim inBlock As Boolean
+        Loop
+
+    End Sub
+
+    Private Sub EventTest()
+
+        Dim UsedInEvent As Integer
+        Dim UnusedInEvent As Integer
+
+        RaiseEvent DummyEvent(UsedInEvent)
+
+    End Sub
+
+    Private Sub TernaryIfTest()
+
+        Dim UsedInTernaryIf As Integer
+        Dim NotUsedInTernaryIf As Integer
+        Dim Test As Integer = If(UsedInTernaryIf = 42, 1, 0)
+
+    End Sub
+
+End Module
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/Bugs/30145-bug-328101.vb b/vbnc/vbnc/tests/Errors/Empty.vb
similarity index 100%
copy from vbnc/vbnc/tests/Bugs/30145-bug-328101.vb
copy to vbnc/vbnc/tests/Errors/Empty.vb
diff --git a/vbnc/vbnc/tests/Errors/EnumErrors.vb b/vbnc/vbnc/tests/Errors/EnumErrors.vb
new file mode 100644
index 0000000..0acab8e
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/EnumErrors.vb
@@ -0,0 +1,37 @@
+'No variables
+Enum E2
+End Enum
+
+'Syntax error
+Enum E3 as +
+    e
+End Enum
+
+'Syntax error
+Enum Enum
+    e
+End Enum
+
+'Syntax error
+Enum +
+    e
+End Enum
+
+'Type characters
+Enum I4%
+    e
+End Enum
+Enum L4&
+    e
+End Enum
+
+'Junk at end
+enum IA as byte as
+    e
+End Enum
+
+'junk at end of end enum
+Enum IB
+    e
+End Enum junk
+
diff --git a/vbnc/vbnc/tests/Errors/EnumErrors2.vb b/vbnc/vbnc/tests/Errors/EnumErrors2.vb
new file mode 100644
index 0000000..4296efc
--- /dev/null
+++ b/vbnc/vbnc/tests/Errors/EnumErrors2.vb
@@ -0,0 +1,4 @@
+'Invalid enum type
+Enum E1 As Double
+    e
+End Enum
diff --git a/vbnc/vbnc/tests/Mono/ConstantA.vb b/vbnc/vbnc/tests/Mono/ConstantA.vb
index 0da306d..6eb0e91 100644
--- a/vbnc/vbnc/tests/Mono/ConstantA.vb
+++ b/vbnc/vbnc/tests/Mono/ConstantA.vb
@@ -9,7 +9,7 @@ Module ConstantA
     Const f% = 10, g# = 20
     Function Main() As Integer
         If a.GetTypeCode() <> TypeCode.Int32 Then
-            System.Console.WriteLine("#A1, Type mismatch found") : Return 1
+            System.Console.WriteLine("#A1, Type mismatch found: {0}", a.GetTypeCode()) : Return 1
         End If
         If b.GetTypeCode() <> TypeCode.Boolean Then
             System.Console.WriteLine("#A2, Type mismatch found") : Return 1
diff --git a/vbnc/vbnc/tests/Bugs/30145-bug-328101.vb b/vbnc/vbnc/tests/My/NoConfigWithMy.vb
old mode 100644
new mode 100755
similarity index 100%
copy from vbnc/vbnc/tests/Bugs/30145-bug-328101.vb
copy to vbnc/vbnc/tests/My/NoConfigWithMy.vb
diff --git a/vbnc/vbnc/tests/SelfTest/SelfCompile.general.response b/vbnc/vbnc/tests/SelfTest/SelfCompile.general.response
index a1517c1..bd5f8af 100755
--- a/vbnc/vbnc/tests/SelfTest/SelfCompile.general.response
+++ b/vbnc/vbnc/tests/SelfTest/SelfCompile.general.response
@@ -6,6 +6,8 @@
 /r:System.Windows.Forms.dll
 /r:Mono.Cecil.VB.dll
 /r:Mono.Cecil.VB.Mdb.dll
+/r:System.Core.dll
+/noconfig
 /define:DEBUG=0,ENABLECECIL=True
 #/define:DEBUG=1
 /imports:system,system.collections,vb=microsoft.visualbasic,system.reflection,system.reflection.emit
diff --git a/vbnc/vbnc/tests/VBRunTime/Microsoft.VisualBasic.response b/vbnc/vbnc/tests/VBRunTime/Microsoft.VisualBasic.response
index 85d2779..b0650ec 100755
--- a/vbnc/vbnc/tests/VBRunTime/Microsoft.VisualBasic.response
+++ b/vbnc/vbnc/tests/VBRunTime/Microsoft.VisualBasic.response
@@ -17,5 +17,5 @@
 
 #Non-general arguments
 -debug:full
--define:DEBUG=False,TRACE=false,NET_2_0=True,_MYTYPE=\"Empty\",NET_VER=2.0 
+-define:DEBUG=False,TRACE=false,NET_2_0=True,_MYTYPE=\"Empty\",NET_VER=4.0 
 -define:mono_disabled=true
\ No newline at end of file
diff --git a/vbnc/vbnc/tests/tests.xml b/vbnc/vbnc/tests/tests.xml
index 4204d61..d600999 100755
--- a/vbnc/vbnc/tests/tests.xml
+++ b/vbnc/vbnc/tests/tests.xml
@@ -1,7805 +1,24641 @@
-<?xml version="1.0" encoding="utf-8"?>
-<rt>
-	<test id="1" name="ArrayType1" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\ArrayType1.vb</file>
-	</test>
-	<test id="2" name="ArrayType10" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\ArrayType10.vb</file>
-	</test>
-	<test id="3" name="ArrayType11" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\ArrayType11.vb</file>
-	</test>
-	<test id="4" name="ArrayType2" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\ArrayType2.vb</file>
-	</test>
-	<test id="5" name="ArrayType3" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\ArrayType3.vb</file>
-	</test>
-	<test id="6" name="ArrayType4" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\ArrayType4.vb</file>
-	</test>
-	<test id="7" name="ArrayType5" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\ArrayType5.vb</file>
-	</test>
-	<test id="8" name="ArrayType6" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\ArrayType6.vb</file>
-	</test>
-	<test id="9" name="ArrayType7" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\ArrayType7.vb</file>
-	</test>
-	<test id="10" name="ArrayType8" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\ArrayType8.vb</file>
-	</test>
-	<test id="11" name="ArrayType9" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\ArrayType9.vb</file>
-	</test>
-	<test id="12" name="AssemblyAttribute1" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\AssemblyAttribute1.vb</file>
-	</test>
-	<test id="13" name="ByRef1" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\ByRef1.vb</file>
-	</test>
-	<test id="14" name="Class1" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\Class1.vb</file>
-	</test>
-	<test id="15" name="Class2" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\Class2.vb</file>
-	</test>
-	<test id="16" name="Constructors2" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\Constructors2.vb</file>
-	</test>
-	<test id="17" name="Constructors3" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\Constructors3.vb</file>
-	</test>
-	<test id="18" name="CustomEvent1" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\CustomEvent1.vb</file>
-	</test>
-	<test id="19" name="CustomEvent2" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\CustomEvent2.vb</file>
-	</test>
-	<test id="20" name="DebugReflection" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\DebugReflection.vb</file>
-	</test>
-	<test id="21" name="DefaultProperty1" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\DefaultProperty1.vb</file>
-	</test>
-	<test id="22" name="DefaultProperty2" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\DefaultProperty2.vb</file>
-	</test>
-	<test id="23" name="Delegate1" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\Delegate1.vb</file>
-	</test>
-	<test id="24" name="Delegate2" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\Delegate2.vb</file>
-	</test>
-	<test id="25" name="Delegate3" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\Delegate3.vb</file>
-	</test>
-	<test id="26" name="Delegate4" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\Delegate4.vb</file>
-	</test>
-	<test id="27" name="Delegate5" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\Delegate5.vb</file>
-	</test>
-	<test id="28" name="Delegate6" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\Delegate6.vb</file>
-	</test>
-	<test id="29" name="Delegate7" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\Delegate7.vb</file>
-	</test>
-	<test id="30" name="Enum1" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\Enum1.vb</file>
-	</test>
-	<test id="31" name="Enum2" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\Enum2.vb</file>
-	</test>
-	<test id="32" name="EnumType1" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\EnumType1.vb</file>
-	</test>
-	<test id="33" name="EnumType2" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\EnumType2.vb</file>
-	</test>
-	<test id="34" name="EventDelegate1" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\EventDelegate1.vb</file>
-	</test>
-	<test id="35" name="Events1" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\Events1.vb</file>
-	</test>
-	<test id="36" name="Events2" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\Events2.vb</file>
-	</test>
-	<test id="37" name="Events3" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\Events3.vb</file>
-	</test>
-	<test id="38" name="Events4" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\Events4.vb</file>
-	</test>
-	<test id="39" name="Events5" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\Events5.vb</file>
-	</test>
-	<test id="40" name="Events6" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\Events6.vb</file>
-	</test>
-	<test id="41" name="Events7" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\Events7.vb</file>
-	</test>
-	<test id="42" name="Events8" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\Events8.vb</file>
-	</test>
-	<test id="43" name="Field1" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\Field1.vb</file>
-	</test>
-	<test id="44" name="Field2" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\Field2.vb</file>
-	</test>
-	<test id="45" name="FileVersionInfo1" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\FileVersionInfo1.vb</file>
-	</test>
-	<test id="46" name="Function1" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\Function1.vb</file>
-	</test>
-	<test id="47" name="GEExpression1" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\GEExpression1.vb</file>
-	</test>
-	<test id="48" name="GenericInterface1" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\GenericInterface1.vb</file>
-	</test>
-	<test id="49" name="GenericInterface2" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\GenericInterface2.vb</file>
-	</test>
-	<test id="50" name="GenericMember1" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\GenericMember1.vb</file>
-	</test>
-	<test id="51" name="GenericMember10" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\GenericMember10.vb</file>
-	</test>
-	<test id="52" name="GenericMember2" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\GenericMember2.vb</file>
-	</test>
-	<test id="53" name="GenericMember3" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\GenericMember3.vb</file>
-	</test>
-	<test id="54" name="GenericMember4" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\GenericMember4.vb</file>
-	</test>
-	<test id="55" name="GenericMember5" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\GenericMember5.vb</file>
-	</test>
-	<test id="56" name="GenericMember6" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\GenericMember6.vb</file>
-	</test>
-	<test id="57" name="GenericMember7" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\GenericMember7.vb</file>
-	</test>
-	<test id="58" name="GenericMember8" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\GenericMember8.vb</file>
-	</test>
-	<test id="59" name="GenericMember9" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\GenericMember9.vb</file>
-	</test>
-	<test id="60" name="GenericMethod1" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\GenericMethod1.vb</file>
-	</test>
-	<test id="61" name="GenericMethod2" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\GenericMethod2.vb</file>
-	</test>
-	<test id="62" name="GenericProperty1" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\GenericProperty1.vb</file>
-	</test>
-	<test id="63" name="GenericType1" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\GenericType1.vb</file>
-	</test>
-	<test id="64" name="GenericType2" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\GenericType2.vb</file>
-	</test>
-	<test id="65" name="GenericType3" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\GenericType3.vb</file>
-	</test>
-	<test id="66" name="Implements1" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\Implements1.vb</file>
-	</test>
-	<test id="67" name="Interface1" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\Interface1.vb</file>
-	</test>
-	<test id="68" name="Interface2" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\Interface2.vb</file>
-	</test>
-	<test id="69" name="Interface3" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\Interface3.vb</file>
-	</test>
-	<test id="70" name="Interface4" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\Interface4.vb</file>
-	</test>
-	<test id="71" name="InterfaceProperty1" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\InterfaceProperty1.vb</file>
-	</test>
-	<test id="72" name="InterfaceProperty2" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\InterfaceProperty2.vb</file>
-	</test>
-	<test id="73" name="Modifiers1" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\Modifiers1.vb</file>
-	</test>
-	<test id="74" name="Module1" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\Module1.vb</file>
-	</test>
-	<test id="75" name="Module2" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\Module2.vb</file>
-	</test>
-	<test id="76" name="MultiInterface1" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\MultiInterface1.vb</file>
-	</test>
-	<test id="77" name="MultiInterface2" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\MultiInterface2.vb</file>
-	</test>
-	<test id="78" name="MultiOverride1" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\MultiOverride1.vb</file>
-	</test>
-	<test id="79" name="MustOverride1" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\MustOverride1.vb</file>
-	</test>
-	<test id="80" name="MustOverride2" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\MustOverride2.vb</file>
-	</test>
-	<test id="81" name="MustOverride3" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\MustOverride3.vb</file>
-	</test>
-	<test id="82" name="MustOverride4" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\MustOverride4.vb</file>
-	</test>
-	<test id="83" name="MustOverride5" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\MustOverride5.vb</file>
-	</test>
-	<test id="84" name="Namespace1" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\Namespace1.vb</file>
-	</test>
-	<test id="85" name="Namespace2" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\Namespace2.vb</file>
-	</test>
-	<test id="86" name="NestedDeclarations1" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\NestedDeclarations1.vb</file>
-	</test>
-	<test id="87" name="Operator1" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\Operator1.vb</file>
-	</test>
-	<test id="88" name="Optional1" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\Optional1.vb</file>
-	</test>
-	<test id="89" name="Optional2" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\Optional2.vb</file>
-	</test>
-	<test id="90" name="Overridable1" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\Overridable1.vb</file>
-	</test>
-	<test id="91" name="ParamArray1" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\ParamArray1.vb</file>
-	</test>
-	<test id="92" name="Partial1" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\Partial1.vb</file>
-	</test>
-	<test id="93" name="Partial10" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\Partial10.vb</file>
-	</test>
-	<test id="94" name="Partial2" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\Partial2.vb</file>
-	</test>
-	<test id="95" name="Partial3" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\Partial3.vb</file>
-	</test>
-	<test id="96" name="Partial4" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\Partial4.vb</file>
-	</test>
-	<test id="97" name="Partial5" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\Partial5.vb</file>
-	</test>
-	<test id="98" name="Partial6" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\Partial6.vb</file>
-	</test>
-	<test id="99" name="Partial7" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\Partial7.vb</file>
-	</test>
-	<test id="100" name="Partial8" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\Partial8.vb</file>
-	</test>
-	<test id="101" name="Partial9" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\Partial9.vb</file>
-	</test>
-	<test id="102" name="Property1" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\Property1.vb</file>
-	</test>
-	<test id="103" name="Property2" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\Property2.vb</file>
-	</test>
-	<test id="104" name="Property3" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\Property3.vb</file>
-	</test>
-	<test id="105" name="Property4" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\Property4.vb</file>
-	</test>
-	<test id="106" name="Property5" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\Property5.vb</file>
-	</test>
-	<test id="107" name="Property6" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\Property6.vb</file>
-	</test>
-	<test id="108" name="Property7" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\Property7.vb</file>
-	</test>
-	<test id="109" name="Property8" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\Property8.vb</file>
-	</test>
-	<test id="110" name="Structure1" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\Structure1.vb</file>
-	</test>
-	<test id="111" name="Structure2" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\Structure2.vb</file>
-	</test>
-	<test id="112" name="Structure3" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\Structure3.vb</file>
-	</test>
-	<test id="113" name="StructureAccess1" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\StructureAccess1.vb</file>
-	</test>
-	<test id="114" name="Sub1" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\Sub1.vb</file>
-	</test>
-	<test id="115" name="TypeArguments1" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\TypeArguments1.vb</file>
-	</test>
-	<test id="116" name="TypeArguments10" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\TypeArguments10.vb</file>
-	</test>
-	<test id="117" name="TypeArguments11" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\TypeArguments11.vb</file>
-	</test>
-	<test id="118" name="TypeArguments12" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\TypeArguments12.vb</file>
-	</test>
-	<test id="119" name="TypeArguments13" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\TypeArguments13.vb</file>
-	</test>
-	<test id="120" name="TypeArguments14" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\TypeArguments14.vb</file>
-	</test>
-	<test id="121" name="TypeArguments15" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\TypeArguments15.vb</file>
-	</test>
-	<test id="122" name="TypeArguments16" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\TypeArguments16.vb</file>
-	</test>
-	<test id="123" name="TypeArguments2" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\TypeArguments2.vb</file>
-	</test>
-	<test id="124" name="TypeArguments3" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\TypeArguments3.vb</file>
-	</test>
-	<test id="125" name="TypeArguments4" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\TypeArguments4.vb</file>
-	</test>
-	<test id="126" name="TypeArguments5" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\TypeArguments5.vb</file>
-	</test>
-	<test id="127" name="TypeArguments6" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\TypeArguments6.vb</file>
-	</test>
-	<test id="128" name="TypeArguments7" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\TypeArguments7.vb</file>
-	</test>
-	<test id="129" name="TypeArguments8" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\TypeArguments8.vb</file>
-	</test>
-	<test id="130" name="TypeArguments9" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\TypeArguments9.vb</file>
-	</test>
-	<test id="131" name="TypeParameter1" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\TypeParameter1.vb</file>
-	</test>
-	<test id="132" name="UnicodeBigEndianBom" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\UnicodeBigEndianBom.vb</file>
-	</test>
-	<test id="133" name="UnicodeBom" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\UnicodeBom.vb</file>
-	</test>
-	<test id="134" name="UTF8Bom" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\UTF8Bom.vb</file>
-	</test>
-	<test id="135" name="WithEvents1" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\WithEvents1.vb</file>
-	</test>
-	<test id="136" name="WithEvents2" category="1Declarations" priority="10" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>1Declarations\WithEvents2.vb</file>
-	</test>
-	<test id="137" name="30099-bug-80999" category="Bugs" priority="20" expectedexitcode="1" expectederrorcode="30099" target="exe">
-		<file>Bugs\30099-bug-80999.vb</file>
-	</test>
-	<test id="138" name="30145-bug-328101" category="Bugs" priority="20" expectedexitcode="1" expectederrorcode="30145" target="library">
-		<arguments>-linkresource:foo.res</arguments>
-		<file>Bugs\30145-bug-328101.vb</file>
-	</test>
-	<test id="139" name="30180-bug-325340" category="Bugs" priority="20" expectedexitcode="1" expectederrorcode="30180" target="exe">
-		<file>Bugs\30180-bug-325340.vb</file>
-	</test>
-	<test id="140" name="30420-bug-74955" category="Bugs" priority="20" expectedexitcode="1" expectederrorcode="30420" target="exe">
-		<arguments>/target:winexe /r:System.Windows.Forms.dll</arguments>
-		<file>Bugs\30420-bug-74955.vb</file>
-	</test>
-	<test id="141" name="30420-bug-74955-2" category="Bugs" priority="20" expectedexitcode="1" expectederrorcode="30420" target="exe">
-		<arguments>/target:winexe</arguments>
-		<file>Bugs\30420-bug-74955-2.vb</file>
-	</test>
-	<test id="142" name="30451-bug-332869" category="Bugs" priority="20" expectedexitcode="1" expectederrorcode="30451" target="exe">
-		<file>Bugs\30451-bug-332869.vb</file>
-	</test>
-	<test id="143" name="30456-bug-456326" category="Bugs" priority="20" expectedexitcode="1" expectederrorcode="30456" target="exe">
-		<file>Bugs\30456-bug-456326.vb</file>
-	</test>
-	<test id="144" name="31027-bug-328101" category="Bugs" priority="20" expectedexitcode="1" expectederrorcode="31027" target="library">
-		<arguments>-resource:foo.res</arguments>
-		<file>Bugs\31027-bug-328101.vb</file>
-	</test>
-	<test id="145" name="aspnet1" category="Bugs" priority="20" target="exe">
-		<file>Bugs\aspnet1.vb</file>
-	</test>
-	<test id="146" name="aspnet2" category="Bugs" priority="20" target="exe">
-		<file>Bugs\aspnet2.vb</file>
-	</test>
-	<test id="147" name="aspnet3" category="Bugs" priority="20" target="library">
-		<arguments>-r:System.Web.dll -r:System.dll</arguments>
-		<file>Bugs\aspnet3.vb</file>
-	</test>
-	<test id="148" name="bug-320964" category="Bugs" priority="20" target="exe">
-		<file>Bugs\bug-320964.vb</file>
-	</test>
-	<test id="149" name="bug-325331" category="Bugs" priority="20" target="exe">
-		<file>Bugs\bug-325331.vb</file>
-	</test>
-	<test id="150" name="bug-325332" category="Bugs" priority="20" target="library">
-		<arguments>-doc:foo.xml</arguments>
-		<file>Bugs\bug-325332.vb</file>
-	</test>
-	<test id="151" name="bug-325339" category="Bugs" priority="20" target="exe">
-		<file>Bugs\bug-325339.vb</file>
-	</test>
-	<test id="152" name="bug-325346" category="Bugs" priority="20" target="exe">
-		<file>Bugs\bug-325346.vb</file>
-	</test>
-	<test id="153" name="bug-325976" category="Bugs" priority="20" target="library">
-		<arguments>/define:"AString=\"aabb\",BBoolean=True,CString=\"mm nn pp\",DString=\"zz aa\",EBoolean=False,FBooleanAsInt=-1" </arguments>
-		<file>Bugs\bug-325976.vb</file>
-	</test>
-	<test id="154" name="bug-325976-2" category="Bugs" priority="20" target="exe">
-		<arguments>/define:"AString=\"aabb\",BBoolean=True,CString=\"mm nn pp\",DString=\"zz aa\",EBoolean=False,FBooleanAsInt=-1" /target:exe</arguments>
-		<file>Bugs\bug-325976-2.vb</file>
-	</test>
-	<test id="155" name="bug-327596" category="Bugs" priority="20" target="exe">
-		<file>Bugs\bug-327596.vb</file>
-	</test>
-	<test id="156" name="bug-332868" category="Bugs" priority="20" target="exe">
-		<file>Bugs\bug-332868.vb</file>
-	</test>
-	<test id="157" name="bug-333403" category="Bugs" priority="20" target="winexe">
-		<arguments>/noconfig /imports:Microsoft.VisualBasic,System,System.Collections,System.Collections.Generic,System.Data,System.Drawing,System.Diagnostics,System.Windows.Forms /rootnamespace:WindowsApplication1 /define:CONFIG="Debug",DEBUG=-1,TRACE=-1,_MyType=\"WindowsForms\",PLATFORM="AnyCPU" /reference:System.Data.dll,System.dll,System.Drawing.dll,System.Windows.Forms.dll,System.Xml.dll /main:WindowsApplication1.My.MyApplication</arguments>
-		<file>Bugs\bug-333403.vb</file>
-	</test>
-	<test id="158" name="bug-333962" category="Bugs" priority="20" target="exe">
-		<file>Bugs\bug-333962.vb</file>
-	</test>
-	<test id="159" name="bug-359234-ProtectedDefaultBaseCtor" category="Bugs" priority="20" target="library">
-		<file>Bugs\bug-359234-ProtectedDefaultBaseCtor.vb</file>
-	</test>
-	<test id="160" name="bug-392456" category="Bugs" priority="20" target="exe">
-		<file>Bugs\bug-392456.vb</file>
-	</test>
-	<test id="161" name="bug-428340" category="Bugs" priority="20" target="exe">
-		<file>Bugs\bug-428340.vb</file>
-	</test>
-	<test id="162" name="bug-428340-2" category="Bugs" priority="20" target="exe">
-		<arguments>/rootnamespace:A</arguments>
-		<file>Bugs\bug-428340-2.vb</file>
-	</test>
-	<test id="163" name="bug-438683" category="Bugs" priority="20" target="exe">
-		<file>Bugs\bug-438683.vb</file>
-	</test>
-	<test id="164" name="bug-444120" category="Bugs" priority="20" target="exe">
-		<file>Bugs\bug-444120.vb</file>
-	</test>
-	<test id="165" name="bug-444811" category="Bugs" priority="20" target="exe">
-		<file>Bugs\bug-444811.vb</file>
-	</test>
-	<test id="166" name="bug-444993" category="Bugs" priority="20" target="exe">
-		<file>Bugs\bug-444993.vb</file>
-	</test>
-	<test id="167" name="bug-445479" category="Bugs" priority="20" target="exe">
-		<file>Bugs\bug-445479.vb</file>
-	</test>
-	<test id="168" name="bug-74955" category="Bugs" priority="20" target="winexe">
-		<arguments>/main:MBasTest.MyForm /rootnamespace:MBasTest /r:System.dll /r:System.Windows.Forms.dll</arguments>
-		<file>Bugs\bug-74955.vb</file>
-	</test>
-	<test id="169" name="bug-80750" category="Bugs" priority="20" target="library">
-		<file>Bugs\bug-80750.vb</file>
-	</test>
-	<test id="170" name="bug-80752" category="Bugs" priority="20" target="library">
-		<arguments>-r:System.dll,System.Windows.Forms.dll,System.Drawing.dll,System.Drawing.Design.dll,System.Xml.dll,System.Design.dll,System.Data.dll -imports:System,System.Drawing,Microsoft.VisualBasic,System.Data</arguments>
-		<file>Bugs\bug-80752.vb</file>
-	</test>
-	<test id="171" name="bug-80833" category="Bugs" priority="20" target="library">
-		<arguments>-r:System.Windows.Forms.dll,System.dll,System.Drawing.dll -imports:System.Windows.Forms,System.Drawing,Microsoft.VisualBasic</arguments>
-		<file>Bugs\bug-80833.vb</file>
-	</test>
-	<test id="172" name="bug-80967" category="Bugs" priority="20" target="exe" workingdirectory="Bugs">
-		<arguments>@bug-80967\bug-80967.rsp</arguments>
-	</test>
-	<test id="173" name="bug-80968" category="Bugs" priority="20" target="library">
-		<file>Bugs\bug-80968.vb</file>
-	</test>
-	<test id="174" name="bug-80989" category="Bugs" priority="20" target="library">
-		<file>Bugs\bug-80989.vb</file>
-	</test>
-	<test id="175" name="bug-80990" category="Bugs" priority="20" target="library">
-		<file>Bugs\bug-80990.vb</file>
-	</test>
-	<test id="176" name="bug-80995" category="Bugs" priority="20" target="exe">
-		<file>Bugs\bug-80995.vb</file>
-	</test>
-	<test id="177" name="bug-81009" category="Bugs" priority="20" target="exe">
-		<file>Bugs\bug-81009.vb</file>
-	</test>
-	<test id="178" name="bug-81016" category="Bugs" priority="20" target="winexe">
-		<arguments>-main:Form1</arguments>
-		<file>Bugs\bug-81016.vb</file>
-	</test>
-	<test id="179" name="bug-81055" category="Bugs" priority="20" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Bugs\bug-81055.vb</file>
-	</test>
-	<test id="180" name="bug-81059" category="Bugs" priority="20" target="library">
-		<file>Bugs\bug-81059.vb</file>
-	</test>
-	<test id="181" name="bug-81119" category="Bugs" priority="20" target="exe">
-		<file>Bugs\bug-81119.vb</file>
-	</test>
-	<test id="182" name="bug-81162" category="Bugs" priority="20" target="library">
-		<arguments>-imports:System.Web -r:System.Web.dll,System.dll</arguments>
-		<file>Bugs\bug-81162.vb</file>
-	</test>
-	<test id="183" name="bug-81243" category="Bugs" priority="20" target="exe">
-		<file>Bugs\bug-81243.vb</file>
-	</test>
-	<test id="184" name="bug-82382" category="Bugs" priority="20" target="library">
-		<arguments>-r:System.Drawing.dll,System.Windows.Forms.dll</arguments>
-		<file>Bugs\bug-82382.vb</file>
-	</test>
-	<test id="185" name="ia64-1" category="Bugs" priority="20" target="exe">
-		<file>Bugs\ia64-1.vb</file>
-	</test>
-	<test id="186" name="LazyBug1" category="Cecil" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Cecil\LazyBug1.vb</file>
-	</test>
-	<test id="187" name="Accessibility1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\Accessibility1.vb</file>
-	</test>
-	<test id="188" name="Accessibility2" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\Accessibility2.vb</file>
-	</test>
-	<test id="189" name="AddAssignStatement1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\AddAssignStatement1.vb</file>
-	</test>
-	<test id="190" name="AddHandler1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\AddHandler1.vb</file>
-	</test>
-	<test id="191" name="AddHandler2" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\AddHandler2.vb</file>
-	</test>
-	<test id="192" name="AddressOfExpression1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\AddressOfExpression1.vb</file>
-	</test>
-	<test id="193" name="AddressOfExpression2" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\AddressOfExpression2.vb</file>
-	</test>
-	<test id="194" name="AddressOfExpression3" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\AddressOfExpression3.vb</file>
-	</test>
-	<test id="195" name="AndAlsoConstantExpression1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\AndAlsoConstantExpression1.vb</file>
-	</test>
-	<test id="196" name="AndAlsoExpression1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\AndAlsoExpression1.vb</file>
-	</test>
-	<test id="197" name="AndConstantExpression1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\AndConstantExpression1.vb</file>
-	</test>
-	<test id="198" name="AndExpression2" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\AndExpression2.vb</file>
-	</test>
-	<test id="199" name="Array1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\Array1.vb</file>
-	</test>
-	<test id="200" name="Array2" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\Array2.vb</file>
-	</test>
-	<test id="201" name="Array3" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\Array3.vb</file>
-	</test>
-	<test id="202" name="Array4" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\Array4.vb</file>
-	</test>
-	<test id="203" name="Array5" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\Array5.vb</file>
-	</test>
-	<test id="204" name="ArrayCreationExpression1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\ArrayCreationExpression1.vb</file>
-	</test>
-	<test id="205" name="ArrayCreationExpression2" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\ArrayCreationExpression2.vb</file>
-	</test>
-	<test id="206" name="ArrayCreationExpression3" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\ArrayCreationExpression3.vb</file>
-	</test>
-	<test id="207" name="ArrayCreationExpression4" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\ArrayCreationExpression4.vb</file>
-	</test>
-	<test id="208" name="ArrayCreationExpression5" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\ArrayCreationExpression5.vb</file>
-	</test>
-	<test id="209" name="ArrayInitializer1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\ArrayInitializer1.vb</file>
-	</test>
-	<test id="210" name="ArrayInitializer2" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\ArrayInitializer2.vb</file>
-	</test>
-	<test id="211" name="ArrayInitializer3" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\ArrayInitializer3.vb</file>
-	</test>
-	<test id="212" name="Assignment1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\Assignment1.vb</file>
-	</test>
-	<test id="213" name="Attributes1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\Attributes1.vb</file>
-	</test>
-	<test id="214" name="Attributes2" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\Attributes2.vb</file>
-	</test>
-	<test id="215" name="Attributes3" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\Attributes3.vb</file>
-	</test>
-	<test id="216" name="Attributes4" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\Attributes4.vb</file>
-	</test>
-	<test id="217" name="Attributes5" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\Attributes5.vb</file>
-	</test>
-	<test id="218" name="Attributes6" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\Attributes6.vb</file>
-	</test>
-	<test id="219" name="BinaryAddConstantExpression1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\BinaryAddConstantExpression1.vb</file>
-	</test>
-	<test id="220" name="BinaryAddExpression1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\BinaryAddExpression1.vb</file>
-	</test>
-	<test id="221" name="BinarySubConstantExpression1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\BinarySubConstantExpression1.vb</file>
-	</test>
-	<test id="222" name="BinarySubExpression1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\BinarySubExpression1.vb</file>
-	</test>
-	<test id="223" name="BuiltInType1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\BuiltInType1.vb</file>
-	</test>
-	<test id="224" name="Call1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\Call1.vb</file>
-	</test>
-	<test id="225" name="CBoolConstantExpression1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\CBoolConstantExpression1.vb</file>
-	</test>
-	<test id="226" name="CByteConstantExpression1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\CByteConstantExpression1.vb</file>
-	</test>
-	<test id="227" name="CCharConstantExpression1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\CCharConstantExpression1.vb</file>
-	</test>
-	<test id="228" name="CDblConstantExpression1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\CDblConstantExpression1.vb</file>
-	</test>
-	<test id="229" name="CIntConstantExpression1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\CIntConstantExpression1.vb</file>
-	</test>
-	<test id="230" name="CIntExpression1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\CIntExpression1.vb</file>
-	</test>
-	<test id="231" name="ClassVariable1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\ClassVariable1.vb</file>
-	</test>
-	<test id="232" name="CObjExpression1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\CObjExpression1.vb</file>
-	</test>
-	<test id="233" name="ConcatAssignStatement1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\ConcatAssignStatement1.vb</file>
-	</test>
-	<test id="234" name="ConcatExpression1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\ConcatExpression1.vb</file>
-	</test>
-	<test id="235" name="ConcatExpression2" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\ConcatExpression2.vb</file>
-	</test>
-	<test id="236" name="ConditionalCompilation1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\ConditionalCompilation1.vb</file>
-	</test>
-	<test id="237" name="ConditionalConst1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\ConditionalConst1.vb</file>
-	</test>
-	<test id="238" name="ConditionalIf1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\ConditionalIf1.vb</file>
-	</test>
-	<test id="239" name="ConditionalIf2" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\ConditionalIf2.vb</file>
-	</test>
-	<test id="240" name="ConditionalIf3" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\ConditionalIf3.vb</file>
-	</test>
-	<test id="241" name="ConditionalIf4" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\ConditionalIf4.vb</file>
-	</test>
-	<test id="242" name="ConditionalRegion1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\ConditionalRegion1.vb</file>
-	</test>
-	<test id="243" name="ConstantExpression1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\ConstantExpression1.vb</file>
-	</test>
-	<test id="244" name="ConstantExpression2" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\ConstantExpression2.vb</file>
-	</test>
-	<test id="245" name="ConstantExpression3" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\ConstantExpression3.vb</file>
-	</test>
-	<test id="246" name="ConstantExpression4" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\ConstantExpression4.vb</file>
-	</test>
-	<test id="247" name="ConstantExpression5" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\ConstantExpression5.vb</file>
-	</test>
-	<test id="248" name="ConstantExpression6" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\ConstantExpression6.vb</file>
-	</test>
-	<test id="249" name="ConstantExpression7" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\ConstantExpression7.vb</file>
-	</test>
-	<test id="250" name="ConstantExpression8" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\ConstantExpression8.vb</file>
-	</test>
-	<test id="251" name="ConstantExpression9" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\ConstantExpression9.vb</file>
-	</test>
-	<test id="252" name="Constraint1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\Constraint1.vb</file>
-	</test>
-	<test id="253" name="Constructors1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\Constructors1.vb</file>
-	</test>
-	<test id="254" name="Constructors2" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\Constructors2.vb</file>
-	</test>
-	<test id="255" name="Continue1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\Continue1.vb</file>
-	</test>
-	<test id="256" name="Continue2" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\Continue2.vb</file>
-	</test>
-	<test id="257" name="Continue3" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\Continue3.vb</file>
-	</test>
-	<test id="258" name="Conversion1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\Conversion1.vb</file>
-	</test>
-	<test id="259" name="CreateInstance1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\CreateInstance1.vb</file>
-	</test>
-	<test id="260" name="CSByteConstantExpression1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\CSByteConstantExpression1.vb</file>
-	</test>
-	<test id="261" name="CShortConstantExpression1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\CShortConstantExpression1.vb</file>
-	</test>
-	<test id="262" name="CSngConstantExpression1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\CSngConstantExpression1.vb</file>
-	</test>
-	<test id="263" name="CStrConstantExpression1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\CStrConstantExpression1.vb</file>
-	</test>
-	<test id="264" name="CTypeExpression1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\CTypeExpression1.vb</file>
-	</test>
-	<test id="265" name="CUIntConstantExpression1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\CUIntConstantExpression1.vb</file>
-	</test>
-	<test id="266" name="CULngConstantExpression1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\CULngConstantExpression1.vb</file>
-	</test>
-	<test id="267" name="CUShortConstantExpression1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\CUShortConstantExpression1.vb</file>
-	</test>
-	<test id="268" name="DataSet1" category="CompileTime" priority="20" target="library">
-		<arguments>/noconfig /r:System.dll,System.Xml.dll,System.Data.dll  /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\DataSet1.vb</file>
-	</test>
-	<test id="269" name="DelegateCreationExpression1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\DelegateCreationExpression1.vb</file>
-	</test>
-	<test id="270" name="DelegateCreationExpression2" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\DelegateCreationExpression2.vb</file>
-	</test>
-	<test id="271" name="DictionaryLookupExpression1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\DictionaryLookupExpression1.vb</file>
-	</test>
-	<test id="272" name="DictionaryLookupExpression2" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\DictionaryLookupExpression2.vb</file>
-	</test>
-	<test id="273" name="DirectCast1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\DirectCast1.vb</file>
-	</test>
-	<test id="274" name="DirectCastExpression1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\DirectCastExpression1.vb</file>
-	</test>
-	<test id="275" name="DirectCastExpression2" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\DirectCastExpression2.vb</file>
-	</test>
-	<test id="276" name="DivConstantExpression1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\DivConstantExpression1.vb</file>
-	</test>
-	<test id="277" name="DivisionAssignStatement1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\DivisionAssignStatement1.vb</file>
-	</test>
-	<test id="278" name="Do1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\Do1.vb</file>
-	</test>
-	<test id="279" name="DoLoop1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\DoLoop1.vb</file>
-	</test>
-	<test id="280" name="DoLoopUntil1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\DoLoopUntil1.vb</file>
-	</test>
-	<test id="281" name="DoLoopWhile1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\DoLoopWhile1.vb</file>
-	</test>
-	<test id="282" name="DotExpression1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\DotExpression1.vb</file>
-	</test>
-	<test id="283" name="EmitLocalVariables1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\EmitLocalVariables1.vb</file>
-	</test>
-	<test id="284" name="EnumConstant1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\EnumConstant1.vb</file>
-	</test>
-	<test id="285" name="EnumConstant2" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\EnumConstant2.vb</file>
-	</test>
-	<test id="286" name="EnumConstant3" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\EnumConstant3.vb</file>
-	</test>
-	<test id="287" name="EnumConstant4" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\EnumConstant4.vb</file>
-	</test>
-	<test id="288" name="Enumerator1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\Enumerator1.vb</file>
-	</test>
-	<test id="289" name="EnumWithAttribute1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\EnumWithAttribute1.vb</file>
-	</test>
-	<test id="290" name="EqualsConstantExpression1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\EqualsConstantExpression1.vb</file>
-	</test>
-	<test id="291" name="EqualsExpression1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\EqualsExpression1.vb</file>
-	</test>
-	<test id="292" name="Erase1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\Erase1.vb</file>
-	</test>
-	<test id="293" name="Error1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\Error1.vb</file>
-	</test>
-	<test id="294" name="EventMember1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\EventMember1.vb</file>
-	</test>
-	<test id="295" name="EventMember2" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\EventMember2.vb</file>
-	</test>
-	<test id="296" name="EventMember3" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\EventMember3.vb</file>
-	</test>
-	<test id="297" name="EventMember4" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\EventMember4.vb</file>
-	</test>
-	<test id="298" name="EventMember5" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\EventMember5.vb</file>
-	</test>
-	<test id="299" name="EventMember6" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\EventMember6.vb</file>
-	</test>
-	<test id="300" name="EventMember7" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\EventMember7.vb</file>
-	</test>
-	<test id="301" name="EventMember8" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\EventMember8.vb</file>
-	</test>
-	<test id="302" name="Exit1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\Exit1.vb</file>
-	</test>
-	<test id="303" name="Exit2" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\Exit2.vb</file>
-	</test>
-	<test id="304" name="ExitFunction1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\ExitFunction1.vb</file>
-	</test>
-	<test id="305" name="ExitProperty1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\ExitProperty1.vb</file>
-	</test>
-	<test id="306" name="ExitSub1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\ExitSub1.vb</file>
-	</test>
-	<test id="307" name="ExponentExpression1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\ExponentExpression1.vb</file>
-	</test>
-	<test id="308" name="For1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\For1.vb</file>
-	</test>
-	<test id="309" name="For2" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\For2.vb</file>
-	</test>
-	<test id="310" name="ForEach1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\ForEach1.vb</file>
-	</test>
-	<test id="311" name="ForEach2" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\ForEach2.vb</file>
-	</test>
-	<test id="312" name="ForStep1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\ForStep1.vb</file>
-	</test>
-	<test id="313" name="GEConstantExpression1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\GEConstantExpression1.vb</file>
-	</test>
-	<test id="314" name="GenericInterface1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\GenericInterface1.vb</file>
-	</test>
-	<test id="315" name="GenericInterface2" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\GenericInterface2.vb</file>
-	</test>
-	<test id="316" name="GenericInterface3" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\GenericInterface3.vb</file>
-	</test>
-	<test id="317" name="GenericInterface4" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\GenericInterface4.vb</file>
-	</test>
-	<test id="318" name="GenericNestedType1" category="CompileTime" priority="20" target="library">
-		<arguments>-imports:System.Collections.Generic,System.Collections,System,System.Windows.Forms,System.Diagnostics,System.Drawing -rootnamespace:rt -r:System.Drawing.dll</arguments>
-		<file>CompileTime\GenericNestedType1.vb</file>
-	</test>
-	<test id="319" name="GenericTypeParameter1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\GenericTypeParameter1.vb</file>
-	</test>
-	<test id="320" name="GenericTypeParameter2" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\GenericTypeParameter2.vb</file>
-	</test>
-	<test id="321" name="GenericTypeParameter3" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\GenericTypeParameter3.vb</file>
-	</test>
-	<test id="322" name="GenericTypeParameter4" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\GenericTypeParameter4.vb</file>
-	</test>
-	<test id="323" name="GenericTypeParameter5" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\GenericTypeParameter5.vb</file>
-	</test>
-	<test id="324" name="GenericTypeParameter6" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\GenericTypeParameter6.vb</file>
-	</test>
-	<test id="325" name="GenericTypeParameter7" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\GenericTypeParameter7.vb</file>
-	</test>
-	<test id="326" name="GenericTypeParameter8" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\GenericTypeParameter8.vb</file>
-	</test>
-	<test id="327" name="GenericTypeParameter9" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\GenericTypeParameter9.vb</file>
-	</test>
-	<test id="328" name="GetTypeExpression1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\GetTypeExpression1.vb</file>
-	</test>
-	<test id="329" name="GetTypeExpression2" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\GetTypeExpression2.vb</file>
-	</test>
-	<test id="330" name="GetTypeExpression3" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\GetTypeExpression3.vb</file>
-	</test>
-	<test id="331" name="Global1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\Global1.vb</file>
-	</test>
-	<test id="332" name="Goto1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\Goto1.vb</file>
-	</test>
-	<test id="333" name="Goto2" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\Goto2.vb</file>
-	</test>
-	<test id="334" name="GTConstantExpression1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\GTConstantExpression1.vb</file>
-	</test>
-	<test id="335" name="GTExpression1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\GTExpression1.vb</file>
-	</test>
-	<test id="336" name="HideBySig1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\HideBySig1.vb</file>
-	</test>
-	<test id="337" name="If1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\If1.vb</file>
-	</test>
-	<test id="338" name="If2" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\If2.vb</file>
-	</test>
-	<test id="339" name="If3" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\If3.vb</file>
-	</test>
-	<test id="340" name="If4" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\If4.vb</file>
-	</test>
-	<test id="341" name="If5" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\If5.vb</file>
-	</test>
-	<test id="342" name="If6" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\If6.vb</file>
-	</test>
-	<test id="343" name="IfElse1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\IfElse1.vb</file>
-	</test>
-	<test id="344" name="IfElse2" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\IfElse2.vb</file>
-	</test>
-	<test id="345" name="IfElse3" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\IfElse3.vb</file>
-	</test>
-	<test id="346" name="IfElse4" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\IfElse4.vb</file>
-	</test>
-	<test id="347" name="IfElseIf1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\IfElseIf1.vb</file>
-	</test>
-	<test id="348" name="IfElseIf2" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\IfElseIf2.vb</file>
-	</test>
-	<test id="349" name="IfElseIf3" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\IfElseIf3.vb</file>
-	</test>
-	<test id="350" name="IfElseIfElse1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\IfElseIfElse1.vb</file>
-	</test>
-	<test id="351" name="IfElseIfElse2" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\IfElseIfElse2.vb</file>
-	</test>
-	<test id="352" name="ImplementsClause1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\ImplementsClause1.vb</file>
-	</test>
-	<test id="353" name="ImplementsClause2" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\ImplementsClause2.vb</file>
-	</test>
-	<test id="354" name="Imports1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\Imports1.vb</file>
-	</test>
-	<test id="355" name="Imports2" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\Imports2.vb</file>
-	</test>
-	<test id="356" name="Imports3" category="CompileTime" priority="20" target="library">
-		<arguments>/imports:vb=microsoft.visualbasic</arguments>
-		<file>CompileTime\Imports3.vb</file>
-	</test>
-	<test id="357" name="Imports4" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\Imports4.vb</file>
-	</test>
-	<test id="358" name="Imports5" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\Imports5.vb</file>
-	</test>
-	<test id="359" name="ImportsNamespace1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\ImportsNamespace1.vb</file>
-	</test>
-	<test id="360" name="ImportsType1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\ImportsType1.vb</file>
-	</test>
-	<test id="361" name="IntDivConstantExpression1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\IntDivConstantExpression1.vb</file>
-	</test>
-	<test id="362" name="IntDivExpression1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\IntDivExpression1.vb</file>
-	</test>
-	<test id="363" name="IntDivisionAssignStatement1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\IntDivisionAssignStatement1.vb</file>
-	</test>
-	<test id="364" name="IntegralTypes1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\IntegralTypes1.vb</file>
-	</test>
-	<test id="365" name="InterfaceInheritance1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\InterfaceInheritance1.vb</file>
-	</test>
-	<test id="366" name="InterfaceMemberSpecifier1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\InterfaceMemberSpecifier1.vb</file>
-	</test>
-	<test id="367" name="InterfaceMemberSpecifier2" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\InterfaceMemberSpecifier2.vb</file>
-	</test>
-	<test id="368" name="Is1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\Is1.vb</file>
-	</test>
-	<test id="369" name="IsNotExpression1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\IsNotExpression1.vb</file>
-	</test>
-	<test id="370" name="JaggedArray1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\JaggedArray1.vb</file>
-	</test>
-	<test id="371" name="JaggedArray2" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\JaggedArray2.vb</file>
-	</test>
-	<test id="372" name="JaggedArray3" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\JaggedArray3.vb</file>
-	</test>
-	<test id="373" name="Label1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\Label1.vb</file>
-	</test>
-	<test id="374" name="LEConstantExpression1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\LEConstantExpression1.vb</file>
-	</test>
-	<test id="375" name="LEExpression1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\LEExpression1.vb</file>
-	</test>
-	<test id="376" name="Like1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\Like1.vb</file>
-	</test>
-	<test id="377" name="LikeExpression1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\LikeExpression1.vb</file>
-	</test>
-	<test id="378" name="Literals1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\Literals1.vb</file>
-	</test>
-	<test id="379" name="LocalArrayVariable1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\LocalArrayVariable1.vb</file>
-	</test>
-	<test id="380" name="LocalConstDeclaration1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\LocalConstDeclaration1.vb</file>
-	</test>
-	<test id="381" name="LocalVariable1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\LocalVariable1.vb</file>
-	</test>
-	<test id="382" name="LocalVariable2" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\LocalVariable2.vb</file>
-	</test>
-	<test id="383" name="LocalVariableAssignment1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\LocalVariableAssignment1.vb</file>
-	</test>
-	<test id="384" name="LShiftAssignStatement1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\LShiftAssignStatement1.vb</file>
-	</test>
-	<test id="385" name="LShiftConstantExpression1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\LShiftConstantExpression1.vb</file>
-	</test>
-	<test id="386" name="LShiftExpression1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\LShiftExpression1.vb</file>
-	</test>
-	<test id="387" name="LTConstantExpression1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\LTConstantExpression1.vb</file>
-	</test>
-	<test id="388" name="LTExpression1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\LTExpression1.vb</file>
-	</test>
-	<test id="389" name="MeExpression1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\MeExpression1.vb</file>
-	</test>
-	<test id="390" name="MeExpression2" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\MeExpression2.vb</file>
-	</test>
-	<test id="391" name="MemberAccessExpression1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\MemberAccessExpression1.vb</file>
-	</test>
-	<test id="392" name="MemberAccessExpression2" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\MemberAccessExpression2.vb</file>
-	</test>
-	<test id="393" name="MemberAccessExpression3" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\MemberAccessExpression3.vb</file>
-	</test>
-	<test id="394" name="MemberAccessExpression4" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\MemberAccessExpression4.vb</file>
-	</test>
-	<test id="395" name="MemberAccessExpression5" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\MemberAccessExpression5.vb</file>
-	</test>
-	<test id="396" name="MemberAttributes1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\MemberAttributes1.vb</file>
-	</test>
-	<test id="397" name="MethodAttributes1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\MethodAttributes1.vb</file>
-	</test>
-	<test id="398" name="MethodInvocation1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\MethodInvocation1.vb</file>
-	</test>
-	<test id="399" name="MethodVariable1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\MethodVariable1.vb</file>
-	</test>
-	<test id="400" name="MethodVariable2" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\MethodVariable2.vb</file>
-	</test>
-	<test id="401" name="MethodVariable3" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\MethodVariable3.vb</file>
-	</test>
-	<test id="402" name="MidAssignStatement1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\MidAssignStatement1.vb</file>
-	</test>
-	<test id="403" name="MidAssignStatement2" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\MidAssignStatement2.vb</file>
-	</test>
-	<test id="404" name="ModConstantExpression1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\ModConstantExpression1.vb</file>
-	</test>
-	<test id="405" name="ModExpression1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\ModExpression1.vb</file>
-	</test>
-	<test id="406" name="ModuleFunction1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\ModuleFunction1.vb</file>
-	</test>
-	<test id="407" name="ModuleProperty1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\ModuleProperty1.vb</file>
-	</test>
-	<test id="408" name="MultConstantExpression1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\MultConstantExpression1.vb</file>
-	</test>
-	<test id="409" name="MultConstantExpression2" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\MultConstantExpression2.vb</file>
-	</test>
-	<test id="410" name="MultExpression1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\MultExpression1.vb</file>
-	</test>
-	<test id="411" name="MultiFileTest" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\MultiFileTest.1.vb</file>
-		<file>CompileTime\MultiFileTest.2.vb</file>
-	</test>
-	<test id="412" name="MultiplicationAssignStatement1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\MultiplicationAssignStatement1.vb</file>
-	</test>
-	<test id="413" name="MultiVar1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\MultiVar1.vb</file>
-	</test>
-	<test id="414" name="MultiVar2" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\MultiVar2.vb</file>
-	</test>
-	<test id="415" name="MultiVar3" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\MultiVar3.vb</file>
-	</test>
-	<test id="416" name="MultiVar4" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\MultiVar4.vb</file>
-	</test>
-	<test id="417" name="MyBaseExpression1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\MyBaseExpression1.vb</file>
-	</test>
-	<test id="418" name="MyClassExpression1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\MyClassExpression1.vb</file>
-	</test>
-	<test id="419" name="NameResolution1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\NameResolution1.vb</file>
-	</test>
-	<test id="420" name="NameResolution2" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\NameResolution2.vb</file>
-	</test>
-	<test id="421" name="NameResolution3" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\NameResolution3.vb</file>
-	</test>
-	<test id="422" name="NameResolution4" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\NameResolution4.vb</file>
-	</test>
-	<test id="423" name="NestedType1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\NestedType1.vb</file>
-	</test>
-	<test id="424" name="NestedType2" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\NestedType2.vb</file>
-	</test>
-	<test id="425" name="NestedType3" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\NestedType3.vb</file>
-	</test>
-	<test id="426" name="NewAssignment1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\NewAssignment1.vb</file>
-	</test>
-	<test id="427" name="NewExpression1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\NewExpression1.vb</file>
-	</test>
-	<test id="428" name="NewExpression2" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\NewExpression2.vb</file>
-	</test>
-	<test id="429" name="NewExpression3" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\NewExpression3.vb</file>
-	</test>
-	<test id="430" name="NewExpression4" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\NewExpression4.vb</file>
-	</test>
-	<test id="431" name="NotConstantExpression1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\NotConstantExpression1.vb</file>
-	</test>
-	<test id="432" name="NotEqualsConstantExpression1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\NotEqualsConstantExpression1.vb</file>
-	</test>
-	<test id="433" name="NotEqualsExpression1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\NotEqualsExpression1.vb</file>
-	</test>
-	<test id="434" name="NotEqualsExpression2" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\NotEqualsExpression2.vb</file>
-	</test>
-	<test id="435" name="ObjectCreationExpression1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\ObjectCreationExpression1.vb</file>
-	</test>
-	<test id="436" name="ObjectCreationExpression2" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\ObjectCreationExpression2.vb</file>
-	</test>
-	<test id="437" name="ObjectCreationExpression3" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\ObjectCreationExpression3.vb</file>
-	</test>
-	<test id="438" name="ObjectCreationExpression4" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\ObjectCreationExpression4.vb</file>
-	</test>
-	<test id="439" name="OnErroGoto_1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\OnErroGoto_1.vb</file>
-	</test>
-	<test id="440" name="OnErrorGoto0_1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\OnErrorGoto0_1.vb</file>
-	</test>
-	<test id="441" name="OnErrorGotoMinus1_1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\OnErrorGotoMinus1_1.vb</file>
-	</test>
-	<test id="442" name="OnErrorResumeNext_1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\OnErrorResumeNext_1.vb</file>
-	</test>
-	<test id="443" name="OptionalArguments1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\OptionalArguments1.vb</file>
-	</test>
-	<test id="444" name="OptionalArguments2" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\OptionalArguments2.vb</file>
-	</test>
-	<test id="445" name="OrConstantExpression1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\OrConstantExpression1.vb</file>
-	</test>
-	<test id="446" name="OrElseConstantExpression1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\OrElseConstantExpression1.vb</file>
-	</test>
-	<test id="447" name="OrElseExpression1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\OrElseExpression1.vb</file>
-	</test>
-	<test id="448" name="OrExpression1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\OrExpression1.vb</file>
-	</test>
-	<test id="449" name="Partial1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\Partial1.vb</file>
-	</test>
-	<test id="450" name="PowerAssignStatement1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\PowerAssignStatement1.vb</file>
-	</test>
-	<test id="451" name="PropertyAccess5" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.Data.dll /imports:System.Data</arguments>
-		<file>CompileTime\PropertyAccess5.vb</file>
-	</test>
-	<test id="452" name="RaiseEvent1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\RaiseEvent1.vb</file>
-	</test>
-	<test id="453" name="RaiseEvent2" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\RaiseEvent2.vb</file>
-	</test>
-	<test id="454" name="RealDivConstantExpression1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\RealDivConstantExpression1.vb</file>
-	</test>
-	<test id="455" name="RealDivExpression1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\RealDivExpression1.vb</file>
-	</test>
-	<test id="456" name="Redim1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\Redim1.vb</file>
-	</test>
-	<test id="457" name="RedimPreserve1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\RedimPreserve1.vb</file>
-	</test>
-	<test id="458" name="RedimPreserve2" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\RedimPreserve2.vb</file>
-	</test>
-	<test id="459" name="RemoveHandler1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\RemoveHandler1.vb</file>
-	</test>
-	<test id="460" name="Resume1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\Resume1.vb</file>
-	</test>
-	<test id="461" name="ResumeNext1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\ResumeNext1.vb</file>
-	</test>
-	<test id="462" name="Return1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\Return1.vb</file>
-	</test>
-	<test id="463" name="RShiftAssignStatement1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\RShiftAssignStatement1.vb</file>
-	</test>
-	<test id="464" name="RShiftConstantExpression1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\RShiftConstantExpression1.vb</file>
-	</test>
-	<test id="465" name="RShiftExpression1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\RShiftExpression1.vb</file>
-	</test>
-	<test id="466" name="SecurityAttribute1" category="CompileTime" priority="20" knownfailure="fixing this requires instantiating attributes and executing code from corlib" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\SecurityAttribute1.vb</file>
-	</test>
-	<test id="467" name="SelectCase1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\SelectCase1.vb</file>
-	</test>
-	<test id="468" name="SingleLineIfWithBlockStatements1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\SingleLineIfWithBlockStatements1.vb</file>
-	</test>
-	<test id="469" name="SingleLineIfWithNonBlockStatements1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\SingleLineIfWithNonBlockStatements1.vb</file>
-	</test>
-	<test id="470" name="SpecBug1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\SpecBug1.vb</file>
-	</test>
-	<test id="471" name="StaticVariable1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\StaticVariable1.vb</file>
-	</test>
-	<test id="472" name="Stop1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\Stop1.vb</file>
-	</test>
-	<test id="473" name="StructureAccess1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\StructureAccess1.vb</file>
-	</test>
-	<test id="474" name="SubtractionAssignStatement1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\SubtractionAssignStatement1.vb</file>
-	</test>
-	<test id="475" name="SyncLock1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\SyncLock1.vb</file>
-	</test>
-	<test id="476" name="Throw1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\Throw1.vb</file>
-	</test>
-	<test id="477" name="Throw2" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\Throw2.vb</file>
-	</test>
-	<test id="478" name="TryCastExpression1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\TryCastExpression1.vb</file>
-	</test>
-	<test id="479" name="TryCatch1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\TryCatch1.vb</file>
-	</test>
-	<test id="480" name="TryCatchFinally1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\TryCatchFinally1.vb</file>
-	</test>
-	<test id="481" name="TryFinally1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\TryFinally1.vb</file>
-	</test>
-	<test id="482" name="TypeLoadEx1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\TypeLoadEx1.vb</file>
-	</test>
-	<test id="483" name="TypeLoadEx2" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\TypeLoadEx2.vb</file>
-	</test>
-	<test id="484" name="TypeNameResolution1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\TypeNameResolution1.vb</file>
-	</test>
-	<test id="485" name="TypeNameResolution2" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\TypeNameResolution2.vb</file>
-	</test>
-	<test id="486" name="TypeOfExpression1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\TypeOfExpression1.vb</file>
-	</test>
-	<test id="487" name="UnaryAddExpression1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\UnaryAddExpression1.vb</file>
-	</test>
-	<test id="488" name="UnaryMinusExpression1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\UnaryMinusExpression1.vb</file>
-	</test>
-	<test id="489" name="UnaryNotExpression1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\UnaryNotExpression1.vb</file>
-	</test>
-	<test id="490" name="UsingStatement1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\UsingStatement1.vb</file>
-	</test>
-	<test id="491" name="UsingStatement2" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\UsingStatement2.vb</file>
-	</test>
-	<test id="492" name="UsingStatement3" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\UsingStatement3.vb</file>
-	</test>
-	<test id="493" name="UsingStatement4" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\UsingStatement4.vb</file>
-	</test>
-	<test id="494" name="VariableInitializer1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\VariableInitializer1.vb</file>
-	</test>
-	<test id="495" name="VariableInitializer2" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\VariableInitializer2.vb</file>
-	</test>
-	<test id="496" name="While1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\While1.vb</file>
-	</test>
-	<test id="497" name="With1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\With1.vb</file>
-	</test>
-	<test id="498" name="XorConstantExpression1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\XorConstantExpression1.vb</file>
-	</test>
-	<test id="499" name="XOrExpression1" category="CompileTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime\XOrExpression1.vb</file>
-	</test>
-	<test id="500" name="AddHandler3" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\AddHandler3.vb</file>
-	</test>
-	<test id="501" name="AndAlsoExpression2" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\AndAlsoExpression2.vb</file>
-	</test>
-	<test id="502" name="ArrayFunctionReturnValue1" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\ArrayFunctionReturnValue1.vb</file>
-	</test>
-	<test id="503" name="ArrayVariable1" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\ArrayVariable1.vb</file>
-	</test>
-	<test id="504" name="Attribute1" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\Attribute1.vb</file>
-	</test>
-	<test id="505" name="Attribute2" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\Attribute2.vb</file>
-	</test>
-	<test id="506" name="Attribute3" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\Attribute3.vb</file>
-	</test>
-	<test id="507" name="Boolean1" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\Boolean1.vb</file>
-	</test>
-	<test id="508" name="Box1" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\Box1.vb</file>
-	</test>
-	<test id="509" name="ByRef1" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\ByRef1.vb</file>
-	</test>
-	<test id="510" name="ByRef10" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\ByRef10.vb</file>
-	</test>
-	<test id="511" name="ByRef11" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\ByRef11.vb</file>
-	</test>
-	<test id="512" name="ByRef12" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\ByRef12.vb</file>
-	</test>
-	<test id="513" name="ByRef2" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\ByRef2.vb</file>
-	</test>
-	<test id="514" name="ByRef3" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\ByRef3.vb</file>
-	</test>
-	<test id="515" name="ByRef4" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\ByRef4.vb</file>
-	</test>
-	<test id="516" name="ByRef5" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\ByRef5.vb</file>
-	</test>
-	<test id="517" name="ByRef6" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\ByRef6.vb</file>
-	</test>
-	<test id="518" name="ByRef7" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\ByRef7.vb</file>
-	</test>
-	<test id="519" name="ByRef8" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\ByRef8.vb</file>
-	</test>
-	<test id="520" name="ByRef9" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\ByRef9.vb</file>
-	</test>
-	<test id="521" name="ByRefAssignment1" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\ByRefAssignment1.vb</file>
-	</test>
-	<test id="522" name="ByRefAssignment2" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\ByRefAssignment2.vb</file>
-	</test>
-	<test id="523" name="ByRefLiteralConversion1" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\ByRefLiteralConversion1.vb</file>
-	</test>
-	<test id="524" name="ConditionalAttribute1" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\ConditionalAttribute1.vb</file>
-	</test>
-	<test id="525" name="Constraint1" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\Constraint1.vb</file>
-	</test>
-	<test id="526" name="ConstructorInitialization1" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\ConstructorInitialization1.vb</file>
-	</test>
-	<test id="527" name="ConstructorInitialization2" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\ConstructorInitialization2.vb</file>
-	</test>
-	<test id="528" name="ConstructorInitialization3" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\ConstructorInitialization3.vb</file>
-	</test>
-	<test id="529" name="ConstructorInitialization4" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\ConstructorInitialization4.vb</file>
-	</test>
-	<test id="530" name="ConstructorInitialization5" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\ConstructorInitialization5.vb</file>
-	</test>
-	<test id="531" name="ConstructorInitialization6" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\ConstructorInitialization6.vb</file>
-	</test>
-	<test id="532" name="ConstructorInitialization7" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\ConstructorInitialization7.vb</file>
-	</test>
-	<test id="533" name="ConversionExpression1" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\ConversionExpression1.vb</file>
-	</test>
-	<test id="534" name="DefaultFunctionVariable1" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\DefaultFunctionVariable1.vb</file>
-	</test>
-	<test id="535" name="DefaultProperty1" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\DefaultProperty1.vb</file>
-	</test>
-	<test id="536" name="DefaultProperty2" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\DefaultProperty2.vb</file>
-	</test>
-	<test id="537" name="DefaultProperty3" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\DefaultProperty3.vb</file>
-	</test>
-	<test id="538" name="DefaultProperty4" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\DefaultProperty4.vb</file>
-	</test>
-	<test id="539" name="DefaultProperty5" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\DefaultProperty5.vb</file>
-	</test>
-	<test id="540" name="DefaultProperty6" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\DefaultProperty6.vb</file>
-	</test>
-	<test id="541" name="DelegateInvocation1" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\DelegateInvocation1.vb</file>
-	</test>
-	<test id="542" name="DelegateInvocation2" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\DelegateInvocation2.vb</file>
-	</test>
-	<test id="543" name="Enum1" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\Enum1.vb</file>
-	</test>
-	<test id="544" name="Enum2" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\Enum2.vb</file>
-	</test>
-	<test id="545" name="Enum3" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\Enum3.vb</file>
-	</test>
-	<test id="546" name="Enum4" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\Enum4.vb</file>
-	</test>
-	<test id="547" name="Enum5" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\Enum5.vb</file>
-	</test>
-	<test id="548" name="EnumAccess1" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\EnumAccess1.vb</file>
-	</test>
-	<test id="549" name="EnumAccess2" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\EnumAccess2.vb</file>
-	</test>
-	<test id="550" name="EnumAccess3" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\EnumAccess3.vb</file>
-	</test>
-	<test id="551" name="EnumConversion1" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\EnumConversion1.vb</file>
-	</test>
-	<test id="552" name="EnumValueComparison1" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\EnumValueComparison1.vb</file>
-	</test>
-	<test id="553" name="EnumValueComparison2" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\EnumValueComparison2.vb</file>
-	</test>
-	<test id="554" name="Event1" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\Event1.vb</file>
-	</test>
-	<test id="555" name="ExitDoStatement1" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\ExitDoStatement1.vb</file>
-	</test>
-	<test id="556" name="ExternalModuleFunction1" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\ExternalModuleFunction1.vb</file>
-	</test>
-	<test id="557" name="FieldAccess1" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\FieldAccess1.vb</file>
-	</test>
-	<test id="558" name="FieldAccess2" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\FieldAccess2.vb</file>
-	</test>
-	<test id="559" name="FirstLinuxProgram" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\FirstLinuxProgram.vb</file>
-	</test>
-	<test id="560" name="For1" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\For1.vb</file>
-	</test>
-	<test id="561" name="For2" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\For2.vb</file>
-	</test>
-	<test id="562" name="For3" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\For3.vb</file>
-	</test>
-	<test id="563" name="For4" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\For4.vb</file>
-	</test>
-	<test id="564" name="For5" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\For5.vb</file>
-	</test>
-	<test id="565" name="For6" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\For6.vb</file>
-	</test>
-	<test id="566" name="ForEach2" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\ForEach2.vb</file>
-	</test>
-	<test id="567" name="ForEach3" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\ForEach3.vb</file>
-	</test>
-	<test id="568" name="ForEach4" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\ForEach4.vb</file>
-	</test>
-	<test id="569" name="FunctionReturnArrayIndex1" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\FunctionReturnArrayIndex1.vb</file>
-	</test>
-	<test id="570" name="FunctionReturnValue1" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\FunctionReturnValue1.vb</file>
-	</test>
-	<test id="571" name="GEExpression1" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\GEExpression1.vb</file>
-	</test>
-	<test id="572" name="Generic1" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\Generic1.vb</file>
-	</test>
-	<test id="573" name="Generic2" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\Generic2.vb</file>
-	</test>
-	<test id="574" name="Generic3" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\Generic3.vb</file>
-	</test>
-	<test id="575" name="Generic4" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\Generic4.vb</file>
-	</test>
-	<test id="576" name="Generic5" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\Generic5.vb</file>
-	</test>
-	<test id="577" name="Generic6" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\Generic6.vb</file>
-	</test>
-	<test id="578" name="Generic7" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\Generic7.vb</file>
-	</test>
-	<test id="579" name="Generic8" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\Generic8.vb</file>
-	</test>
-	<test id="580" name="Generic9" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\Generic9.vb</file>
-	</test>
-	<test id="581" name="GenericArrayAccess1" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\GenericArrayAccess1.vb</file>
-	</test>
-	<test id="582" name="GenericBaseMethod1" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\GenericBaseMethod1.vb</file>
-	</test>
-	<test id="583" name="GenericConstraint1" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\GenericConstraint1.vb</file>
-	</test>
-	<test id="584" name="GenericConstraint2" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\GenericConstraint2.vb</file>
-	</test>
-	<test id="585" name="GenericConstructor1" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\GenericConstructor1.vb</file>
-	</test>
-	<test id="586" name="GenericDefaultProperty1" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\GenericDefaultProperty1.vb</file>
-	</test>
-	<test id="587" name="GenericDelegateTypeParameter1" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\GenericDelegateTypeParameter1.vb</file>
-	</test>
-	<test id="588" name="GenericEnumerator1" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\GenericEnumerator1.vb</file>
-	</test>
-	<test id="589" name="GenericEnumerator2" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\GenericEnumerator2.vb</file>
-	</test>
-	<test id="590" name="GenericFieldAccess1" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\GenericFieldAccess1.vb</file>
-	</test>
-	<test id="591" name="GenericFieldAccess2" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\GenericFieldAccess2.vb</file>
-	</test>
-	<test id="592" name="GenericFieldAccess3" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\GenericFieldAccess3.vb</file>
-	</test>
-	<test id="593" name="GenericFieldAccess4" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\GenericFieldAccess4.vb</file>
-	</test>
-	<test id="594" name="GenericFieldAccess5" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\GenericFieldAccess5.vb</file>
-	</test>
-	<test id="595" name="GenericForEach1" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\GenericForEach1.vb</file>
-	</test>
-	<test id="596" name="GenericForEach2" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\GenericForEach2.vb</file>
-	</test>
-	<test id="597" name="GenericInherits1" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\GenericInherits1.vb</file>
-	</test>
-	<test id="598" name="GenericMethod1" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\GenericMethod1.vb</file>
-	</test>
-	<test id="599" name="GenericMethod10" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\GenericMethod10.vb</file>
-	</test>
-	<test id="600" name="GenericMethod2" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\GenericMethod2.vb</file>
-	</test>
-	<test id="601" name="GenericMethod3" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\GenericMethod3.vb</file>
-	</test>
-	<test id="602" name="GenericMethod4" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\GenericMethod4.vb</file>
-	</test>
-	<test id="603" name="GenericMethod5" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\GenericMethod5.vb</file>
-	</test>
-	<test id="604" name="GenericMethod6" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\GenericMethod6.vb</file>
-	</test>
-	<test id="605" name="GenericMethod7" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\GenericMethod7.vb</file>
-	</test>
-	<test id="606" name="GenericMethod8" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\GenericMethod8.vb</file>
-	</test>
-	<test id="607" name="GenericMethod9" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\GenericMethod9.vb</file>
-	</test>
-	<test id="608" name="GenericMethodImplements1" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\GenericMethodImplements1.vb</file>
-	</test>
-	<test id="609" name="GenericMethodImplements2" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\GenericMethodImplements2.vb</file>
-	</test>
-	<test id="610" name="GenericMethodImplements3" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\GenericMethodImplements3.vb</file>
-	</test>
-	<test id="611" name="GenericMethodParameter1" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\GenericMethodParameter1.vb</file>
-	</test>
-	<test id="612" name="GenericMethodParameter2" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\GenericMethodParameter2.vb</file>
-	</test>
-	<test id="613" name="GenericParameterAccess1" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\GenericParameterAccess1.vb</file>
-	</test>
-	<test id="614" name="GenericProperty1" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\GenericProperty1.vb</file>
-	</test>
-	<test id="615" name="GenericShadows1" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\GenericShadows1.vb</file>
-	</test>
-	<test id="616" name="GenericType1" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\GenericType1.vb</file>
-	</test>
-	<test id="617" name="GenericTypeOf1" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\GenericTypeOf1.vb</file>
-	</test>
-	<test id="618" name="GetEnumerator1" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\GetEnumerator1.vb</file>
-	</test>
-	<test id="619" name="GetTypeExpression4" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\GetTypeExpression4.vb</file>
-	</test>
-	<test id="620" name="If1" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\If1.vb</file>
-	</test>
-	<test id="621" name="If2" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\If2.vb</file>
-	</test>
-	<test id="622" name="IfElse1" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\IfElse1.vb</file>
-	</test>
-	<test id="623" name="IfElseIfElse1" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\IfElseIfElse1.vb</file>
-	</test>
-	<test id="624" name="IfElseIfElse2" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\IfElseIfElse2.vb</file>
-	</test>
-	<test id="625" name="IfStatement1" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\IfStatement1.vb</file>
-	</test>
-	<test id="626" name="Imports1" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\Imports1.vb</file>
-	</test>
-	<test id="627" name="IndexedProperty1" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\IndexedProperty1.vb</file>
-	</test>
-	<test id="628" name="InheritedInterfaceMember1" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\InheritedInterfaceMember1.vb</file>
-	</test>
-	<test id="629" name="InheritedInterfaceMethod1" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\InheritedInterfaceMethod1.vb</file>
-	</test>
-	<test id="630" name="InheritedSharedMethod1" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\InheritedSharedMethod1.vb</file>
-	</test>
-	<test id="631" name="InterfaceInheritance2" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\InterfaceInheritance2.vb</file>
-	</test>
-	<test id="632" name="InterfaceMember1" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\InterfaceMember1.vb</file>
-	</test>
-	<test id="633" name="IsNotExpression2" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\IsNotExpression2.vb</file>
-	</test>
-	<test id="634" name="LEExpression1" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\LEExpression1.vb</file>
-	</test>
-	<test id="635" name="LeftShift1" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\LeftShift1.vb</file>
-	</test>
-	<test id="636" name="LessGeneric1" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\LessGeneric1.vb</file>
-	</test>
-	<test id="637" name="LessGeneric2" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\LessGeneric2.vb</file>
-	</test>
-	<test id="638" name="LocalScope1" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\LocalScope1.vb</file>
-	</test>
-	<test id="639" name="LocalVariable1" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\LocalVariable1.vb</file>
-	</test>
-	<test id="640" name="LocalVariableInitialization1" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\LocalVariableInitialization1.vb</file>
-	</test>
-	<test id="641" name="Main1" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\Main1.vb</file>
-	</test>
-	<test id="642" name="Main2" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\Main2.vb</file>
-	</test>
-	<test id="643" name="Main3" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\Main3.vb</file>
-	</test>
-	<test id="644" name="Main4" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\Main4.vb</file>
-	</test>
-	<test id="645" name="Main5" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\Main5.vb</file>
-	</test>
-	<test id="646" name="Main6" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\Main6.vb</file>
-	</test>
-	<test id="647" name="Main7" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\Main7.vb</file>
-	</test>
-	<test id="648" name="Main8" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\Main8.vb</file>
-	</test>
-	<test id="649" name="MethodAttributes2" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\MethodAttributes2.vb</file>
-	</test>
-	<test id="650" name="MethodExpression1" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\MethodExpression1.vb</file>
-	</test>
-	<test id="651" name="MethodExpression2" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\MethodExpression2.vb</file>
-	</test>
-	<test id="652" name="MethodInvocation1" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\MethodInvocation1.vb</file>
-	</test>
-	<test id="653" name="MethodInvocation10" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\MethodInvocation10.vb</file>
-	</test>
-	<test id="654" name="MethodInvocation11" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\MethodInvocation11.vb</file>
-	</test>
-	<test id="655" name="MethodInvocation12" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\MethodInvocation12.vb</file>
-	</test>
-	<test id="656" name="MethodInvocation13" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\MethodInvocation13.vb</file>
-	</test>
-	<test id="657" name="MethodInvocation14" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\MethodInvocation14.vb</file>
-	</test>
-	<test id="658" name="MethodInvocation15" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\MethodInvocation15.vb</file>
-	</test>
-	<test id="659" name="MethodInvocation16" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\MethodInvocation16.vb</file>
-	</test>
-	<test id="660" name="MethodInvocation17" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\MethodInvocation17.vb</file>
-	</test>
-	<test id="661" name="MethodInvocation18" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\MethodInvocation18.vb</file>
-	</test>
-	<test id="662" name="MethodInvocation19" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\MethodInvocation19.vb</file>
-	</test>
-	<test id="663" name="MethodInvocation2" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\MethodInvocation2.vb</file>
-	</test>
-	<test id="664" name="MethodInvocation20" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\MethodInvocation20.vb</file>
-	</test>
-	<test id="665" name="MethodInvocation21" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\MethodInvocation21.vb</file>
-	</test>
-	<test id="666" name="MethodInvocation22" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\MethodInvocation22.vb</file>
-	</test>
-	<test id="667" name="MethodInvocation23" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\MethodInvocation23.vb</file>
-	</test>
-	<test id="668" name="MethodInvocation3" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\MethodInvocation3.vb</file>
-	</test>
-	<test id="669" name="MethodInvocation4" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\MethodInvocation4.vb</file>
-	</test>
-	<test id="670" name="MethodInvocation5" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\MethodInvocation5.vb</file>
-	</test>
-	<test id="671" name="MethodInvocation6" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\MethodInvocation6.vb</file>
-	</test>
-	<test id="672" name="MethodInvocation8" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\MethodInvocation8.vb</file>
-	</test>
-	<test id="673" name="MethodInvocation9" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\MethodInvocation9.vb</file>
-	</test>
-	<test id="674" name="MethodInvocations" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\MethodInvocations.vb</file>
-	</test>
-	<test id="675" name="MethodResolution1" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\MethodResolution1.vb</file>
-	</test>
-	<test id="676" name="MethodResolution2" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\MethodResolution2.vb</file>
-	</test>
-	<test id="677" name="MethodResolution3" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\MethodResolution3.vb</file>
-	</test>
-	<test id="678" name="MethodResolution4" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\MethodResolution4.vb</file>
-	</test>
-	<test id="679" name="MethodResolution5" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\MethodResolution5.vb</file>
-	</test>
-	<test id="680" name="MethodResolution6" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\MethodResolution6.vb</file>
-	</test>
-	<test id="681" name="MethodResolution7" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\MethodResolution7.vb</file>
-	</test>
-	<test id="682" name="MethodResolution8" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\MethodResolution8.vb</file>
-	</test>
-	<test id="683" name="MissingParameter1" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\MissingParameter1.vb</file>
-	</test>
-	<test id="684" name="MultipleExpression1" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\MultipleExpression1.vb</file>
-	</test>
-	<test id="685" name="MultipleExpression2" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\MultipleExpression2.vb</file>
-	</test>
-	<test id="686" name="MyBase1" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\MyBase1.vb</file>
-	</test>
-	<test id="687" name="NoOutDir1" category="CompileTime2" priority="20" outputvbcassembly="testoutput\NoOutDir1_vbc.exe" outputassembly="testoutput\NoOutDir1.exe" target="exe" workingdirectory="testoutput">
-		<arguments>/out:NoOutDir1.exe</arguments>
-		<vbcarguments>/out:NoOutDir1_vbc.exe</vbcarguments>
-		<file>..\CompileTime2\NoOutDir1.vb</file>
-	</test>
-	<test id="688" name="NothingComparison1" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\NothingComparison1.vb</file>
-	</test>
-	<test id="689" name="NothingValueType1" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\NothingValueType1.vb</file>
-	</test>
-	<test id="690" name="Nullable1" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\Nullable1.vb</file>
-	</test>
-	<test id="691" name="NullChar" category="CompileTime2" priority="20" expectedvbcexitcode="1" expectedvbcerrorcode="31007" target="library">
-		<file>CompileTime2\NullChar.vb</file>
-	</test>
-	<test id="692" name="Operator1" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\Operator1.vb</file>
-	</test>
-	<test id="693" name="Optional1" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\Optional1.vb</file>
-	</test>
-	<test id="694" name="OptionalParameters1" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\OptionalParameters1.vb</file>
-	</test>
-	<test id="695" name="OptionalParameters2" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\OptionalParameters2.vb</file>
-	</test>
-	<test id="696" name="OptionalParameters4" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\OptionalParameters4.vb</file>
-	</test>
-	<test id="697" name="OptionCompareText1" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\OptionCompareText1.vb</file>
-	</test>
-	<test id="698" name="OptionStrict1" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\OptionStrict1.vb</file>
-	</test>
-	<test id="699" name="OverrideImplementedMethod1" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\OverrideImplementedMethod1.vb</file>
-	</test>
-	<test id="700" name="OverridenProperty1" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\OverridenProperty1.vb</file>
-	</test>
-	<test id="701" name="ParamArray1" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\ParamArray1.vb</file>
-	</test>
-	<test id="702" name="ParamArray2" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\ParamArray2.vb</file>
-	</test>
-	<test id="703" name="ParamArray3" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\ParamArray3.vb</file>
-	</test>
-	<test id="704" name="ParamArray4" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\ParamArray4.vb</file>
-	</test>
-	<test id="705" name="ParamArray5" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\ParamArray5.vb</file>
-	</test>
-	<test id="706" name="ParamArray6" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\ParamArray6.vb</file>
-	</test>
-	<test id="707" name="ParamArray7" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\ParamArray7.vb</file>
-	</test>
-	<test id="708" name="ParamArrayResolution1" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\ParamArrayResolution1.vb</file>
-	</test>
-	<test id="709" name="ParamArrayResolution2" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\ParamArrayResolution2.vb</file>
-	</test>
-	<test id="710" name="ParameterAttributes1" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\ParameterAttributes1.vb</file>
-	</test>
-	<test id="711" name="ParameterAttributes2" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\ParameterAttributes2.vb</file>
-	</test>
-	<test id="712" name="ParenthesizedExpression1" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\ParenthesizedExpression1.vb</file>
-	</test>
-	<test id="713" name="PartialAccess1" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\PartialAccess1.vb</file>
-	</test>
-	<test id="714" name="PEFileKind-Console" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\PEFileKind-Console.vb</file>
-	</test>
-	<test id="715" name="PEFileKind-Winexe" category="CompileTime2" priority="20" target="winexe">
-		<file>CompileTime2\PEFileKind-Winexe.vb</file>
-	</test>
-	<test id="716" name="PropertyAccess1" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\PropertyAccess1.vb</file>
-	</test>
-	<test id="717" name="PropertyAccess2" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\PropertyAccess2.vb</file>
-	</test>
-	<test id="718" name="PropertyAccess3" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\PropertyAccess3.vb</file>
-	</test>
-	<test id="719" name="PropertyAccess4" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\PropertyAccess4.vb</file>
-	</test>
-	<test id="720" name="PropertyAccessExpression1" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\PropertyAccessExpression1.vb</file>
-	</test>
-	<test id="721" name="PropertyAccessExpression2" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\PropertyAccessExpression2.vb</file>
-	</test>
-	<test id="722" name="PropertyAccessExpression3" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\PropertyAccessExpression3.vb</file>
-	</test>
-	<test id="723" name="PropertyAccessExpression4" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\PropertyAccessExpression4.vb</file>
-	</test>
-	<test id="724" name="PropertyAccessExpression5" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\PropertyAccessExpression5.vb</file>
-	</test>
-	<test id="725" name="ReadOnly1" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\ReadOnly1.vb</file>
-	</test>
-	<test id="726" name="Redim2" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\Redim2.vb</file>
-	</test>
-	<test id="727" name="ReturnVariable1" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\ReturnVariable1.vb</file>
-	</test>
-	<test id="728" name="Select1" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\Select1.vb</file>
-	</test>
-	<test id="729" name="SelectCase1" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\SelectCase1.vb</file>
-	</test>
-	<test id="730" name="SelectCase2" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\SelectCase2.vb</file>
-	</test>
-	<test id="731" name="SelectCase3" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\SelectCase3.vb</file>
-	</test>
-	<test id="732" name="SelectCase5" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\SelectCase5.vb</file>
-	</test>
-	<test id="733" name="SelectCase6" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\SelectCase6.vb</file>
-	</test>
-	<test id="734" name="ShadowedProperty1" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\ShadowedProperty1.vb</file>
-	</test>
-	<test id="735" name="Shadows1" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\Shadows1.vb</file>
-	</test>
-	<test id="736" name="SingleLineStatement1" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\SingleLineStatement1.vb</file>
-	</test>
-	<test id="737" name="StaticVariable1" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\StaticVariable1.vb</file>
-	</test>
-	<test id="738" name="StaticVariable2" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\StaticVariable2.vb</file>
-	</test>
-	<test id="739" name="StaticVariable3" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\StaticVariable3.vb</file>
-	</test>
-	<test id="740" name="StaticVariable4" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\StaticVariable4.vb</file>
-	</test>
-	<test id="741" name="StaticVariable5" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\StaticVariable5.vb</file>
-	</test>
-	<test id="742" name="StringComparison1" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\StringComparison1.vb</file>
-	</test>
-	<test id="743" name="StringHandling1" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\StringHandling1.vb</file>
-	</test>
-	<test id="744" name="StructureMembers1" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\StructureMembers1.vb</file>
-	</test>
-	<test id="745" name="StructureMembers2" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\StructureMembers2.vb</file>
-	</test>
-	<test id="746" name="StructureMembers3" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\StructureMembers3.vb</file>
-	</test>
-	<test id="747" name="StructureMembers4" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\StructureMembers4.vb</file>
-	</test>
-	<test id="748" name="StructureMembers5" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\StructureMembers5.vb</file>
-	</test>
-	<test id="749" name="StructureMembers6" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\StructureMembers6.vb</file>
-	</test>
-	<test id="750" name="StructureMembers7" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\StructureMembers7.vb</file>
-	</test>
-	<test id="751" name="StructureMembers8" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\StructureMembers8.vb</file>
-	</test>
-	<test id="752" name="Throw3" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\Throw3.vb</file>
-	</test>
-	<test id="753" name="TryCatch1" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\TryCatch1.vb</file>
-	</test>
-	<test id="754" name="TryCatch2" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\TryCatch2.vb</file>
-	</test>
-	<test id="755" name="TryCatch3" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\TryCatch3.vb</file>
-	</test>
-	<test id="756" name="TryCatch4" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\TryCatch4.vb</file>
-	</test>
-	<test id="757" name="TryReturn1" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\TryReturn1.vb</file>
-	</test>
-	<test id="758" name="TypeOf1" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\TypeOf1.vb</file>
-	</test>
-	<test id="759" name="TypeParameterExpression1" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\TypeParameterExpression1.vb</file>
-	</test>
-	<test id="760" name="TypeParameterExpression2" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\TypeParameterExpression2.vb</file>
-	</test>
-	<test id="761" name="TypeParameterExpression3" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\TypeParameterExpression3.vb</file>
-	</test>
-	<test id="762" name="UserConversion1" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\UserConversion1.vb</file>
-	</test>
-	<test id="763" name="UsingStatement5" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\UsingStatement5.vb</file>
-	</test>
-	<test id="764" name="VariableInitializer3" category="CompileTime2" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>CompileTime2\VariableInitializer3.vb</file>
-	</test>
-	<test id="765" name="2017-aspnet1" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="2017" expectedvbcexitcode="2000" target="exe">
-		<arguments>/r:System</arguments>
-		<file>Errors\2017-aspnet1.vb</file>
-	</test>
-	<test id="767" name="30039" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="30039" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\30039.vb</file>
-	</test>
-	<test id="768" name="30039-1" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="30039" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\30039-1.vb</file>
-	</test>
-	<test id="769" name="30039-2" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="30039" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\30039-2.vb</file>
-	</test>
-	<test id="770" name="30039-3" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="30039" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\30039-3.vb</file>
-	</test>
-	<test id="771" name="30057" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="30057" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\30057.vb</file>
-	</test>
-	<test id="772" name="30059" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="30059" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\30059.vb</file>
-	</test>
-	<test id="773" name="30060" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="30060" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\30060.vb</file>
-	</test>
-	<test id="774" name="30060-1" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="30060" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\30060-1.vb</file>
-	</test>
-	<test id="775" name="30060-10" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="30060" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\30060-10.vb</file>
-	</test>
-	<test id="776" name="30060-11" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="30060" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\30060-11.vb</file>
-	</test>
-	<test id="777" name="30060-12" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="30060" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\30060-12.vb</file>
-	</test>
-	<test id="778" name="30060-13" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="30060" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\30060-13.vb</file>
-	</test>
-	<test id="779" name="30060-14" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="30060" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\30060-14.vb</file>
-	</test>
-	<test id="780" name="30060-15" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="30060" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\30060-15.vb</file>
-	</test>
-	<test id="781" name="30060-16" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="30060" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\30060-16.vb</file>
-	</test>
-	<test id="782" name="30060-17" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="30060" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\30060-17.vb</file>
-	</test>
-	<test id="783" name="30060-18" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="30060" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\30060-18.vb</file>
-	</test>
-	<test id="784" name="30060-19" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="30060" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\30060-19.vb</file>
-	</test>
-	<test id="785" name="30060-2" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="30060" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\30060-2.vb</file>
-	</test>
-	<test id="786" name="30060-20" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="30060" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\30060-20.vb</file>
-	</test>
-	<test id="787" name="30060-21" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="30060" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\30060-21.vb</file>
-	</test>
-	<test id="788" name="30060-22" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="30060" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\30060-22.vb</file>
-	</test>
-	<test id="789" name="30060-23" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="30060" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\30060-23.vb</file>
-	</test>
-	<test id="790" name="30060-24" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="30060" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\30060-24.vb</file>
-	</test>
-	<test id="791" name="30060-25" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="30060" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\30060-25.vb</file>
-	</test>
-	<test id="792" name="30060-3" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="30060" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\30060-3.vb</file>
-	</test>
-	<test id="793" name="30060-4" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="30060" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\30060-4.vb</file>
-	</test>
-	<test id="794" name="30060-5" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="30060" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\30060-5.vb</file>
-	</test>
-	<test id="795" name="30060-6" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="30060" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\30060-6.vb</file>
-	</test>
-	<test id="796" name="30060-7" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="30060" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\30060-7.vb</file>
-	</test>
-	<test id="797" name="30060-8" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="30060" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\30060-8.vb</file>
-	</test>
-	<test id="798" name="30060-9" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="30060" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\30060-9.vb</file>
-	</test>
-	<test id="799" name="30064" category="Errors" priority="20" knownfailure="We give the wrong error" expectedexitcode="1" expectederrorcode="30064" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\30064.vb</file>
-	</test>
-	<test id="800" name="30068" category="Errors" priority="20" knownfailure="We give the wrong error" expectedexitcode="1" expectederrorcode="30068" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\30068.vb</file>
-	</test>
-	<test id="801" name="30070" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="30070" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\30070.vb</file>
-	</test>
-	<test id="802" name="30070-1" category="Errors" priority="20" knownfailure="We should show an error" expectedexitcode="1" expectederrorcode="30070" target="library">
-		<file>Errors\30070-1.vb</file>
-	</test>
-	<test id="803" name="30074" category="Errors" priority="20" knownfailure="Parser error" expectedexitcode="1" expectederrorcode="30074" target="library">
-		<file>Errors\30074.vb</file>
-	</test>
-	<test id="804" name="30074-1" category="Errors" priority="20" knownfailure="We give the wrong error" expectedexitcode="1" expectederrorcode="30074" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\30074-1.vb</file>
-	</test>
-	<test id="805" name="30108" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="30108" target="library">
-		<arguments>-optioninfer-</arguments>
-		<file>Errors\30108.vb</file>
-	</test>
-	<test id="806" name="30129" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="30129" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\30129.vb</file>
-	</test>
-	<test id="807" name="30179" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="30179" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\30179.vb</file>
-	</test>
-	<test id="808" name="30179-2" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="30179" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\30179-2.vb</file>
-	</test>
-	<test id="809" name="30179-3" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="30179" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\30179-3.vb</file>
-	</test>
-	<test id="810" name="32035-1" category="Errors" priority="20" knownfailure="Error code # has changed" expectedexitcode="1" expectederrorcode="32035" target="library">
-		<file>Errors\32035-1.vb</file>
-	</test>
-	<test id="811" name="30203-1" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="30203" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\30203-1.vb</file>
-	</test>
-	<test id="812" name="30206" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="30206" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\30206.vb</file>
-	</test>
-	<test id="813" name="30207" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="30207" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\30207.vb</file>
-	</test>
-	<test id="814" name="30209" category="Errors" priority="20" knownfailure="Earlier VB compilers (<10) showed an error (#30209) for this code" expectedexitcode="1" expectederrorcode="30209" target="library">
-		<arguments>-target:library</arguments>
-		<file>Errors\30209.vb</file>
-	</test>
-	<test id="815" name="30210" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="30210" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\30210.vb</file>
-	</test>
-	<test id="816" name="30225" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="30225" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\30225.vb</file>
-	</test>
-	<test id="817" name="30225-1" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="30225" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\30225-1.vb</file>
-	</test>
-	<test id="818" name="30225-2" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="30225" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\30225-2.vb</file>
-	</test>
-	<test id="819" name="30311" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="30311" target="library">
-		<file>Errors\30311.vb</file>
-	</test>
-	<test id="820" name="30311-1" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="30311" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\30311-1.vb</file>
-	</test>
-	<test id="821" name="30311-10" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="30311" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\30311-10.vb</file>
-	</test>
-	<test id="822" name="30311-11" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="30311" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\30311-11.vb</file>
-	</test>
-	<test id="823" name="30311-12" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="30311" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\30311-12.vb</file>
-	</test>
-	<test id="824" name="30311-13" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="30311" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\30311-13.vb</file>
-	</test>
-	<test id="825" name="30311-14" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="30311" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\30311-14.vb</file>
-	</test>
-	<test id="826" name="30311-15" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="30311" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\30311-15.vb</file>
-	</test>
-	<test id="827" name="30311-16" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="30311" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\30311-16.vb</file>
-	</test>
-	<test id="828" name="30311-17" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="30311" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\30311-17.vb</file>
-	</test>
-	<test id="829" name="30311-18" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="30311" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\30311-18.vb</file>
-	</test>
-	<test id="830" name="30311-19" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="30311" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\30311-19.vb</file>
-	</test>
-	<test id="831" name="30311-2" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="30311" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\30311-2.vb</file>
-	</test>
-	<test id="832" name="30311-20" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="30311" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\30311-20.vb</file>
-	</test>
-	<test id="833" name="30311-21" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="30311" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\30311-21.vb</file>
-	</test>
-	<test id="834" name="30311-22" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="30311" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\30311-22.vb</file>
-	</test>
-	<test id="835" name="30311-23" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="30311" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\30311-23.vb</file>
-	</test>
-	<test id="836" name="30311-24" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="30311" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\30311-24.vb</file>
-	</test>
-	<test id="837" name="30311-25" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="30311" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\30311-25.vb</file>
-	</test>
-	<test id="838" name="30311-26" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="30311" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\30311-26.vb</file>
-	</test>
-	<test id="839" name="30311-27" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="30311" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\30311-27.vb</file>
-	</test>
-	<test id="840" name="30311-28" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="30311" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\30311-28.vb</file>
-	</test>
-	<test id="841" name="30311-29" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="30311" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\30311-29.vb</file>
-	</test>
-	<test id="842" name="30311-3" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="30311" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\30311-3.vb</file>
-	</test>
-	<test id="843" name="30311-30" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="30311" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\30311-30.vb</file>
-	</test>
-	<test id="844" name="30311-31" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="30311" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\30311-31.vb</file>
-	</test>
-	<test id="845" name="30311-32" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="30311" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\30311-32.vb</file>
-	</test>
-	<test id="846" name="30311-33" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="30311" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\30311-33.vb</file>
-	</test>
-	<test id="847" name="30311-34" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="30311" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\30311-34.vb</file>
-	</test>
-	<test id="848" name="30311-35" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="30311" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\30311-35.vb</file>
-	</test>
-	<test id="849" name="30311-4" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="30311" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\30311-4.vb</file>
-	</test>
-	<test id="850" name="30311-5" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="30311" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\30311-5.vb</file>
-	</test>
-	<test id="851" name="30311-6" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="30311" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\30311-6.vb</file>
-	</test>
-	<test id="852" name="30311-7" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="30311" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\30311-7.vb</file>
-	</test>
-	<test id="853" name="30311-8" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="30311" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\30311-8.vb</file>
-	</test>
-	<test id="854" name="30311-9" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="30311" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\30311-9.vb</file>
-	</test>
-	<test id="855" name="30337" category="Errors" priority="20" knownfailure="todo" expectedexitcode="1" expectederrorcode="30337" target="library">
-		<file>Errors\30337.vb</file>
-	</test>
-	<test id="856" name="30337-1" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="30337" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\30337-1.vb</file>
-	</test>
-	<test id="857" name="30337-2" category="Errors" priority="20" knownfailure="CHANGEME" expectedexitcode="1" expectederrorcode="30337" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\30337-2.vb</file>
-	</test>
-	<test id="858" name="30337-3" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="30337" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\30337-3.vb</file>
-	</test>
-	<test id="859" name="30337-4" category="Errors" priority="20" knownfailure="We give the wrong error" expectedexitcode="1" expectederrorcode="30337" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\30337-4.vb</file>
-	</test>
-	<test id="860" name="30387" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="30387" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\30387.vb</file>
-	</test>
-	<test id="861" name="30390" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="30390" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\30390.vb</file>
-	</test>
-	<test id="862" name="30439" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="30439" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\30439.vb</file>
-	</test>
-	<test id="863" name="30439-1" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="30439" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\30439-1.vb</file>
-	</test>
-	<test id="864" name="30451" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="30451" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\30451.vb</file>
-	</test>
-	<test id="865" name="30451-1" category="Errors" priority="20" knownfailure="We give the wrong error" expectedexitcode="1" expectederrorcode="30451" target="library">
-		<file>Errors\30451-1.vb</file>
-	</test>
-	<test id="866" name="30455" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="30455" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\30455.vb</file>
-	</test>
-	<test id="867" name="30456" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="30456" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\30456.vb</file>
-	</test>
-	<test id="868" name="30456-1" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="30456" target="library">
-		<file>Errors\30456-1.vb</file>
-	</test>
-	<test id="869" name="30456-2" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="30456" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\30456-2.vb</file>
-	</test>
-	<test id="870" name="30456-3" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="30456" target="library">
-		<file>Errors\30456-3.vb</file>
-	</test>
-	<test id="871" name="30471" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="30471" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\30471.vb</file>
-	</test>
-	<test id="872" name="30506-1" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="30506" target="library">
-		<file>Errors\30506-1.vb</file>
-	</test>
-	<test id="873" name="30506-2" category="Errors" priority="20" knownfailure="We give the wrong error" expectedexitcode="1" expectederrorcode="30506" target="library">
-		<file>Errors\30506-2.vb</file>
-	</test>
-	<test id="874" name="30506-3" category="Errors" priority="20" knownfailure="We give the wrong error" expectedexitcode="1" expectederrorcode="30506" target="library">
-		<file>Errors\30506-3.vb</file>
-	</test>
-	<test id="875" name="30506-4" category="Errors" priority="20" knownfailure="We give the wrong error" expectedexitcode="1" expectederrorcode="30506" target="library">
-		<file>Errors\30506-4.vb</file>
-	</test>
-	<test id="876" name="30506-5" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="30506" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\30506-5.vb</file>
-	</test>
-	<test id="877" name="30506-6" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="30506" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\30506-6.vb</file>
-	</test>
-	<test id="878" name="30517" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="30517" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\30517.vb</file>
-	</test>
-	<test id="879" name="30532" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="30532" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\30532.vb</file>
-	</test>
-	<test id="880" name="30533" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="30533" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\30533.vb</file>
-	</test>
-	<test id="881" name="30574" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="30574" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\30574.vb</file>
-	</test>
-	<test id="882" name="30581" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="30581" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\30581.vb</file>
-	</test>
-	<test id="883" name="30590" category="Errors" priority="20" knownfailure="We give the wrong error" expectedexitcode="1" expectederrorcode="30590" target="library">
-		<file>Errors\30590.vb</file>
-	</test>
-	<test id="884" name="30620" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="30620" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\30620.vb</file>
-	</test>
-	<test id="885" name="30640" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="30640" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\30640.vb</file>
-	</test>
-	<test id="886" name="30691" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="30691" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\30691.vb</file>
-	</test>
-	<test id="887" name="30691-1" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="30691" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\30691-1.vb</file>
-	</test>
-	<test id="888" name="31509" category="Errors" priority="20" knownfailure="Behaviour seem to have changed for vbc lately." expectedexitcode="1" expectederrorcode="31509" target="library" workingdirectory="Errors">
-		<arguments>/resource:31509.resources</arguments>
-		<file>31509.vb</file>
-	</test>
-	<test id="889" name="32006" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="32006" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\32006.vb</file>
-	</test>
-	<test id="890" name="32006-1" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="32006" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\32006-1.vb</file>
-	</test>
-	<test id="891" name="32006-2" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="32006" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\32006-2.vb</file>
-	</test>
-	<test id="892" name="32006-3" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="32006" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\32006-3.vb</file>
-	</test>
-	<test id="893" name="32006-4" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="32006" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\32006-4.vb</file>
-	</test>
-	<test id="894" name="32006-5" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="32006" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\32006-5.vb</file>
-	</test>
-	<test id="895" name="32006-6" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="32006" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\32006-6.vb</file>
-	</test>
-	<test id="896" name="32006-7" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="32006" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\32006-7.vb</file>
-	</test>
-	<test id="897" name="32007" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="32007" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\32007.vb</file>
-	</test>
-	<test id="898" name="32007-1" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="32007" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\32007-1.vb</file>
-	</test>
-	<test id="899" name="32007-2" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="32007" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\32007-2.vb</file>
-	</test>
-	<test id="900" name="32007-3" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="32007" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\32007-3.vb</file>
-	</test>
-	<test id="901" name="32007-4" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="32007" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\32007-4.vb</file>
-	</test>
-	<test id="902" name="32007-5" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="32007" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\32007-5.vb</file>
-	</test>
-	<test id="903" name="32007-6" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="32007" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\32007-6.vb</file>
-	</test>
-	<test id="904" name="32008" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="32008" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\32008.vb</file>
-	</test>
-	<test id="905" name="32008-2" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="32008" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\32008-2.vb</file>
-	</test>
-	<test id="906" name="32035" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="32035" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\32035.vb</file>
-	</test>
-	<test id="907" name="32042" category="Errors" priority="20" knownfailure="Not implemented error" expectedexitcode="1" expectederrorcode="32042" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\32042.vb</file>
-	</test>
-	<test id="908" name="32046" category="Errors" priority="20" knownfailure="We give the wrong error" expectedexitcode="1" expectederrorcode="32046" target="library">
-		<file>Errors\32046.vb</file>
-	</test>
-	<test id="909" name="32085" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="32085" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\32085.vb</file>
-	</test>
-	<test id="910" name="32098SimpleNameExpressionAsTypeParameter1" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="32098" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\32098SimpleNameExpressionAsTypeParameter1.vb</file>
-	</test>
-	<test id="911" name="32101" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="32101" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\32101.vb</file>
-	</test>
-	<test id="912" name="32102" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="32102" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\32102.vb</file>
-	</test>
-	<test id="913" name="32103" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="32103" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\32103.vb</file>
-	</test>
-	<test id="914" name="32104" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="32104" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\32104.vb</file>
-	</test>
-	<test id="915" name="32105" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="32105" target="library">
-		<file>Errors\32105.vb</file>
-	</test>
-	<test id="916" name="32106" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="32106" target="library">
-		<file>Errors\32106.vb</file>
-	</test>
-	<test id="917" name="32304-DefaultProperty4" category="Errors" priority="20" expectedexitcode="1" expectederrorcode="32304" target="exe">
-		<arguments>-target:library</arguments>
-		<file>Errors\32304-DefaultProperty4.vb</file>
-	</test>
-	<test id="918" name="42024" category="Errors" priority="20" knownfailure="Error code # has changed" expectederrorcode="42024" target="library">
-		<file>Errors\42024.vb</file>
-	</test>
-	<test id="919" name="PrivateScope1" category="External" priority="20" knownfailure="Needs to build IL code first" target="exe">
-		<arguments>/r:PrivateScope1_Ext.dll /define:_MYTYPE=\"Empty\"</arguments>
-		<file>External\PrivateScope1.vb</file>
-	</test>
-	<test id="924" name="LateBinding" category="LateBinding" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\"     /optionstrict-     /optionexplicit-     /optioncompare:binary</arguments>
-		<file>LateBinding\LateBinding.vb</file>
-	</test>
-	<test id="925" name="Accessibility" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\Accessibility.vb</file>
-	</test>
-	<test id="926" name="AccessibilityA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\AccessibilityA.vb</file>
-	</test>
-	<test id="927" name="AccessibilityB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\AccessibilityB.vb</file>
-	</test>
-	<test id="928" name="AccessibilityC" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\AccessibilityC.vb</file>
-	</test>
-	<test id="929" name="Arguments_ByReferenceA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\Arguments_ByReferenceA.vb</file>
-	</test>
-	<test id="930" name="Arguments_ByReferenceB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\Arguments_ByReferenceB.vb</file>
-	</test>
-	<test id="931" name="Arguments_ByReferenceC" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\Arguments_ByReferenceC.vb</file>
-	</test>
-	<test id="932" name="Arguments_ByReferenceD" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\Arguments_ByReferenceD.vb</file>
-	</test>
-	<test id="933" name="Arguments_ByValueA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\Arguments_ByValueA.vb</file>
-	</test>
-	<test id="934" name="Arguments_ByValueB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\Arguments_ByValueB.vb</file>
-	</test>
-	<test id="935" name="Arguments_ByValueC" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\Arguments_ByValueC.vb</file>
-	</test>
-	<test id="936" name="Arguments_ByValueD" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\Arguments_ByValueD.vb</file>
-	</test>
-	<test id="937" name="ArithmeticOperators" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ArithmeticOperators.vb</file>
-	</test>
-	<test id="938" name="ArithmeticOperatorsA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ArithmeticOperatorsA.vb</file>
-	</test>
-	<test id="939" name="ArrayA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ArrayA.vb</file>
-	</test>
-	<test id="940" name="ArrayB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ArrayB.vb</file>
-	</test>
-	<test id="941" name="ArrayC" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ArrayC.vb</file>
-	</test>
-	<test id="942" name="ArrayD" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ArrayD.vb</file>
-	</test>
-	<test id="943" name="ArrayE" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ArrayE.vb</file>
-	</test>
-	<test id="944" name="ArrayF" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ArrayF.vb</file>
-	</test>
-	<test id="945" name="ArrayG" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ArrayG.vb</file>
-	</test>
-	<test id="946" name="ArrayH" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ArrayH.vb</file>
-	</test>
-	<test id="947" name="AssignmentOperators" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\AssignmentOperators.vb</file>
-	</test>
-	<test id="948" name="AssignmentStatementsA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\AssignmentStatementsA.vb</file>
-	</test>
-	<test id="949" name="AssignmentStatementsB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\AssignmentStatementsB.vb</file>
-	</test>
-	<test id="950" name="AssignmentStatementsC" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\AssignmentStatementsC.vb</file>
-	</test>
-	<test id="951" name="AssignmentStatementsD" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\AssignmentStatementsD.vb</file>
-	</test>
-	<test id="952" name="AssignmentStatementsE" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\AssignmentStatementsE.vb</file>
-	</test>
-	<test id="953" name="AssignmentStatementsF" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\AssignmentStatementsF.vb</file>
-	</test>
-	<test id="954" name="AssignmentStatementsG" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\AssignmentStatementsG.vb</file>
-	</test>
-	<test id="955" name="AssignmentStatementsH" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\AssignmentStatementsH.vb</file>
-	</test>
-	<test id="956" name="AssignmentStatementsI" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\AssignmentStatementsI.vb</file>
-	</test>
-	<test id="957" name="AssignmentStatementsJ" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\AssignmentStatementsJ.vb</file>
-	</test>
-	<test id="958" name="AttributeAssemblyCompany" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\AttributeAssemblyCompany.vb</file>
-	</test>
-	<test id="959" name="AttributeAssemblyCopyRight" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\AttributeAssemblyCopyRight.vb</file>
-	</test>
-	<test id="960" name="AttributeAssemblyDescription" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\AttributeAssemblyDescription.vb</file>
-	</test>
-	<test id="961" name="AttributeAssemblyFlagA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\AttributeAssemblyFlagA.vb</file>
-	</test>
-	<test id="962" name="AttributeAssemblyName" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\AttributeAssemblyName.vb</file>
-	</test>
-	<test id="963" name="AttributeAssemblyTitle" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\AttributeAssemblyTitle.vb</file>
-	</test>
-	<test id="964" name="AttributeAssemblyVersion" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\AttributeAssemblyVersion.vb</file>
-	</test>
-	<test id="965" name="AttributeAssemblyVersionBuild" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\AttributeAssemblyVersionBuild.vb</file>
-	</test>
-	<test id="966" name="AttributeAssemblyVersionMajor" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\AttributeAssemblyVersionMajor.vb</file>
-	</test>
-	<test id="967" name="AttributeAssemblyVersionMinor" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\AttributeAssemblyVersionMinor.vb</file>
-	</test>
-	<test id="968" name="AttributeAssemblyVersionRevision" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\AttributeAssemblyVersionRevision.vb</file>
-	</test>
-	<test id="969" name="AttributeCLSCompliant" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\AttributeCLSCompliant.vb</file>
-	</test>
-	<test id="970" name="Attributes" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\Attributes.vb</file>
-	</test>
-	<test id="971" name="AttributesA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\AttributesA.vb</file>
-	</test>
-	<test id="972" name="AttributesAssemblyCulture" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\AttributesAssemblyCulture.vb</file>
-	</test>
-	<test id="973" name="AttributesAssemblyMultiple" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\AttributesAssemblyMultiple.vb</file>
-	</test>
-	<test id="974" name="AttributesB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\AttributesB.vb</file>
-	</test>
-	<test id="975" name="AttributesC" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\AttributesC.vb</file>
-	</test>
-	<test id="976" name="AttributesClassA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\AttributesClassA.vb</file>
-	</test>
-	<test id="977" name="AttributesClassB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\AttributesClassB.vb</file>
-	</test>
-	<test id="978" name="AttributesClassBothSuffixA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\AttributesClassBothSuffixA.vb</file>
-	</test>
-	<test id="979" name="AttributesClassC" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\AttributesClassC.vb</file>
-	</test>
-	<test id="980" name="AttributesClassNoparameterA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\AttributesClassNoparameterA.vb</file>
-	</test>
-	<test id="981" name="AttributesClassUseA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\AttributesClassUseA.vb</file>
-	</test>
-	<test id="982" name="AttributesClassUseB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\AttributesClassUseB.vb</file>
-	</test>
-	<test id="983" name="AttributesClassUseC" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\AttributesClassUseC.vb</file>
-	</test>
-	<test id="984" name="AttributesClassUseD" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\AttributesClassUseD.vb</file>
-	</test>
-	<test id="985" name="AttributesNewA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\AttributesNewA.vb</file>
-	</test>
-	<test id="986" name="AttributesNewB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\AttributesNewB.vb</file>
-	</test>
-	<test id="987" name="BlockStatementsA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\BlockStatementsA.vb</file>
-	</test>
-	<test id="988" name="BoolLiteralA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\BoolLiteralA.vb</file>
-	</test>
-	<test id="989" name="BoolLiteralTest" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\BoolLiteralTest.vb</file>
-	</test>
-	<test id="990" name="CharacterLiterals" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\CharacterLiterals.vb</file>
-	</test>
-	<test id="991" name="ClassTest" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ClassTest.vb</file>
-	</test>
-	<test id="992" name="ConcatenationOperator" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ConcatenationOperator.vb</file>
-	</test>
-	<test id="993" name="ConditionalCompilation" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ConditionalCompilation.vb</file>
-	</test>
-	<test id="994" name="ConditionalCompilationA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ConditionalCompilationA.vb</file>
-	</test>
-	<test id="995" name="ConditionalCompilationB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ConditionalCompilationB.vb</file>
-	</test>
-	<test id="996" name="ConditionalCompilationC" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ConditionalCompilationC.vb</file>
-	</test>
-	<test id="997" name="ConditionalCompilationD" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ConditionalCompilationD.vb</file>
-	</test>
-	<test id="998" name="ConditionalCompilationE" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ConditionalCompilationE.vb</file>
-	</test>
-	<test id="999" name="ConditionalConstantsA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ConditionalConstantsA.vb</file>
-	</test>
-	<test id="1000" name="ConditionalStatementsA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ConditionalStatementsA.vb</file>
-	</test>
-	<test id="1001" name="ConditionalStatementsB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ConditionalStatementsB.vb</file>
-	</test>
-	<test id="1002" name="ConditionalStatementsC" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ConditionalStatementsC.vb</file>
-	</test>
-	<test id="1003" name="ConditionalStatementsD" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ConditionalStatementsD.vb</file>
-	</test>
-	<test id="1004" name="ConditionalStatementsE" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ConditionalStatementsE.vb</file>
-	</test>
-	<test id="1005" name="ConditionalStatementsF" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ConditionalStatementsF.vb</file>
-	</test>
-	<test id="1006" name="ConditionalStatementsG" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ConditionalStatementsG.vb</file>
-	</test>
-	<test id="1007" name="ConditionalStatementsH" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ConditionalStatementsH.vb</file>
-	</test>
-	<test id="1008" name="ConditionalStatementsI" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ConditionalStatementsI.vb</file>
-	</test>
-	<test id="1009" name="ConditionalStatementsJ" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ConditionalStatementsJ.vb</file>
-	</test>
-	<test id="1010" name="ConstantA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ConstantA.vb</file>
-	</test>
-	<test id="1011" name="ConstantB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ConstantB.vb</file>
-	</test>
-	<test id="1012" name="ConstantC" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ConstantC.vb</file>
-	</test>
-	<test id="1013" name="ConstructorA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ConstructorA.vb</file>
-	</test>
-	<test id="1014" name="ConstructorB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ConstructorB.vb</file>
-	</test>
-	<test id="1015" name="ConstructorC" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ConstructorC.vb</file>
-	</test>
-	<test id="1016" name="ConstructorD" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ConstructorD.vb</file>
-	</test>
-	<test id="1017" name="ConstructorE" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ConstructorE.vb</file>
-	</test>
-	<test id="1018" name="ConstructorF" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ConstructorF.vb</file>
-	</test>
-	<test id="1019" name="ConstructorG" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ConstructorG.vb</file>
-	</test>
-	<test id="1020" name="ConstructorH" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ConstructorH.vb</file>
-	</test>
-	<test id="1021" name="ConstructorI" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ConstructorI.vb</file>
-	</test>
-	<test id="1022" name="ConstructorJ" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ConstructorJ.vb</file>
-	</test>
-	<test id="1023" name="ControlFlowA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ControlFlowA.vb</file>
-	</test>
-	<test id="1024" name="ConversionsA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ConversionsA.vb</file>
-	</test>
-	<test id="1025" name="ConversionWithAndOperatorA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ConversionWithAndOperatorA.vb</file>
-	</test>
-	<test id="1026" name="ConversionWithAndOperatorB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ConversionWithAndOperatorB.vb</file>
-	</test>
-	<test id="1027" name="ConversionWithAndOperatorBool" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ConversionWithAndOperatorBool.vb</file>
-	</test>
-	<test id="1028" name="ConversionWithAndOperatorC" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ConversionWithAndOperatorC.vb</file>
-	</test>
-	<test id="1029" name="ConversionWithAndOperatorD" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ConversionWithAndOperatorD.vb</file>
-	</test>
-	<test id="1030" name="ConversionWithAndOperatorE" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ConversionWithAndOperatorE.vb</file>
-	</test>
-	<test id="1031" name="ConversionWithAndOperatorNumA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ConversionWithAndOperatorNumA.vb</file>
-	</test>
-	<test id="1032" name="ConversionWithAndOperatorNumB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ConversionWithAndOperatorNumB.vb</file>
-	</test>
-	<test id="1033" name="ConversionWithAndOperatorNumC" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ConversionWithAndOperatorNumC.vb</file>
-	</test>
-	<test id="1034" name="ConversionWithAndOperatorNumD" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ConversionWithAndOperatorNumD.vb</file>
-	</test>
-	<test id="1035" name="ConversionWithAndOperatorNumE" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ConversionWithAndOperatorNumE.vb</file>
-	</test>
-	<test id="1036" name="ConversionWithEqualOperatorB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ConversionWithEqualOperatorB.vb</file>
-	</test>
-	<test id="1037" name="ConversionWithEqualOperatorLnInt" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ConversionWithEqualOperatorLnInt.vb</file>
-	</test>
-	<test id="1038" name="ConversionWithEqualOperatorsA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ConversionWithEqualOperatorsA.vb</file>
-	</test>
-	<test id="1039" name="ConversionWithGEOperatorA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ConversionWithGEOperatorA.vb</file>
-	</test>
-	<test id="1040" name="ConversionWithGEoperatorB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ConversionWithGEoperatorB.vb</file>
-	</test>
-	<test id="1041" name="ConversionWithGEOperatorDateA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ConversionWithGEOperatorDateA.vb</file>
-	</test>
-	<test id="1042" name="ConversionWithGTOperatorCharA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ConversionWithGTOperatorCharA.vb</file>
-	</test>
-	<test id="1043" name="ConversionWithGTOperatorsA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ConversionWithGTOperatorsA.vb</file>
-	</test>
-	<test id="1044" name="ConversionWithGTOperatorString" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ConversionWithGTOperatorString.vb</file>
-	</test>
-	<test id="1045" name="ConversionWithGTOperatorTrueFalse" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ConversionWithGTOperatorTrueFalse.vb</file>
-	</test>
-	<test id="1046" name="ConversionWithLEOperatorA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ConversionWithLEOperatorA.vb</file>
-	</test>
-	<test id="1047" name="ConversionWithLTOperatorsA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ConversionWithLTOperatorsA.vb</file>
-	</test>
-	<test id="1048" name="ConversionWithNEqlOperator" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ConversionWithNEqlOperator.vb</file>
-	</test>
-	<test id="1049" name="ConversionWithNotOperatorBoolA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ConversionWithNotOperatorBoolA.vb</file>
-	</test>
-	<test id="1050" name="ConversionWithNotOperatorFalseA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ConversionWithNotOperatorFalseA.vb</file>
-	</test>
-	<test id="1051" name="ConversionWithNotOperatorTrueA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ConversionWithNotOperatorTrueA.vb</file>
-	</test>
-	<test id="1052" name="ConversionWithOrOperatorA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ConversionWithOrOperatorA.vb</file>
-	</test>
-	<test id="1053" name="ConversionWithOrOperatorB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ConversionWithOrOperatorB.vb</file>
-	</test>
-	<test id="1054" name="ConversionWithOrOperatorBoolA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ConversionWithOrOperatorBoolA.vb</file>
-	</test>
-	<test id="1055" name="ConversionWithOrOperatorBoolB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ConversionWithOrOperatorBoolB.vb</file>
-	</test>
-	<test id="1056" name="ConversionWithOrOperatorBoolC" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ConversionWithOrOperatorBoolC.vb</file>
-	</test>
-	<test id="1057" name="ConversionWithOrOperatorBoolD" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ConversionWithOrOperatorBoolD.vb</file>
-	</test>
-	<test id="1058" name="ConversionWithOrOperatorC" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ConversionWithOrOperatorC.vb</file>
-	</test>
-	<test id="1059" name="ConversionWithOrOperatorNumA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ConversionWithOrOperatorNumA.vb</file>
-	</test>
-	<test id="1060" name="ConversionWithOrOperatorNumB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ConversionWithOrOperatorNumB.vb</file>
-	</test>
-	<test id="1061" name="ConversionWithOrOperatorNumC" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ConversionWithOrOperatorNumC.vb</file>
-	</test>
-	<test id="1062" name="ConversionWithOrOperatorNumD" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ConversionWithOrOperatorNumD.vb</file>
-	</test>
-	<test id="1063" name="ConversionWithOrOperatorNumE" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ConversionWithOrOperatorNumE.vb</file>
-	</test>
-	<test id="1064" name="ConversionWithShiftOperatorA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ConversionWithShiftOperatorA.vb</file>
-	</test>
-	<test id="1065" name="ConversionWithShiftOperatorB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ConversionWithShiftOperatorB.vb</file>
-	</test>
-	<test id="1066" name="ConversionWithShiftOperatorC" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ConversionWithShiftOperatorC.vb</file>
-	</test>
-	<test id="1067" name="ConversionWithShiftOperatorD" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ConversionWithShiftOperatorD.vb</file>
-	</test>
-	<test id="1068" name="ConversionWithShiftOperatorE" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ConversionWithShiftOperatorE.vb</file>
-	</test>
-	<test id="1069" name="ConversionWithShiftOperatorF" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ConversionWithShiftOperatorF.vb</file>
-	</test>
-	<test id="1070" name="ConversionWithShiftOperatorG" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ConversionWithShiftOperatorG.vb</file>
-	</test>
-	<test id="1071" name="ConversionWithShiftOperatorH" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ConversionWithShiftOperatorH.vb</file>
-	</test>
-	<test id="1072" name="ConversionWithShiftOperatorI" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ConversionWithShiftOperatorI.vb</file>
-	</test>
-	<test id="1073" name="ConversionWithShiftOperatorJ" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ConversionWithShiftOperatorJ.vb</file>
-	</test>
-	<test id="1074" name="ConversionWithShiftOperatorK" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ConversionWithShiftOperatorK.vb</file>
-	</test>
-	<test id="1075" name="ConversionWithXorOperatorA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ConversionWithXorOperatorA.vb</file>
-	</test>
-	<test id="1076" name="ConversionWithXorOperatorB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ConversionWithXorOperatorB.vb</file>
-	</test>
-	<test id="1077" name="ConversionWithXorOperatorBoolA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ConversionWithXorOperatorBoolA.vb</file>
-	</test>
-	<test id="1078" name="ConversionWithXorOperatorBoolB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ConversionWithXorOperatorBoolB.vb</file>
-	</test>
-	<test id="1079" name="ConversionWithXorOperatorBoolC" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ConversionWithXorOperatorBoolC.vb</file>
-	</test>
-	<test id="1080" name="ConversionWithXorOperatorBoolD" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ConversionWithXorOperatorBoolD.vb</file>
-	</test>
-	<test id="1081" name="ConversionWithXorOperatorBoolE" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ConversionWithXorOperatorBoolE.vb</file>
-	</test>
-	<test id="1082" name="ConversionWithXorOperatorC" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ConversionWithXorOperatorC.vb</file>
-	</test>
-	<test id="1083" name="ConversionWithXorOperatorNumA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ConversionWithXorOperatorNumA.vb</file>
-	</test>
-	<test id="1084" name="ConversionWithXorOperatorNumB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ConversionWithXorOperatorNumB.vb</file>
-	</test>
-	<test id="1085" name="ConversionWithXorOperatorNumC" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ConversionWithXorOperatorNumC.vb</file>
-	</test>
-	<test id="1086" name="ConversionWithXorOperatorNumD" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ConversionWithXorOperatorNumD.vb</file>
-	</test>
-	<test id="1087" name="DateLiterals" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\DateLiterals.vb</file>
-	</test>
-	<test id="1088" name="DateLiteralsA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\DateLiteralsA.vb</file>
-	</test>
-	<test id="1089" name="DateLiteralsC12" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\DateLiteralsC12.vb</file>
-	</test>
-	<test id="1090" name="DecimalLiteral" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\DecimalLiteral.vb</file>
-	</test>
-	<test id="1091" name="DecimalLiteralB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\DecimalLiteralB.vb</file>
-	</test>
-	<test id="1092" name="DecimalLiteralTestA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\DecimalLiteralTestA.vb</file>
-	</test>
-	<test id="1093" name="DecimalTypeCharTest" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\DecimalTypeCharTest.vb</file>
-	</test>
-	<test id="1094" name="DecimalTypeCharTestB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\DecimalTypeCharTestB.vb</file>
-	</test>
-	<test id="1095" name="DecimalTypeCharTestC2" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\DecimalTypeCharTestC2.vb</file>
-	</test>
-	<test id="1096" name="DefaultPropA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\DefaultPropA.vb</file>
-	</test>
-	<test id="1097" name="DefaultPropB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\DefaultPropB.vb</file>
-	</test>
-	<test id="1098" name="DefaultPropC" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\DefaultPropC.vb</file>
-	</test>
-	<test id="1099" name="DefaultPropD" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\DefaultPropD.vb</file>
-	</test>
-	<test id="1100" name="DefaultPropE" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\DefaultPropE.vb</file>
-	</test>
-	<test id="1101" name="DefaultPropF" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\DefaultPropF.vb</file>
-	</test>
-	<test id="1102" name="DefaultPropG" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\DefaultPropG.vb</file>
-	</test>
-	<test id="1103" name="DefaultPropH" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\DefaultPropH.vb</file>
-	</test>
-	<test id="1104" name="Delegate_dll" category="Mono" priority="20" target="library">
-		<file>Mono\Delegate_dll.vb</file>
-	</test>
-	<test id="1105" name="Delegate_exe" category="Mono" priority="20" target="exe">
-		<arguments>/r:testoutput\Delegate_dll.dll</arguments>
-		<file>Mono\Delegate_exe.vb</file>
-	</test>
-	<test id="1106" name="DelegateA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\DelegateA.vb</file>
-	</test>
-	<test id="1107" name="DelegateD" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\DelegateD.vb</file>
-	</test>
-	<test id="1108" name="DelegateE" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\DelegateE.vb</file>
-	</test>
-	<test id="1109" name="DelegateF" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\DelegateF.vb</file>
-	</test>
-	<test id="1110" name="DelegateG" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\DelegateG.vb</file>
-	</test>
-	<test id="1111" name="DoubleLiteral" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\DoubleLiteral.vb</file>
-	</test>
-	<test id="1112" name="DoubleLiteralA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\DoubleLiteralA.vb</file>
-	</test>
-	<test id="1113" name="DoubleLiteralB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\DoubleLiteralB.vb</file>
-	</test>
-	<test id="1114" name="DoubleTypeCharTest" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\DoubleTypeCharTest.vb</file>
-	</test>
-	<test id="1115" name="DoubleTypeCharTestB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\DoubleTypeCharTestB.vb</file>
-	</test>
-	<test id="1116" name="DoubleTypeCharTestC2" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\DoubleTypeCharTestC2.vb</file>
-	</test>
-	<test id="1117" name="EnumA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\EnumA.vb</file>
-	</test>
-	<test id="1118" name="EnumB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\EnumB.vb</file>
-	</test>
-	<test id="1119" name="EnumC1" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\EnumC1.vb</file>
-	</test>
-	<test id="1120" name="EnumConversionA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\EnumConversionA.vb</file>
-	</test>
-	<test id="1121" name="EnumConversionB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\EnumConversionB.vb</file>
-	</test>
-	<test id="1122" name="EnumD" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\EnumD.vb</file>
-	</test>
-	<test id="1123" name="Error" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\Error.vb</file>
-	</test>
-	<test id="1124" name="Event_dll" category="Mono" priority="20" target="library">
-		<file>Mono\Event_dll.vb</file>
-	</test>
-	<test id="1125" name="Event_exe" category="Mono" priority="20" target="exe">
-		<arguments>/r:testoutput\Event_dll.dll</arguments>
-		<file>Mono\Event_exe.vb</file>
-	</test>
-	<test id="1126" name="EventA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\EventA.vb</file>
-	</test>
-	<test id="1127" name="EventB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\EventB.vb</file>
-	</test>
-	<test id="1128" name="EventC" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\EventC.vb</file>
-	</test>
-	<test id="1129" name="EventD" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\EventD.vb</file>
-	</test>
-	<test id="1130" name="EventE" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\EventE.vb</file>
-	</test>
-	<test id="1131" name="EventF" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\EventF.vb</file>
-	</test>
-	<test id="1132" name="EventG" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\EventG.vb</file>
-	</test>
-	<test id="1133" name="EventJ" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\EventJ.vb</file>
-	</test>
-	<test id="1134" name="EventK" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\EventK.vb</file>
-	</test>
-	<test id="1135" name="EventL" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\EventL.vb</file>
-	</test>
-	<test id="1136" name="EventM" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\EventM.vb</file>
-	</test>
-	<test id="1137" name="EventN" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\EventN.vb</file>
-	</test>
-	<test id="1138" name="ExceptionHandlingA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExceptionHandlingA.vb</file>
-	</test>
-	<test id="1139" name="ExceptionHandlingC" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExceptionHandlingC.vb</file>
-	</test>
-	<test id="1140" name="ExceptionHandlingE" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExceptionHandlingE.vb</file>
-	</test>
-	<test id="1141" name="ExceptionHandlingF" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExceptionHandlingF.vb</file>
-	</test>
-	<test id="1142" name="ExceptionHandlingG" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExceptionHandlingG.vb</file>
-	</test>
-	<test id="1143" name="ExitStatementA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExitStatementA.vb</file>
-	</test>
-	<test id="1144" name="ExpConversionBoolToByteA1" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpConversionBoolToByteA1.vb</file>
-	</test>
-	<test id="1145" name="ExpConversionBoolToByteA2" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpConversionBoolToByteA2.vb</file>
-	</test>
-	<test id="1146" name="ExpConversionBoolToDecimalA1" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpConversionBoolToDecimalA1.vb</file>
-	</test>
-	<test id="1147" name="ExpConversionBoolToDecimalA2" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpConversionBoolToDecimalA2.vb</file>
-	</test>
-	<test id="1148" name="ExpConversionBoolToDoubleA1" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpConversionBoolToDoubleA1.vb</file>
-	</test>
-	<test id="1149" name="ExpConversionBoolToDoubleA2" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpConversionBoolToDoubleA2.vb</file>
-	</test>
-	<test id="1150" name="ExpConversionBoolToIntA1" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpConversionBoolToIntA1.vb</file>
-	</test>
-	<test id="1151" name="ExpConversionBoolToIntA2" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpConversionBoolToIntA2.vb</file>
-	</test>
-	<test id="1152" name="ExpConversionBoolToLongA1" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpConversionBoolToLongA1.vb</file>
-	</test>
-	<test id="1153" name="ExpConversionBoolToLongA2" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpConversionBoolToLongA2.vb</file>
-	</test>
-	<test id="1154" name="ExpConversionBoolToShortA1" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpConversionBoolToShortA1.vb</file>
-	</test>
-	<test id="1155" name="ExpConversionBoolToShortA2" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpConversionBoolToShortA2.vb</file>
-	</test>
-	<test id="1156" name="ExpConversionBoolToSingleA1" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpConversionBoolToSingleA1.vb</file>
-	</test>
-	<test id="1157" name="ExpConversionBoolToSingleA2" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpConversionBoolToSingleA2.vb</file>
-	</test>
-	<test id="1158" name="ExpConversionBooltoStringA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpConversionBooltoStringA.vb</file>
-	</test>
-	<test id="1159" name="ExpConversionBooltoStringB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpConversionBooltoStringB.vb</file>
-	</test>
-	<test id="1160" name="ExpConversionByteToBoolA1" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpConversionByteToBoolA1.vb</file>
-	</test>
-	<test id="1161" name="ExpConversionBytetoDecimalA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpConversionBytetoDecimalA.vb</file>
-	</test>
-	<test id="1162" name="ExpConversionBytetoDoubleA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpConversionBytetoDoubleA.vb</file>
-	</test>
-	<test id="1163" name="ExpConversionBytetoIntA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpConversionBytetoIntA.vb</file>
-	</test>
-	<test id="1164" name="ExpConversionBytetoLongA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpConversionBytetoLongA.vb</file>
-	</test>
-	<test id="1165" name="ExpConversionBytetoShortA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpConversionBytetoShortA.vb</file>
-	</test>
-	<test id="1166" name="ExpConversionBytetoSingleA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpConversionBytetoSingleA.vb</file>
-	</test>
-	<test id="1167" name="ExpConversionBytetoStringA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpConversionBytetoStringA.vb</file>
-	</test>
-	<test id="1168" name="ExpConversionChartoStringA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpConversionChartoStringA.vb</file>
-	</test>
-	<test id="1169" name="ExpConversionDatetoStringA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpConversionDatetoStringA.vb</file>
-	</test>
-	<test id="1170" name="ExpConversionDecimalToBoolA1" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpConversionDecimalToBoolA1.vb</file>
-	</test>
-	<test id="1171" name="ExpConversionDecimaltoByteA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpConversionDecimaltoByteA.vb</file>
-	</test>
-	<test id="1172" name="ExpConversionDecimaltoDoubleA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpConversionDecimaltoDoubleA.vb</file>
-	</test>
-	<test id="1173" name="ExpConversionDecimaltoIntA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpConversionDecimaltoIntA.vb</file>
-	</test>
-	<test id="1174" name="ExpConversionDecimaltoLongA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpConversionDecimaltoLongA.vb</file>
-	</test>
-	<test id="1175" name="ExpConversionDecimaltoShortA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpConversionDecimaltoShortA.vb</file>
-	</test>
-	<test id="1176" name="ExpConversionDecimaltoSingleA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpConversionDecimaltoSingleA.vb</file>
-	</test>
-	<test id="1177" name="ExpConversionDecimaltoStringA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpConversionDecimaltoStringA.vb</file>
-	</test>
-	<test id="1178" name="ExpConversionDoubleToBoolA1" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpConversionDoubleToBoolA1.vb</file>
-	</test>
-	<test id="1179" name="ExpConversionDoubletoDecimalA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpConversionDoubletoDecimalA.vb</file>
-	</test>
-	<test id="1180" name="ExpConversionDoubletoLongA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpConversionDoubletoLongA.vb</file>
-	</test>
-	<test id="1181" name="ExpConversionDoubletoShortA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpConversionDoubletoShortA.vb</file>
-	</test>
-	<test id="1182" name="ExpConversionDoubletoSingleA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpConversionDoubletoSingleA.vb</file>
-	</test>
-	<test id="1183" name="ExpConversionDoubletoSingleB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpConversionDoubletoSingleB.vb</file>
-	</test>
-	<test id="1184" name="ExpConversionDoubletoSingleC" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpConversionDoubletoSingleC.vb</file>
-	</test>
-	<test id="1185" name="ExpConversionDoubletoSingleD" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpConversionDoubletoSingleD.vb</file>
-	</test>
-	<test id="1186" name="ExpConversionDoubletoStringA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpConversionDoubletoStringA.vb</file>
-	</test>
-	<test id="1187" name="ExpConversionIntToBoolA1" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpConversionIntToBoolA1.vb</file>
-	</test>
-	<test id="1188" name="ExpConversionInttoByteA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpConversionInttoByteA.vb</file>
-	</test>
-	<test id="1189" name="ExpConversionInttoDecimalA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpConversionInttoDecimalA.vb</file>
-	</test>
-	<test id="1190" name="ExpConversionInttoDoubleA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpConversionInttoDoubleA.vb</file>
-	</test>
-	<test id="1191" name="ExpConversionInttoLongA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpConversionInttoLongA.vb</file>
-	</test>
-	<test id="1192" name="ExpConversionInttoShortA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpConversionInttoShortA.vb</file>
-	</test>
-	<test id="1193" name="ExpConversionInttoSingleA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpConversionInttoSingleA.vb</file>
-	</test>
-	<test id="1194" name="ExpConversionInttoStringA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpConversionInttoStringA.vb</file>
-	</test>
-	<test id="1195" name="ExpConversionLongToBoolA1" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpConversionLongToBoolA1.vb</file>
-	</test>
-	<test id="1196" name="ExpConversionLongtoDoubleA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpConversionLongtoDoubleA.vb</file>
-	</test>
-	<test id="1197" name="ExpConversionLongtoIntA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpConversionLongtoIntA.vb</file>
-	</test>
-	<test id="1198" name="ExpConversionLongtoSingleA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpConversionLongtoSingleA.vb</file>
-	</test>
-	<test id="1199" name="ExpConversionLongtoStringA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpConversionLongtoStringA.vb</file>
-	</test>
-	<test id="1200" name="ExpConversionShortToBoolA1" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpConversionShortToBoolA1.vb</file>
-	</test>
-	<test id="1201" name="ExpConversionShorttoByteA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpConversionShorttoByteA.vb</file>
-	</test>
-	<test id="1202" name="ExpConversionShorttoDecimalA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpConversionShorttoDecimalA.vb</file>
-	</test>
-	<test id="1203" name="ExpConversionShorttoDoubleA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpConversionShorttoDoubleA.vb</file>
-	</test>
-	<test id="1204" name="ExpConversionShorttoIntA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpConversionShorttoIntA.vb</file>
-	</test>
-	<test id="1205" name="ExpConversionShorttoLongA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpConversionShorttoLongA.vb</file>
-	</test>
-	<test id="1206" name="ExpConversionShorttoSingleA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpConversionShorttoSingleA.vb</file>
-	</test>
-	<test id="1207" name="ExpConversionShorttoStringA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpConversionShorttoStringA.vb</file>
-	</test>
-	<test id="1208" name="ExpConversionSingleToBoolA1" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpConversionSingleToBoolA1.vb</file>
-	</test>
-	<test id="1209" name="ExpConversionSingletoDecimalA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpConversionSingletoDecimalA.vb</file>
-	</test>
-	<test id="1210" name="ExpConversionSingletoDoubleA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpConversionSingletoDoubleA.vb</file>
-	</test>
-	<test id="1211" name="ExpConversionSingletoLongA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpConversionSingletoLongA.vb</file>
-	</test>
-	<test id="1212" name="ExpConversionSingletoShortA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpConversionSingletoShortA.vb</file>
-	</test>
-	<test id="1213" name="ExpConversionSingletoStringA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpConversionSingletoStringA.vb</file>
-	</test>
-	<test id="1214" name="ExpConversionStringtoBoolA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpConversionStringtoBoolA.vb</file>
-	</test>
-	<test id="1215" name="ExpConversionStringtoBoolB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpConversionStringtoBoolB.vb</file>
-	</test>
-	<test id="1216" name="ExpConversionStringtoByteA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpConversionStringtoByteA.vb</file>
-	</test>
-	<test id="1217" name="ExpConversionStringtoCharA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpConversionStringtoCharA.vb</file>
-	</test>
-	<test id="1218" name="ExpConversionStringtoDateA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpConversionStringtoDateA.vb</file>
-	</test>
-	<test id="1219" name="ExpConversionStringtoDecimalA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpConversionStringtoDecimalA.vb</file>
-	</test>
-	<test id="1220" name="ExpConversionStringtoDoubleA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpConversionStringtoDoubleA.vb</file>
-	</test>
-	<test id="1221" name="ExpConversionStringtoIntA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpConversionStringtoIntA.vb</file>
-	</test>
-	<test id="1222" name="ExpConversionStringtoLongA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpConversionStringtoLongA.vb</file>
-	</test>
-	<test id="1223" name="ExpConversionStringtoShortA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpConversionStringtoShortA.vb</file>
-	</test>
-	<test id="1224" name="ExpConversionStringtoSingleA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpConversionStringtoSingleA.vb</file>
-	</test>
-	<test id="1225" name="ExplicitConversionEnumToIntA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExplicitConversionEnumToIntA.vb</file>
-	</test>
-	<test id="1226" name="ExplicitConversionEnumToIntB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExplicitConversionEnumToIntB.vb</file>
-	</test>
-	<test id="1227" name="ExplicitConversionEnumToIntC" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExplicitConversionEnumToIntC.vb</file>
-	</test>
-	<test id="1228" name="ExplicitOff" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExplicitOff.vb</file>
-	</test>
-	<test id="1229" name="ExpressionInstanceMeA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpressionInstanceMeA.vb</file>
-	</test>
-	<test id="1230" name="ExpressionInstanceMyBaseA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpressionInstanceMyBaseA.vb</file>
-	</test>
-	<test id="1231" name="ExpressionInstanceMyClassA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpressionInstanceMyClassA.vb</file>
-	</test>
-	<test id="1232" name="ExpressionLiteralCharA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpressionLiteralCharA.vb</file>
-	</test>
-	<test id="1233" name="ExpressionLiteralCharB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpressionLiteralCharB.vb</file>
-	</test>
-	<test id="1234" name="ExpressionLiteralNothingA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpressionLiteralNothingA.vb</file>
-	</test>
-	<test id="1235" name="ExpressionLiteralNothingB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpressionLiteralNothingB.vb</file>
-	</test>
-	<test id="1236" name="ExpressionLiteralNumericA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpressionLiteralNumericA.vb</file>
-	</test>
-	<test id="1237" name="ExpressionLiteralNumericB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpressionLiteralNumericB.vb</file>
-	</test>
-	<test id="1238" name="ExpressionLiteralNumericC" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpressionLiteralNumericC.vb</file>
-	</test>
-	<test id="1239" name="ExpressionLiteralNumericD" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpressionLiteralNumericD.vb</file>
-	</test>
-	<test id="1240" name="ExpressionLiteralNumericE" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpressionLiteralNumericE.vb</file>
-	</test>
-	<test id="1241" name="ExpressionLiteralNumericF" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpressionLiteralNumericF.vb</file>
-	</test>
-	<test id="1242" name="ExpressionLiteralNumericG" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpressionLiteralNumericG.vb</file>
-	</test>
-	<test id="1243" name="ExpressionLiteralStringA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpressionLiteralStringA.vb</file>
-	</test>
-	<test id="1244" name="ExpressionLiteralStringB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpressionLiteralStringB.vb</file>
-	</test>
-	<test id="1245" name="ExpressionLiteralStringC" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpressionLiteralStringC.vb</file>
-	</test>
-	<test id="1246" name="ExpressionMemberAccess" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpressionMemberAccess.vb</file>
-	</test>
-	<test id="1247" name="ExpressionMemberAccessDict" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpressionMemberAccessDict.vb</file>
-	</test>
-	<test id="1248" name="ExpressionOverLoadMethodA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpressionOverLoadMethodA.vb</file>
-	</test>
-	<test id="1249" name="ExpressionOverLoadMethodB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpressionOverLoadMethodB.vb</file>
-	</test>
-	<test id="1250" name="ExpressionOverLoadMethodC" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpressionOverLoadMethodC.vb</file>
-	</test>
-	<test id="1251" name="ExpressionParenthesizedA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpressionParenthesizedA.vb</file>
-	</test>
-	<test id="1252" name="ExpressionParenthesizedB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpressionParenthesizedB.vb</file>
-	</test>
-	<test id="1253" name="ExpressionParenthesizedC" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpressionParenthesizedC.vb</file>
-	</test>
-	<test id="1254" name="ExpressionReclassificationA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpressionReclassificationA.vb</file>
-	</test>
-	<test id="1255" name="ExpressionReclassifiedB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpressionReclassifiedB.vb</file>
-	</test>
-	<test id="1256" name="ExpressionReclassifiedC" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpressionReclassifiedC.vb</file>
-	</test>
-	<test id="1257" name="ExpressionSimpleNameAddressOfA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpressionSimpleNameAddressOfA.vb</file>
-	</test>
-	<test id="1258" name="ExpressionSimpleNameGetTypeA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpressionSimpleNameGetTypeA.vb</file>
-	</test>
-	<test id="1259" name="ExpressionSimpleNameTypeOfA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpressionSimpleNameTypeOfA.vb</file>
-	</test>
-	<test id="1260" name="ExpressionSimpleWithA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpressionSimpleWithA.vb</file>
-	</test>
-	<test id="1261" name="ExpressionSimpleWithB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpressionSimpleWithB.vb</file>
-	</test>
-	<test id="1262" name="ExpressionSimpleWithC" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpressionSimpleWithC.vb</file>
-	</test>
-	<test id="1263" name="ExpressionStringA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpressionStringA.vb</file>
-	</test>
-	<test id="1264" name="ExpressionStringB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpressionStringB.vb</file>
-	</test>
-	<test id="1265" name="ExpressionsWithAndAlsoA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpressionsWithAndAlsoA.vb</file>
-	</test>
-	<test id="1266" name="ExpressionsWithAndAlsoB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpressionsWithAndAlsoB.vb</file>
-	</test>
-	<test id="1267" name="ExpressionsWithAndAlsoC" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpressionsWithAndAlsoC.vb</file>
-	</test>
-	<test id="1268" name="ExpressionsWithOrElseA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpressionsWithOrElseA.vb</file>
-	</test>
-	<test id="1269" name="ExpressionsWithOrElseB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpressionsWithOrElseB.vb</file>
-	</test>
-	<test id="1270" name="ExpressionsWithOrElseC" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExpressionsWithOrElseC.vb</file>
-	</test>
-	<test id="1271" name="ExternalSourceDirectives" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ExternalSourceDirectives.vb</file>
-	</test>
-	<test id="1272" name="ForA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ForA.vb</file>
-	</test>
-	<test id="1273" name="ForB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ForB.vb</file>
-	</test>
-	<test id="1274" name="ForC" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ForC.vb</file>
-	</test>
-	<test id="1275" name="ForD" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ForD.vb</file>
-	</test>
-	<test id="1276" name="ForE" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ForE.vb</file>
-	</test>
-	<test id="1277" name="ForEachA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ForEachA.vb</file>
-	</test>
-	<test id="1278" name="ForEachB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ForEachB.vb</file>
-	</test>
-	<test id="1279" name="ForEachC" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ForEachC.vb</file>
-	</test>
-	<test id="1280" name="ForF" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ForF.vb</file>
-	</test>
-	<test id="1281" name="ForG" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ForG.vb</file>
-	</test>
-	<test id="1282" name="ForH" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ForH.vb</file>
-	</test>
-	<test id="1283" name="ForI" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ForI.vb</file>
-	</test>
-	<test id="1284" name="ForJ" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ForJ.vb</file>
-	</test>
-	<test id="1285" name="Function_ParamArrayA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\Function_ParamArrayA.vb</file>
-	</test>
-	<test id="1286" name="Function_ParamArrayB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\Function_ParamArrayB.vb</file>
-	</test>
-	<test id="1287" name="Function_ParamArrayC" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\Function_ParamArrayC.vb</file>
-	</test>
-	<test id="1288" name="FunctionArgu_ByReferenceA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\FunctionArgu_ByReferenceA.vb</file>
-	</test>
-	<test id="1289" name="FunctionArgu_ByReferenceB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\FunctionArgu_ByReferenceB.vb</file>
-	</test>
-	<test id="1290" name="FunctionArgu_ByReferenceC" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\FunctionArgu_ByReferenceC.vb</file>
-	</test>
-	<test id="1291" name="FunctionArgu_ByReferenceD" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\FunctionArgu_ByReferenceD.vb</file>
-	</test>
-	<test id="1292" name="FunctionArgu_ByValueA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\FunctionArgu_ByValueA.vb</file>
-	</test>
-	<test id="1293" name="FunctionArgu_ByValueB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\FunctionArgu_ByValueB.vb</file>
-	</test>
-	<test id="1294" name="FunctionArgu_ByValueC" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\FunctionArgu_ByValueC.vb</file>
-	</test>
-	<test id="1295" name="FunctionArgu_ByValueD" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\FunctionArgu_ByValueD.vb</file>
-	</test>
-	<test id="1296" name="GetType" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\GetType.vb</file>
-	</test>
-	<test id="1297" name="GotoStatementA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\GotoStatementA.vb</file>
-	</test>
-	<test id="1298" name="GotoStatementB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\GotoStatementB.vb</file>
-	</test>
-	<test id="1299" name="Identifier" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\Identifier.vb</file>
-	</test>
-	<test id="1300" name="IdentifierFail1" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\IdentifierFail1.vb</file>
-	</test>
-	<test id="1301" name="ImpConversionBoolToByteA1" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionBoolToByteA1.vb</file>
-	</test>
-	<test id="1302" name="ImpConversionBoolToByteA2" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionBoolToByteA2.vb</file>
-	</test>
-	<test id="1303" name="ImpConversionBooltoByteC" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionBooltoByteC.vb</file>
-	</test>
-	<test id="1304" name="ImpConversionBoolToDecimalA1" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionBoolToDecimalA1.vb</file>
-	</test>
-	<test id="1305" name="ImpConversionBoolToDecimalA2" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionBoolToDecimalA2.vb</file>
-	</test>
-	<test id="1306" name="ImpConversionBoolToDoubleA1" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionBoolToDoubleA1.vb</file>
-	</test>
-	<test id="1307" name="ImpConversionBoolToDoubleA2" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionBoolToDoubleA2.vb</file>
-	</test>
-	<test id="1308" name="ImpConversionBooltoDoubleC" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionBooltoDoubleC.vb</file>
-	</test>
-	<test id="1309" name="ImpConversionBoolToIntA1" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionBoolToIntA1.vb</file>
-	</test>
-	<test id="1310" name="ImpConversionBoolToIntA2" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionBoolToIntA2.vb</file>
-	</test>
-	<test id="1311" name="ImpConversionBoolToLongA1" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionBoolToLongA1.vb</file>
-	</test>
-	<test id="1312" name="ImpConversionBoolToLongA2" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionBoolToLongA2.vb</file>
-	</test>
-	<test id="1313" name="ImpConversionBooltoLongC" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionBooltoLongC.vb</file>
-	</test>
-	<test id="1314" name="ImpConversionBoolToShortA1" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionBoolToShortA1.vb</file>
-	</test>
-	<test id="1315" name="ImpConversionBoolToShortA2" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionBoolToShortA2.vb</file>
-	</test>
-	<test id="1316" name="ImpConversionBoolToSingleA1" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionBoolToSingleA1.vb</file>
-	</test>
-	<test id="1317" name="ImpConversionBoolToSingleA2" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionBoolToSingleA2.vb</file>
-	</test>
-	<test id="1318" name="ImpConversionBooltoStringA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionBooltoStringA.vb</file>
-	</test>
-	<test id="1319" name="ImpConversionBooltoStringB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionBooltoStringB.vb</file>
-	</test>
-	<test id="1320" name="ImpConversionBooltoStringC" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionBooltoStringC.vb</file>
-	</test>
-	<test id="1321" name="ImpConversionByteToBoolA1" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionByteToBoolA1.vb</file>
-	</test>
-	<test id="1322" name="ImpConversionByteToBoolA2" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionByteToBoolA2.vb</file>
-	</test>
-	<test id="1323" name="ImpConversionBytetoDecimalA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionBytetoDecimalA.vb</file>
-	</test>
-	<test id="1324" name="ImpConversionBytetoDecimalB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionBytetoDecimalB.vb</file>
-	</test>
-	<test id="1325" name="ImpConversionBytetoDoubleA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionBytetoDoubleA.vb</file>
-	</test>
-	<test id="1326" name="ImpConversionBytetoIntA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionBytetoIntA.vb</file>
-	</test>
-	<test id="1327" name="ImpConversionBytetoIntB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionBytetoIntB.vb</file>
-	</test>
-	<test id="1328" name="ImpConversionBytetoLongA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionBytetoLongA.vb</file>
-	</test>
-	<test id="1329" name="ImpConversionBytetoShortA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionBytetoShortA.vb</file>
-	</test>
-	<test id="1330" name="ImpConversionBytetoSingleA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionBytetoSingleA.vb</file>
-	</test>
-	<test id="1331" name="ImpConversionBytetoStringA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionBytetoStringA.vb</file>
-	</test>
-	<test id="1332" name="ImpConversionBytetoStringB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionBytetoStringB.vb</file>
-	</test>
-	<test id="1333" name="ImpConversionChartoStringA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionChartoStringA.vb</file>
-	</test>
-	<test id="1334" name="ImpConversionChartoStringB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionChartoStringB.vb</file>
-	</test>
-	<test id="1335" name="ImpConversionChartoStringC" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionChartoStringC.vb</file>
-	</test>
-	<test id="1336" name="ImpConversionDatetoStringA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionDatetoStringA.vb</file>
-	</test>
-	<test id="1337" name="ImpConversionDatetoStringB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionDatetoStringB.vb</file>
-	</test>
-	<test id="1338" name="ImpConversionDecimalToBoolA1" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionDecimalToBoolA1.vb</file>
-	</test>
-	<test id="1339" name="ImpConversionDecimaltoBoolA2" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionDecimaltoBoolA2.vb</file>
-	</test>
-	<test id="1340" name="ImpConversionDecimaltoByteB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionDecimaltoByteB.vb</file>
-	</test>
-	<test id="1341" name="ImpConversionDecimaltoDoubleA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionDecimaltoDoubleA.vb</file>
-	</test>
-	<test id="1342" name="ImpConversionDecimaltoDoubleB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionDecimaltoDoubleB.vb</file>
-	</test>
-	<test id="1343" name="ImpConversionDecimaltoLongA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionDecimaltoLongA.vb</file>
-	</test>
-	<test id="1344" name="ImpConversionDecimaltoLongB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionDecimaltoLongB.vb</file>
-	</test>
-	<test id="1345" name="ImpConversionDecimaltoShortA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionDecimaltoShortA.vb</file>
-	</test>
-	<test id="1346" name="ImpConversionDecimaltoSingleA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionDecimaltoSingleA.vb</file>
-	</test>
-	<test id="1347" name="ImpConversionDecimaltoStringA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionDecimaltoStringA.vb</file>
-	</test>
-	<test id="1348" name="ImpConversionDoubleToBoolA1" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionDoubleToBoolA1.vb</file>
-	</test>
-	<test id="1349" name="ImpConversionDoubleToBoolA2" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionDoubleToBoolA2.vb</file>
-	</test>
-	<test id="1350" name="ImpConversionDoubletoByteB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionDoubletoByteB.vb</file>
-	</test>
-	<test id="1351" name="ImpConversionDoubletoDecimalA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionDoubletoDecimalA.vb</file>
-	</test>
-	<test id="1352" name="ImpConversionDoubletoDecimalD" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionDoubletoDecimalD.vb</file>
-	</test>
-	<test id="1353" name="ImpConversionDoubletoIntB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionDoubletoIntB.vb</file>
-	</test>
-	<test id="1354" name="ImpConversionDoubletoLongA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionDoubletoLongA.vb</file>
-	</test>
-	<test id="1355" name="ImpConversionDoubletoLongB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionDoubletoLongB.vb</file>
-	</test>
-	<test id="1356" name="ImpConversionDoubletoShortA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionDoubletoShortA.vb</file>
-	</test>
-	<test id="1357" name="ImpConversionDoubletoSingleA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionDoubletoSingleA.vb</file>
-	</test>
-	<test id="1358" name="ImpConversionDoubletoSingleB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionDoubletoSingleB.vb</file>
-	</test>
-	<test id="1359" name="ImpConversionDoubletoSingleC" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionDoubletoSingleC.vb</file>
-	</test>
-	<test id="1360" name="ImpConversionDoubletoSingleD" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionDoubletoSingleD.vb</file>
-	</test>
-	<test id="1361" name="ImpConversionDoubletoStringA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionDoubletoStringA.vb</file>
-	</test>
-	<test id="1362" name="ImpConversionDoubletoStringB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionDoubletoStringB.vb</file>
-	</test>
-	<test id="1363" name="ImpConversionEnumToIntA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionEnumToIntA.vb</file>
-	</test>
-	<test id="1364" name="ImpConversionEnumToIntB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionEnumToIntB.vb</file>
-	</test>
-	<test id="1365" name="ImpConversionIntToBoolA1" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionIntToBoolA1.vb</file>
-	</test>
-	<test id="1366" name="ImpConversionIntToBoolA2" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionIntToBoolA2.vb</file>
-	</test>
-	<test id="1367" name="ImpConversionInttoByteA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionInttoByteA.vb</file>
-	</test>
-	<test id="1368" name="ImpConversionInttoByteB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionInttoByteB.vb</file>
-	</test>
-	<test id="1369" name="ImpConversionInttoDecimalA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionInttoDecimalA.vb</file>
-	</test>
-	<test id="1370" name="ImpConversionInttoDoubleA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionInttoDoubleA.vb</file>
-	</test>
-	<test id="1371" name="ImpConversionInttoDoubleB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionInttoDoubleB.vb</file>
-	</test>
-	<test id="1372" name="ImpConversionInttoLongA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionInttoLongA.vb</file>
-	</test>
-	<test id="1373" name="ImpConversionInttoLongB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionInttoLongB.vb</file>
-	</test>
-	<test id="1374" name="ImpConversionInttoShortA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionInttoShortA.vb</file>
-	</test>
-	<test id="1375" name="ImpConversionInttoSingleA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionInttoSingleA.vb</file>
-	</test>
-	<test id="1376" name="ImpConversionInttoStringA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionInttoStringA.vb</file>
-	</test>
-	<test id="1377" name="ImpConversionInttoStringB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionInttoStringB.vb</file>
-	</test>
-	<test id="1378" name="ImpConversionLongToBoolA1" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionLongToBoolA1.vb</file>
-	</test>
-	<test id="1379" name="ImpConversionLongToBoolA2" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionLongToBoolA2.vb</file>
-	</test>
-	<test id="1380" name="ImpConversionLongtoDoubleA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionLongtoDoubleA.vb</file>
-	</test>
-	<test id="1381" name="ImpConversionLongtoDoubleB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionLongtoDoubleB.vb</file>
-	</test>
-	<test id="1382" name="ImpConversionLongtoIntA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionLongtoIntA.vb</file>
-	</test>
-	<test id="1383" name="ImpConversionLongtoIntB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionLongtoIntB.vb</file>
-	</test>
-	<test id="1384" name="ImpConversionLongtoSingleA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionLongtoSingleA.vb</file>
-	</test>
-	<test id="1385" name="ImpConversionLongtoStringA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionLongtoStringA.vb</file>
-	</test>
-	<test id="1386" name="ImpConversionLongtoStringB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionLongtoStringB.vb</file>
-	</test>
-	<test id="1387" name="ImpConversionShortToBoolA1" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionShortToBoolA1.vb</file>
-	</test>
-	<test id="1388" name="ImpConversionShortToBoolA2" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionShortToBoolA2.vb</file>
-	</test>
-	<test id="1389" name="ImpConversionShorttoByteA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionShorttoByteA.vb</file>
-	</test>
-	<test id="1390" name="ImpConversionShorttoDecimalA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionShorttoDecimalA.vb</file>
-	</test>
-	<test id="1391" name="ImpConversionShorttoDecimalB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionShorttoDecimalB.vb</file>
-	</test>
-	<test id="1392" name="ImpConversionShorttoDoubleA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionShorttoDoubleA.vb</file>
-	</test>
-	<test id="1393" name="ImpConversionShorttoIntA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionShorttoIntA.vb</file>
-	</test>
-	<test id="1394" name="ImpConversionShorttoIntB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionShorttoIntB.vb</file>
-	</test>
-	<test id="1395" name="ImpConversionShorttoLongA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionShorttoLongA.vb</file>
-	</test>
-	<test id="1396" name="ImpConversionShorttoSingleA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionShorttoSingleA.vb</file>
-	</test>
-	<test id="1397" name="ImpConversionShorttoStringA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionShorttoStringA.vb</file>
-	</test>
-	<test id="1398" name="ImpConversionShorttoStringB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionShorttoStringB.vb</file>
-	</test>
-	<test id="1399" name="ImpConversionSingleToBoolA1" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionSingleToBoolA1.vb</file>
-	</test>
-	<test id="1400" name="ImpConversionSingleToBoolA2" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionSingleToBoolA2.vb</file>
-	</test>
-	<test id="1401" name="ImpConversionSingletoByteB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionSingletoByteB.vb</file>
-	</test>
-	<test id="1402" name="ImpConversionSingletoDecimalA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionSingletoDecimalA.vb</file>
-	</test>
-	<test id="1403" name="ImpConversionSingletoDecimalD" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionSingletoDecimalD.vb</file>
-	</test>
-	<test id="1404" name="ImpConversionSingletoDoubleA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionSingletoDoubleA.vb</file>
-	</test>
-	<test id="1405" name="ImpConversionSingletoDoubleB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionSingletoDoubleB.vb</file>
-	</test>
-	<test id="1406" name="ImpConversionSingletoIntB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionSingletoIntB.vb</file>
-	</test>
-	<test id="1407" name="ImpConversionSingletoLongA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionSingletoLongA.vb</file>
-	</test>
-	<test id="1408" name="ImpConversionSingletoLongB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionSingletoLongB.vb</file>
-	</test>
-	<test id="1409" name="ImpConversionSingletoShortA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionSingletoShortA.vb</file>
-	</test>
-	<test id="1410" name="ImpConversionSingletoStringA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionSingletoStringA.vb</file>
-	</test>
-	<test id="1411" name="ImpConversionSingletoStringB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionSingletoStringB.vb</file>
-	</test>
-	<test id="1412" name="ImpConversionStringtoBoolA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionStringtoBoolA.vb</file>
-	</test>
-	<test id="1413" name="ImpConversionStringtoBoolB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionStringtoBoolB.vb</file>
-	</test>
-	<test id="1414" name="ImpConversionStringtoByteA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionStringtoByteA.vb</file>
-	</test>
-	<test id="1415" name="ImpConversionStringtoByteD" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionStringtoByteD.vb</file>
-	</test>
-	<test id="1416" name="ImpConversionStringtoCharA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionStringtoCharA.vb</file>
-	</test>
-	<test id="1417" name="ImpConversionStringtoCharB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionStringtoCharB.vb</file>
-	</test>
-	<test id="1418" name="ImpConversionStringtoCharC" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionStringtoCharC.vb</file>
-	</test>
-	<test id="1419" name="ImpConversionStringtoDateA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionStringtoDateA.vb</file>
-	</test>
-	<test id="1420" name="ImpConversionStringtoDecimalA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionStringtoDecimalA.vb</file>
-	</test>
-	<test id="1421" name="ImpConversionStringtoDoubleA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionStringtoDoubleA.vb</file>
-	</test>
-	<test id="1422" name="ImpConversionStringtoDoubleC" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionStringtoDoubleC.vb</file>
-	</test>
-	<test id="1423" name="ImpConversionStringtoIntA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionStringtoIntA.vb</file>
-	</test>
-	<test id="1424" name="ImpConversionStringtoIntC" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionStringtoIntC.vb</file>
-	</test>
-	<test id="1425" name="ImpConversionStringtoLongA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionStringtoLongA.vb</file>
-	</test>
-	<test id="1426" name="ImpConversionStringtoShortA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionStringtoShortA.vb</file>
-	</test>
-	<test id="1427" name="ImpConversionStringtoSingleA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpConversionStringtoSingleA.vb</file>
-	</test>
-	<test id="1428" name="ImpOverloadConversionDecimaltoByte" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpOverloadConversionDecimaltoByte.vb</file>
-	</test>
-	<test id="1429" name="ImpOverloadConversionDecimaltoDouble" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpOverloadConversionDecimaltoDouble.vb</file>
-	</test>
-	<test id="1430" name="ImpOverloadConversionDecimaltogenericSingle" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpOverloadConversionDecimaltogenericSingle.vb</file>
-	</test>
-	<test id="1431" name="ImpOverloadConversionDecimaltoInt" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpOverloadConversionDecimaltoInt.vb</file>
-	</test>
-	<test id="1432" name="ImpOverloadConversionDecimaltoLong" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpOverloadConversionDecimaltoLong.vb</file>
-	</test>
-	<test id="1433" name="ImpOverloadConversionDecimaltoShort" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpOverloadConversionDecimaltoShort.vb</file>
-	</test>
-	<test id="1434" name="ImpOverloadConversionDecimaltoSingle" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpOverloadConversionDecimaltoSingle.vb</file>
-	</test>
-	<test id="1435" name="ImpOverloadConversionDecimaltoString" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpOverloadConversionDecimaltoString.vb</file>
-	</test>
-	<test id="1436" name="ImpOverloadConversionInttogenericIntC1" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpOverloadConversionInttogenericIntC1.vb</file>
-	</test>
-	<test id="1437" name="ImpOverloadConversionSingletoDouble" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpOverloadConversionSingletoDouble.vb</file>
-	</test>
-	<test id="1438" name="ImpOverloadConversionSingletogenericSingle" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ImpOverloadConversionSingletogenericSingle.vb</file>
-	</test>
-	<test id="1439" name="Inheritance" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\Inheritance.vb</file>
-	</test>
-	<test id="1440" name="InheritanceA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\InheritanceA.vb</file>
-	</test>
-	<test id="1441" name="InheritanceB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\InheritanceB.vb</file>
-	</test>
-	<test id="1442" name="InheritanceC" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\InheritanceC.vb</file>
-	</test>
-	<test id="1443" name="InheritanceD" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\InheritanceD.vb</file>
-	</test>
-	<test id="1444" name="InheritanceE" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\InheritanceE.vb</file>
-	</test>
-	<test id="1445" name="InheritanceF" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\InheritanceF.vb</file>
-	</test>
-	<test id="1446" name="InheritanceG" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\InheritanceG.vb</file>
-	</test>
-	<test id="1447" name="InheritanceI" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\InheritanceI.vb</file>
-	</test>
-	<test id="1448" name="InheritanceJ" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\InheritanceJ.vb</file>
-	</test>
-	<test id="1449" name="InheritanceK" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\InheritanceK.vb</file>
-	</test>
-	<test id="1450" name="InheritanceL" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\InheritanceL.vb</file>
-	</test>
-	<test id="1451" name="IntegerLiteral1Test" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\IntegerLiteral1Test.vb</file>
-	</test>
-	<test id="1452" name="IntegerLiteral2Test" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\IntegerLiteral2Test.vb</file>
-	</test>
-	<test id="1453" name="IntegerLiteralA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\IntegerLiteralA.vb</file>
-	</test>
-	<test id="1454" name="IntegerLiteralB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\IntegerLiteralB.vb</file>
-	</test>
-	<test id="1455" name="IntegerLiteralTest" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\IntegerLiteralTest.vb</file>
-	</test>
-	<test id="1456" name="IntegerLiteralTestC4" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\IntegerLiteralTestC4.vb</file>
-	</test>
-	<test id="1457" name="IntegerTypeCharTest" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\IntegerTypeCharTest.vb</file>
-	</test>
-	<test id="1458" name="IntegerTypeCharTestA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\IntegerTypeCharTestA.vb</file>
-	</test>
-	<test id="1459" name="IntegerTypeCharTestB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\IntegerTypeCharTestB.vb</file>
-	</test>
-	<test id="1460" name="IntegerTypeCharTestC2" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\IntegerTypeCharTestC2.vb</file>
-	</test>
-	<test id="1461" name="Interface" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\Interface.vb</file>
-	</test>
-	<test id="1462" name="InterfaceA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\InterfaceA.vb</file>
-	</test>
-	<test id="1463" name="InterfaceB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\InterfaceB.vb</file>
-	</test>
-	<test id="1464" name="InterfaceC" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\InterfaceC.vb</file>
-	</test>
-	<test id="1465" name="InterfaceD" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\InterfaceD.vb</file>
-	</test>
-	<test id="1466" name="InterfaceE" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\InterfaceE.vb</file>
-	</test>
-	<test id="1467" name="InterfaceF" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\InterfaceF.vb</file>
-	</test>
-	<test id="1468" name="InterfaceG" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\InterfaceG.vb</file>
-	</test>
-	<test id="1469" name="InterfaceH" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\InterfaceH.vb</file>
-	</test>
-	<test id="1470" name="InterfaceI" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\InterfaceI.vb</file>
-	</test>
-	<test id="1471" name="InterfaceJ" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\InterfaceJ.vb</file>
-	</test>
-	<test id="1472" name="InterfaceK" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\InterfaceK.vb</file>
-	</test>
-	<test id="1473" name="InterfaceL" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\InterfaceL.vb</file>
-	</test>
-	<test id="1474" name="InterfaceM" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\InterfaceM.vb</file>
-	</test>
-	<test id="1475" name="InterfaceN" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\InterfaceN.vb</file>
-	</test>
-	<test id="1476" name="InterfaceO" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\InterfaceO.vb</file>
-	</test>
-	<test id="1477" name="InterfaceP" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\InterfaceP.vb</file>
-	</test>
-	<test id="1478" name="InterfaceQ" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\InterfaceQ.vb</file>
-	</test>
-	<test id="1479" name="InvocationStatementA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\InvocationStatementA.vb</file>
-	</test>
-	<test id="1480" name="LabelA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\LabelA.vb</file>
-	</test>
-	<test id="1481" name="LabelB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\LabelB.vb</file>
-	</test>
-	<test id="1482" name="LabelC" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\LabelC.vb</file>
-	</test>
-	<test id="1483" name="LabelD" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\LabelD.vb</file>
-	</test>
-	<test id="1484" name="LikeOperator" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\LikeOperator.vb</file>
-	</test>
-	<test id="1485" name="LikeOperatorA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\LikeOperatorA.vb</file>
-	</test>
-	<test id="1486" name="LikeOperatorB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\LikeOperatorB.vb</file>
-	</test>
-	<test id="1487" name="LikeOperatorC" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\LikeOperatorC.vb</file>
-	</test>
-	<test id="1488" name="LikeOperatorD" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\LikeOperatorD.vb</file>
-	</test>
-	<test id="1489" name="LikeOperatorE" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\LikeOperatorE.vb</file>
-	</test>
-	<test id="1490" name="LikeOperatorF" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\LikeOperatorF.vb</file>
-	</test>
-	<test id="1491" name="LikeOperatorG" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\LikeOperatorG.vb</file>
-	</test>
-	<test id="1492" name="LineContinuationC1" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\LineContinuationC1.vb</file>
-	</test>
-	<test id="1493" name="LiteralNothing" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\LiteralNothing.vb</file>
-	</test>
-	<test id="1494" name="LocalDeclarationA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\LocalDeclarationA.vb</file>
-	</test>
-	<test id="1495" name="LocalDeclarationB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\LocalDeclarationB.vb</file>
-	</test>
-	<test id="1496" name="LocalDeclarationC" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\LocalDeclarationC.vb</file>
-	</test>
-	<test id="1497" name="LocalVariableC" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\LocalVariableC.vb</file>
-	</test>
-	<test id="1498" name="LocalVariableD" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\LocalVariableD.vb</file>
-	</test>
-	<test id="1499" name="LocalVariableE" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\LocalVariableE.vb</file>
-	</test>
-	<test id="1500" name="LocalVariableG" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\LocalVariableG.vb</file>
-	</test>
-	<test id="1501" name="LocalVariableH" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\LocalVariableH.vb</file>
-	</test>
-	<test id="1502" name="LocalVariableI" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\LocalVariableI.vb</file>
-	</test>
-	<test id="1503" name="LocalVariablesA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\LocalVariablesA.vb</file>
-	</test>
-	<test id="1504" name="LocalVariablesB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\LocalVariablesB.vb</file>
-	</test>
-	<test id="1505" name="LogicalOperators" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\LogicalOperators.vb</file>
-	</test>
-	<test id="1506" name="LogicalOperatorsA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\LogicalOperatorsA.vb</file>
-	</test>
-	<test id="1507" name="LongLiteralA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\LongLiteralA.vb</file>
-	</test>
-	<test id="1508" name="LongLiteralB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\LongLiteralB.vb</file>
-	</test>
-	<test id="1509" name="LongTypeCharTest" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\LongTypeCharTest.vb</file>
-	</test>
-	<test id="1510" name="LongTypeCharTestB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\LongTypeCharTestB.vb</file>
-	</test>
-	<test id="1511" name="LongTypeCharTestC2" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\LongTypeCharTestC2.vb</file>
-	</test>
-	<test id="1512" name="LoopStatementsA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\LoopStatementsA.vb</file>
-	</test>
-	<test id="1513" name="LoopStatementsB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\LoopStatementsB.vb</file>
-	</test>
-	<test id="1514" name="LoopStatementsC" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\LoopStatementsC.vb</file>
-	</test>
-	<test id="1515" name="LoopStatementsD" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\LoopStatementsD.vb</file>
-	</test>
-	<test id="1516" name="LoopStatementsE" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\LoopStatementsE.vb</file>
-	</test>
-	<test id="1517" name="LoopStatementsF" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\LoopStatementsF.vb</file>
-	</test>
-	<test id="1518" name="LoopStatementsG" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\LoopStatementsG.vb</file>
-	</test>
-	<test id="1519" name="MethodDeclarationA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\MethodDeclarationA.vb</file>
-	</test>
-	<test id="1520" name="MethodDeclarationB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\MethodDeclarationB.vb</file>
-	</test>
-	<test id="1521" name="MethodDeclarationC" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\MethodDeclarationC.vb</file>
-	</test>
-	<test id="1522" name="MethodDeclarationD" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\MethodDeclarationD.vb</file>
-	</test>
-	<test id="1523" name="MethodDeclarationE" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\MethodDeclarationE.vb</file>
-	</test>
-	<test id="1524" name="MethodDeclarationF" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\MethodDeclarationF.vb</file>
-	</test>
-	<test id="1525" name="misc2" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\misc2.vb</file>
-	</test>
-	<test id="1526" name="ModuleB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ModuleB.vb</file>
-	</test>
-	<test id="1527" name="ModuleTest" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ModuleTest.vb</file>
-	</test>
-	<test id="1528" name="MustInherit" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\MustInherit.vb</file>
-	</test>
-	<test id="1529" name="MustInheritA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\MustInheritA.vb</file>
-	</test>
-	<test id="1530" name="MustInheritB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\MustInheritB.vb</file>
-	</test>
-	<test id="1531" name="MustInheritC" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\MustInheritC.vb</file>
-	</test>
-	<test id="1532" name="NamedArgumentsA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\NamedArgumentsA.vb</file>
-	</test>
-	<test id="1533" name="NamedArgumentsB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\NamedArgumentsB.vb</file>
-	</test>
-	<test id="1534" name="NamedArgumentsC" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\NamedArgumentsC.vb</file>
-	</test>
-	<test id="1535" name="NamedArgumentsD" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\NamedArgumentsD.vb</file>
-	</test>
-	<test id="1536" name="NameSpace" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\NameSpace.vb</file>
-	</test>
-	<test id="1537" name="NameSpaceC" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\NameSpaceC.vb</file>
-	</test>
-	<test id="1538" name="NameSpaceE" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\NameSpaceE.vb</file>
-	</test>
-	<test id="1539" name="NameSpaceF" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\NameSpaceF.vb</file>
-	</test>
-	<test id="1540" name="NameSpaceG" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\NameSpaceG.vb</file>
-	</test>
-	<test id="1541" name="NotInheritable" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\NotInheritable.vb</file>
-	</test>
-	<test id="1542" name="NotInheritableA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\NotInheritableA.vb</file>
-	</test>
-	<test id="1543" name="OptionalA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\OptionalA.vb</file>
-	</test>
-	<test id="1544" name="OptionalArgFunctionA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\OptionalArgFunctionA.vb</file>
-	</test>
-	<test id="1545" name="OptionalArgu_ByReferenceA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\OptionalArgu_ByReferenceA.vb</file>
-	</test>
-	<test id="1546" name="OptionalArgu_ByReferenceB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\OptionalArgu_ByReferenceB.vb</file>
-	</test>
-	<test id="1547" name="OptionalArgu_ByReferenceC" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\OptionalArgu_ByReferenceC.vb</file>
-	</test>
-	<test id="1548" name="OptionalArgu_ByReferenceD" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\OptionalArgu_ByReferenceD.vb</file>
-	</test>
-	<test id="1549" name="OptionalArgu_ByRefFuncA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\OptionalArgu_ByRefFuncA.vb</file>
-	</test>
-	<test id="1550" name="OptionalArgu_ByRefFuncB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\OptionalArgu_ByRefFuncB.vb</file>
-	</test>
-	<test id="1551" name="OptionalArgu_ByRefFuncC" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\OptionalArgu_ByRefFuncC.vb</file>
-	</test>
-	<test id="1552" name="OptionalArgu_ByRefFuncD" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\OptionalArgu_ByRefFuncD.vb</file>
-	</test>
-	<test id="1553" name="OptionalArgu_ByRefFuncE" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\OptionalArgu_ByRefFuncE.vb</file>
-	</test>
-	<test id="1554" name="OptionalArgu_ByValFuncA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\OptionalArgu_ByValFuncA.vb</file>
-	</test>
-	<test id="1555" name="OptionalArgu_ByValFuncB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\OptionalArgu_ByValFuncB.vb</file>
-	</test>
-	<test id="1556" name="OptionalArgu_ByValFuncC" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\OptionalArgu_ByValFuncC.vb</file>
-	</test>
-	<test id="1557" name="OptionalArgu_ByValFuncD" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\OptionalArgu_ByValFuncD.vb</file>
-	</test>
-	<test id="1558" name="OptionalArgu_ByValFuncE" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\OptionalArgu_ByValFuncE.vb</file>
-	</test>
-	<test id="1559" name="OptionalArgu_ByValueA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\OptionalArgu_ByValueA.vb</file>
-	</test>
-	<test id="1560" name="OptionalArgu_ByValueB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\OptionalArgu_ByValueB.vb</file>
-	</test>
-	<test id="1561" name="OptionalArgu_ByValueC" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\OptionalArgu_ByValueC.vb</file>
-	</test>
-	<test id="1562" name="OptionalArgu_ByValueD" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\OptionalArgu_ByValueD.vb</file>
-	</test>
-	<test id="1563" name="OptionalArgu_ByValueE" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\OptionalArgu_ByValueE.vb</file>
-	</test>
-	<test id="1564" name="OptionalArgumentA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\OptionalArgumentA.vb</file>
-	</test>
-	<test id="1565" name="OptionalParamaters" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\OptionalParamaters.vb</file>
-	</test>
-	<test id="1566" name="Overloading" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\Overloading.vb</file>
-	</test>
-	<test id="1567" name="OverloadingA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\OverloadingA.vb</file>
-	</test>
-	<test id="1568" name="OverloadResolutionA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\OverloadResolutionA.vb</file>
-	</test>
-	<test id="1569" name="OverloadResolutionB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\OverloadResolutionB.vb</file>
-	</test>
-	<test id="1570" name="OverloadResolutionC" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\OverloadResolutionC.vb</file>
-	</test>
-	<test id="1571" name="OverloadResolutionD" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\OverloadResolutionD.vb</file>
-	</test>
-	<test id="1572" name="OverloadResolutionE" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\OverloadResolutionE.vb</file>
-	</test>
-	<test id="1573" name="Override_dll" category="Mono" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\Override_dll.vb</file>
-	</test>
-	<test id="1574" name="Override_exe" category="Mono" priority="20" target="exe">
-		<arguments>/r:testoutput\Override_dll.dll</arguments>
-		<file>Mono\Override_exe.vb</file>
-	</test>
-	<test id="1575" name="OverrideA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\OverrideA.vb</file>
-	</test>
-	<test id="1576" name="OverrideB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\OverrideB.vb</file>
-	</test>
-	<test id="1577" name="OverrideC" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\OverrideC.vb</file>
-	</test>
-	<test id="1578" name="OverrideD" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\OverrideD.vb</file>
-	</test>
-	<test id="1579" name="OverrideE" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\OverrideE.vb</file>
-	</test>
-	<test id="1580" name="OverrideF" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\OverrideF.vb</file>
-	</test>
-	<test id="1581" name="OverrideG" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\OverrideG.vb</file>
-	</test>
-	<test id="1582" name="ParamArrayA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ParamArrayA.vb</file>
-	</test>
-	<test id="1583" name="ParamArrayB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ParamArrayB.vb</file>
-	</test>
-	<test id="1584" name="ParamArrayC" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ParamArrayC.vb</file>
-	</test>
-	<test id="1585" name="ParamArrayD" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ParamArrayD.vb</file>
-	</test>
-	<test id="1586" name="ParamArrayE" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ParamArrayE.vb</file>
-	</test>
-	<test id="1587" name="PropertyA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\PropertyA.vb</file>
-	</test>
-	<test id="1588" name="PropertyAsFunctionArgA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\PropertyAsFunctionArgA.vb</file>
-	</test>
-	<test id="1589" name="PropertyB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\PropertyB.vb</file>
-	</test>
-	<test id="1590" name="PropertyC" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\PropertyC.vb</file>
-	</test>
-	<test id="1591" name="PropertyD" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\PropertyD.vb</file>
-	</test>
-	<test id="1592" name="PropertyE" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\PropertyE.vb</file>
-	</test>
-	<test id="1593" name="PropertyF" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\PropertyF.vb</file>
-	</test>
-	<test id="1594" name="PropertyG" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\PropertyG.vb</file>
-	</test>
-	<test id="1595" name="PropertyH" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\PropertyH.vb</file>
-	</test>
-	<test id="1596" name="PropertyI" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\PropertyI.vb</file>
-	</test>
-	<test id="1597" name="PropertyJ" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\PropertyJ.vb</file>
-	</test>
-	<test id="1598" name="PropertyK" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\PropertyK.vb</file>
-	</test>
-	<test id="1599" name="PropertyL" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\PropertyL.vb</file>
-	</test>
-	<test id="1600" name="QualifiedNames" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\QualifiedNames.vb</file>
-	</test>
-	<test id="1601" name="RegionDirectives" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\RegionDirectives.vb</file>
-	</test>
-	<test id="1602" name="RegionDirectivesA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\RegionDirectivesA.vb</file>
-	</test>
-	<test id="1603" name="RelationalOperators" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\RelationalOperators.vb</file>
-	</test>
-	<test id="1604" name="RelationalOperatorsA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\RelationalOperatorsA.vb</file>
-	</test>
-	<test id="1605" name="ReturnStatementA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ReturnStatementA.vb</file>
-	</test>
-	<test id="1606" name="Scope" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\Scope.vb</file>
-	</test>
-	<test id="1607" name="ScopeA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ScopeA.vb</file>
-	</test>
-	<test id="1608" name="ScopeB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ScopeB.vb</file>
-	</test>
-	<test id="1609" name="ScopeC" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ScopeC.vb</file>
-	</test>
-	<test id="1610" name="SelectCaseStatementA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\SelectCaseStatementA.vb</file>
-	</test>
-	<test id="1611" name="SelectCaseStatementB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\SelectCaseStatementB.vb</file>
-	</test>
-	<test id="1612" name="SelectCaseStatementC" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\SelectCaseStatementC.vb</file>
-	</test>
-	<test id="1613" name="SelectCaseStatementD" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\SelectCaseStatementD.vb</file>
-	</test>
-	<test id="1614" name="ShadowsA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ShadowsA.vb</file>
-	</test>
-	<test id="1615" name="ShadowsC" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ShadowsC.vb</file>
-	</test>
-	<test id="1616" name="ShadowsC4" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ShadowsC4.vb</file>
-	</test>
-	<test id="1617" name="ShadowsD" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ShadowsD.vb</file>
-	</test>
-	<test id="1618" name="ShadowsE" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ShadowsE.vb</file>
-	</test>
-	<test id="1619" name="ShadowsF" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ShadowsF.vb</file>
-	</test>
-	<test id="1620" name="ShiftOperators" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ShiftOperators.vb</file>
-	</test>
-	<test id="1621" name="ShiftOperatorsA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\ShiftOperatorsA.vb</file>
-	</test>
-	<test id="1622" name="SingleLiteral" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\SingleLiteral.vb</file>
-	</test>
-	<test id="1623" name="SingleLiteralA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\SingleLiteralA.vb</file>
-	</test>
-	<test id="1624" name="SingleLiteralB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\SingleLiteralB.vb</file>
-	</test>
-	<test id="1625" name="SingleTypeCharTest" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\SingleTypeCharTest.vb</file>
-	</test>
-	<test id="1626" name="SingleTypeCharTestA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\SingleTypeCharTestA.vb</file>
-	</test>
-	<test id="1627" name="SingleTypeCharTestB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\SingleTypeCharTestB.vb</file>
-	</test>
-	<test id="1628" name="SingleTypeCharTestC2" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\SingleTypeCharTestC2.vb</file>
-	</test>
-	<test id="1629" name="StringLiterals" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\StringLiterals.vb</file>
-	</test>
-	<test id="1630" name="StringLiteralsA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\StringLiteralsA.vb</file>
-	</test>
-	<test id="1631" name="StringLiteralTest" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\StringLiteralTest.vb</file>
-	</test>
-	<test id="1632" name="StringTypeCharTest" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\StringTypeCharTest.vb</file>
-	</test>
-	<test id="1633" name="StringTypeCharTestA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\StringTypeCharTestA.vb</file>
-	</test>
-	<test id="1634" name="StringTypeCharTestB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\StringTypeCharTestB.vb</file>
-	</test>
-	<test id="1635" name="StringTypeCharTestC2" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\StringTypeCharTestC2.vb</file>
-	</test>
-	<test id="1636" name="StructureA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\StructureA.vb</file>
-	</test>
-	<test id="1637" name="StructureB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\StructureB.vb</file>
-	</test>
-	<test id="1638" name="SyncLockB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\SyncLockB.vb</file>
-	</test>
-	<test id="1639" name="TypeMembersA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\TypeMembersA.vb</file>
-	</test>
-	<test id="1640" name="TypeMembersB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\TypeMembersB.vb</file>
-	</test>
-	<test id="1641" name="TypeMembersC" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\TypeMembersC.vb</file>
-	</test>
-	<test id="1642" name="TypeMembersD" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\TypeMembersD.vb</file>
-	</test>
-	<test id="1643" name="TypeMembersE" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\TypeMembersE.vb</file>
-	</test>
-	<test id="1644" name="TypeMembersF" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\TypeMembersF.vb</file>
-	</test>
-	<test id="1645" name="TypeMembersG" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\TypeMembersG.vb</file>
-	</test>
-	<test id="1646" name="TypeMembersH" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\TypeMembersH.vb</file>
-	</test>
-	<test id="1647" name="TypeMembersI" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\TypeMembersI.vb</file>
-	</test>
-	<test id="1648" name="TypeMembersJ" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\TypeMembersJ.vb</file>
-	</test>
-	<test id="1649" name="TypeMembersK" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\TypeMembersK.vb</file>
-	</test>
-	<test id="1650" name="TypeMembersL" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\TypeMembersL.vb</file>
-	</test>
-	<test id="1651" name="TypeMembersM" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\TypeMembersM.vb</file>
-	</test>
-	<test id="1652" name="TypeMembersN" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\TypeMembersN.vb</file>
-	</test>
-	<test id="1653" name="TypeMembersO" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\TypeMembersO.vb</file>
-	</test>
-	<test id="1654" name="TypeMembersR" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\TypeMembersR.vb</file>
-	</test>
-	<test id="1655" name="TypeMembersS" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\TypeMembersS.vb</file>
-	</test>
-	<test id="1656" name="TypeMembersT" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\TypeMembersT.vb</file>
-	</test>
-	<test id="1657" name="TypeMembersU" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\TypeMembersU.vb</file>
-	</test>
-	<test id="1658" name="TypeMembersV" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\TypeMembersV.vb</file>
-	</test>
-	<test id="1659" name="TypeMembersW" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\TypeMembersW.vb</file>
-	</test>
-	<test id="1660" name="TypeMembersY" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\TypeMembersY.vb</file>
-	</test>
-	<test id="1661" name="TypeObjectA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\TypeObjectA.vb</file>
-	</test>
-	<test id="1662" name="TypeOf" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\TypeOf.vb</file>
-	</test>
-	<test id="1663" name="TypeStructureA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\TypeStructureA.vb</file>
-	</test>
-	<test id="1664" name="TypeValRefA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\TypeValRefA.vb</file>
-	</test>
-	<test id="1665" name="TypeValRefArrayA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\TypeValRefArrayA.vb</file>
-	</test>
-	<test id="1666" name="TypeValRefB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\TypeValRefB.vb</file>
-	</test>
-	<test id="1667" name="TypeValRefC" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\TypeValRefC.vb</file>
-	</test>
-	<test id="1668" name="TypeValRefStringA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\TypeValRefStringA.vb</file>
-	</test>
-	<test id="1669" name="Variables" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\Variables.vb</file>
-	</test>
-	<test id="1670" name="VariablesA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\VariablesA.vb</file>
-	</test>
-	<test id="1671" name="VariablesB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\VariablesB.vb</file>
-	</test>
-	<test id="1672" name="VariablesC" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\VariablesC.vb</file>
-	</test>
-	<test id="1673" name="VariablesD" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\VariablesD.vb</file>
-	</test>
-	<test id="1674" name="VariablesE" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\VariablesE.vb</file>
-	</test>
-	<test id="1675" name="VariablesF" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\VariablesF.vb</file>
-	</test>
-	<test id="1676" name="VariablesG" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\VariablesG.vb</file>
-	</test>
-	<test id="1677" name="VariablesH" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\VariablesH.vb</file>
-	</test>
-	<test id="1678" name="VariablesI" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\VariablesI.vb</file>
-	</test>
-	<test id="1679" name="VariablesJ" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\VariablesJ.vb</file>
-	</test>
-	<test id="1680" name="VariablesK" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\VariablesK.vb</file>
-	</test>
-	<test id="1681" name="VariablesL" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\VariablesL.vb</file>
-	</test>
-	<test id="1682" name="VariablesM" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\VariablesM.vb</file>
-	</test>
-	<test id="1683" name="WithStatementA" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\WithStatementA.vb</file>
-	</test>
-	<test id="1684" name="WithStatementB" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\WithStatementB.vb</file>
-	</test>
-	<test id="1685" name="WithStatementC" category="Mono" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Mono\WithStatementC.vb</file>
-	</test>
-	<test id="1686" name="abcd" category="My" priority="20" target="exe">
-		<arguments>-r:System.Web.dll</arguments>
-		<file>My\abcd.vb</file>
-	</test>
-	<test id="1687" name="bug-333403" category="My" priority="20" target="winexe">
-		<arguments>/noconfig /imports:Microsoft.VisualBasic,System,System.Collections,System.Collections.Generic,System.Data,System.Drawing,System.Diagnostics,System.Windows.Forms /nowarn:42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 /optionstrict+ /rootnamespace:WindowsApplication1 /define:CONFIG="Debug",DEBUG=-1,TRACE=-1,_MyType=\"WindowsForms\",PLATFORM="AnyCPU" /reference:System.Data.dll,System.dll,System.Drawing.dll,System.Windows.Forms.dll,System.Xml.dll /main:WindowsApplication1.RightForm /debug+ /debug:full </arguments>
-		<file>My\bug-333403.vb</file>
-	</test>
-	<test id="1688" name="Console" category="My" priority="20" target="exe">
-		<arguments>-r:System.Web.dll</arguments>
-		<file>My\Console.vb</file>
-	</test>
-	<test id="1689" name="Custom" category="My" priority="20" target="exe">
-		<arguments>-r:System.Web.dll</arguments>
-		<file>My\Custom.vb</file>
-	</test>
-	<test id="1690" name="DefaultInstances1" category="My" priority="20" target="library">
-		<arguments>-r:System.Web.dll -rootnamespace:WindowsApplication1 -define:_MYTYPE=\"WindowsForms\" -r:System.Windows.Forms.dll</arguments>
-		<file>My\DefaultInstances1.vb</file>
-	</test>
-	<test id="1691" name="DefinedSymbols" category="My" priority="20" target="exe">
-		<arguments>-r:System.Web.dll</arguments>
-		<file>My\DefinedSymbols.vb</file>
-	</test>
-	<test id="1692" name="Empty" category="My" priority="20" target="exe">
-		<arguments>-r:System.Web.dll</arguments>
-		<file>My\Empty.vb</file>
-	</test>
-	<test id="1693" name="EmptyString" category="My" priority="20" target="exe">
-		<arguments>-r:System.Web.dll</arguments>
-		<file>My\EmptyString.vb</file>
-	</test>
-	<test id="1694" name="My.Application1" category="My" priority="20" target="exe">
-		<arguments>-r:System.Web.dll</arguments>
-		<file>My\My.Application1.vb</file>
-	</test>
-	<test id="1695" name="My.Forms1" category="My" priority="20" target="winexe">
-		<arguments>-r:System.Web.dll -define:_MYTYPE=\"WindowsForms\"</arguments>
-		<file>My\My.Forms1.vb</file>
-	</test>
-	<test id="1696" name="None" category="My" priority="20" target="exe">
-		<arguments>-r:System.Web.dll</arguments>
-		<file>My\None.vb</file>
-	</test>
-	<test id="1697" name="Web" category="My" priority="20" target="exe">
-		<arguments>-r:System.Web.dll</arguments>
-		<file>My\Web.vb</file>
-	</test>
-	<test id="1698" name="WebControl" category="My" priority="20" target="exe">
-		<arguments>-r:System.Web.dll</arguments>
-		<file>My\WebControl.vb</file>
-	</test>
-	<test id="1699" name="Windows" category="My" priority="20" target="exe">
-		<arguments>-r:System.Web.dll</arguments>
-		<file>My\Windows.vb</file>
-	</test>
-	<test id="1700" name="WindowsForms" category="My" priority="20" target="exe">
-		<arguments>-r:System.Web.dll</arguments>
-		<file>My\WindowsForms.vb</file>
-	</test>
-	<test id="1701" name="WindowsForms_exe" category="My" priority="20" target="exe">
-		<arguments>-r:System.Web.dll</arguments>
-		<file>My\WindowsForms_exe.vb</file>
-	</test>
-	<test id="1702" name="WindowsForms_library" category="My" priority="20" target="library">
-		<arguments>-r:System.Web.dll</arguments>
-		<file>My\WindowsForms_library.vb</file>
-	</test>
-	<test id="1703" name="WindowsForms_module" category="My" priority="20" knownfailure="NotImplementedYet" target="module">
-		<arguments>-r:System.Web.dll -define:_MYTYPE=\"WindowsForms\"</arguments>
-		<file>My\WindowsForms_module.vb</file>
-	</test>
-	<test id="1704" name="WindowsForms_winexe" category="My" priority="20" target="winexe">
-		<arguments>-r:System.Web.dll -define:_MYTYPE=\"WindowsForms\"</arguments>
-		<file>My\WindowsForms_winexe.vb</file>
-	</test>
-	<test id="1705" name="WindowsFormsWithCustomSubMain" category="My" priority="20" target="exe">
-		<arguments>-r:System.Web.dll</arguments>
-		<file>My\WindowsFormsWithCustomSubMain.vb</file>
-	</test>
-	<test id="1706" name="GenericNestedType2" category="NonCecilRelated" priority="20" target="library">
-		<file>NonCecilRelated\GenericNestedType2.vb</file>
-	</test>
-	<test id="1707" name="GenericType3" category="NonCecilRelated" priority="20" target="library">
-		<file>NonCecilRelated\GenericType3.vb</file>
-	</test>
-	<test id="1708" name="AddressOfExpression1" category="NotImplementedYet" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\"</arguments>
-		<file>NotImplementedYet\AddressOfExpression1.vb</file>
-	</test>
-	<test id="1709" name="AddressOfExpression2" category="NotImplementedYet" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\"</arguments>
-		<file>NotImplementedYet\AddressOfExpression2.vb</file>
-	</test>
-	<test id="1710" name="CDateConstantExpression1" category="NotImplementedYet" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\"</arguments>
-		<file>NotImplementedYet\CDateConstantExpression1.vb</file>
-	</test>
-	<test id="1711" name="CDecConstantExpression1" category="" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\"</arguments>
-		<file>NotImplementedYet\CDecConstantExpression1.vb</file>
-	</test>
-	<test id="1712" name="Constructor1" category="NotImplementedYet" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\"</arguments>
-		<file>NotImplementedYet\Constructor1.vb</file>
-	</test>
-	<test id="1713" name="DecimalConstant1" category="" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\"</arguments>
-		<file>NotImplementedYet\DecimalConstant1.vb</file>
-	</test>
-	<test id="1714" name="DelegateAsMethodParameter1" category="NotImplementedYet" priority="20" knownfailure="NotImplementedYet" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\"</arguments>
-		<file>NotImplementedYet\DelegateAsMethodParameter1.vb</file>
-	</test>
-	<test id="1715" name="MethodOverload1" category="NotImplementedYet" priority="20" knownfailure="NotImplementedYet" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\"</arguments>
-		<file>NotImplementedYet\MethodOverload1.vb</file>
-	</test>
-	<test id="1734" name="Resources1" category="Resources" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\"</arguments>
-		<file>Resources\Resources1.vb</file>
-	</test>
-	<test id="1735" name="Resources2" category="Resources" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\"</arguments>
-		<file>Resources\Resources2.vb</file>
-	</test>
-	<test id="1736" name="Resources3" category="Resources" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\"</arguments>
-		<file>Resources\Resources3.vb</file>
-	</test>
-	<test id="1737" name="Resources4" category="Resources" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\"</arguments>
-		<file>Resources\Resources4.vb</file>
-	</test>
-	<test id="1738" name="Resources5" category="Resources" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\"</arguments>
-		<file>Resources\Resources5.vb</file>
-	</test>
-	<test id="1739" name="AddOperator1" category="RunTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>RunTime\AddOperator1.vb</file>
-	</test>
-	<test id="1740" name="AddOperator2" category="RunTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>RunTime\AddOperator2.vb</file>
-	</test>
-	<test id="1741" name="Array1" category="RunTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>RunTime\Array1.vb</file>
-	</test>
-	<test id="1742" name="ArrayElements1" category="RunTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>RunTime\ArrayElements1.vb</file>
-	</test>
-	<test id="1743" name="ArrayElements2" category="RunTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>RunTime\ArrayElements2.vb</file>
-	</test>
-	<test id="1744" name="ArrayElements3" category="RunTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>RunTime\ArrayElements3.vb</file>
-	</test>
-	<test id="1745" name="ArrayElements4" category="RunTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>RunTime\ArrayElements4.vb</file>
-	</test>
-	<test id="1746" name="ArrayElements5" category="RunTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>RunTime\ArrayElements5.vb</file>
-	</test>
-	<test id="1747" name="ArrayElementsBoolean1" category="RunTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>RunTime\ArrayElementsBoolean1.vb</file>
-	</test>
-	<test id="1748" name="ArrayElementsByte1" category="RunTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>RunTime\ArrayElementsByte1.vb</file>
-	</test>
-	<test id="1749" name="ArrayElementsChar1" category="RunTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>RunTime\ArrayElementsChar1.vb</file>
-	</test>
-	<test id="1750" name="ArrayElementsDate1" category="RunTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>RunTime\ArrayElementsDate1.vb</file>
-	</test>
-	<test id="1751" name="ArrayElementsDecimal1" category="RunTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>RunTime\ArrayElementsDecimal1.vb</file>
-	</test>
-	<test id="1752" name="ArrayElementsDouble1" category="RunTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>RunTime\ArrayElementsDouble1.vb</file>
-	</test>
-	<test id="1753" name="ArrayElementsInteger1" category="RunTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>RunTime\ArrayElementsInteger1.vb</file>
-	</test>
-	<test id="1754" name="ArrayElementsLong1" category="RunTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>RunTime\ArrayElementsLong1.vb</file>
-	</test>
-	<test id="1755" name="ArrayElementsObject1" category="RunTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>RunTime\ArrayElementsObject1.vb</file>
-	</test>
-	<test id="1756" name="ArrayElementsSByte1" category="RunTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>RunTime\ArrayElementsSByte1.vb</file>
-	</test>
-	<test id="1757" name="ArrayElementsShort1" category="RunTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>RunTime\ArrayElementsShort1.vb</file>
-	</test>
-	<test id="1758" name="ArrayElementsSingle1" category="RunTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>RunTime\ArrayElementsSingle1.vb</file>
-	</test>
-	<test id="1759" name="ArrayElementsString1" category="RunTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>RunTime\ArrayElementsString1.vb</file>
-	</test>
-	<test id="1760" name="ArrayElementsUInteger1" category="RunTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>RunTime\ArrayElementsUInteger1.vb</file>
-	</test>
-	<test id="1761" name="ArrayElementsULong1" category="RunTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>RunTime\ArrayElementsULong1.vb</file>
-	</test>
-	<test id="1762" name="ArrayElementsUShort1" category="RunTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>RunTime\ArrayElementsUShort1.vb</file>
-	</test>
-	<test id="1763" name="ByRefBoolean1" category="RunTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>RunTime\ByRefBoolean1.vb</file>
-	</test>
-	<test id="1764" name="ByRefByte1" category="RunTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>RunTime\ByRefByte1.vb</file>
-	</test>
-	<test id="1765" name="ByRefChar1" category="RunTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>RunTime\ByRefChar1.vb</file>
-	</test>
-	<test id="1766" name="ByRefDate1" category="RunTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>RunTime\ByRefDate1.vb</file>
-	</test>
-	<test id="1767" name="ByRefDecimal1" category="RunTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>RunTime\ByRefDecimal1.vb</file>
-	</test>
-	<test id="1768" name="ByRefDouble1" category="RunTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>RunTime\ByRefDouble1.vb</file>
-	</test>
-	<test id="1769" name="ByRefInteger1" category="RunTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>RunTime\ByRefInteger1.vb</file>
-	</test>
-	<test id="1770" name="ByRefLong1" category="RunTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>RunTime\ByRefLong1.vb</file>
-	</test>
-	<test id="1771" name="ByRefObject1" category="RunTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>RunTime\ByRefObject1.vb</file>
-	</test>
-	<test id="1772" name="ByRefSByte1" category="RunTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>RunTime\ByRefSByte1.vb</file>
-	</test>
-	<test id="1773" name="ByRefShort1" category="RunTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>RunTime\ByRefShort1.vb</file>
-	</test>
-	<test id="1774" name="ByRefSingle1" category="RunTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>RunTime\ByRefSingle1.vb</file>
-	</test>
-	<test id="1775" name="ByRefString1" category="RunTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>RunTime\ByRefString1.vb</file>
-	</test>
-	<test id="1776" name="ByRefUInteger1" category="RunTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>RunTime\ByRefUInteger1.vb</file>
-	</test>
-	<test id="1777" name="ByRefULong1" category="RunTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>RunTime\ByRefULong1.vb</file>
-	</test>
-	<test id="1778" name="ByRefUShort1" category="RunTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>RunTime\ByRefUShort1.vb</file>
-	</test>
-	<test id="1779" name="CType_Array1" category="RunTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>RunTime\CType_Array1.vb</file>
-	</test>
-	<test id="1780" name="CType_Array2" category="RunTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>RunTime\CType_Array2.vb</file>
-	</test>
-	<test id="1781" name="CType_Array3" category="RunTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>RunTime\CType_Array3.vb</file>
-	</test>
-	<test id="1782" name="CType_Array4" category="RunTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>RunTime\CType_Array4.vb</file>
-	</test>
-	<test id="1783" name="CType_Array5" category="RunTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>RunTime\CType_Array5.vb</file>
-	</test>
-	<test id="1784" name="CType_Array6" category="RunTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>RunTime\CType_Array6.vb</file>
-	</test>
-	<test id="1785" name="CType_Interface1" category="RunTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>RunTime\CType_Interface1.vb</file>
-	</test>
-	<test id="1786" name="CType_Interface2" category="RunTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>RunTime\CType_Interface2.vb</file>
-	</test>
-	<test id="1787" name="CType_Interface3" category="RunTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>RunTime\CType_Interface3.vb</file>
-	</test>
-	<test id="1788" name="CType_TypeParameter1" category="RunTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>RunTime\CType_TypeParameter1.vb</file>
-	</test>
-	<test id="1789" name="CType_TypeParameter2" category="RunTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>RunTime\CType_TypeParameter2.vb</file>
-	</test>
-	<test id="1790" name="CType_TypeParameter3" category="RunTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>RunTime\CType_TypeParameter3.vb</file>
-	</test>
-	<test id="1791" name="CType_TypeParameter4" category="RunTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>RunTime\CType_TypeParameter4.vb</file>
-	</test>
-	<test id="1792" name="CType_TypeParameter5" category="RunTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>RunTime\CType_TypeParameter5.vb</file>
-	</test>
-	<test id="1793" name="CType_TypeParameter6" category="RunTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>RunTime\CType_TypeParameter6.vb</file>
-	</test>
-	<test id="1794" name="CType_ValueType1" category="RunTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>RunTime\CType_ValueType1.vb</file>
-	</test>
-	<test id="1795" name="CType1" category="RunTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>RunTime\CType1.vb</file>
-	</test>
-	<test id="1796" name="CType2" category="RunTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>RunTime\CType2.vb</file>
-	</test>
-	<test id="1797" name="CType3" category="RunTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>RunTime\CType3.vb</file>
-	</test>
-	<test id="1798" name="CType4" category="RunTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>RunTime\CType4.vb</file>
-	</test>
-	<test id="1799" name="CType5" category="RunTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>RunTime\CType5.vb</file>
-	</test>
-	<test id="1800" name="CType6" category="RunTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>RunTime\CType6.vb</file>
-	</test>
-	<test id="1801" name="End1" category="RunTime" priority="20" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>RunTime\End1.vb</file>
-	</test>
-	<test id="1802" name="HelloWorld" category="RunTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>RunTime\HelloWorld.vb</file>
-	</test>
-	<test id="1803" name="JaggedArrayElements1" category="RunTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>RunTime\JaggedArrayElements1.vb</file>
-	</test>
-	<test id="1804" name="JaggedArrayElements2" category="RunTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>RunTime\JaggedArrayElements2.vb</file>
-	</test>
-	<test id="1805" name="UserDefinedOperators1" category="RunTime" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>RunTime\UserDefinedOperators1.vb</file>
-	</test>
-	<test id="1807" name="rt" category="SelfTest" priority="20" target="library">
-		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary -imports:System,Microsoft.VisualBasic,System.Collections,System.Collections.Generic,System.Diagnostics,System.Windows.Forms,System.Drawing,System.Xml -r:System.dll,System.Xml.dll,System.Windows.Forms.dll,System.Drawing.dll,Mono.Cecil.VB.dll /rootnamespace:rt -res:..\..\rt\source\FileTabPage.resx  -res:..\..\rt\source\frmMain.resx</arguments>
-		<testarguments>/console</testarguments>
-		<file>..\..\rt\source\AssemblyInfo.vb</file>
-		<file>..\..\rt\source\CecilCompare.vb</file>
-		<file>..\..\rt\source\CecilComparer.vb</file>
-		<file>..\..\rt\source\CommandLine.vb</file>
-		<file>..\..\rt\source\ConsoleRunner.vb</file>
-		<file>..\..\rt\source\EnhancedProgressBar.Designer.vb</file>
-		<file>..\..\rt\source\EnhancedProgressBar.vb</file>
-		<file>..\..\rt\source\ExternalProcessExecutor.vb</file>
-		<file>..\..\rt\source\ExternalProcessVerification.vb</file>
-		<file>..\..\rt\source\FileTabPage.Designer.vb</file>
-		<file>..\..\rt\source\FileTabPage.vb</file>
-		<file>..\..\rt\source\frmMain.Designer.vb</file>
-		<file>..\..\rt\source\frmMain.vb</file>
-		<file>..\..\rt\source\frmNewTest.vb</file>
-		<file>..\..\rt\source\frmNewTest.Designer.vb</file>
-		<file>..\..\rt\source\frmFiles.vb</file>
-		<file>..\..\rt\source\frmFiles.Designer.vb</file>
-		<file>..\..\rt\source\Helper.vb</file>
-		<file>..\..\rt\source\ListViewItemComparer.vb</file>
-		<file>..\..\rt\source\Main.vb</file>
-		<file>..\..\rt\source\Settings.vb</file>
-		<file>..\..\rt\source\Test.Results.vb</file>
-		<file>..\..\rt\source\Test.Targets.vb</file>
-		<file>..\..\rt\source\Test.MyTypes.vb</file>
-		<file>..\..\rt\source\Test.vb</file>
-		<file>..\..\rt\source\TestExecutor.vb</file>
-		<file>..\..\rt\source\Tests.vb</file>
-		<file>..\..\rt\source\TestView.vb</file>
-		<file>..\..\rt\source\VerificationBase.vb</file>
-		<dependency>..\..\..\class\lib\bootstrap\Mono.Cecil.VB.dll</dependency>
-	</test>
-	<test id="1808" name="SelfCompile" category="SelfTest" priority="20" outputvbcassembly="SelfTest\vbnc_vbc.exe" outputassembly="SelfTest\vbnc.exe" target="exe" workingdirectory="SelfTest">
-		<arguments>@SelfCompileWindows.response</arguments>
-		<vbcarguments>/out:vbnc_vbc.exe</vbcarguments>
-		<testarguments>/help</testarguments>
-	</test>
-	<test id="1809" name="GenericNestedType1" category="Unfixable" priority="20" target="exe">
-		<file>Unfixable\GenericNestedType1.vb</file>
-	</test>
-	<test id="1810" name="NestedInterfaceInheritance1" category="Unfixable" priority="20" target="library">
-		<file>Unfixable\NestedInterfaceInheritance1.vb</file>
-	</test>
-	<test id="1811" name="NoVBRuntimeRef1" category="CompileTime" priority="20" target="library">
-		<arguments>/vbruntime- </arguments>
-		<file>Unfixable\NoVBRuntimeRef1.vb</file>
-	</test>
-	<test id="1813" name="MarshalAs.vb" category="" priority="0" target="library">
-		<arguments>/define:_MYTYPE=\"Empty\"</arguments>
-		<file>CompileTime\MarshalAs.vb</file>
-	</test>
-	<test id="1814" name="Microsoft.VisualBasic" category="VBRunTime" priority="20" target="library" workingdirectory="VBRunTime">
-		<arguments>@Microsoft.VisualBasic.windows.response /noconfig /nowarn:41008,40010</arguments>
-	</test>
-	<test id="1816" name="DefaultCtor" category="CompileTime" priority="0" target="library">
-		<file>CompileTime\DefaultCtor.vb</file>
-	</test>
-	<test id="0" name="NUnitTests" category="NUnitTests" priority="0" target="exe" workingdirectory="NUnitTests">
-		<file>AddHandler.vb</file>
-		<file>ArrayCreation1.vb</file>
-		<file>ArrayIndexExpressions.vb</file>
-		<file>ArrayStore.vb</file>
-		<file>Assignment.vb</file>
-		<file>BinaryAdd1.vb</file>
-		<file>BinaryAdd2.vb</file>
-		<file>BinaryAdd.Generated.vb</file>
-		<file>ExplicitConversions.vb</file>
-		<file>FunctionCall.vb</file>
-		<file>Generated.vb</file>
-		<file>ImplicitConversions.vb</file>
-		<file>Main.vb</file>
-		<file>MethodCall1.vb</file>
-		<file>MethodCall2.vb</file>
-		<file>MethodCall3.vb</file>
-		<file>MethodCall4.vb</file>
-		<file>MethodOverload1.vb</file>
-	</test>
-	<test id="920" name="GenericDelegate1" category="" priority="0" target="library">
-		<file>CompileTime\GenericDelegate1.vb</file>
-	</test>
-	<test id="921" name="GetUpperBound.vb" category="" priority="0" target="library">
-		<file>CompileTime\GetUpperBound.vb</file>
-	</test>
-	<test id="922" name="AttributeFileVersion" category="" priority="0" target="exe">
-		<file>CompileTime2\AttributeFileVersion.vb</file>
-	</test>
-	<test id="1716" name="ConstantBounds1" category="" priority="0" target="library">
-		<file>CompileTime\ConstantBounds1.vb</file>
-	</test>
-	<test id="1717" name="42020" category="" priority="0" knownfailure="Earlier VB compilers (<10) showed an warning (#42020) for this code" expectederrorcode="42020" target="library">
-		<file>Errors\42020.vb</file>
-	</test>
-	<test id="766" name="MultDimArray1" category="" priority="0" target="exe">
-		<file>CompileTime2\MultDimArray1.vb</file>
-	</test>
-	<test id="923" name="DefaultMember1" category="" priority="0" target="library">
-		<arguments>-r:System.Data.dll</arguments>
-		<file>CompileTime\DefaultMember1.vb</file>
-	</test>
-	<test id="1718" name="TryCatch5" category="" priority="0" target="library">
-		<file>CompileTime\TryCatch5.vb</file>
-	</test>
-	<test id="1719" name="DebugInfo1" category="" priority="0" target="library">
-		<arguments>/debug:full</arguments>
-		<file>CompileTime\DebugInfo1.vb</file>
-	</test>
-	<test id="1720" name="bug-547165" category="Bugs" priority="0" target="exe">
-		<file>Bugs\bug-547165.vb</file>
-	</test>
-	<test id="1721" name="bug-504822" category="Bugs" priority="0" target="library">
-		<file>Bugs\bug-504822.vb</file>
-	</test>
-	<test id="1722" name="DoLoopWhile3" category="CompileTime" priority="0" target="library">
-		<file>CompileTime\DoLoopWhile3.vb</file>
-	</test>
-	<test id="1723" name="Narrowing1" category="CompileTime" priority="0" target="exe">
-		<file>CompileTime\Narrowing1.vb</file>
-	</test>
-	<test id="1724" name="42021" category="" priority="0" knownfailure="Error code # has changed" expectederrorcode="42021" target="library">
-		<file>Errors\42021.vb</file>
-	</test>
-	<test id="1725" name="30512" category="" priority="0" expectedexitcode="1" expectederrorcode="30512" target="library">
-		<file>Errors\30512.vb</file>
-	</test>
-	<test id="1726" name="30203" category="" priority="0" knownfailure="Has error # changed?" expectedexitcode="1" expectederrorcode="30203" target="library">
-		<file>Errors\30203.vb</file>
-	</test>
-	<test id="1727" name="30035" category="" priority="0" knownfailure="Has error # changed?" expectedexitcode="1" expectederrorcode="30035" target="library">
-		<file>Errors\30035.vb</file>
-	</test>
-	<test id="1728" name="30127" category="" priority="0" expectedexitcode="1" expectederrorcode="30127" target="library">
-		<file>Errors\30127.vb</file>
-	</test>
-	<test id="1729" name="UsingStatement6" category="" priority="0" target="exe">
-		<file>CompileTime2\UsingStatement6.vb</file>
-	</test>
-	<test id="1730" name="FunctionReturnVariable1" category="" priority="0" target="exe">
-		<file>CompileTime2\FunctionReturnVariable1.vb</file>
-	</test>
-	<test id="1732" name="DefaultInstance1" category="" priority="0" target="exe">
-		<arguments>-define:_MYTYPE=\"WindowsFormsWithCustomSubMain\"</arguments>
-		<file>CompileTime2\DefaultInstance1.vb</file>
-	</test>
-	<test id="1733" name="ValueType1" category="" priority="0" target="exe">
-		<file>RunTime\ValueType1.vb</file>
-	</test>
-	<test id="1731" name="DefaultProperty7" category="" priority="0" target="exe">
-		<file>CompileTime2\DefaultProperty7.vb</file>
-	</test>
-	<test id="1806" name="ConditionalExpression1" category="" priority="0" target="exe">
-		<arguments>/debug:full</arguments>
-		<file>CompileTime2\ConditionalExpression1.vb</file>
-	</test>
-	<test id="1812" name="error" category="" priority="0" target="library">
-		<file>Errors\error.vb</file>
-	</test>
-	<test id="1815" name="30199" category="" priority="0" expectedexitcode="1" expectederrorcode="30199" target="exe">
-		<file>Errors\30199.vb</file>
-	</test>
-	<test id="1817" name="33104" category="" priority="0" expectedexitcode="1" expectederrorcode="33104" target="exe">
-		<file>Errors\33104.vb</file>
-	</test>
-	<test id="1818" name="33104-1" category="" priority="0" expectedexitcode="1" expectederrorcode="33104" target="exe">
-		<file>Errors\33104-1.vb</file>
-	</test>
-	<test id="1819" name="30201" category="" priority="0" expectedexitcode="1" expectederrorcode="33104" expectedvbcexitcode="1" expectedvbcerrorcode="33104" target="exe">
-		<file>Errors\30201.vb</file>
-	</test>
-	<test id="1820" name="30198" category="" priority="0" expectedexitcode="1" expectederrorcode="30198" target="exe">
-		<file>Errors\30198.vb</file>
-	</test>
-	<test id="1821" name="33104-2" category="" priority="0" expectedexitcode="1" expectederrorcode="33104" target="exe">
-		<file>Errors\33104-2.vb</file>
-	</test>
-	<test id="1822" name="30512-1" category="" priority="0" expectedexitcode="1" expectederrorcode="30512" target="exe">
-		<file>Errors\30512-1.vb</file>
-	</test>
-	<test id="1823" name="33107" category="" priority="0" expectedexitcode="1" expectederrorcode="33107" target="exe">
-		<file>Errors\33107.vb</file>
-	</test>
-	<test id="1824" name="33106" category="" priority="0" expectedexitcode="1" expectederrorcode="33106" expectedvbcexitcode="1" expectedvbcerrorcode="36913" target="exe">
-		<file>Errors\33106.vb</file>
-	</test>
-	<test id="1825" name="33110" category="" priority="0" expectedexitcode="1" expectederrorcode="33110" expectedvbcexitcode="1" expectedvbcerrorcode="36913" target="exe">
-		<file>Errors\33110.vb</file>
-	</test>
-	<test id="1826" name="33110-1" category="" priority="0" knownfailure="Earlier VB compilers (<10) showed an error (#33110) for this code" expectedexitcode="1" expectederrorcode="33110" target="exe">
-		<file>Errors\33110-1.vb</file>
-	</test>
-	<test id="1827" name="33107-1" category="" priority="0" expectedexitcode="1" expectederrorcode="33107" target="exe">
-		<file>Errors\33107-1.vb</file>
-	</test>
-	<test id="1828" name="30512-2" category="" priority="0" expectedexitcode="1" expectederrorcode="30512" target="exe">
-		<file>Errors\30512-2.vb</file>
-	</test>
-	<test id="1829" name="30512-3" category="" priority="0" expectedexitcode="1" expectederrorcode="30512" target="exe">
-		<file>Errors\30512-3.vb</file>
-	</test>
-	<test id="1830" name="ByRefStructureReturn1" category="" priority="0" target="library">
-		<file>CompileTime\ByRefStructureReturn1.vb</file>
-	</test>
-	<test id="1831" name="ImplicitNullableConversions1" category="" priority="0" target="exe">
-		<file>CompileTime2\ImplicitNullableConversions1.vb</file>
-	</test>
-	<test id="1832" name="30311-36" category="" priority="0" expectedexitcode="1" expectederrorcode="30311" target="exe">
-		<file>Errors\30311-36.vb</file>
-	</test>
-	<test id="1833" name="30512-4" category="" priority="0" expectedexitcode="1" expectederrorcode="30512" target="exe">
-		<file>Errors\30512-4.vb</file>
-	</test>
-	<test id="1834" name="30311-37" category="" priority="0" expectedexitcode="1" expectederrorcode="30311" target="exe">
-		<file>Errors\30311-37.vb</file>
-	</test>
-	<test id="1835" name="UserDefinedNullableConversions1" category="" priority="0" knownfailure="We give the wrong error number" target="exe">
-		<file>CompileTime2\UserDefinedNullableConversions1.vb</file>
-	</test>
-	<test id="1836" name="bug-629103" category="Bugs" priority="0" target="library">
-		<file>Bugs\bug-629103.vb</file>
-	</test>
-	<test id="1837" name="bug-629369" category="Bugs" priority="0" target="library">
-		<file>Bugs\bug-629369.vb</file>
-	</test>
-	<test id="1838" name="bug-629370" category="Bugs" priority="0" target="library">
-		<file>Bugs\bug-629370.vb</file>
-	</test>
-	<test id="1839" name="bug-629373" category="Bugs" priority="0" target="library">
-		<file>Bugs\bug-629373.vb</file>
-	</test>
-	<test id="1840" name="30439-2" category="" priority="0" expectedexitcode="1" expectederrorcode="30439" target="exe">
-		<file>Errors\30439-2.vb</file>
-	</test>
-	<test id="1841" name="ImportsType2" category="" priority="0" target="library">
-		<file>CompileTime\ImportsType2.vb</file>
-	</test>
-	<test id="1842" name="30002" category="" priority="0" expectedexitcode="1" expectederrorcode="30002" target="library">
-		<file>Errors\30002.vb</file>
-	</test>
-	<test id="1843" name="30182" category="" priority="0" expectedexitcode="1" expectederrorcode="30182" target="exe">
-		<file>Errors\30182.vb</file>
-	</test>
-	<test id="1844" name="End2" category="" priority="0" target="exe">
-		<file>RunTime\End2.vb</file>
-	</test>
-	<test id="1845" name="SecurityAttribute2" category="" priority="0" target="library">
-		<file>CompileTime\SecurityAttribute2.vb</file>
-	</test>
-	<test id="1846" name="MethodResolution1" category="" priority="0" target="library">
-		<file>CompileTime\MethodResolution1.vb</file>
-	</test>
-	<test id="1847" name="Boolean2" category="" priority="0" target="exe">
-		<file>CompileTime2\Boolean2.vb</file>
-	</test>
-	<test id="1848" name="30201-1" category="" priority="0" expectedexitcode="1" expectederrorcode="30201" target="library">
-		<file>Errors\30201-1.vb</file>
-	</test>
-	<test id="1849" name="ByRef13" category="" priority="0" target="exe">
-		<file>CompileTime2\ByRef13.vb</file>
-	</test>
-	<test id="1850" name="30311-38" category="" priority="0" expectedexitcode="1" expectederrorcode="30311" target="exe">
-		<file>Errors\30311-38.vb</file>
-	</test>
-	<test id="1852" name="Optional3" category="" priority="0" target="library">
-		<file>1Declarations\Optional3.vb</file>
-	</test>
-	<test id="1851" name="For7" category="" priority="0" target="exe">
-		<file>CompileTime2\For7.vb</file>
-	</test>
-	<test id="1853" name="30108-1" category="" priority="0" expectedexitcode="1" expectederrorcode="30108" target="exe">
-		<file>Errors\30108-1.vb</file>
-	</test>
-	<test id="1854" name="30112" category="" priority="0" expectedexitcode="1" expectederrorcode="30112" target="exe">
-		<file>Errors\30112.vb</file>
-	</test>
-	<test id="1855" name="32022" category="" priority="0" expectedexitcode="1" expectederrorcode="32022" target="exe">
-		<file>Errors\32022.vb</file>
-	</test>
-	<test id="1856" name="30491" category="" priority="0" expectedexitcode="1" expectederrorcode="30491" target="exe">
-		<file>Errors\30491.vb</file>
-	</test>
-	<test id="1857" name="Delegate8" category="" priority="0" expectedexitcode="1" expectederrorcode="30408" expectedvbcexitcode="0" expectedvbcerrorcode="0" target="library">
-		<file>1Declarations\Delegate8.vb</file>
-	</test>
-	<test id="1858" name="ByRefCType1" category="" priority="0" knownfailure="Invalid IL is generated" target="exe">
-		<file>RunTime\ByRefCType1.vb</file>
-	</test>
-	<test id="1859" name="ArrayCreationExpression6" category="" priority="0" knownfailure="We crash instead of showing correct error message (or compile like vb10 does)" expectedexitcode="1" expectederrorcode="30201" expectedvbcexitcode="0" expectedvbcerrorcode="0" target="library">
-		<file>CompileTime\ArrayCreationExpression6.vb</file>
-	</test>
-	<test id="1860" name="MethodsWithPointers1" category="" priority="0" target="library">
-		<arguments>-r:MethodsWithPointers1_CS.dll</arguments>
-		<file>CompileTime\MethodsWithPointers1.vb</file>
-		<dependency>Bin\MethodsWithPointers1_CS.dll</dependency>
-	</test>
-	<test id="1861" name="30657" category="" priority="0" expectedexitcode="1" expectederrorcode="30657" target="exe">
-		<arguments>-r:MethodsWithPointers1_CS.dll</arguments>
-		<file>Errors\30657.vb</file>
-	</test>
-	<test id="1862" name="InferFor1" category="" priority="0" target="exe">
-		<file>CompileTime\InferFor1.vb</file>
-	</test>
-	<test id="1863" name="30983" category="" priority="0" expectedexitcode="1" expectederrorcode="30983" target="exe">
-		<file>Errors\30983.vb</file>
-	</test>
-	<test id="1864" name="30983-1" category="" priority="0" expectedexitcode="1" expectederrorcode="30983" target="exe">
-		<file>Errors\30983-1.vb</file>
-	</test>
-	<test id="1865" name="30983-2" category="" priority="0" expectedexitcode="1" expectederrorcode="30983" target="exe">
-		<file>Errors\30983-2.vb</file>
-	</test>
-	<test id="1866" name="30983-3" category="" priority="0" expectedexitcode="1" expectederrorcode="30983" target="exe">
-		<file>Errors\30983-3.vb</file>
-	</test>
-	<test id="1867" name="30108-2" category="" priority="0" expectedexitcode="1" expectederrorcode="30108" target="exe">
-		<file>Errors\30108-2.vb</file>
-	</test>
-	<test id="1868" name="30451-2" category="" priority="0" expectedexitcode="1" expectederrorcode="30451" target="exe">
-		<file>Errors\30451-2.vb</file>
-	</test>
-	<test id="1869" name="MethodInvocation24" category="" priority="0" target="exe">
-		<file>CompileTime2\MethodInvocation24.vb</file>
-	</test>
-	<test id="1870" name="30375" category="" priority="0" expectedexitcode="1" expectederrorcode="30375" target="exe">
-		<file>Errors\30375.vb</file>
-	</test>
-	<test id="1871" name="CoClass1" category="" priority="0" target="exe">
-		<file>CompileTime2\CoClass1.vb</file>
-	</test>
-	<test id="1872" name="30455-1" category="" priority="0" expectedexitcode="1" expectederrorcode="30455" target="exe">
-		<file>Errors\30455-1.vb</file>
-	</test>
-	<test id="1873" name="31094" category="" priority="0" expectedexitcode="1" expectederrorcode="31094" target="exe">
-		<file>Errors\31094.vb</file>
-	</test>
-	<test id="1874" name="30251" category="" priority="0" expectedexitcode="1" expectederrorcode="30251" target="exe">
-		<file>Errors\30251.vb</file>
-	</test>
-	<test id="1875" name="30455-2" category="" priority="0" expectedexitcode="1" expectederrorcode="30455" target="exe">
-		<file>Errors\30455-2.vb</file>
-	</test>
-	<test id="1876" name="30251-1" category="" priority="0" expectedexitcode="1" expectederrorcode="30251" target="exe">
-		<file>Errors\30251-1.vb</file>
-	</test>
-	<test id="1877" name="DuplicateReference1" category="" priority="0" target="winexe">
-		<arguments>-r:System.Web.dll -rootnamespace:WindowsApplication1 -define:_MYTYPE=\"WindowsForms\" -r:System.Windows.Forms.dll,System.Windows.forms.dll</arguments>
-		<file>CompileTime\DuplicateReference1.vb</file>
-	</test>
-	<test id="1878" name="ArrayRef1" category="" priority="0" target="library">
-		<file>CompileTime\ArrayRef1.vb</file>
-	</test>
-	<test id="1879" name="RedimPreserve3" category="" priority="0" target="library">
-		<file>CompileTime\RedimPreserve3.vb</file>
-	</test>
-	<test id="1880" name="ByRefStore1" category="" priority="0" target="library">
-		<file>CompileTime\ByRefStore1.vb</file>
-	</test>
-	<test id="1881" name="ByRefProperty1" category="" priority="0" target="exe">
-		<file>CompileTime\ByRefProperty1.vb</file>
-	</test>
-	<test id="1882" name="30524" category="" priority="0" expectedexitcode="1" expectederrorcode="30524" target="exe">
-		<file>Errors\30524.vb</file>
-	</test>
-	<test id="1883" name="ArrayRef2" category="" priority="0" target="library">
-		<file>CompileTime\ArrayRef2.vb</file>
-	</test>
-	<test id="1884" name="Attributes7" category="" priority="0" target="library">
-		<arguments>/define:_MYTYPE=\"Empty\"</arguments>
-		<file>CompileTime\Attributes7.vb</file>
-	</test>
-	<test id="1885" name="OptionCompareText2" category="" priority="0" target="library">
-		<file>CompileTime2\OptionCompareText2.vb</file>
-	</test>
-	<test id="1886" name="30562" category="" priority="0" expectedexitcode="1" expectederrorcode="30562" target="exe">
-		<file>Errors\30562.vb</file>
-	</test>
-	<test id="1887" name="30562-1" category="" priority="0" expectedexitcode="1" expectederrorcode="30562" target="exe">
-		<file>Errors\30562-1.vb</file>
-	</test>
-	<test id="1888" name="Module3" category="" priority="0" target="exe">
-		<file>CompileTime2\Module3.vb</file>
-	</test>
-	<test id="1889" name="PropertyAccess6" category="" priority="0" target="exe">
-		<file>CompileTime2\PropertyAccess6.vb</file>
-	</test>
-	<test id="1890" name="Attributes8" category="" priority="0" target="library">
-		<file>CompileTime2\Attributes8.vb</file>
-	</test>
-	<test id="1891" name="AddHandler4" category="" priority="0" target="library">
-		<arguments>-define:_MYTYPE=\"WindowsForms\" -r:System.Windows.Forms.dll</arguments>
-		<file>CompileTime2\AddHandler4.vb</file>
-	</test>
-	<test id="1892" name="30469" category="" priority="0" expectedexitcode="1" expectederrorcode="30469" target="library">
-		<file>Errors\30469.vb</file>
-	</test>
-	<test id="1893" name="AddressOfExpression4" category="" priority="0" target="library" mytype="empty">
-		<file>CompileTime2\AddressOfExpression4.vb</file>
-	</test>
-	<test id="1894" name="Nullable2" category="" priority="0" target="library" mytype="empty">
-		<file>CompileTime2\Nullable2.vb</file>
-	</test>
-	<test id="1895" name="36657" category="" priority="0" expectedexitcode="1" expectederrorcode="36657" target="exe">
-		<file>Errors\36657.vb</file>
-	</test>
-	<test id="1896" name="ArgumentTypeInference" category="" priority="0" target="exe" mytype="empty">
-		<arguments>/nowarn</arguments>
-		<file>CompileTime2\ArgumentTypeInference.vb</file>
-	</test>
-	<test id="1897" name="30530" category="" priority="0" expectedexitcode="1" expectederrorcode="30530" target="library" mytype="empty">
-		<arguments>/nowarn</arguments>
-		<file>Errors\30530.vb</file>
-	</test>
-	<test id="1898" name="MethodDeclaration1" category="" priority="0" target="library" mytype="empty">
-		<file>CompileTime2\MethodDeclaration1.vb</file>
-	</test>
-	<test id="1899" name="30530-1" category="" priority="0" expectedexitcode="1" expectederrorcode="30530" target="exe">
-		<file>Errors\30530-1.vb</file>
-	</test>
-	<test id="1900" name="30530-2" category="" priority="0" expectedexitcode="1" expectederrorcode="30530" target="library">
-		<file>Errors\30530-2.vb</file>
-	</test>
-	<test id="1901" name="30530-3" category="" priority="0" expectedexitcode="1" expectederrorcode="30530" target="library">
-		<file>Errors\30530-3.vb</file>
-	</test>
-	<test id="1902" name="30530-4" category="" priority="0" expectedexitcode="1" expectederrorcode="30530" target="library">
-		<file>Errors\30530-4.vb</file>
-	</test>
-	<test id="1903" name="36651" category="" priority="0" expectedexitcode="1" expectederrorcode="36651" target="exe">
-		<arguments>/nowarn</arguments>
-		<file>Errors\36651.vb</file>
-	</test>
-	<test id="1904" name="36657-1" category="" priority="0" expectedexitcode="1" expectederrorcode="36657" target="exe">
-		<arguments>/nowarn</arguments>
-		<file>Errors\36657-1.vb</file>
-	</test>
-	<test id="1905" name="33101" category="" priority="0" expectedexitcode="1" expectederrorcode="33101" target="library">
-		<arguments>/nowarn</arguments>
-		<file>Errors\33101.vb</file>
-	</test>
-	<test id="1906" name="30057-1" category="" priority="0" expectedexitcode="1" expectederrorcode="30057" target="exe">
-		<file>Errors\30057-1.vb</file>
-	</test>
-	<test id="1907" name="32050" category="" priority="0" expectedexitcode="1" expectederrorcode="32050" target="exe">
-		<file>Errors\32050.vb</file>
-	</test>
-	<test id="1908" name="30455-3" category="" priority="0" expectedexitcode="1" expectederrorcode="30455" target="exe">
-		<file>Errors\30455-3.vb</file>
-	</test>
-	<test id="1909" name="32050-1" category="" priority="0" expectedexitcode="1" expectederrorcode="32050" target="library" mytype="empty">
-		<file>Errors\32050-1.vb</file>
-	</test>
-	<test id="1910" name="Nullable3" category="" priority="0" target="library" mytype="empty">
-		<file>CompileTime2\Nullable3.vb</file>
-	</test>
-	<test id="1911" name="30311-40" category="" priority="0" expectedexitcode="1" expectederrorcode="30311" target="exe">
-		<file>Errors\30311-40.vb</file>
-	</test>
-	<test id="1912" name="30311-39" category="" priority="0" expectedexitcode="1" expectederrorcode="30311" target="exe">
-		<file>Errors\30311-39.vb</file>
-	</test>
-	<test id="1913" name="30311-41" category="" priority="0" expectedexitcode="1" expectederrorcode="30311" target="exe">
-		<file>Errors\30311-41.vb</file>
-	</test>
-	<test id="1914" name="30311-42" category="" priority="0" expectedexitcode="1" expectederrorcode="30311" target="exe">
-		<file>Errors\30311-42.vb</file>
-	</test>
-	<test id="1915" name="30311-43" category="" priority="0" expectedexitcode="1" expectederrorcode="30311" target="exe">
-		<file>Errors\30311-43.vb</file>
-	</test>
-	<test id="1916" name="30311-44" category="" priority="0" expectedexitcode="1" expectederrorcode="30311" target="exe">
-		<file>Errors\30311-44.vb</file>
-	</test>
-	<test id="1917" name="30311-45" category="" priority="0" expectedexitcode="1" expectederrorcode="30311" target="exe">
-		<file>Errors\30311-45.vb</file>
-	</test>
-	<test id="1918" name="30311-46" category="" priority="0" expectedexitcode="1" expectederrorcode="30311" target="exe">
-		<file>Errors\30311-46.vb</file>
-	</test>
-	<test id="1919" name="30311-47" category="" priority="0" expectedexitcode="1" expectederrorcode="30311" target="exe">
-		<file>Errors\30311-47.vb</file>
-	</test>
-	<test id="1920" name="30311-48" category="" priority="0" expectedexitcode="1" expectederrorcode="30311" target="exe">
-		<file>Errors\30311-48.vb</file>
-	</test>
-	<test id="1921" name="30311-49" category="" priority="0" expectedexitcode="1" expectederrorcode="30311" target="exe">
-		<file>Errors\30311-49.vb</file>
-	</test>
-	<test id="1922" name="30311-50" category="" priority="0" expectedexitcode="1" expectederrorcode="30311" target="exe">
-		<file>Errors\30311-50.vb</file>
-	</test>
-	<test id="1923" name="30311-51" category="" priority="0" expectedexitcode="1" expectederrorcode="30311" target="exe">
-		<file>Errors\30311-51.vb</file>
-	</test>
-	<test id="1924" name="30311-52" category="" priority="0" expectedexitcode="1" expectederrorcode="30311" target="exe">
-		<file>Errors\30311-52.vb</file>
-	</test>
-	<test id="1925" name="Nothing1" category="" priority="0" target="library" mytype="empty">
-		<file>CompileTime2\Nothing1.vb</file>
-	</test>
-	<test id="1926" name="30311-53" category="" priority="0" expectedexitcode="1" expectederrorcode="30311" target="exe">
-		<file>Errors\30311-53.vb</file>
-	</test>
-	<test id="1927" name="30530-5" category="" priority="0" expectedexitcode="1" expectederrorcode="30530" target="library">
-		<file>Errors\30530-5.vb</file>
-	</test>
-	<test id="1928" name="Property9" category="" priority="0" target="library" mytype="empty">
-		<file>CompileTime2\Property9.vb</file>
-	</test>
-	<test id="1929" name="33101-1" category="" priority="0" expectedexitcode="1" expectederrorcode="33101" target="exe">
-		<file>Errors\33101-1.vb</file>
-	</test>
-	<test id="1930" name="32083" category="" priority="0" expectedexitcode="1" expectederrorcode="32083" target="exe">
-		<file>Errors\32083.vb</file>
-	</test>
-	<test id="1931" name="32083-1" category="" priority="0" expectedexitcode="1" expectederrorcode="32083" target="exe">
-		<file>Errors\32083-1.vb</file>
-	</test>
-	<test id="1932" name="32083-2" category="" priority="0" expectedexitcode="1" expectederrorcode="32083" target="exe">
-		<file>Errors\32083-2.vb</file>
-	</test>
-	<test id="1933" name="32083-3" category="" priority="0" expectedexitcode="1" expectederrorcode="32083" target="exe">
-		<file>Errors\32083-3.vb</file>
-	</test>
-	<test id="1934" name="32083-4" category="" priority="0" expectedexitcode="1" expectederrorcode="32083" target="library" mytype="empty">
-		<file>Errors\32083-4.vb</file>
-	</test>
-	<test id="1935" name="TypeArguments17" category="" priority="0" target="library" mytype="empty">
-		<file>CompileTime2\TypeArguments17.vb</file>
-	</test>
-	<test id="1936" name="32083-5" category="" priority="0" expectedexitcode="1" expectederrorcode="32083" target="exe">
-		<file>Errors\32083-5.vb</file>
-	</test>
-	<test id="1937" name="32083-6" category="" priority="0" expectedexitcode="1" expectederrorcode="32083" target="exe">
-		<file>Errors\32083-6.vb</file>
-	</test>
-	<test id="1938" name="32083-7" category="" priority="0" expectedexitcode="1" expectederrorcode="32083" target="exe">
-		<file>Errors\32083-7.vb</file>
-	</test>
-	<test id="1939" name="32083-8" category="" priority="0" expectedexitcode="1" expectederrorcode="32083" target="exe">
-		<file>Errors\32083-8.vb</file>
-	</test>
-	<test id="1940" name="32105-1" category="" priority="0" expectedexitcode="1" expectederrorcode="32105" target="exe">
-		<file>Errors\32105-1.vb</file>
-	</test>
-	<test id="1941" name="32106-1" category="" priority="0" expectedexitcode="1" expectederrorcode="32106" target="exe">
-		<file>Errors\32106-1.vb</file>
-	</test>
-	<test id="1942" name="32106-2" category="" priority="0" expectedexitcode="1" expectederrorcode="32106" target="exe">
-		<file>Errors\32106-2.vb</file>
-	</test>
-	<test id="1943" name="32106-3" category="" priority="0" expectedexitcode="1" expectederrorcode="32106" target="exe">
-		<file>Errors\32106-3.vb</file>
-	</test>
-	<test id="1944" name="33101-2" category="" priority="0" expectedexitcode="1" expectederrorcode="33101" target="exe">
-		<file>Errors\33101-2.vb</file>
-	</test>
-	<test id="1945" name="32105-2" category="" priority="0" expectedexitcode="1" expectederrorcode="32105" target="exe">
-		<file>Errors\32105-2.vb</file>
-	</test>
-	<test id="1946" name="32106-4" category="" priority="0" expectedexitcode="1" expectederrorcode="32106" target="exe">
-		<file>Errors\32106-4.vb</file>
-	</test>
-	<test id="1947" name="32084" category="" priority="0" expectedexitcode="1" expectederrorcode="32084" target="exe">
-		<file>Errors\32084.vb</file>
-	</test>
-	<test id="1948" name="32044" category="" priority="0" expectedexitcode="1" expectederrorcode="32044" target="exe">
-		<file>Errors\32044.vb</file>
-	</test>
-	<test id="1949" name="32044-1" category="" priority="0" expectedexitcode="1" expectederrorcode="32044" target="exe">
-		<file>Errors\32044-1.vb</file>
-	</test>
-	<test id="1950" name="30512-5" category="" priority="0" expectedexitcode="1" expectederrorcode="30512" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Errors\30512-5.vb</file>
-	</test>
-	<test id="1951" name="30512-6" category="" priority="0" expectedexitcode="1" expectederrorcode="30512" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Errors\30512-6.vb</file>
-	</test>
-	<test id="1952" name="30512-7" category="" priority="0" expectedexitcode="1" expectederrorcode="30512" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Errors\30512-7.vb</file>
-	</test>
-	<test id="1953" name="30512-8" category="" priority="0" expectedexitcode="1" expectederrorcode="30512" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Errors\30512-8.vb</file>
-	</test>
-	<test id="1954" name="30512-9" category="" priority="0" expectedexitcode="1" expectederrorcode="30512" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Errors\30512-9.vb</file>
-	</test>
-	<test id="1955" name="30512-10" category="" priority="0" expectedexitcode="1" expectederrorcode="30512" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Errors\30512-10.vb</file>
-	</test>
-	<test id="1956" name="30512-11" category="" priority="0" expectedexitcode="1" expectederrorcode="30512" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Errors\30512-11.vb</file>
-	</test>
-	<test id="1957" name="30512-12" category="" priority="0" expectedexitcode="1" expectederrorcode="30512" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Errors\30512-12.vb</file>
-	</test>
-	<test id="1958" name="30512-13" category="" priority="0" expectedexitcode="1" expectederrorcode="30512" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Errors\30512-13.vb</file>
-	</test>
-	<test id="1959" name="30512-14" category="" priority="0" expectedexitcode="1" expectederrorcode="30512" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Errors\30512-14.vb</file>
-	</test>
-	<test id="1960" name="30512-15" category="" priority="0" expectedexitcode="1" expectederrorcode="30512" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Errors\30512-15.vb</file>
-	</test>
-	<test id="1961" name="30512-16" category="" priority="0" expectedexitcode="1" expectederrorcode="30512" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Errors\30512-16.vb</file>
-	</test>
-	<test id="1962" name="30512-17" category="" priority="0" expectedexitcode="1" expectederrorcode="30512" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Errors\30512-17.vb</file>
-	</test>
-	<test id="1963" name="30512-18" category="" priority="0" expectedexitcode="1" expectederrorcode="30512" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Errors\30512-18.vb</file>
-	</test>
-	<test id="1964" name="30512-19" category="" priority="0" expectedexitcode="1" expectederrorcode="30512" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Errors\30512-19.vb</file>
-	</test>
-	<test id="1965" name="UserConversion2" category="" priority="0" target="library" mytype="empty">
-		<file>CompileTime2\UserConversion2.vb</file>
-	</test>
-	<test id="1966" name="30311-54" category="" priority="0" expectedexitcode="1" expectederrorcode="30311" target="exe">
-		<file>Errors\30311-54.vb</file>
-	</test>
-	<test id="1967" name="30512-20" category="" priority="0" expectedexitcode="1" expectederrorcode="30512" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Errors\30512-20.vb</file>
-	</test>
-	<test id="1968" name="30512-21" category="" priority="0" expectedexitcode="1" expectederrorcode="30512" target="exe">
-		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
-		<file>Errors\30512-21.vb</file>
-	</test>
-	<test id="1969" name="UserConversion3" category="" priority="0" target="library" mytype="empty">
-		<file>CompileTime2\UserConversion3.vb</file>
-	</test>
-	<test id="1970" name="30311-55" category="" priority="0" expectedexitcode="1" expectederrorcode="30311" target="exe">
-		<file>Errors\30311-55.vb</file>
-	</test>
-	<test id="1971" name="CType7" category="" priority="0" target="library" mytype="empty">
-		<file>CompileTime2\CType7.vb</file>
-	</test>
-	<test id="1972" name="Nullable4" category="" priority="0" target="library" mytype="empty">
-		<file>CompileTime2\Nullable4.vb</file>
-	</test>
-	<test id="1973" name="30512-22" category="" priority="0" expectedexitcode="1" expectederrorcode="30512" target="exe">
-		<file>Errors\30512-22.vb</file>
-	</test>
-	<test id="1974" name="30311-56" category="" priority="0" expectedexitcode="1" expectederrorcode="30311" target="exe">
-		<file>Errors\30311-56.vb</file>
-	</test>
-	<test id="1975" name="30452" category="" priority="0" knownfailure="Missing error when passing invalid parameters to applicable method" expectedexitcode="1" expectederrorcode="30452" target="exe">
-		<file>Errors\30452.vb</file>
-	</test>
-	<test id="1976" name="bug-652241" category="" priority="0" expectedexitcode="1" expectederrorcode="30408" expectedvbcexitcode="0" expectedvbcerrorcode="0" target="library" mytype="empty">
-		<file>Bugs\bug-652241.vb</file>
-	</test>
-	<test id="1977" name="30737" category="" priority="0" expectedexitcode="1" expectederrorcode="30737" target="exe">
-		<file>Errors\30737.vb</file>
-	</test>
-	<test id="1978" name="30737-1" category="" priority="0" expectedexitcode="1" expectederrorcode="30737" target="exe">
-		<file>Errors\30737-1.vb</file>
-	</test>
-	<test id="1979" name="bug-504791" category="" priority="0" target="exe" mytype="empty">
-		<file>Bugs\bug-504791.vb</file>
-	</test>
-	<test id="1980" name="bug-438656" category="" priority="0" target="library" mytype="empty">
-		<file>Bugs\bug-438656.vb</file>
-	</test>
-	<test id="1981" name="ImplicitLineContinuationsAssignmentOperator" category="" priority="0" knownfailure="Pending implementation of implicit line continuations" target="library">
-		<file>CompileTime2\AssignmentOperator.vb</file>
-	</test>
-	<test id="1982" name="ImplicitLineContinuationsBinaryOperator" category="" priority="0" knownfailure="Pending implementation of implicit line continuations" target="library" mytype="empty">
-		<file>CompileTime2\BinaryOperator.vb</file>
-	</test>
-	<test id="1983" name="ImplicitLineContinuationsComma" category="" priority="0" knownfailure="Pending implementation of implicit line continuations" target="library" mytype="empty">
-		<file>CompileTime2\Comma.vb</file>
-	</test>
-	<test id="1984" name="ImplicitLineContinuationsConcatenation" category="" priority="0" knownfailure="Pending implementation of implicit line continuations" target="library" mytype="empty">
-		<file>CompileTime2\Concatenation.vb</file>
-	</test>
-	<test id="1985" name="ImplicitLineContinuationsCurlyBraces" category="" priority="0" knownfailure="Pending implementation of implicit line continuations" target="library" mytype="empty">
-		<file>CompileTime2\CurlyBraces.vb</file>
-	</test>
-	<test id="1986" name="ImplicitLineContinuationsForEach" category="" priority="0" knownfailure="Pending implementation of implicit line continuations" target="library" mytype="empty">
-		<file>CompileTime2\ForEach.vb</file>
-	</test>
-	<test id="1987" name="ImplicitLineContinuationsFrom" category="" priority="0" knownfailure="Pending implementation of implicit line continuations" target="library" mytype="empty">
-		<arguments>-imports:System.Collections.Generic</arguments>
-		<file>CompileTime2\From.vb</file>
-	</test>
-	<test id="1988" name="ImplicitLineContinuationsIsandIsNotOperators" category="" priority="0" knownfailure="Pending implementation of implicit line continuations" target="library" mytype="empty">
-		<file>CompileTime2\IsandIsNotOperators.vb</file>
-	</test>
-	<test id="1989" name="ImplicitLineContinuationsParenthesis" category="" priority="0" knownfailure="Pending implementation of implicit line continuations" target="library" mytype="empty">
-		<file>CompileTime2\Parenthesis.vb</file>
-	</test>
-	<test id="1990" name="30203-ImplicitLineContinuationsClassonnewline" category="" priority="0" knownfailure="Pending implementation of implicit line continuations" expectedexitcode="1" expectederrorcode="30203" target="library" mytype="empty">
-		<file>Errors\Classonnewline.vb</file>
-	</test>
-	<test id="1991" name="30203-ImplicitLineContinuationsDimonnewline" category="" priority="0" expectedexitcode="1" expectederrorcode="30203" target="library" mytype="empty">
-		<file>Errors\Dimonnewline.vb</file>
-	</test>
-	<test id="1992" name="30198-ImplicitLineContinuationsFunctionDec" category="" priority="0" knownfailure="Pending implementation of implicit line continuations" expectedexitcode="1" expectederrorcode="30198" target="library" mytype="empty">
-		<file>Errors\FunctionDec.vb</file>
-	</test>
-	<test id="1993" name="30203-ImplicitLineContinuationsSub" category="" priority="0" expectedexitcode="1" expectederrorcode="30203" target="library" mytype="empty">
-		<file>Errors\Sub.vb</file>
-	</test>
-	<test id="1994" name="TypeNameResolution3" category="" priority="0" knownfailure="doesn't work" target="library" mytype="empty">
-		<file>CompileTime\TypeNameResolution3.vb</file>
-	</test>
-	<test id="1995" name="GenericNestedType3" category="" priority="0" knownfailure="bug #431978" target="library" mytype="empty">
-		<file>CompileTime2\GenericNestedType3.vb</file>
-	</test>
-</rt>
\ No newline at end of file
+<?xml version="1.0" encoding="utf-8"?>
+<rt>
+	<test id="1" name="ArrayType1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\ArrayType1.vb</file>
+	</test>
+	<test id="2" name="ArrayType10">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\ArrayType10.vb</file>
+	</test>
+	<test id="3" name="ArrayType11">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\ArrayType11.vb</file>
+	</test>
+	<test id="4" name="ArrayType2">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\ArrayType2.vb</file>
+	</test>
+	<test id="5" name="ArrayType3">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\ArrayType3.vb</file>
+	</test>
+	<test id="6" name="ArrayType4">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\ArrayType4.vb</file>
+	</test>
+	<test id="7" name="ArrayType5">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\ArrayType5.vb</file>
+	</test>
+	<test id="8" name="ArrayType6">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\ArrayType6.vb</file>
+	</test>
+	<test id="9" name="ArrayType7">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\ArrayType7.vb</file>
+	</test>
+	<test id="10" name="ArrayType8">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\ArrayType8.vb</file>
+	</test>
+	<test id="11" name="ArrayType9">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\ArrayType9.vb</file>
+	</test>
+	<test id="12" name="AssemblyAttribute1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\AssemblyAttribute1.vb</file>
+	</test>
+	<test id="13" name="ByRef1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\ByRef1.vb</file>
+	</test>
+	<test id="14" name="Class1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\Class1.vb</file>
+	</test>
+	<test id="15" name="Class2">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\Class2.vb</file>
+	</test>
+	<test id="16" name="Constructors2">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\Constructors2.vb</file>
+	</test>
+	<test id="17" name="Constructors3">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\Constructors3.vb</file>
+	</test>
+	<test id="18" name="CustomEvent1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\CustomEvent1.vb</file>
+	</test>
+	<test id="19" name="CustomEvent2">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\CustomEvent2.vb</file>
+	</test>
+	<test id="20" name="DebugReflection">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\DebugReflection.vb</file>
+	</test>
+	<test id="21" name="DefaultProperty1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\DefaultProperty1.vb</file>
+	</test>
+	<test id="22" name="DefaultProperty2">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\DefaultProperty2.vb</file>
+	</test>
+	<test id="23" name="Delegate1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\Delegate1.vb</file>
+	</test>
+	<test id="24" name="Delegate2">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\Delegate2.vb</file>
+	</test>
+	<test id="25" name="Delegate3">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\Delegate3.vb</file>
+	</test>
+	<test id="26" name="Delegate4">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\Delegate4.vb</file>
+	</test>
+	<test id="27" name="Delegate5">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\Delegate5.vb</file>
+	</test>
+	<test id="28" name="Delegate6">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\Delegate6.vb</file>
+	</test>
+	<test id="29" name="Delegate7">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\Delegate7.vb</file>
+	</test>
+	<test id="30" name="Enum1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\Enum1.vb</file>
+	</test>
+	<test id="31" name="Enum2">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\Enum2.vb</file>
+	</test>
+	<test id="32" name="EnumType1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\EnumType1.vb</file>
+	</test>
+	<test id="33" name="EnumType2">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\EnumType2.vb</file>
+	</test>
+	<test id="34" name="EventDelegate1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\EventDelegate1.vb</file>
+	</test>
+	<test id="35" name="Events1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\Events1.vb</file>
+	</test>
+	<test id="36" name="Events2">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\Events2.vb</file>
+	</test>
+	<test id="37" name="Events3">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\Events3.vb</file>
+	</test>
+	<test id="38" name="Events4">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\Events4.vb</file>
+	</test>
+	<test id="39" name="Events5">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\Events5.vb</file>
+	</test>
+	<test id="40" name="Events6">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\Events6.vb</file>
+	</test>
+	<test id="41" name="Events7">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\Events7.vb</file>
+	</test>
+	<test id="42" name="Events8">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\Events8.vb</file>
+	</test>
+	<test id="43" name="Field1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\Field1.vb</file>
+	</test>
+	<test id="44" name="Field2">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\Field2.vb</file>
+	</test>
+	<test id="45" name="FileVersionInfo1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\FileVersionInfo1.vb</file>
+	</test>
+	<test id="46" name="Function1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\Function1.vb</file>
+	</test>
+	<test id="47" name="GEExpression1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\GEExpression1.vb</file>
+	</test>
+	<test id="48" name="GenericInterface1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\GenericInterface1.vb</file>
+	</test>
+	<test id="49" name="GenericInterface2">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\GenericInterface2.vb</file>
+	</test>
+	<test id="50" name="GenericMember1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\GenericMember1.vb</file>
+	</test>
+	<test id="51" name="GenericMember10">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\GenericMember10.vb</file>
+	</test>
+	<test id="52" name="GenericMember2">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\GenericMember2.vb</file>
+	</test>
+	<test id="53" name="GenericMember3">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\GenericMember3.vb</file>
+	</test>
+	<test id="54" name="GenericMember4">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\GenericMember4.vb</file>
+	</test>
+	<test id="55" name="GenericMember5">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\GenericMember5.vb</file>
+	</test>
+	<test id="56" name="GenericMember6">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\GenericMember6.vb</file>
+	</test>
+	<test id="57" name="GenericMember7">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\GenericMember7.vb</file>
+	</test>
+	<test id="58" name="GenericMember8">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\GenericMember8.vb</file>
+	</test>
+	<test id="59" name="GenericMember9">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\GenericMember9.vb</file>
+	</test>
+	<test id="60" name="GenericMethod1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\GenericMethod1.vb</file>
+	</test>
+	<test id="61" name="GenericMethod2">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\GenericMethod2.vb</file>
+	</test>
+	<test id="62" name="GenericProperty1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\GenericProperty1.vb</file>
+	</test>
+	<test id="63" name="GenericType1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\GenericType1.vb</file>
+	</test>
+	<test id="64" name="GenericType2">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\GenericType2.vb</file>
+	</test>
+	<test id="65" name="GenericType3">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\GenericType3.vb</file>
+	</test>
+	<test id="66" name="Implements1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\Implements1.vb</file>
+	</test>
+	<test id="67" name="Interface1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\Interface1.vb</file>
+	</test>
+	<test id="68" name="Interface2">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\Interface2.vb</file>
+	</test>
+	<test id="69" name="Interface3">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\Interface3.vb</file>
+	</test>
+	<test id="70" name="Interface4">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\Interface4.vb</file>
+	</test>
+	<test id="71" name="InterfaceProperty1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\InterfaceProperty1.vb</file>
+	</test>
+	<test id="72" name="InterfaceProperty2">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\InterfaceProperty2.vb</file>
+	</test>
+	<test id="73" name="Modifiers1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\Modifiers1.vb</file>
+	</test>
+	<test id="74" name="Module1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\Module1.vb</file>
+	</test>
+	<test id="75" name="Module2">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\Module2.vb</file>
+	</test>
+	<test id="76" name="MultiInterface1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\MultiInterface1.vb</file>
+	</test>
+	<test id="77" name="MultiInterface2">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\MultiInterface2.vb</file>
+	</test>
+	<test id="78" name="MultiOverride1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\MultiOverride1.vb</file>
+	</test>
+	<test id="79" name="MustOverride1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\MustOverride1.vb</file>
+	</test>
+	<test id="80" name="MustOverride2">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\MustOverride2.vb</file>
+	</test>
+	<test id="81" name="MustOverride3">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\MustOverride3.vb</file>
+	</test>
+	<test id="82" name="MustOverride4">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\MustOverride4.vb</file>
+	</test>
+	<test id="83" name="MustOverride5">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\MustOverride5.vb</file>
+	</test>
+	<test id="84" name="Namespace1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\Namespace1.vb</file>
+	</test>
+	<test id="85" name="Namespace2">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\Namespace2.vb</file>
+	</test>
+	<test id="86" name="NestedDeclarations1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\NestedDeclarations1.vb</file>
+	</test>
+	<test id="87" name="Operator1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\Operator1.vb</file>
+	</test>
+	<test id="88" name="Optional1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\Optional1.vb</file>
+	</test>
+	<test id="89" name="Optional2">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\Optional2.vb</file>
+	</test>
+	<test id="90" name="Overridable1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\Overridable1.vb</file>
+	</test>
+	<test id="91" name="ParamArray1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\ParamArray1.vb</file>
+	</test>
+	<test id="92" name="Partial1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\Partial1.vb</file>
+	</test>
+	<test id="93" name="Partial10">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\Partial10.vb</file>
+	</test>
+	<test id="94" name="Partial2">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\Partial2.vb</file>
+	</test>
+	<test id="95" name="Partial3">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\Partial3.vb</file>
+	</test>
+	<test id="96" name="Partial4">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\Partial4.vb</file>
+	</test>
+	<test id="97" name="Partial5">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\Partial5.vb</file>
+	</test>
+	<test id="98" name="Partial6">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\Partial6.vb</file>
+	</test>
+	<test id="99" name="Partial7">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\Partial7.vb</file>
+	</test>
+	<test id="100" name="Partial8">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\Partial8.vb</file>
+	</test>
+	<test id="101" name="Partial9">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\Partial9.vb</file>
+	</test>
+	<test id="102" name="Property1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\Property1.vb</file>
+	</test>
+	<test id="103" name="Property2">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\Property2.vb</file>
+	</test>
+	<test id="104" name="Property3">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\Property3.vb</file>
+	</test>
+	<test id="105" name="Property4">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\Property4.vb</file>
+	</test>
+	<test id="106" name="Property5">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\Property5.vb</file>
+	</test>
+	<test id="107" name="Property6">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\Property6.vb</file>
+	</test>
+	<test id="108" name="Property7">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\Property7.vb</file>
+	</test>
+	<test id="109" name="Property8">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\Property8.vb</file>
+	</test>
+	<test id="110" name="Structure1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\Structure1.vb</file>
+	</test>
+	<test id="111" name="Structure2">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\Structure2.vb</file>
+	</test>
+	<test id="112" name="Structure3">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\Structure3.vb</file>
+	</test>
+	<test id="113" name="StructureAccess1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\StructureAccess1.vb</file>
+	</test>
+	<test id="114" name="Sub1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\Sub1.vb</file>
+	</test>
+	<test id="115" name="TypeArguments1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\TypeArguments1.vb</file>
+	</test>
+	<test id="116" name="TypeArguments10">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\TypeArguments10.vb</file>
+	</test>
+	<test id="117" name="TypeArguments11">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\TypeArguments11.vb</file>
+	</test>
+	<test id="118" name="TypeArguments12">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\TypeArguments12.vb</file>
+	</test>
+	<test id="119" name="TypeArguments13">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\TypeArguments13.vb</file>
+	</test>
+	<test id="120" name="TypeArguments14">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\TypeArguments14.vb</file>
+	</test>
+	<test id="121" name="TypeArguments15">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\TypeArguments15.vb</file>
+	</test>
+	<test id="122" name="TypeArguments16">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\TypeArguments16.vb</file>
+	</test>
+	<test id="123" name="TypeArguments2">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\TypeArguments2.vb</file>
+	</test>
+	<test id="124" name="TypeArguments3">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\TypeArguments3.vb</file>
+	</test>
+	<test id="125" name="TypeArguments4">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\TypeArguments4.vb</file>
+	</test>
+	<test id="126" name="TypeArguments5">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\TypeArguments5.vb</file>
+	</test>
+	<test id="127" name="TypeArguments6">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\TypeArguments6.vb</file>
+	</test>
+	<test id="128" name="TypeArguments7">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\TypeArguments7.vb</file>
+	</test>
+	<test id="129" name="TypeArguments8">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\TypeArguments8.vb</file>
+	</test>
+	<test id="130" name="TypeArguments9">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\TypeArguments9.vb</file>
+	</test>
+	<test id="131" name="TypeParameter1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\TypeParameter1.vb</file>
+	</test>
+	<test id="132" name="UnicodeBigEndianBom">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\UnicodeBigEndianBom.vb</file>
+	</test>
+	<test id="133" name="UnicodeBom">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\UnicodeBom.vb</file>
+	</test>
+	<test id="134" name="UTF8Bom">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\UTF8Bom.vb</file>
+	</test>
+	<test id="135" name="WithEvents1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\WithEvents1.vb</file>
+	</test>
+	<test id="136" name="WithEvents2">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>1Declarations\WithEvents2.vb</file>
+	</test>
+	<test id="137" name="30099-bug-80999" expectedexitcode="1">
+		<file>Bugs\30099-bug-80999.vb</file>
+		<error line="1" number="40056" message="Namespace or type specified in the Imports 'VIA.Workcamps' doesn't contain any public member or cannot be found. Make sure the namespace or the type is defined and contains at least one public member. Make sure the imported element name doesn't use any aliases." />
+		<error line="2" number="40056" message="Namespace or type specified in the Imports 'VIA.Core' doesn't contain any public member or cannot be found. Make sure the namespace or the type is defined and contains at least one public member. Make sure the imported element name doesn't use any aliases." />
+		<error line="8" number="30099" message="'Exit Select' can only appear inside a 'Select' statement." />
+	</test>
+	<test id="138" name="30145-bug-328101" expectedexitcode="1">
+		<arguments>-linkresource:foo.res</arguments>
+		<file>Bugs\30145-bug-328101.vb</file>
+		<error number="30145" />
+	</test>
+	<test id="139" name="30180-bug-325340" expectedexitcode="1" target="exe">
+		<file>Bugs\30180-bug-325340.vb</file>
+		<error number="30180" />
+	</test>
+	<test id="140" name="30420-bug-74955" expectedexitcode="1" target="exe">
+		<arguments>/target:winexe /r:System.Windows.Forms.dll</arguments>
+		<file>Bugs\30420-bug-74955.vb</file>
+		<error number="30420" />
+	</test>
+	<test id="141" name="30420-bug-74955-2" expectedexitcode="1" target="exe">
+		<arguments>/target:winexe</arguments>
+		<file>Bugs\30420-bug-74955-2.vb</file>
+		<error number="30420" />
+	</test>
+	<test id="142" name="30451-bug-332869" expectedexitcode="1" target="exe">
+		<file>Bugs\30451-bug-332869.vb</file>
+		<error number="30451" />
+	</test>
+	<test id="143" name="30456-bug-456326" expectedexitcode="1" target="exe">
+		<file>Bugs\30456-bug-456326.vb</file>
+		<error number="30456" />
+	</test>
+	<test id="144" name="31027-bug-328101" expectedexitcode="1">
+		<arguments>-resource:foo.res</arguments>
+		<file>Bugs\31027-bug-328101.vb</file>
+		<error number="31027" />
+	</test>
+	<test id="145" name="aspnet1" target="exe">
+		<file>Bugs\aspnet1.vb</file>
+	</test>
+	<test id="146" name="aspnet2" target="exe">
+		<file>Bugs\aspnet2.vb</file>
+	</test>
+	<test id="147" name="aspnet3">
+		<arguments>-r:System.Web.dll -r:System.dll</arguments>
+		<file>Bugs\aspnet3.vb</file>
+	</test>
+	<test id="148" name="bug-320964" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Bugs\bug-320964.vb</file>
+	</test>
+	<test id="149" name="bug-325331" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Bugs\bug-325331.vb</file>
+	</test>
+	<test id="150" name="bug-325332">
+		<arguments>-doc:foo.xml /nowarn</arguments>
+		<file>Bugs\bug-325332.vb</file>
+	</test>
+	<test id="151" name="bug-325339" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Bugs\bug-325339.vb</file>
+	</test>
+	<test id="152" name="bug-325346" target="exe">
+		<file>Bugs\bug-325346.vb</file>
+	</test>
+	<test id="153" name="bug-325976">
+		<arguments>/define:"AString=\"aabb\",BBoolean=True,CString=\"mm nn pp\",DString=\"zz aa\",EBoolean=False,FBooleanAsInt=-1" </arguments>
+		<file>Bugs\bug-325976.vb</file>
+	</test>
+	<test id="154" name="bug-325976-2" target="exe">
+		<arguments>/define:"AString=\"aabb\",BBoolean=True,CString=\"mm nn pp\",DString=\"zz aa\",EBoolean=False,FBooleanAsInt=-1" /target:exe</arguments>
+		<file>Bugs\bug-325976-2.vb</file>
+	</test>
+	<test id="155" name="bug-327596" target="exe">
+		<file>Bugs\bug-327596.vb</file>
+	</test>
+	<test id="156" name="bug-332868" target="exe">
+		<file>Bugs\bug-332868.vb</file>
+	</test>
+	<test id="157" name="bug-333403" target="winexe">
+		<arguments>/noconfig /imports:Microsoft.VisualBasic,System,System.Collections,System.Collections.Generic,System.Data,System.Drawing,System.Diagnostics,System.Windows.Forms /rootnamespace:WindowsApplication1 /define:CONFIG="Debug",DEBUG=-1,TRACE=-1,_MyType=\"WindowsForms\",PLATFORM="AnyCPU" /reference:System.Data.dll,System.dll,System.Drawing.dll,System.Windows.Forms.dll,System.Xml.dll /main:WindowsApplication1.My.MyApplication</arguments>
+		<file>Bugs\bug-333403.vb</file>
+	</test>
+	<test id="158" name="bug-333962" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Bugs\bug-333962.vb</file>
+	</test>
+	<test id="159" name="bug-359234-ProtectedDefaultBaseCtor">
+		<arguments>/nowarn</arguments>
+		<file>Bugs\bug-359234-ProtectedDefaultBaseCtor.vb</file>
+	</test>
+	<test id="160" name="bug-392456" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Bugs\bug-392456.vb</file>
+	</test>
+	<test id="161" name="bug-428340" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Bugs\bug-428340.vb</file>
+	</test>
+	<test id="162" name="bug-428340-2" target="exe">
+		<arguments>/rootnamespace:A</arguments>
+		<file>Bugs\bug-428340-2.vb</file>
+	</test>
+	<test id="163" name="bug-438683" target="exe">
+		<file>Bugs\bug-438683.vb</file>
+	</test>
+	<test id="164" name="bug-444120" target="exe">
+		<file>Bugs\bug-444120.vb</file>
+	</test>
+	<test id="165" name="bug-444811" target="exe">
+		<file>Bugs\bug-444811.vb</file>
+	</test>
+	<test id="166" name="bug-444993" target="exe">
+		<file>Bugs\bug-444993.vb</file>
+	</test>
+	<test id="167" name="bug-445479" target="exe">
+		<file>Bugs\bug-445479.vb</file>
+	</test>
+	<test id="168" name="bug-74955" target="winexe">
+		<arguments>/main:MBasTest.MyForm /rootnamespace:MBasTest /r:System.dll /r:System.Windows.Forms.dll</arguments>
+		<file>Bugs\bug-74955.vb</file>
+	</test>
+	<test id="169" name="bug-80750">
+		<file>Bugs\bug-80750.vb</file>
+	</test>
+	<test id="170" name="bug-80752">
+		<arguments>-r:System.dll,System.Windows.Forms.dll,System.Drawing.dll,System.Drawing.Design.dll,System.Xml.dll,System.Design.dll,System.Data.dll -imports:System,System.Drawing,Microsoft.VisualBasic,System.Data</arguments>
+		<file>Bugs\bug-80752.vb</file>
+	</test>
+	<test id="171" name="bug-80833">
+		<arguments>-r:System.Windows.Forms.dll,System.dll,System.Drawing.dll -imports:System.Windows.Forms,System.Drawing,Microsoft.VisualBasic</arguments>
+		<file>Bugs\bug-80833.vb</file>
+	</test>
+	<test id="172" name="bug-80967" target="exe" workingdirectory="Bugs">
+		<arguments>@bug-80967\bug-80967.rsp</arguments>
+	</test>
+	<test id="173" name="bug-80968">
+		<file>Bugs\bug-80968.vb</file>
+	</test>
+	<test id="174" name="bug-80989">
+		<file>Bugs\bug-80989.vb</file>
+	</test>
+	<test id="175" name="bug-80990">
+		<file>Bugs\bug-80990.vb</file>
+		<error line="1" number="40056" message="Namespace or type specified in the Imports 'Foo' doesn't contain any public member or cannot be found. Make sure the namespace or the type is defined and contains at least one public member. Make sure the imported element name doesn't use any aliases." />
+	</test>
+	<test id="176" name="bug-80995" target="exe">
+		<file>Bugs\bug-80995.vb</file>
+	</test>
+	<test id="177" name="bug-81009" target="exe">
+		<file>Bugs\bug-81009.vb</file>
+	</test>
+	<test id="178" name="bug-81016" target="winexe">
+		<arguments>-main:Form1</arguments>
+		<file>Bugs\bug-81016.vb</file>
+	</test>
+	<test id="179" name="bug-81055" target="exe">
+		<arguments>-target:library</arguments>
+		<file>Bugs\bug-81055.vb</file>
+	</test>
+	<test id="180" name="bug-81059">
+		<file>Bugs\bug-81059.vb</file>
+	</test>
+	<test id="181" name="bug-81119" target="exe">
+		<file>Bugs\bug-81119.vb</file>
+	</test>
+	<test id="182" name="bug-81162">
+		<arguments>-imports:System.Web -r:System.Web.dll,System.dll</arguments>
+		<file>Bugs\bug-81162.vb</file>
+	</test>
+	<test id="183" name="bug-81243" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Bugs\bug-81243.vb</file>
+	</test>
+	<test id="184" name="bug-82382">
+		<arguments>-r:System.Drawing.dll,System.Windows.Forms.dll</arguments>
+		<file>Bugs\bug-82382.vb</file>
+	</test>
+	<test id="185" name="ia64-1" target="exe">
+		<file>Bugs\ia64-1.vb</file>
+	</test>
+	<test id="186" name="LazyBug1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Cecil\LazyBug1.vb</file>
+	</test>
+	<test id="187" name="Accessibility1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\Accessibility1.vb</file>
+	</test>
+	<test id="188" name="Accessibility2">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\Accessibility2.vb</file>
+	</test>
+	<test id="189" name="AddAssignStatement1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\AddAssignStatement1.vb</file>
+	</test>
+	<test id="190" name="AddHandler1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\AddHandler1.vb</file>
+	</test>
+	<test id="191" name="AddHandler2">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\AddHandler2.vb</file>
+	</test>
+	<test id="192" name="AddressOfExpression1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\AddressOfExpression1.vb</file>
+	</test>
+	<test id="193" name="AddressOfExpression2">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\AddressOfExpression2.vb</file>
+	</test>
+	<test id="194" name="AddressOfExpression3">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\AddressOfExpression3.vb</file>
+	</test>
+	<test id="195" name="AndAlsoConstantExpression1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\AndAlsoConstantExpression1.vb</file>
+	</test>
+	<test id="196" name="AndAlsoExpression1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\AndAlsoExpression1.vb</file>
+	</test>
+	<test id="197" name="AndConstantExpression1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\AndConstantExpression1.vb</file>
+	</test>
+	<test id="198" name="AndExpression2">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\AndExpression2.vb</file>
+	</test>
+	<test id="199" name="Array1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\Array1.vb</file>
+	</test>
+	<test id="200" name="Array2">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\Array2.vb</file>
+	</test>
+	<test id="201" name="Array3">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\Array3.vb</file>
+	</test>
+	<test id="202" name="Array4">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\Array4.vb</file>
+	</test>
+	<test id="203" name="Array5">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\Array5.vb</file>
+	</test>
+	<test id="204" name="ArrayCreationExpression1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\ArrayCreationExpression1.vb</file>
+	</test>
+	<test id="205" name="ArrayCreationExpression2">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\ArrayCreationExpression2.vb</file>
+	</test>
+	<test id="206" name="ArrayCreationExpression3">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\ArrayCreationExpression3.vb</file>
+	</test>
+	<test id="207" name="ArrayCreationExpression4">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\ArrayCreationExpression4.vb</file>
+	</test>
+	<test id="208" name="ArrayCreationExpression5">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\ArrayCreationExpression5.vb</file>
+	</test>
+	<test id="209" name="ArrayInitializer1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\ArrayInitializer1.vb</file>
+	</test>
+	<test id="210" name="ArrayInitializer2">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\ArrayInitializer2.vb</file>
+	</test>
+	<test id="211" name="ArrayInitializer3">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\ArrayInitializer3.vb</file>
+	</test>
+	<test id="212" name="Assignment1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\Assignment1.vb</file>
+	</test>
+	<test id="213" name="Attributes1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\Attributes1.vb</file>
+	</test>
+	<test id="214" name="Attributes2">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\Attributes2.vb</file>
+	</test>
+	<test id="215" name="Attributes3">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\Attributes3.vb</file>
+	</test>
+	<test id="216" name="Attributes4">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\Attributes4.vb</file>
+	</test>
+	<test id="217" name="Attributes5">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\Attributes5.vb</file>
+	</test>
+	<test id="218" name="Attributes6">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\Attributes6.vb</file>
+	</test>
+	<test id="219" name="BinaryAddConstantExpression1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\BinaryAddConstantExpression1.vb</file>
+	</test>
+	<test id="220" name="BinaryAddExpression1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\BinaryAddExpression1.vb</file>
+	</test>
+	<test id="221" name="BinarySubConstantExpression1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\BinarySubConstantExpression1.vb</file>
+	</test>
+	<test id="222" name="BinarySubExpression1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\BinarySubExpression1.vb</file>
+	</test>
+	<test id="223" name="BuiltInType1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\BuiltInType1.vb</file>
+	</test>
+	<test id="224" name="Call1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\Call1.vb</file>
+	</test>
+	<test id="225" name="CBoolConstantExpression1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\CBoolConstantExpression1.vb</file>
+	</test>
+	<test id="226" name="CByteConstantExpression1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\CByteConstantExpression1.vb</file>
+	</test>
+	<test id="227" name="CCharConstantExpression1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\CCharConstantExpression1.vb</file>
+	</test>
+	<test id="228" name="CDblConstantExpression1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\CDblConstantExpression1.vb</file>
+	</test>
+	<test id="229" name="CIntConstantExpression1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\CIntConstantExpression1.vb</file>
+	</test>
+	<test id="230" name="CIntExpression1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\CIntExpression1.vb</file>
+	</test>
+	<test id="231" name="ClassVariable1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\ClassVariable1.vb</file>
+	</test>
+	<test id="232" name="CObjExpression1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\CObjExpression1.vb</file>
+	</test>
+	<test id="233" name="ConcatAssignStatement1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\ConcatAssignStatement1.vb</file>
+	</test>
+	<test id="234" name="ConcatExpression1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\ConcatExpression1.vb</file>
+	</test>
+	<test id="235" name="ConcatExpression2">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\ConcatExpression2.vb</file>
+	</test>
+	<test id="236" name="ConditionalCompilation1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\ConditionalCompilation1.vb</file>
+	</test>
+	<test id="237" name="ConditionalConst1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\ConditionalConst1.vb</file>
+	</test>
+	<test id="238" name="ConditionalIf1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\ConditionalIf1.vb</file>
+	</test>
+	<test id="239" name="ConditionalIf2">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\ConditionalIf2.vb</file>
+	</test>
+	<test id="240" name="ConditionalIf3">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\ConditionalIf3.vb</file>
+	</test>
+	<test id="241" name="ConditionalIf4">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\ConditionalIf4.vb</file>
+	</test>
+	<test id="242" name="ConditionalRegion1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\ConditionalRegion1.vb</file>
+	</test>
+	<test id="243" name="ConstantExpression1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\ConstantExpression1.vb</file>
+	</test>
+	<test id="244" name="ConstantExpression2">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\ConstantExpression2.vb</file>
+	</test>
+	<test id="245" name="ConstantExpression3">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\ConstantExpression3.vb</file>
+	</test>
+	<test id="246" name="ConstantExpression4">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\ConstantExpression4.vb</file>
+	</test>
+	<test id="247" name="ConstantExpression5">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\ConstantExpression5.vb</file>
+	</test>
+	<test id="248" name="ConstantExpression6">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\ConstantExpression6.vb</file>
+	</test>
+	<test id="249" name="ConstantExpression7">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\ConstantExpression7.vb</file>
+	</test>
+	<test id="250" name="ConstantExpression8">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\ConstantExpression8.vb</file>
+	</test>
+	<test id="251" name="ConstantExpression9">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\ConstantExpression9.vb</file>
+	</test>
+	<test id="252" name="Constraint1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\Constraint1.vb</file>
+	</test>
+	<test id="253" name="Constructors1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\Constructors1.vb</file>
+	</test>
+	<test id="254" name="Constructors2">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\Constructors2.vb</file>
+	</test>
+	<test id="255" name="Continue1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\Continue1.vb</file>
+	</test>
+	<test id="256" name="Continue2">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\Continue2.vb</file>
+	</test>
+	<test id="257" name="Continue3">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\Continue3.vb</file>
+	</test>
+	<test id="258" name="Conversion1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\Conversion1.vb</file>
+	</test>
+	<test id="259" name="CreateInstance1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\CreateInstance1.vb</file>
+	</test>
+	<test id="260" name="CSByteConstantExpression1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\CSByteConstantExpression1.vb</file>
+	</test>
+	<test id="261" name="CShortConstantExpression1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\CShortConstantExpression1.vb</file>
+	</test>
+	<test id="262" name="CSngConstantExpression1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\CSngConstantExpression1.vb</file>
+	</test>
+	<test id="263" name="CStrConstantExpression1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\CStrConstantExpression1.vb</file>
+	</test>
+	<test id="264" name="CTypeExpression1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\CTypeExpression1.vb</file>
+	</test>
+	<test id="265" name="CUIntConstantExpression1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\CUIntConstantExpression1.vb</file>
+	</test>
+	<test id="266" name="CULngConstantExpression1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\CULngConstantExpression1.vb</file>
+	</test>
+	<test id="267" name="CUShortConstantExpression1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\CUShortConstantExpression1.vb</file>
+	</test>
+	<test id="268" name="DataSet1">
+		<arguments>/noconfig /r:System.dll,System.Xml.dll,System.Data.dll  /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\DataSet1.vb</file>
+	</test>
+	<test id="269" name="DelegateCreationExpression1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\DelegateCreationExpression1.vb</file>
+	</test>
+	<test id="270" name="DelegateCreationExpression2">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\DelegateCreationExpression2.vb</file>
+	</test>
+	<test id="271" name="DictionaryLookupExpression1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\DictionaryLookupExpression1.vb</file>
+	</test>
+	<test id="272" name="DictionaryLookupExpression2">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\DictionaryLookupExpression2.vb</file>
+	</test>
+	<test id="273" name="DirectCast1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\DirectCast1.vb</file>
+	</test>
+	<test id="274" name="DirectCastExpression1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\DirectCastExpression1.vb</file>
+	</test>
+	<test id="275" name="DirectCastExpression2">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\DirectCastExpression2.vb</file>
+	</test>
+	<test id="276" name="DivConstantExpression1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\DivConstantExpression1.vb</file>
+	</test>
+	<test id="277" name="DivisionAssignStatement1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\DivisionAssignStatement1.vb</file>
+	</test>
+	<test id="278" name="Do1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\Do1.vb</file>
+	</test>
+	<test id="279" name="DoLoop1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\DoLoop1.vb</file>
+	</test>
+	<test id="280" name="DoLoopUntil1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\DoLoopUntil1.vb</file>
+	</test>
+	<test id="281" name="DoLoopWhile1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\DoLoopWhile1.vb</file>
+	</test>
+	<test id="282" name="DotExpression1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\DotExpression1.vb</file>
+	</test>
+	<test id="283" name="EmitLocalVariables1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\EmitLocalVariables1.vb</file>
+	</test>
+	<test id="284" name="EnumConstant1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\EnumConstant1.vb</file>
+	</test>
+	<test id="285" name="EnumConstant2">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\EnumConstant2.vb</file>
+	</test>
+	<test id="286" name="EnumConstant3">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\EnumConstant3.vb</file>
+	</test>
+	<test id="287" name="EnumConstant4">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\EnumConstant4.vb</file>
+	</test>
+	<test id="288" name="Enumerator1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\Enumerator1.vb</file>
+	</test>
+	<test id="289" name="EnumWithAttribute1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\EnumWithAttribute1.vb</file>
+	</test>
+	<test id="290" name="EqualsConstantExpression1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\EqualsConstantExpression1.vb</file>
+	</test>
+	<test id="291" name="EqualsExpression1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\EqualsExpression1.vb</file>
+	</test>
+	<test id="292" name="Erase1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\Erase1.vb</file>
+	</test>
+	<test id="293" name="Error1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\Error1.vb</file>
+	</test>
+	<test id="294" name="EventMember1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\EventMember1.vb</file>
+	</test>
+	<test id="295" name="EventMember2">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\EventMember2.vb</file>
+	</test>
+	<test id="296" name="EventMember3">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\EventMember3.vb</file>
+	</test>
+	<test id="297" name="EventMember4">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\EventMember4.vb</file>
+	</test>
+	<test id="298" name="EventMember5">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\EventMember5.vb</file>
+	</test>
+	<test id="299" name="EventMember6">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\EventMember6.vb</file>
+	</test>
+	<test id="300" name="EventMember7">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\EventMember7.vb</file>
+	</test>
+	<test id="301" name="EventMember8">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\EventMember8.vb</file>
+	</test>
+	<test id="302" name="Exit1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\Exit1.vb</file>
+	</test>
+	<test id="303" name="Exit2">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\Exit2.vb</file>
+	</test>
+	<test id="304" name="ExitFunction1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\ExitFunction1.vb</file>
+	</test>
+	<test id="305" name="ExitProperty1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\ExitProperty1.vb</file>
+	</test>
+	<test id="306" name="ExitSub1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\ExitSub1.vb</file>
+	</test>
+	<test id="307" name="ExponentExpression1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\ExponentExpression1.vb</file>
+	</test>
+	<test id="308" name="For1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\For1.vb</file>
+	</test>
+	<test id="309" name="For2">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\For2.vb</file>
+	</test>
+	<test id="310" name="ForEach1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\ForEach1.vb</file>
+	</test>
+	<test id="311" name="ForEach2">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\ForEach2.vb</file>
+	</test>
+	<test id="312" name="ForStep1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\ForStep1.vb</file>
+	</test>
+	<test id="313" name="GEConstantExpression1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\GEConstantExpression1.vb</file>
+	</test>
+	<test id="314" name="GenericInterface1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\GenericInterface1.vb</file>
+	</test>
+	<test id="315" name="GenericInterface2">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\GenericInterface2.vb</file>
+	</test>
+	<test id="316" name="GenericInterface3">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\GenericInterface3.vb</file>
+	</test>
+	<test id="317" name="GenericInterface4">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\GenericInterface4.vb</file>
+	</test>
+	<test id="318" name="GenericNestedType1">
+		<arguments>-imports:System.Collections.Generic,System.Collections,System,System.Windows.Forms,System.Diagnostics,System.Drawing -rootnamespace:rt -r:System.Drawing.dll</arguments>
+		<file>CompileTime\GenericNestedType1.vb</file>
+	</test>
+	<test id="319" name="GenericTypeParameter1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\GenericTypeParameter1.vb</file>
+	</test>
+	<test id="320" name="GenericTypeParameter2">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\GenericTypeParameter2.vb</file>
+	</test>
+	<test id="321" name="GenericTypeParameter3">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\GenericTypeParameter3.vb</file>
+	</test>
+	<test id="322" name="GenericTypeParameter4">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\GenericTypeParameter4.vb</file>
+	</test>
+	<test id="323" name="GenericTypeParameter5">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\GenericTypeParameter5.vb</file>
+	</test>
+	<test id="324" name="GenericTypeParameter6">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\GenericTypeParameter6.vb</file>
+	</test>
+	<test id="325" name="GenericTypeParameter7">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\GenericTypeParameter7.vb</file>
+	</test>
+	<test id="326" name="GenericTypeParameter8">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\GenericTypeParameter8.vb</file>
+	</test>
+	<test id="327" name="GenericTypeParameter9">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\GenericTypeParameter9.vb</file>
+	</test>
+	<test id="328" name="GetTypeExpression1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\GetTypeExpression1.vb</file>
+	</test>
+	<test id="329" name="GetTypeExpression2">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\GetTypeExpression2.vb</file>
+	</test>
+	<test id="330" name="GetTypeExpression3">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\GetTypeExpression3.vb</file>
+	</test>
+	<test id="331" name="Global1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\Global1.vb</file>
+	</test>
+	<test id="332" name="Goto1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\Goto1.vb</file>
+	</test>
+	<test id="333" name="Goto2">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\Goto2.vb</file>
+	</test>
+	<test id="334" name="GTConstantExpression1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\GTConstantExpression1.vb</file>
+	</test>
+	<test id="335" name="GTExpression1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\GTExpression1.vb</file>
+	</test>
+	<test id="336" name="HideBySig1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\HideBySig1.vb</file>
+	</test>
+	<test id="337" name="If1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\If1.vb</file>
+	</test>
+	<test id="338" name="If2">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\If2.vb</file>
+	</test>
+	<test id="339" name="If3">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\If3.vb</file>
+	</test>
+	<test id="340" name="If4">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\If4.vb</file>
+	</test>
+	<test id="341" name="If5">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\If5.vb</file>
+	</test>
+	<test id="342" name="If6">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\If6.vb</file>
+	</test>
+	<test id="343" name="IfElse1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\IfElse1.vb</file>
+	</test>
+	<test id="344" name="IfElse2">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\IfElse2.vb</file>
+	</test>
+	<test id="345" name="IfElse3">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\IfElse3.vb</file>
+	</test>
+	<test id="346" name="IfElse4">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\IfElse4.vb</file>
+	</test>
+	<test id="347" name="IfElseIf1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\IfElseIf1.vb</file>
+	</test>
+	<test id="348" name="IfElseIf2">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\IfElseIf2.vb</file>
+	</test>
+	<test id="349" name="IfElseIf3">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\IfElseIf3.vb</file>
+	</test>
+	<test id="350" name="IfElseIfElse1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\IfElseIfElse1.vb</file>
+	</test>
+	<test id="351" name="IfElseIfElse2">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\IfElseIfElse2.vb</file>
+	</test>
+	<test id="352" name="ImplementsClause1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\ImplementsClause1.vb</file>
+	</test>
+	<test id="353" name="ImplementsClause2">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\ImplementsClause2.vb</file>
+	</test>
+	<test id="354" name="Imports1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\Imports1.vb</file>
+	</test>
+	<test id="355" name="Imports2">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\Imports2.vb</file>
+	</test>
+	<test id="356" name="Imports3">
+		<arguments>/imports:vb=microsoft.visualbasic</arguments>
+		<file>CompileTime\Imports3.vb</file>
+	</test>
+	<test id="357" name="Imports4">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\Imports4.vb</file>
+	</test>
+	<test id="358" name="Imports5">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\Imports5.vb</file>
+	</test>
+	<test id="359" name="ImportsNamespace1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\ImportsNamespace1.vb</file>
+	</test>
+	<test id="360" name="ImportsType1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\ImportsType1.vb</file>
+	</test>
+	<test id="361" name="IntDivConstantExpression1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\IntDivConstantExpression1.vb</file>
+	</test>
+	<test id="362" name="IntDivExpression1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\IntDivExpression1.vb</file>
+	</test>
+	<test id="363" name="IntDivisionAssignStatement1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\IntDivisionAssignStatement1.vb</file>
+	</test>
+	<test id="364" name="IntegralTypes1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\IntegralTypes1.vb</file>
+	</test>
+	<test id="365" name="InterfaceInheritance1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\InterfaceInheritance1.vb</file>
+	</test>
+	<test id="366" name="InterfaceMemberSpecifier1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\InterfaceMemberSpecifier1.vb</file>
+	</test>
+	<test id="367" name="InterfaceMemberSpecifier2">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\InterfaceMemberSpecifier2.vb</file>
+	</test>
+	<test id="368" name="Is1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\Is1.vb</file>
+	</test>
+	<test id="369" name="IsNotExpression1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\IsNotExpression1.vb</file>
+	</test>
+	<test id="370" name="JaggedArray1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\JaggedArray1.vb</file>
+	</test>
+	<test id="371" name="JaggedArray2">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\JaggedArray2.vb</file>
+	</test>
+	<test id="372" name="JaggedArray3">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\JaggedArray3.vb</file>
+	</test>
+	<test id="373" name="Label1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\Label1.vb</file>
+	</test>
+	<test id="374" name="LEConstantExpression1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\LEConstantExpression1.vb</file>
+	</test>
+	<test id="375" name="LEExpression1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\LEExpression1.vb</file>
+	</test>
+	<test id="376" name="Like1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\Like1.vb</file>
+	</test>
+	<test id="377" name="LikeExpression1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\LikeExpression1.vb</file>
+	</test>
+	<test id="378" name="Literals1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\Literals1.vb</file>
+	</test>
+	<test id="379" name="LocalArrayVariable1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\LocalArrayVariable1.vb</file>
+	</test>
+	<test id="380" name="LocalConstDeclaration1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\LocalConstDeclaration1.vb</file>
+	</test>
+	<test id="381" name="LocalVariable1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\LocalVariable1.vb</file>
+	</test>
+	<test id="382" name="LocalVariable2">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\LocalVariable2.vb</file>
+	</test>
+	<test id="383" name="LocalVariableAssignment1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\LocalVariableAssignment1.vb</file>
+	</test>
+	<test id="384" name="LShiftAssignStatement1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\LShiftAssignStatement1.vb</file>
+	</test>
+	<test id="385" name="LShiftConstantExpression1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\LShiftConstantExpression1.vb</file>
+	</test>
+	<test id="386" name="LShiftExpression1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\LShiftExpression1.vb</file>
+	</test>
+	<test id="387" name="LTConstantExpression1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\LTConstantExpression1.vb</file>
+	</test>
+	<test id="388" name="LTExpression1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\LTExpression1.vb</file>
+	</test>
+	<test id="389" name="MeExpression1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\MeExpression1.vb</file>
+	</test>
+	<test id="390" name="MeExpression2">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\MeExpression2.vb</file>
+	</test>
+	<test id="391" name="MemberAccessExpression1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\MemberAccessExpression1.vb</file>
+	</test>
+	<test id="392" name="MemberAccessExpression2">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\MemberAccessExpression2.vb</file>
+	</test>
+	<test id="393" name="MemberAccessExpression3">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\MemberAccessExpression3.vb</file>
+	</test>
+	<test id="394" name="MemberAccessExpression4">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\MemberAccessExpression4.vb</file>
+	</test>
+	<test id="395" name="MemberAccessExpression5">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\MemberAccessExpression5.vb</file>
+	</test>
+	<test id="396" name="MemberAttributes1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\MemberAttributes1.vb</file>
+	</test>
+	<test id="397" name="MethodAttributes1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\MethodAttributes1.vb</file>
+	</test>
+	<test id="398" name="MethodInvocation1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\MethodInvocation1.vb</file>
+	</test>
+	<test id="399" name="MethodVariable1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\MethodVariable1.vb</file>
+	</test>
+	<test id="400" name="MethodVariable2">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\MethodVariable2.vb</file>
+	</test>
+	<test id="401" name="MethodVariable3">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\MethodVariable3.vb</file>
+	</test>
+	<test id="402" name="MidAssignStatement1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\MidAssignStatement1.vb</file>
+	</test>
+	<test id="403" name="MidAssignStatement2">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\MidAssignStatement2.vb</file>
+	</test>
+	<test id="404" name="ModConstantExpression1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\ModConstantExpression1.vb</file>
+	</test>
+	<test id="405" name="ModExpression1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\ModExpression1.vb</file>
+	</test>
+	<test id="406" name="ModuleFunction1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\ModuleFunction1.vb</file>
+	</test>
+	<test id="407" name="ModuleProperty1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\ModuleProperty1.vb</file>
+	</test>
+	<test id="408" name="MultConstantExpression1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\MultConstantExpression1.vb</file>
+	</test>
+	<test id="409" name="MultConstantExpression2">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\MultConstantExpression2.vb</file>
+	</test>
+	<test id="410" name="MultExpression1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\MultExpression1.vb</file>
+	</test>
+	<test id="411" name="MultiFileTest">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\MultiFileTest.1.vb</file>
+		<file>CompileTime\MultiFileTest.2.vb</file>
+	</test>
+	<test id="412" name="MultiplicationAssignStatement1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\MultiplicationAssignStatement1.vb</file>
+	</test>
+	<test id="413" name="MultiVar1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\MultiVar1.vb</file>
+	</test>
+	<test id="414" name="MultiVar2">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\MultiVar2.vb</file>
+	</test>
+	<test id="415" name="MultiVar3">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\MultiVar3.vb</file>
+	</test>
+	<test id="416" name="MultiVar4">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\MultiVar4.vb</file>
+	</test>
+	<test id="417" name="MyBaseExpression1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\MyBaseExpression1.vb</file>
+	</test>
+	<test id="418" name="MyClassExpression1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\MyClassExpression1.vb</file>
+	</test>
+	<test id="419" name="NameResolution1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\NameResolution1.vb</file>
+	</test>
+	<test id="420" name="NameResolution2">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\NameResolution2.vb</file>
+	</test>
+	<test id="421" name="NameResolution3">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\NameResolution3.vb</file>
+	</test>
+	<test id="422" name="NameResolution4">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\NameResolution4.vb</file>
+	</test>
+	<test id="423" name="NestedType1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\NestedType1.vb</file>
+	</test>
+	<test id="424" name="NestedType2">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\NestedType2.vb</file>
+	</test>
+	<test id="425" name="NestedType3">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\NestedType3.vb</file>
+	</test>
+	<test id="426" name="NewAssignment1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\NewAssignment1.vb</file>
+	</test>
+	<test id="427" name="NewExpression1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\NewExpression1.vb</file>
+	</test>
+	<test id="428" name="NewExpression2">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\NewExpression2.vb</file>
+	</test>
+	<test id="429" name="NewExpression3">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\NewExpression3.vb</file>
+	</test>
+	<test id="430" name="NewExpression4">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\NewExpression4.vb</file>
+	</test>
+	<test id="431" name="NotConstantExpression1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\NotConstantExpression1.vb</file>
+	</test>
+	<test id="432" name="NotEqualsConstantExpression1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\NotEqualsConstantExpression1.vb</file>
+	</test>
+	<test id="433" name="NotEqualsExpression1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\NotEqualsExpression1.vb</file>
+	</test>
+	<test id="434" name="NotEqualsExpression2">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\NotEqualsExpression2.vb</file>
+	</test>
+	<test id="435" name="ObjectCreationExpression1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\ObjectCreationExpression1.vb</file>
+	</test>
+	<test id="436" name="ObjectCreationExpression2">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\ObjectCreationExpression2.vb</file>
+	</test>
+	<test id="437" name="ObjectCreationExpression3">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\ObjectCreationExpression3.vb</file>
+	</test>
+	<test id="438" name="ObjectCreationExpression4">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\ObjectCreationExpression4.vb</file>
+	</test>
+	<test id="439" name="OnErroGoto_1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\OnErroGoto_1.vb</file>
+	</test>
+	<test id="440" name="OnErrorGoto0_1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\OnErrorGoto0_1.vb</file>
+	</test>
+	<test id="441" name="OnErrorGotoMinus1_1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\OnErrorGotoMinus1_1.vb</file>
+	</test>
+	<test id="442" name="OnErrorResumeNext_1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\OnErrorResumeNext_1.vb</file>
+	</test>
+	<test id="443" name="OptionalArguments1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\OptionalArguments1.vb</file>
+	</test>
+	<test id="444" name="OptionalArguments2">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\OptionalArguments2.vb</file>
+	</test>
+	<test id="445" name="OrConstantExpression1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\OrConstantExpression1.vb</file>
+	</test>
+	<test id="446" name="OrElseConstantExpression1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\OrElseConstantExpression1.vb</file>
+	</test>
+	<test id="447" name="OrElseExpression1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\OrElseExpression1.vb</file>
+	</test>
+	<test id="448" name="OrExpression1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\OrExpression1.vb</file>
+	</test>
+	<test id="449" name="Partial1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\Partial1.vb</file>
+	</test>
+	<test id="450" name="PowerAssignStatement1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\PowerAssignStatement1.vb</file>
+	</test>
+	<test id="451" name="PropertyAccess5">
+		<arguments>/r:System.Data.dll /imports:System.Data /nowarn</arguments>
+		<file>CompileTime\PropertyAccess5.vb</file>
+	</test>
+	<test id="452" name="RaiseEvent1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\RaiseEvent1.vb</file>
+	</test>
+	<test id="453" name="RaiseEvent2">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\RaiseEvent2.vb</file>
+	</test>
+	<test id="454" name="RealDivConstantExpression1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\RealDivConstantExpression1.vb</file>
+	</test>
+	<test id="455" name="RealDivExpression1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\RealDivExpression1.vb</file>
+	</test>
+	<test id="456" name="Redim1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\Redim1.vb</file>
+	</test>
+	<test id="457" name="RedimPreserve1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\RedimPreserve1.vb</file>
+	</test>
+	<test id="458" name="RedimPreserve2">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\RedimPreserve2.vb</file>
+	</test>
+	<test id="459" name="RemoveHandler1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\RemoveHandler1.vb</file>
+	</test>
+	<test id="460" name="Resume1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\Resume1.vb</file>
+	</test>
+	<test id="461" name="ResumeNext1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\ResumeNext1.vb</file>
+	</test>
+	<test id="462" name="Return1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\Return1.vb</file>
+	</test>
+	<test id="463" name="RShiftAssignStatement1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\RShiftAssignStatement1.vb</file>
+	</test>
+	<test id="464" name="RShiftConstantExpression1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\RShiftConstantExpression1.vb</file>
+	</test>
+	<test id="465" name="RShiftExpression1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\RShiftExpression1.vb</file>
+	</test>
+	<test id="466" name="SecurityAttribute1" knownfailure="fixing this requires instantiating attributes and executing code from corlib">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\SecurityAttribute1.vb</file>
+	</test>
+	<test id="467" name="SelectCase1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\SelectCase1.vb</file>
+	</test>
+	<test id="468" name="SingleLineIfWithBlockStatements1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\SingleLineIfWithBlockStatements1.vb</file>
+	</test>
+	<test id="469" name="SingleLineIfWithNonBlockStatements1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\SingleLineIfWithNonBlockStatements1.vb</file>
+	</test>
+	<test id="470" name="SpecBug1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\SpecBug1.vb</file>
+	</test>
+	<test id="471" name="StaticVariable1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\StaticVariable1.vb</file>
+	</test>
+	<test id="472" name="Stop1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\Stop1.vb</file>
+	</test>
+	<test id="473" name="StructureAccess1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\StructureAccess1.vb</file>
+	</test>
+	<test id="474" name="SubtractionAssignStatement1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\SubtractionAssignStatement1.vb</file>
+	</test>
+	<test id="475" name="SyncLock1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\SyncLock1.vb</file>
+	</test>
+	<test id="476" name="Throw1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\Throw1.vb</file>
+	</test>
+	<test id="477" name="Throw2">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\Throw2.vb</file>
+	</test>
+	<test id="478" name="TryCastExpression1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\TryCastExpression1.vb</file>
+	</test>
+	<test id="479" name="TryCatch1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\TryCatch1.vb</file>
+	</test>
+	<test id="480" name="TryCatchFinally1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\TryCatchFinally1.vb</file>
+	</test>
+	<test id="481" name="TryFinally1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\TryFinally1.vb</file>
+	</test>
+	<test id="482" name="TypeLoadEx1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\TypeLoadEx1.vb</file>
+	</test>
+	<test id="483" name="TypeLoadEx2">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\TypeLoadEx2.vb</file>
+	</test>
+	<test id="484" name="TypeNameResolution1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\TypeNameResolution1.vb</file>
+	</test>
+	<test id="485" name="TypeNameResolution2">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\TypeNameResolution2.vb</file>
+	</test>
+	<test id="486" name="TypeOfExpression1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\TypeOfExpression1.vb</file>
+	</test>
+	<test id="487" name="UnaryAddExpression1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\UnaryAddExpression1.vb</file>
+	</test>
+	<test id="488" name="UnaryMinusExpression1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\UnaryMinusExpression1.vb</file>
+	</test>
+	<test id="489" name="UnaryNotExpression1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\UnaryNotExpression1.vb</file>
+	</test>
+	<test id="490" name="UsingStatement1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\UsingStatement1.vb</file>
+	</test>
+	<test id="491" name="UsingStatement2">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\UsingStatement2.vb</file>
+	</test>
+	<test id="492" name="UsingStatement3">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\UsingStatement3.vb</file>
+	</test>
+	<test id="493" name="UsingStatement4">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\UsingStatement4.vb</file>
+	</test>
+	<test id="494" name="VariableInitializer1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\VariableInitializer1.vb</file>
+	</test>
+	<test id="495" name="VariableInitializer2">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\VariableInitializer2.vb</file>
+	</test>
+	<test id="496" name="While1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\While1.vb</file>
+	</test>
+	<test id="497" name="With1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\With1.vb</file>
+	</test>
+	<test id="498" name="XorConstantExpression1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\XorConstantExpression1.vb</file>
+	</test>
+	<test id="499" name="XOrExpression1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime\XOrExpression1.vb</file>
+	</test>
+	<test id="500" name="AddHandler3" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\AddHandler3.vb</file>
+	</test>
+	<test id="501" name="AndAlsoExpression2" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\AndAlsoExpression2.vb</file>
+	</test>
+	<test id="502" name="ArrayFunctionReturnValue1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\ArrayFunctionReturnValue1.vb</file>
+	</test>
+	<test id="503" name="ArrayVariable1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\ArrayVariable1.vb</file>
+	</test>
+	<test id="504" name="Attribute1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\Attribute1.vb</file>
+	</test>
+	<test id="505" name="Attribute2" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\Attribute2.vb</file>
+	</test>
+	<test id="506" name="Attribute3" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\Attribute3.vb</file>
+	</test>
+	<test id="507" name="Boolean1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\Boolean1.vb</file>
+	</test>
+	<test id="508" name="Box1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\Box1.vb</file>
+	</test>
+	<test id="509" name="ByRef1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\ByRef1.vb</file>
+	</test>
+	<test id="510" name="ByRef10" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\ByRef10.vb</file>
+	</test>
+	<test id="511" name="ByRef11" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\ByRef11.vb</file>
+	</test>
+	<test id="512" name="ByRef12" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\ByRef12.vb</file>
+	</test>
+	<test id="513" name="ByRef2" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\ByRef2.vb</file>
+	</test>
+	<test id="514" name="ByRef3" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\ByRef3.vb</file>
+	</test>
+	<test id="515" name="ByRef4" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\ByRef4.vb</file>
+	</test>
+	<test id="516" name="ByRef5" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\ByRef5.vb</file>
+	</test>
+	<test id="517" name="ByRef6" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\ByRef6.vb</file>
+	</test>
+	<test id="518" name="ByRef7" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\ByRef7.vb</file>
+	</test>
+	<test id="519" name="ByRef8" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\ByRef8.vb</file>
+	</test>
+	<test id="520" name="ByRef9" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\ByRef9.vb</file>
+	</test>
+	<test id="521" name="ByRefAssignment1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\ByRefAssignment1.vb</file>
+	</test>
+	<test id="522" name="ByRefAssignment2" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\ByRefAssignment2.vb</file>
+	</test>
+	<test id="523" name="ByRefLiteralConversion1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\ByRefLiteralConversion1.vb</file>
+	</test>
+	<test id="524" name="ConditionalAttribute1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\ConditionalAttribute1.vb</file>
+	</test>
+	<test id="525" name="Constraint1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\Constraint1.vb</file>
+	</test>
+	<test id="526" name="ConstructorInitialization1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\ConstructorInitialization1.vb</file>
+	</test>
+	<test id="527" name="ConstructorInitialization2" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\ConstructorInitialization2.vb</file>
+	</test>
+	<test id="528" name="ConstructorInitialization3" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\ConstructorInitialization3.vb</file>
+	</test>
+	<test id="529" name="ConstructorInitialization4" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\ConstructorInitialization4.vb</file>
+	</test>
+	<test id="530" name="ConstructorInitialization5" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\ConstructorInitialization5.vb</file>
+	</test>
+	<test id="531" name="ConstructorInitialization6" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\ConstructorInitialization6.vb</file>
+	</test>
+	<test id="532" name="ConstructorInitialization7" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\ConstructorInitialization7.vb</file>
+	</test>
+	<test id="533" name="ConversionExpression1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\ConversionExpression1.vb</file>
+	</test>
+	<test id="534" name="DefaultFunctionVariable1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\DefaultFunctionVariable1.vb</file>
+	</test>
+	<test id="535" name="DefaultProperty1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\DefaultProperty1.vb</file>
+	</test>
+	<test id="536" name="DefaultProperty2" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\DefaultProperty2.vb</file>
+	</test>
+	<test id="537" name="DefaultProperty3" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\DefaultProperty3.vb</file>
+	</test>
+	<test id="538" name="DefaultProperty4" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\DefaultProperty4.vb</file>
+	</test>
+	<test id="539" name="DefaultProperty5" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\DefaultProperty5.vb</file>
+	</test>
+	<test id="540" name="DefaultProperty6" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\DefaultProperty6.vb</file>
+	</test>
+	<test id="541" name="DelegateInvocation1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\DelegateInvocation1.vb</file>
+	</test>
+	<test id="542" name="DelegateInvocation2" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\DelegateInvocation2.vb</file>
+	</test>
+	<test id="543" name="Enum1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\Enum1.vb</file>
+	</test>
+	<test id="544" name="Enum2" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\Enum2.vb</file>
+	</test>
+	<test id="545" name="Enum3" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\Enum3.vb</file>
+	</test>
+	<test id="546" name="Enum4" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\Enum4.vb</file>
+	</test>
+	<test id="547" name="Enum5" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\Enum5.vb</file>
+	</test>
+	<test id="548" name="EnumAccess1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\EnumAccess1.vb</file>
+	</test>
+	<test id="549" name="EnumAccess2" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\EnumAccess2.vb</file>
+	</test>
+	<test id="550" name="EnumAccess3" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\EnumAccess3.vb</file>
+	</test>
+	<test id="551" name="EnumConversion1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\EnumConversion1.vb</file>
+	</test>
+	<test id="552" name="EnumValueComparison1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\EnumValueComparison1.vb</file>
+	</test>
+	<test id="553" name="EnumValueComparison2" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\EnumValueComparison2.vb</file>
+	</test>
+	<test id="554" name="Event1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\Event1.vb</file>
+	</test>
+	<test id="555" name="ExitDoStatement1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\ExitDoStatement1.vb</file>
+	</test>
+	<test id="556" name="ExternalModuleFunction1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\ExternalModuleFunction1.vb</file>
+	</test>
+	<test id="557" name="FieldAccess1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\FieldAccess1.vb</file>
+	</test>
+	<test id="558" name="FieldAccess2" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\FieldAccess2.vb</file>
+	</test>
+	<test id="559" name="FirstLinuxProgram" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\FirstLinuxProgram.vb</file>
+	</test>
+	<test id="560" name="For1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\For1.vb</file>
+	</test>
+	<test id="561" name="For2" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\For2.vb</file>
+	</test>
+	<test id="562" name="For3" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\For3.vb</file>
+	</test>
+	<test id="563" name="For4" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\For4.vb</file>
+	</test>
+	<test id="564" name="For5" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\For5.vb</file>
+	</test>
+	<test id="565" name="For6" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\For6.vb</file>
+	</test>
+	<test id="566" name="ForEach2" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\ForEach2.vb</file>
+	</test>
+	<test id="567" name="ForEach3" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\ForEach3.vb</file>
+	</test>
+	<test id="568" name="ForEach4" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\ForEach4.vb</file>
+	</test>
+	<test id="569" name="FunctionReturnArrayIndex1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\FunctionReturnArrayIndex1.vb</file>
+	</test>
+	<test id="570" name="FunctionReturnValue1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\FunctionReturnValue1.vb</file>
+	</test>
+	<test id="571" name="GEExpression1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\GEExpression1.vb</file>
+	</test>
+	<test id="572" name="Generic1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\Generic1.vb</file>
+	</test>
+	<test id="573" name="Generic2" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\Generic2.vb</file>
+	</test>
+	<test id="574" name="Generic3" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\Generic3.vb</file>
+	</test>
+	<test id="575" name="Generic4" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\Generic4.vb</file>
+	</test>
+	<test id="576" name="Generic5" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\Generic5.vb</file>
+	</test>
+	<test id="577" name="Generic6" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\Generic6.vb</file>
+	</test>
+	<test id="578" name="Generic7" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\Generic7.vb</file>
+	</test>
+	<test id="579" name="Generic8" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\Generic8.vb</file>
+	</test>
+	<test id="580" name="Generic9" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\Generic9.vb</file>
+	</test>
+	<test id="581" name="GenericArrayAccess1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\GenericArrayAccess1.vb</file>
+	</test>
+	<test id="582" name="GenericBaseMethod1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\GenericBaseMethod1.vb</file>
+	</test>
+	<test id="583" name="GenericConstraint1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\GenericConstraint1.vb</file>
+	</test>
+	<test id="584" name="GenericConstraint2" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\GenericConstraint2.vb</file>
+	</test>
+	<test id="585" name="GenericConstructor1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\GenericConstructor1.vb</file>
+	</test>
+	<test id="586" name="GenericDefaultProperty1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\GenericDefaultProperty1.vb</file>
+	</test>
+	<test id="587" name="GenericDelegateTypeParameter1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\GenericDelegateTypeParameter1.vb</file>
+	</test>
+	<test id="588" name="GenericEnumerator1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\GenericEnumerator1.vb</file>
+	</test>
+	<test id="589" name="GenericEnumerator2" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\GenericEnumerator2.vb</file>
+	</test>
+	<test id="590" name="GenericFieldAccess1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\GenericFieldAccess1.vb</file>
+	</test>
+	<test id="591" name="GenericFieldAccess2" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\GenericFieldAccess2.vb</file>
+	</test>
+	<test id="592" name="GenericFieldAccess3" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\GenericFieldAccess3.vb</file>
+	</test>
+	<test id="593" name="GenericFieldAccess4" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\GenericFieldAccess4.vb</file>
+	</test>
+	<test id="594" name="GenericFieldAccess5" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\GenericFieldAccess5.vb</file>
+	</test>
+	<test id="595" name="GenericForEach1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\GenericForEach1.vb</file>
+	</test>
+	<test id="596" name="GenericForEach2" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\GenericForEach2.vb</file>
+	</test>
+	<test id="597" name="GenericInherits1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\GenericInherits1.vb</file>
+	</test>
+	<test id="598" name="GenericMethod1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\GenericMethod1.vb</file>
+	</test>
+	<test id="599" name="GenericMethod10" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\GenericMethod10.vb</file>
+	</test>
+	<test id="600" name="GenericMethod2" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\GenericMethod2.vb</file>
+	</test>
+	<test id="601" name="GenericMethod3" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\GenericMethod3.vb</file>
+	</test>
+	<test id="602" name="GenericMethod4" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\GenericMethod4.vb</file>
+	</test>
+	<test id="603" name="GenericMethod5" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\GenericMethod5.vb</file>
+	</test>
+	<test id="604" name="GenericMethod6" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\GenericMethod6.vb</file>
+	</test>
+	<test id="605" name="GenericMethod7" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\GenericMethod7.vb</file>
+	</test>
+	<test id="606" name="GenericMethod8" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\GenericMethod8.vb</file>
+	</test>
+	<test id="607" name="GenericMethod9" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\GenericMethod9.vb</file>
+	</test>
+	<test id="608" name="GenericMethodImplements1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\GenericMethodImplements1.vb</file>
+	</test>
+	<test id="609" name="GenericMethodImplements2" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\GenericMethodImplements2.vb</file>
+	</test>
+	<test id="610" name="GenericMethodImplements3" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\GenericMethodImplements3.vb</file>
+	</test>
+	<test id="611" name="GenericMethodParameter1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\GenericMethodParameter1.vb</file>
+	</test>
+	<test id="612" name="GenericMethodParameter2" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\GenericMethodParameter2.vb</file>
+	</test>
+	<test id="613" name="GenericParameterAccess1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\GenericParameterAccess1.vb</file>
+	</test>
+	<test id="614" name="GenericProperty1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\GenericProperty1.vb</file>
+	</test>
+	<test id="615" name="GenericShadows1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\GenericShadows1.vb</file>
+	</test>
+	<test id="616" name="GenericType1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\GenericType1.vb</file>
+	</test>
+	<test id="617" name="GenericTypeOf1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\GenericTypeOf1.vb</file>
+	</test>
+	<test id="618" name="GetEnumerator1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\GetEnumerator1.vb</file>
+	</test>
+	<test id="619" name="GetTypeExpression4" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\GetTypeExpression4.vb</file>
+	</test>
+	<test id="620" name="If1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\If1.vb</file>
+	</test>
+	<test id="621" name="If2" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\If2.vb</file>
+	</test>
+	<test id="622" name="IfElse1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\IfElse1.vb</file>
+	</test>
+	<test id="623" name="IfElseIfElse1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\IfElseIfElse1.vb</file>
+	</test>
+	<test id="624" name="IfElseIfElse2" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\IfElseIfElse2.vb</file>
+	</test>
+	<test id="625" name="IfStatement1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\IfStatement1.vb</file>
+	</test>
+	<test id="626" name="Imports1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\Imports1.vb</file>
+	</test>
+	<test id="627" name="IndexedProperty1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\IndexedProperty1.vb</file>
+	</test>
+	<test id="628" name="InheritedInterfaceMember1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\InheritedInterfaceMember1.vb</file>
+	</test>
+	<test id="629" name="InheritedInterfaceMethod1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\InheritedInterfaceMethod1.vb</file>
+	</test>
+	<test id="630" name="InheritedSharedMethod1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\InheritedSharedMethod1.vb</file>
+	</test>
+	<test id="631" name="InterfaceInheritance2" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\InterfaceInheritance2.vb</file>
+	</test>
+	<test id="632" name="InterfaceMember1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\InterfaceMember1.vb</file>
+	</test>
+	<test id="633" name="IsNotExpression2" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\IsNotExpression2.vb</file>
+	</test>
+	<test id="634" name="LEExpression1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\LEExpression1.vb</file>
+	</test>
+	<test id="635" name="LeftShift1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\LeftShift1.vb</file>
+	</test>
+	<test id="636" name="LessGeneric1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\LessGeneric1.vb</file>
+	</test>
+	<test id="637" name="LessGeneric2" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\LessGeneric2.vb</file>
+	</test>
+	<test id="638" name="LocalScope1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\LocalScope1.vb</file>
+	</test>
+	<test id="639" name="LocalVariable1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\LocalVariable1.vb</file>
+	</test>
+	<test id="640" name="LocalVariableInitialization1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\LocalVariableInitialization1.vb</file>
+	</test>
+	<test id="641" name="Main1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\Main1.vb</file>
+	</test>
+	<test id="642" name="Main2" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\Main2.vb</file>
+	</test>
+	<test id="643" name="Main3" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\Main3.vb</file>
+	</test>
+	<test id="644" name="Main4" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\Main4.vb</file>
+	</test>
+	<test id="645" name="Main5" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\Main5.vb</file>
+	</test>
+	<test id="646" name="Main6" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\Main6.vb</file>
+	</test>
+	<test id="647" name="Main7" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\Main7.vb</file>
+	</test>
+	<test id="648" name="Main8" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\Main8.vb</file>
+	</test>
+	<test id="649" name="MethodAttributes2" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\MethodAttributes2.vb</file>
+	</test>
+	<test id="650" name="MethodExpression1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\MethodExpression1.vb</file>
+	</test>
+	<test id="651" name="MethodExpression2" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\MethodExpression2.vb</file>
+	</test>
+	<test id="652" name="MethodInvocation1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\MethodInvocation1.vb</file>
+	</test>
+	<test id="653" name="MethodInvocation10" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\MethodInvocation10.vb</file>
+	</test>
+	<test id="654" name="MethodInvocation11" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\MethodInvocation11.vb</file>
+	</test>
+	<test id="655" name="MethodInvocation12" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\MethodInvocation12.vb</file>
+	</test>
+	<test id="656" name="MethodInvocation13" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\MethodInvocation13.vb</file>
+	</test>
+	<test id="657" name="MethodInvocation14" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\MethodInvocation14.vb</file>
+	</test>
+	<test id="658" name="MethodInvocation15" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\MethodInvocation15.vb</file>
+	</test>
+	<test id="659" name="MethodInvocation16" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\MethodInvocation16.vb</file>
+	</test>
+	<test id="660" name="MethodInvocation17" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\MethodInvocation17.vb</file>
+	</test>
+	<test id="661" name="MethodInvocation18" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\MethodInvocation18.vb</file>
+	</test>
+	<test id="662" name="MethodInvocation19" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\MethodInvocation19.vb</file>
+	</test>
+	<test id="663" name="MethodInvocation2" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\MethodInvocation2.vb</file>
+	</test>
+	<test id="664" name="MethodInvocation20" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\MethodInvocation20.vb</file>
+	</test>
+	<test id="665" name="MethodInvocation21" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\MethodInvocation21.vb</file>
+	</test>
+	<test id="666" name="MethodInvocation22" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\MethodInvocation22.vb</file>
+	</test>
+	<test id="667" name="MethodInvocation23" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\MethodInvocation23.vb</file>
+	</test>
+	<test id="668" name="MethodInvocation3" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\MethodInvocation3.vb</file>
+	</test>
+	<test id="669" name="MethodInvocation4" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\MethodInvocation4.vb</file>
+	</test>
+	<test id="670" name="MethodInvocation5" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\MethodInvocation5.vb</file>
+	</test>
+	<test id="671" name="MethodInvocation6" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\MethodInvocation6.vb</file>
+	</test>
+	<test id="672" name="MethodInvocation8" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\MethodInvocation8.vb</file>
+	</test>
+	<test id="673" name="MethodInvocation9" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\MethodInvocation9.vb</file>
+	</test>
+	<test id="674" name="MethodInvocations" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\MethodInvocations.vb</file>
+	</test>
+	<test id="675" name="MethodResolution1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\MethodResolution1.vb</file>
+	</test>
+	<test id="676" name="MethodResolution2" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\MethodResolution2.vb</file>
+	</test>
+	<test id="677" name="MethodResolution3" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\MethodResolution3.vb</file>
+	</test>
+	<test id="678" name="MethodResolution4" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\MethodResolution4.vb</file>
+	</test>
+	<test id="679" name="MethodResolution5" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\MethodResolution5.vb</file>
+	</test>
+	<test id="680" name="MethodResolution6" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\MethodResolution6.vb</file>
+	</test>
+	<test id="681" name="MethodResolution7" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\MethodResolution7.vb</file>
+	</test>
+	<test id="682" name="MethodResolution8" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\MethodResolution8.vb</file>
+	</test>
+	<test id="683" name="MissingParameter1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\MissingParameter1.vb</file>
+	</test>
+	<test id="684" name="MultipleExpression1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\MultipleExpression1.vb</file>
+	</test>
+	<test id="685" name="MultipleExpression2" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\MultipleExpression2.vb</file>
+	</test>
+	<test id="686" name="MyBase1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\MyBase1.vb</file>
+	</test>
+	<test id="687" name="NoOutDir1" outputvbcassembly="testoutput\NoOutDir1_vbc.exe" outputassembly="testoutput\NoOutDir1.exe" target="exe" workingdirectory="testoutput">
+		<arguments>/out:NoOutDir1.exe</arguments>
+		<vbcarguments>/out:NoOutDir1_vbc.exe</vbcarguments>
+		<file>..\CompileTime2\NoOutDir1.vb</file>
+	</test>
+	<test id="688" name="NothingComparison1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\NothingComparison1.vb</file>
+	</test>
+	<test id="689" name="NothingValueType1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\NothingValueType1.vb</file>
+	</test>
+	<test id="690" name="Nullable1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\Nullable1.vb</file>
+	</test>
+	<test id="691" name="NullChar" knownfailure="Error message has full path in it" expectedvbcexitcode="1">
+		<file>CompileTime2\NullChar.vb</file>
+		<vbcerror number="31007" message="Unable to open module file 'D:\Documentos\Rolf\Proyectos\VB.NET\vbnc\mono-basic\vbnc\vbnc\tests\CompileTime2\NullChar.vb': System Error &H80041feb&" />
+	</test>
+	<test id="692" name="Operator1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\Operator1.vb</file>
+	</test>
+	<test id="693" name="Optional1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\Optional1.vb</file>
+	</test>
+	<test id="694" name="OptionalParameters1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\OptionalParameters1.vb</file>
+	</test>
+	<test id="695" name="OptionalParameters2" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\OptionalParameters2.vb</file>
+	</test>
+	<test id="696" name="OptionalParameters4" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\OptionalParameters4.vb</file>
+	</test>
+	<test id="697" name="OptionCompareText1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\OptionCompareText1.vb</file>
+	</test>
+	<test id="698" name="OptionStrict1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\OptionStrict1.vb</file>
+	</test>
+	<test id="699" name="OverrideImplementedMethod1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\OverrideImplementedMethod1.vb</file>
+	</test>
+	<test id="700" name="OverridenProperty1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\OverridenProperty1.vb</file>
+	</test>
+	<test id="701" name="ParamArray1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\ParamArray1.vb</file>
+	</test>
+	<test id="702" name="ParamArray2" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\ParamArray2.vb</file>
+	</test>
+	<test id="703" name="ParamArray3" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\ParamArray3.vb</file>
+	</test>
+	<test id="704" name="ParamArray4" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\ParamArray4.vb</file>
+	</test>
+	<test id="705" name="ParamArray5" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\ParamArray5.vb</file>
+	</test>
+	<test id="706" name="ParamArray6" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\ParamArray6.vb</file>
+	</test>
+	<test id="707" name="ParamArray7" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\ParamArray7.vb</file>
+	</test>
+	<test id="708" name="ParamArrayResolution1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\ParamArrayResolution1.vb</file>
+	</test>
+	<test id="709" name="ParamArrayResolution2" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\ParamArrayResolution2.vb</file>
+	</test>
+	<test id="710" name="ParameterAttributes1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\ParameterAttributes1.vb</file>
+	</test>
+	<test id="711" name="ParameterAttributes2" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\ParameterAttributes2.vb</file>
+	</test>
+	<test id="712" name="ParenthesizedExpression1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\ParenthesizedExpression1.vb</file>
+	</test>
+	<test id="713" name="PartialAccess1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\PartialAccess1.vb</file>
+	</test>
+	<test id="714" name="PEFileKind-Console" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\PEFileKind-Console.vb</file>
+	</test>
+	<test id="715" name="PEFileKind-Winexe" target="winexe">
+		<arguments>/nowarn</arguments>
+		<file>CompileTime2\PEFileKind-Winexe.vb</file>
+	</test>
+	<test id="716" name="PropertyAccess1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\PropertyAccess1.vb</file>
+	</test>
+	<test id="717" name="PropertyAccess2" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\PropertyAccess2.vb</file>
+	</test>
+	<test id="718" name="PropertyAccess3" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\PropertyAccess3.vb</file>
+	</test>
+	<test id="719" name="PropertyAccess4" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\PropertyAccess4.vb</file>
+	</test>
+	<test id="720" name="PropertyAccessExpression1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\PropertyAccessExpression1.vb</file>
+	</test>
+	<test id="721" name="PropertyAccessExpression2" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\PropertyAccessExpression2.vb</file>
+	</test>
+	<test id="722" name="PropertyAccessExpression3" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\PropertyAccessExpression3.vb</file>
+	</test>
+	<test id="723" name="PropertyAccessExpression4" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\PropertyAccessExpression4.vb</file>
+	</test>
+	<test id="724" name="PropertyAccessExpression5" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\PropertyAccessExpression5.vb</file>
+	</test>
+	<test id="725" name="ReadOnly1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\ReadOnly1.vb</file>
+	</test>
+	<test id="726" name="Redim2" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\Redim2.vb</file>
+	</test>
+	<test id="727" name="ReturnVariable1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\ReturnVariable1.vb</file>
+	</test>
+	<test id="728" name="Select1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\Select1.vb</file>
+	</test>
+	<test id="729" name="SelectCase1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\SelectCase1.vb</file>
+	</test>
+	<test id="730" name="SelectCase2" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\SelectCase2.vb</file>
+	</test>
+	<test id="731" name="SelectCase3" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\SelectCase3.vb</file>
+	</test>
+	<test id="732" name="SelectCase5" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\SelectCase5.vb</file>
+	</test>
+	<test id="733" name="SelectCase6" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\SelectCase6.vb</file>
+	</test>
+	<test id="734" name="ShadowedProperty1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\ShadowedProperty1.vb</file>
+	</test>
+	<test id="735" name="Shadows1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\Shadows1.vb</file>
+	</test>
+	<test id="736" name="SingleLineStatement1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\SingleLineStatement1.vb</file>
+	</test>
+	<test id="737" name="StaticVariable1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\StaticVariable1.vb</file>
+	</test>
+	<test id="738" name="StaticVariable2" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\StaticVariable2.vb</file>
+	</test>
+	<test id="739" name="StaticVariable3" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\StaticVariable3.vb</file>
+	</test>
+	<test id="740" name="StaticVariable4" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\StaticVariable4.vb</file>
+	</test>
+	<test id="741" name="StaticVariable5" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\StaticVariable5.vb</file>
+	</test>
+	<test id="742" name="StringComparison1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\StringComparison1.vb</file>
+	</test>
+	<test id="743" name="StringHandling1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\StringHandling1.vb</file>
+	</test>
+	<test id="744" name="StructureMembers1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\StructureMembers1.vb</file>
+	</test>
+	<test id="745" name="StructureMembers2" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\StructureMembers2.vb</file>
+	</test>
+	<test id="746" name="StructureMembers3" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\StructureMembers3.vb</file>
+	</test>
+	<test id="747" name="StructureMembers4" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\StructureMembers4.vb</file>
+	</test>
+	<test id="748" name="StructureMembers5" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\StructureMembers5.vb</file>
+	</test>
+	<test id="749" name="StructureMembers6" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\StructureMembers6.vb</file>
+	</test>
+	<test id="750" name="StructureMembers7" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\StructureMembers7.vb</file>
+	</test>
+	<test id="751" name="StructureMembers8" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\StructureMembers8.vb</file>
+	</test>
+	<test id="752" name="Throw3" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\Throw3.vb</file>
+	</test>
+	<test id="753" name="TryCatch1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\TryCatch1.vb</file>
+	</test>
+	<test id="754" name="TryCatch2" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\TryCatch2.vb</file>
+	</test>
+	<test id="755" name="TryCatch3" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\TryCatch3.vb</file>
+	</test>
+	<test id="756" name="TryCatch4" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\TryCatch4.vb</file>
+	</test>
+	<test id="757" name="TryReturn1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\TryReturn1.vb</file>
+	</test>
+	<test id="758" name="TypeOf1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\TypeOf1.vb</file>
+	</test>
+	<test id="759" name="TypeParameterExpression1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\TypeParameterExpression1.vb</file>
+	</test>
+	<test id="760" name="TypeParameterExpression2" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\TypeParameterExpression2.vb</file>
+	</test>
+	<test id="761" name="TypeParameterExpression3" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\TypeParameterExpression3.vb</file>
+	</test>
+	<test id="762" name="UserConversion1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\UserConversion1.vb</file>
+	</test>
+	<test id="763" name="UsingStatement5" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\UsingStatement5.vb</file>
+	</test>
+	<test id="764" name="VariableInitializer3" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>CompileTime2\VariableInitializer3.vb</file>
+	</test>
+	<test id="765" name="2017-aspnet1" expectedexitcode="1" expectedvbcexitcode="2000" target="exe">
+		<arguments>/r:System</arguments>
+		<file>Errors\2017-aspnet1.vb</file>
+		<error number="2017" />
+	</test>
+	<test id="767" name="30039" expectedexitcode="1">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30039.vb</file>
+		<error number="30039" />
+	</test>
+	<test id="768" name="30039-1" expectedexitcode="1">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30039-1.vb</file>
+		<error number="30039" />
+	</test>
+	<test id="769" name="30039-2" expectedexitcode="1" target="exe">
+		<arguments>-target:library</arguments>
+		<file>Errors\30039-2.vb</file>
+		<error number="30039" />
+	</test>
+	<test id="770" name="30039-3" expectedexitcode="1" target="exe">
+		<arguments>-target:library</arguments>
+		<file>Errors\30039-3.vb</file>
+		<error number="30039" />
+	</test>
+	<test id="771" name="30057" expectedexitcode="1">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30057.vb</file>
+		<error number="30057" />
+	</test>
+	<test id="772" name="30059" expectedexitcode="1">
+		<arguments>-target:library</arguments>
+		<file>Errors\30059.vb</file>
+		<error number="30059" />
+	</test>
+	<test id="773" name="30060" expectedexitcode="1">
+		<arguments>-target:library</arguments>
+		<file>Errors\30060.vb</file>
+		<error number="30060" />
+	</test>
+	<test id="774" name="30060-1" expectedexitcode="1">
+		<arguments>-target:library</arguments>
+		<file>Errors\30060-1.vb</file>
+		<error number="30060" />
+	</test>
+	<test id="775" name="30060-10" expectedexitcode="1">
+		<arguments>-target:library</arguments>
+		<file>Errors\30060-10.vb</file>
+		<error number="30060" />
+	</test>
+	<test id="776" name="30060-11" expectedexitcode="1">
+		<arguments>-target:library</arguments>
+		<file>Errors\30060-11.vb</file>
+		<error number="30060" />
+	</test>
+	<test id="777" name="30060-12" expectedexitcode="1">
+		<arguments>-target:library</arguments>
+		<file>Errors\30060-12.vb</file>
+		<error number="30060" />
+	</test>
+	<test id="778" name="30060-13" expectedexitcode="1">
+		<arguments>-target:library</arguments>
+		<file>Errors\30060-13.vb</file>
+		<error number="30060" />
+	</test>
+	<test id="779" name="30060-14" expectedexitcode="1">
+		<arguments>-target:library</arguments>
+		<file>Errors\30060-14.vb</file>
+		<error number="30060" />
+	</test>
+	<test id="780" name="30060-15" expectedexitcode="1">
+		<arguments>-target:library</arguments>
+		<file>Errors\30060-15.vb</file>
+		<error number="30060" />
+	</test>
+	<test id="781" name="30060-16" expectedexitcode="1">
+		<arguments>-target:library</arguments>
+		<file>Errors\30060-16.vb</file>
+		<error number="30060" />
+	</test>
+	<test id="782" name="30060-17" expectedexitcode="1">
+		<arguments>-target:library</arguments>
+		<file>Errors\30060-17.vb</file>
+		<error number="30060" />
+	</test>
+	<test id="783" name="30060-18" expectedexitcode="1">
+		<arguments>-target:library</arguments>
+		<file>Errors\30060-18.vb</file>
+		<error number="30060" />
+	</test>
+	<test id="784" name="30060-19" expectedexitcode="1">
+		<arguments>-target:library</arguments>
+		<file>Errors\30060-19.vb</file>
+		<error number="30060" />
+	</test>
+	<test id="785" name="30060-2" expectedexitcode="1">
+		<arguments>-target:library</arguments>
+		<file>Errors\30060-2.vb</file>
+		<error number="30060" />
+	</test>
+	<test id="786" name="30060-20" expectedexitcode="1">
+		<arguments>-target:library</arguments>
+		<file>Errors\30060-20.vb</file>
+		<error number="30060" />
+	</test>
+	<test id="787" name="30060-21" expectedexitcode="1">
+		<arguments>-target:library</arguments>
+		<file>Errors\30060-21.vb</file>
+		<error number="30060" />
+	</test>
+	<test id="788" name="30060-22" expectedexitcode="1">
+		<arguments>-target:library</arguments>
+		<file>Errors\30060-22.vb</file>
+		<error number="30060" />
+	</test>
+	<test id="789" name="30060-23" expectedexitcode="1">
+		<arguments>-target:library</arguments>
+		<file>Errors\30060-23.vb</file>
+		<error number="30060" />
+	</test>
+	<test id="790" name="30060-24" expectedexitcode="1">
+		<arguments>-target:library</arguments>
+		<file>Errors\30060-24.vb</file>
+		<error number="30060" />
+	</test>
+	<test id="791" name="30060-25" expectedexitcode="1">
+		<arguments>-target:library</arguments>
+		<file>Errors\30060-25.vb</file>
+		<error number="30060" />
+	</test>
+	<test id="792" name="30060-3" expectedexitcode="1">
+		<arguments>-target:library</arguments>
+		<file>Errors\30060-3.vb</file>
+		<error number="30060" />
+	</test>
+	<test id="793" name="30060-4" expectedexitcode="1">
+		<arguments>-target:library</arguments>
+		<file>Errors\30060-4.vb</file>
+		<error number="30060" />
+	</test>
+	<test id="794" name="30060-5" expectedexitcode="1">
+		<arguments>-target:library</arguments>
+		<file>Errors\30060-5.vb</file>
+		<error number="30060" />
+	</test>
+	<test id="795" name="30060-6" expectedexitcode="1">
+		<arguments>-target:library</arguments>
+		<file>Errors\30060-6.vb</file>
+		<error number="30060" />
+	</test>
+	<test id="796" name="30060-7" expectedexitcode="1">
+		<arguments>-target:library</arguments>
+		<file>Errors\30060-7.vb</file>
+		<error number="30060" />
+	</test>
+	<test id="797" name="30060-8" expectedexitcode="1">
+		<arguments>-target:library</arguments>
+		<file>Errors\30060-8.vb</file>
+		<error number="30060" />
+	</test>
+	<test id="798" name="30060-9" expectedexitcode="1">
+		<arguments>-target:library</arguments>
+		<file>Errors\30060-9.vb</file>
+		<error number="30060" />
+	</test>
+	<test id="799" name="30064" knownfailure="We give the wrong error" expectedexitcode="1" target="exe">
+		<arguments>-target:library</arguments>
+		<file>Errors\30064.vb</file>
+		<error number="30064" />
+	</test>
+	<test id="800" name="30068" knownfailure="We give the wrong error" expectedexitcode="1" target="exe">
+		<arguments>-target:library</arguments>
+		<file>Errors\30068.vb</file>
+		<error number="30068" />
+	</test>
+	<test id="801" name="30070" expectedexitcode="1">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30070.vb</file>
+		<error number="30070" />
+	</test>
+	<test id="802" name="30070-1" expectedexitcode="1">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30070-1.vb</file>
+		<error number="30070" />
+	</test>
+	<test id="803" name="30074" knownfailure="Parser error" expectedexitcode="1">
+		<file>Errors\30074.vb</file>
+		<error number="30074" />
+	</test>
+	<test id="804" name="30074-1" knownfailure="We give the wrong error" expectedexitcode="1" target="exe">
+		<arguments>-target:library</arguments>
+		<file>Errors\30074-1.vb</file>
+		<error number="30074" />
+	</test>
+	<test id="805" name="30108" expectedexitcode="1">
+		<arguments>-optioninfer-</arguments>
+		<file>Errors\30108.vb</file>
+		<error number="30108" />
+	</test>
+	<test id="806" name="30129" expectedexitcode="1" target="exe">
+		<arguments>-target:library</arguments>
+		<file>Errors\30129.vb</file>
+		<error number="30129" />
+	</test>
+	<test id="807" name="30179" expectedexitcode="1">
+		<arguments>-target:library</arguments>
+		<file>Errors\30179.vb</file>
+		<error number="30179" />
+	</test>
+	<test id="808" name="30179-2" expectedexitcode="1">
+		<arguments>-target:library</arguments>
+		<file>Errors\30179-2.vb</file>
+		<error number="30179" />
+	</test>
+	<test id="809" name="30179-3" expectedexitcode="1">
+		<arguments>-target:library</arguments>
+		<file>Errors\30179-3.vb</file>
+		<error number="30179" />
+	</test>
+	<test id="810" name="32035-1" expectedexitcode="1" expectedvbcexitcode="1">
+		<file>Errors\32035-1.vb</file>
+		<error line="1" number="30203" message="Identifier expected." />
+		<vbcerror line="1" number="32035" message="Attribute specifier is not a complete statement. Use a line continuation to apply the attribute to the following statement." />
+	</test>
+	<test id="811" name="30203-1" expectedexitcode="1">
+		<arguments>-target:library</arguments>
+		<file>Errors\30203-1.vb</file>
+		<error number="30203" />
+	</test>
+	<test id="812" name="30206" expectedexitcode="1">
+		<arguments>-target:library</arguments>
+		<file>Errors\30206.vb</file>
+		<error number="30206" />
+	</test>
+	<test id="813" name="30207" expectedexitcode="1">
+		<arguments>-target:library</arguments>
+		<file>Errors\30207.vb</file>
+		<error number="30207" />
+	</test>
+	<test id="814" name="30209">
+		<arguments>-target:library</arguments>
+		<file>Errors\30209.vb</file>
+	</test>
+	<test id="815" name="30210" expectedexitcode="1">
+		<arguments>-target:library</arguments>
+		<file>Errors\30210.vb</file>
+		<error number="30210" />
+	</test>
+	<test id="816" name="30225" expectedexitcode="1">
+		<arguments>-target:library</arguments>
+		<file>Errors\30225.vb</file>
+		<error number="30225" />
+	</test>
+	<test id="817" name="30225-1" expectedexitcode="1">
+		<arguments>-target:library</arguments>
+		<file>Errors\30225-1.vb</file>
+		<error number="30225" />
+	</test>
+	<test id="818" name="30225-2" expectedexitcode="1">
+		<arguments>-target:library</arguments>
+		<file>Errors\30225-2.vb</file>
+		<error number="30225" />
+	</test>
+	<test id="819" name="30311" expectedexitcode="1">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30311.vb</file>
+		<error number="30311" />
+	</test>
+	<test id="820" name="30311-1" expectedexitcode="1">
+		<arguments>-target:library</arguments>
+		<file>Errors\30311-1.vb</file>
+		<error number="30311" />
+	</test>
+	<test id="821" name="30311-10" expectedexitcode="1">
+		<arguments>-target:library</arguments>
+		<file>Errors\30311-10.vb</file>
+		<error number="30311" />
+	</test>
+	<test id="822" name="30311-11" expectedexitcode="1">
+		<arguments>-target:library</arguments>
+		<file>Errors\30311-11.vb</file>
+		<error number="30311" />
+	</test>
+	<test id="823" name="30311-12" expectedexitcode="1">
+		<arguments>-target:library</arguments>
+		<file>Errors\30311-12.vb</file>
+		<error number="30311" />
+	</test>
+	<test id="824" name="30311-13" expectedexitcode="1">
+		<arguments>-target:library</arguments>
+		<file>Errors\30311-13.vb</file>
+		<error number="30311" />
+	</test>
+	<test id="825" name="30311-14" expectedexitcode="1">
+		<arguments>-target:library</arguments>
+		<file>Errors\30311-14.vb</file>
+		<error number="30311" />
+	</test>
+	<test id="826" name="30311-15" expectedexitcode="1">
+		<arguments>-target:library</arguments>
+		<file>Errors\30311-15.vb</file>
+		<error number="30311" />
+	</test>
+	<test id="827" name="30311-16" expectedexitcode="1">
+		<arguments>-target:library</arguments>
+		<file>Errors\30311-16.vb</file>
+		<error number="30311" />
+	</test>
+	<test id="828" name="30311-17" expectedexitcode="1">
+		<arguments>-target:library</arguments>
+		<file>Errors\30311-17.vb</file>
+		<error number="30311" />
+	</test>
+	<test id="829" name="30311-18" expectedexitcode="1">
+		<arguments>-target:library</arguments>
+		<file>Errors\30311-18.vb</file>
+		<error number="30311" />
+	</test>
+	<test id="830" name="30311-19" expectedexitcode="1">
+		<arguments>-target:library</arguments>
+		<file>Errors\30311-19.vb</file>
+		<error number="30311" />
+	</test>
+	<test id="831" name="30311-2" expectedexitcode="1">
+		<arguments>-target:library</arguments>
+		<file>Errors\30311-2.vb</file>
+		<error number="30311" />
+	</test>
+	<test id="832" name="30311-20" expectedexitcode="1">
+		<arguments>-target:library</arguments>
+		<file>Errors\30311-20.vb</file>
+		<error number="30311" />
+	</test>
+	<test id="833" name="30311-21" expectedexitcode="1">
+		<arguments>-target:library</arguments>
+		<file>Errors\30311-21.vb</file>
+		<error number="30311" />
+	</test>
+	<test id="834" name="30311-22" expectedexitcode="1">
+		<arguments>-target:library</arguments>
+		<file>Errors\30311-22.vb</file>
+		<error number="30311" />
+	</test>
+	<test id="835" name="30311-23" expectedexitcode="1">
+		<arguments>-target:library</arguments>
+		<file>Errors\30311-23.vb</file>
+		<error number="30311" />
+	</test>
+	<test id="836" name="30311-24" expectedexitcode="1">
+		<arguments>-target:library</arguments>
+		<file>Errors\30311-24.vb</file>
+		<error number="30311" />
+	</test>
+	<test id="837" name="30311-25" expectedexitcode="1">
+		<arguments>-target:library</arguments>
+		<file>Errors\30311-25.vb</file>
+		<error number="30311" />
+	</test>
+	<test id="838" name="30311-26" expectedexitcode="1">
+		<arguments>-target:library</arguments>
+		<file>Errors\30311-26.vb</file>
+		<error number="30311" />
+	</test>
+	<test id="839" name="30311-27" expectedexitcode="1">
+		<arguments>-target:library</arguments>
+		<file>Errors\30311-27.vb</file>
+		<error number="30311" />
+	</test>
+	<test id="840" name="30311-28" expectedexitcode="1">
+		<arguments>-target:library</arguments>
+		<file>Errors\30311-28.vb</file>
+		<error number="30311" />
+	</test>
+	<test id="841" name="30311-29" expectedexitcode="1">
+		<arguments>-target:library</arguments>
+		<file>Errors\30311-29.vb</file>
+		<error number="30311" />
+	</test>
+	<test id="842" name="30311-3" expectedexitcode="1">
+		<arguments>-target:library</arguments>
+		<file>Errors\30311-3.vb</file>
+		<error number="30311" />
+	</test>
+	<test id="843" name="30311-30" expectedexitcode="1">
+		<arguments>-target:library</arguments>
+		<file>Errors\30311-30.vb</file>
+		<error number="30311" />
+	</test>
+	<test id="844" name="30311-31" expectedexitcode="1">
+		<arguments>-target:library</arguments>
+		<file>Errors\30311-31.vb</file>
+		<error number="30311" />
+	</test>
+	<test id="845" name="30311-32" expectedexitcode="1">
+		<arguments>-target:library</arguments>
+		<file>Errors\30311-32.vb</file>
+		<error number="30311" />
+	</test>
+	<test id="846" name="30311-33" expectedexitcode="1">
+		<arguments>-target:library</arguments>
+		<file>Errors\30311-33.vb</file>
+		<error number="30311" />
+	</test>
+	<test id="847" name="30311-34" expectedexitcode="1">
+		<arguments>-target:library</arguments>
+		<file>Errors\30311-34.vb</file>
+		<error number="30311" />
+	</test>
+	<test id="848" name="30311-35" expectedexitcode="1">
+		<arguments>-target:library</arguments>
+		<file>Errors\30311-35.vb</file>
+		<error number="30311" />
+	</test>
+	<test id="849" name="30311-4" expectedexitcode="1">
+		<arguments>-target:library</arguments>
+		<file>Errors\30311-4.vb</file>
+		<error number="30311" />
+	</test>
+	<test id="850" name="30311-5" expectedexitcode="1">
+		<arguments>-target:library</arguments>
+		<file>Errors\30311-5.vb</file>
+		<error number="30311" />
+	</test>
+	<test id="851" name="30311-6" expectedexitcode="1">
+		<arguments>-target:library</arguments>
+		<file>Errors\30311-6.vb</file>
+		<error number="30311" />
+	</test>
+	<test id="852" name="30311-7" expectedexitcode="1">
+		<arguments>-target:library</arguments>
+		<file>Errors\30311-7.vb</file>
+		<error number="30311" />
+	</test>
+	<test id="853" name="30311-8" expectedexitcode="1">
+		<arguments>-target:library</arguments>
+		<file>Errors\30311-8.vb</file>
+		<error number="30311" />
+	</test>
+	<test id="854" name="30311-9" expectedexitcode="1">
+		<arguments>-target:library</arguments>
+		<file>Errors\30311-9.vb</file>
+		<error number="30311" />
+	</test>
+	<test id="855" name="30337" expectedexitcode="1" expectedvbcexitcode="1">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30337.vb</file>
+		<error line="96" number="30311" message="Value of type 'Integer' cannot be converted to 'For7.IteratorA1'." />
+		<vbcerror line="96" number="30337" message="'For' loop control variable cannot be of type 'For7.IteratorA1' because the type does not support the required operators." />
+	</test>
+	<test id="856" name="30337-1" expectedexitcode="1" target="exe">
+		<arguments>-target:library</arguments>
+		<file>Errors\30337-1.vb</file>
+		<error number="30337" />
+	</test>
+	<test id="857" name="30337-2" expectedexitcode="1" target="exe">
+		<arguments>-target:library</arguments>
+		<file>Errors\30337-2.vb</file>
+		<error number="30337" />
+	</test>
+	<test id="858" name="30337-3" expectedexitcode="1" target="exe">
+		<arguments>-target:library</arguments>
+		<file>Errors\30337-3.vb</file>
+		<error number="30337" />
+	</test>
+	<test id="859" name="30337-4" expectedexitcode="1" target="exe">
+		<arguments>-target:library</arguments>
+		<file>Errors\30337-4.vb</file>
+		<error number="30337" />
+	</test>
+	<test id="860" name="30387" expectedexitcode="1" target="exe">
+		<arguments>-target:library</arguments>
+		<file>Errors\30387.vb</file>
+		<error number="30387" />
+	</test>
+	<test id="861" name="30390" expectedexitcode="1" target="exe">
+		<arguments>-target:library</arguments>
+		<file>Errors\30390.vb</file>
+		<error number="30390" />
+	</test>
+	<test id="862" name="30439" expectedexitcode="1">
+		<arguments>-target:library</arguments>
+		<file>Errors\30439.vb</file>
+		<error number="30439" />
+	</test>
+	<test id="863" name="30439-1" expectedexitcode="1">
+		<arguments>-target:library</arguments>
+		<file>Errors\30439-1.vb</file>
+		<error number="30439" />
+	</test>
+	<test id="864" name="30451" expectedexitcode="1">
+		<arguments>-target:library</arguments>
+		<file>Errors\30451.vb</file>
+		<error number="30451" />
+	</test>
+	<test id="865" name="30451-1" expectedexitcode="1">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30451-1.vb</file>
+		<error line="6" number="30451" message="'j' is not declared. It may be inaccessible due to its protection level." />
+	</test>
+	<test id="866" name="30455" expectedexitcode="1" target="exe">
+		<arguments>-target:library</arguments>
+		<file>Errors\30455.vb</file>
+		<error number="30455" />
+	</test>
+	<test id="867" name="30456" expectedexitcode="1" target="exe">
+		<arguments>-target:library</arguments>
+		<file>Errors\30456.vb</file>
+		<error number="30456" />
+	</test>
+	<test id="868" name="30456-1" expectedexitcode="1">
+		<file>Errors\30456-1.vb</file>
+		<error number="30456" />
+	</test>
+	<test id="869" name="30456-2" expectedexitcode="1" target="exe">
+		<arguments>-target:library</arguments>
+		<file>Errors\30456-2.vb</file>
+		<error number="30456" />
+	</test>
+	<test id="870" name="30456-3" expectedexitcode="1">
+		<file>Errors\30456-3.vb</file>
+		<error number="30456" />
+	</test>
+	<test id="871" name="30471" expectedexitcode="1" target="exe">
+		<arguments>-target:library</arguments>
+		<file>Errors\30471.vb</file>
+		<error number="30471" />
+	</test>
+	<test id="872" name="30506-1" expectedexitcode="1" expectedvbcexitcode="1">
+		<file>Errors\30506-1.vb</file>
+		<error line="8" number="30491" message="Expression does not produce a value." />
+		<error line="10" number="30506" message="Handles clause requires a variable declared with WithEvents." />
+		<vbcerror line="8" number="30506" message="Handles clause requires a WithEvents variable defined in the containing type or one of its base types." />
+	</test>
+	<test id="873" name="30506-2" expectedexitcode="1" expectedvbcexitcode="1">
+		<file>Errors\30506-2.vb</file>
+		<error line="10" number="30456" message="'Load' is not a member of 'System.Int32'." />
+		<vbcerror line="8" number="30506" message="Handles clause requires a WithEvents variable defined in the containing type or one of its base types." />
+	</test>
+	<test id="874" name="30506-3" expectedexitcode="1" expectedvbcexitcode="1">
+		<file>Errors\30506-3.vb</file>
+		<error line="7" number="30456" message="'Click' is not a member of 'System.Web.UI.Page'." />
+		<vbcerror line="6" number="30506" message="Handles clause requires a WithEvents variable defined in the containing type or one of its base types." />
+	</test>
+	<test id="875" name="30506-4" expectedexitcode="1" expectedvbcexitcode="1">
+		<file>Errors\30506-4.vb</file>
+		<error line="6" number="30590" message="Cannot find the event 'Click'." />
+		<vbcerror line="6" number="30506" message="Handles clause requires a WithEvents variable defined in the containing type or one of its base types." />
+	</test>
+	<test id="876" name="30506-5" expectedexitcode="1">
+		<arguments>-target:library</arguments>
+		<file>Errors\30506-5.vb</file>
+		<error number="30506" />
+	</test>
+	<test id="877" name="30506-6" expectedexitcode="1">
+		<arguments>-target:library</arguments>
+		<file>Errors\30506-6.vb</file>
+		<error number="30506" />
+	</test>
+	<test id="878" name="30517" expectedexitcode="1">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30517.vb</file>
+		<error number="30517" />
+	</test>
+	<test id="879" name="30532" expectedexitcode="1">
+		<arguments>-target:library</arguments>
+		<file>Errors\30532.vb</file>
+		<error number="30532" />
+	</test>
+	<test id="880" name="30533" expectedexitcode="1">
+		<arguments>-target:library</arguments>
+		<file>Errors\30533.vb</file>
+		<error number="30533" />
+	</test>
+	<test id="881" name="30574" expectedexitcode="1">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30574.vb</file>
+		<error number="30574" />
+	</test>
+	<test id="882" name="30581" expectedexitcode="1" target="exe">
+		<arguments>-target:library</arguments>
+		<file>Errors\30581.vb</file>
+		<error number="30581" />
+	</test>
+	<test id="883" name="30590" expectedexitcode="1" expectedvbcexitcode="1">
+		<file>Errors\30590.vb</file>
+		<error line="10" number="30456" message="'Load' is not a member of 'Form1'." />
+		<vbcerror line="8" number="30590" message="Event 'Load' cannot be found." />
+	</test>
+	<test id="884" name="30620" expectedexitcode="1">
+		<arguments>-target:library</arguments>
+		<file>Errors\30620.vb</file>
+		<error number="30620" />
+	</test>
+	<test id="885" name="30640" expectedexitcode="1">
+		<arguments>-target:library</arguments>
+		<file>Errors\30640.vb</file>
+		<error number="30640" />
+	</test>
+	<test id="886" name="30691" expectedexitcode="1" target="exe">
+		<arguments>-target:library</arguments>
+		<file>Errors\30691.vb</file>
+		<error number="30691" />
+	</test>
+	<test id="887" name="30691-1" expectedexitcode="1" target="exe">
+		<arguments>-target:library</arguments>
+		<file>Errors\30691-1.vb</file>
+		<error number="30691" />
+	</test>
+	<test id="888" name="31509" knownfailure="Behaviour seem to have changed for vbc lately." workingdirectory="Errors">
+		<arguments>/resource:31509.resources</arguments>
+		<file>31509.vb</file>
+	</test>
+	<test id="889" name="32006" expectedexitcode="1">
+		<arguments>-target:library</arguments>
+		<file>Errors\32006.vb</file>
+		<error number="32006" />
+	</test>
+	<test id="890" name="32006-1" expectedexitcode="1">
+		<arguments>-target:library</arguments>
+		<file>Errors\32006-1.vb</file>
+		<error number="32006" />
+	</test>
+	<test id="891" name="32006-2" expectedexitcode="1">
+		<arguments>-target:library</arguments>
+		<file>Errors\32006-2.vb</file>
+		<error number="32006" />
+	</test>
+	<test id="892" name="32006-3" expectedexitcode="1">
+		<arguments>-target:library</arguments>
+		<file>Errors\32006-3.vb</file>
+		<error number="32006" />
+	</test>
+	<test id="893" name="32006-4" expectedexitcode="1">
+		<arguments>-target:library</arguments>
+		<file>Errors\32006-4.vb</file>
+		<error number="32006" />
+	</test>
+	<test id="894" name="32006-5" expectedexitcode="1">
+		<arguments>-target:library</arguments>
+		<file>Errors\32006-5.vb</file>
+		<error number="32006" />
+	</test>
+	<test id="895" name="32006-6" expectedexitcode="1">
+		<arguments>-target:library</arguments>
+		<file>Errors\32006-6.vb</file>
+		<error number="32006" />
+	</test>
+	<test id="896" name="32006-7" expectedexitcode="1">
+		<arguments>-target:library</arguments>
+		<file>Errors\32006-7.vb</file>
+		<error number="32006" />
+	</test>
+	<test id="897" name="32007" expectedexitcode="1">
+		<arguments>-target:library</arguments>
+		<file>Errors\32007.vb</file>
+		<error number="32007" />
+	</test>
+	<test id="898" name="32007-1" expectedexitcode="1">
+		<arguments>-target:library</arguments>
+		<file>Errors\32007-1.vb</file>
+		<error number="32007" />
+	</test>
+	<test id="899" name="32007-2" expectedexitcode="1">
+		<arguments>-target:library</arguments>
+		<file>Errors\32007-2.vb</file>
+		<error number="32007" />
+	</test>
+	<test id="900" name="32007-3" expectedexitcode="1">
+		<arguments>-target:library</arguments>
+		<file>Errors\32007-3.vb</file>
+		<error number="32007" />
+	</test>
+	<test id="901" name="32007-4" expectedexitcode="1">
+		<arguments>-target:library</arguments>
+		<file>Errors\32007-4.vb</file>
+		<error number="32007" />
+	</test>
+	<test id="902" name="32007-5" expectedexitcode="1">
+		<arguments>-target:library</arguments>
+		<file>Errors\32007-5.vb</file>
+		<error number="32007" />
+	</test>
+	<test id="903" name="32007-6" expectedexitcode="1">
+		<arguments>-target:library</arguments>
+		<file>Errors\32007-6.vb</file>
+		<error number="32007" />
+	</test>
+	<test id="904" name="32008" expectedexitcode="1">
+		<arguments>-target:library</arguments>
+		<file>Errors\32008.vb</file>
+		<error number="32008" />
+	</test>
+	<test id="905" name="32008-2" expectedexitcode="1">
+		<arguments>-target:library</arguments>
+		<file>Errors\32008-2.vb</file>
+		<error number="32008" />
+	</test>
+	<test id="906" name="32035" expectedexitcode="1">
+		<arguments>-target:library</arguments>
+		<file>Errors\32035.vb</file>
+		<error number="32035" />
+	</test>
+	<test id="907" name="32042" expectedexitcode="1" expectedvbcexitcode="1">
+		<arguments>/nowarn</arguments>
+		<file>Errors\32042.vb</file>
+		<error line="10" number="30002" message="Type 'A1.b2' is not defined." />
+		<vbcerror line="10" number="32042" message="Too few type arguments to 'A1.B2(Of TKey, TValue)'." />
+	</test>
+	<test id="908" name="32046" expectedexitcode="1" expectedvbcexitcode="1">
+		<file>Errors\32046.vb</file>
+		<error line="8" number="32085" message="Arguments cannot be passed when calling a type parameter constructor." />
+		<vbcerror line="7" number="32046" message="'New' cannot be used on a type parameter that does not have a 'New' constraint." />
+	</test>
+	<test id="909" name="32085" expectedexitcode="1" target="exe">
+		<arguments>-target:library</arguments>
+		<file>Errors\32085.vb</file>
+		<error number="32085" />
+	</test>
+	<test id="910" name="32098SimpleNameExpressionAsTypeParameter1" expectedexitcode="1">
+		<arguments>-target:library</arguments>
+		<file>Errors\32098SimpleNameExpressionAsTypeParameter1.vb</file>
+		<error number="32098" />
+	</test>
+	<test id="911" name="32101" expectedexitcode="1">
+		<arguments>-target:library</arguments>
+		<file>Errors\32101.vb</file>
+		<error number="32101" />
+	</test>
+	<test id="912" name="32102" expectedexitcode="1">
+		<arguments>-target:library</arguments>
+		<file>Errors\32102.vb</file>
+		<error number="32102" />
+	</test>
+	<test id="913" name="32103" expectedexitcode="1">
+		<arguments>-target:library</arguments>
+		<file>Errors\32103.vb</file>
+		<error number="32103" />
+	</test>
+	<test id="914" name="32104" expectedexitcode="1">
+		<arguments>-target:library</arguments>
+		<file>Errors\32104.vb</file>
+		<error number="32104" />
+	</test>
+	<test id="915" name="32105" expectedexitcode="1">
+		<file>Errors\32105.vb</file>
+		<error number="32105" />
+	</test>
+	<test id="916" name="32106" expectedexitcode="1">
+		<file>Errors\32106.vb</file>
+		<error number="32106" />
+	</test>
+	<test id="917" name="32304-DefaultProperty4" expectedexitcode="1" expectedvbcexitcode="1">
+		<arguments>/nowarn</arguments>
+		<file>Errors\32304-DefaultProperty4.vb</file>
+		<error line="3" number="32304" message="The 'DefaultMemberAttribute' defined on 'DefaultProperty4' specifies 'iIeM' as the default member, while the property marked as the default property is 'Item'." />
+		<error line="3" number="32304" message="The 'DefaultMemberAttribute' defined on 'DefaultProperty4' specifies 'iIeM' as the default member, while the property marked as the default property is 'Item'." />
+		<vbcerror line="2" number="32304" message="Conflict between the default property and the 'DefaultMemberAttribute' defined on 'DefaultProperty4'." />
+	</test>
+	<test id="918" name="42024">
+		<arguments>/quiet</arguments>
+		<file>Errors\42024.vb</file>
+		<error line="15" number="42024" message="Unused local variable: 'NotAssigned'." />
+		<error line="26" number="42024" message="Unused local variable: 'UnusedAsParam'." />
+		<error line="36" number="42024" message="Unused local variable: 'UnusedInArithExpr'." />
+		<error line="45" number="42024" message="Unused local variable: 'UnusedCondExpr'." />
+		<error line="48" number="42024" message="Unused local variable: 'inBlock'." />
+		<error line="51" number="42024" message="Unused local variable: 'UnusedElseifExpr'." />
+		<error line="56" number="42024" message="Unused local variable: 'inBlock'." />
+		<error line="58" number="42024" message="Unused local variable: 'inBlock'." />
+		<error line="60" number="42024" message="Unused local variable: 'inBlock'." />
+		<error line="68" number="42024" message="Unused local variable: 'UnusedSelectExpr'." />
+		<error line="71" number="42024" message="Unused local variable: 'UnusedCaseExpr'." />
+		<error line="85" number="42024" message="Unused local variable: 'UnusedItr'." />
+		<error line="91" number="42024" message="Unused local variable: 'inBlock'." />
+		<error line="100" number="42024" message="Unused local variable: 'UnusedCtrlVar'." />
+		<error line="103" number="42024" message="Unused local variable: 'inBlock'." />
+		<error line="109" number="42024" message="Unused local variable: 'UnusedStepVar'." />
+		<error line="112" number="42024" message="Unused local variable: 'inBlock'." />
+		<error line="121" number="42024" message="Unused local variable: 'UnusedWhileLoopVar'." />
+		<error line="124" number="42024" message="Unused local variable: 'inBlock'." />
+		<error line="133" number="42024" message="Unused local variable: 'UnusedDoWhileVar'." />
+		<error line="136" number="42024" message="Unused local variable: 'inBlock'." />
+		<error line="144" number="42024" message="Unused local variable: 'UnusedInEvent'." />
+		<error line="153" number="42024" message="Unused local variable: 'NotUsedInTernaryIf'." />
+	</test>
+	<test id="919" name="PrivateScope1" knownfailure="Needs to build IL code first" target="exe">
+		<arguments>/r:PrivateScope1_Ext.dll /define:_MYTYPE=\"Empty\"</arguments>
+		<file>External\PrivateScope1.vb</file>
+	</test>
+	<test id="924" name="LateBinding">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\"     /optionstrict-     /optionexplicit-     /optioncompare:binary</arguments>
+		<file>LateBinding\LateBinding.vb</file>
+	</test>
+	<test id="925" name="Accessibility" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\Accessibility.vb</file>
+	</test>
+	<test id="926" name="AccessibilityA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\AccessibilityA.vb</file>
+	</test>
+	<test id="927" name="AccessibilityB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\AccessibilityB.vb</file>
+	</test>
+	<test id="928" name="AccessibilityC" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\AccessibilityC.vb</file>
+	</test>
+	<test id="929" name="Arguments_ByReferenceA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\Arguments_ByReferenceA.vb</file>
+	</test>
+	<test id="930" name="Arguments_ByReferenceB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\Arguments_ByReferenceB.vb</file>
+	</test>
+	<test id="931" name="Arguments_ByReferenceC" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\Arguments_ByReferenceC.vb</file>
+	</test>
+	<test id="932" name="Arguments_ByReferenceD" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\Arguments_ByReferenceD.vb</file>
+	</test>
+	<test id="933" name="Arguments_ByValueA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\Arguments_ByValueA.vb</file>
+	</test>
+	<test id="934" name="Arguments_ByValueB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\Arguments_ByValueB.vb</file>
+	</test>
+	<test id="935" name="Arguments_ByValueC" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\Arguments_ByValueC.vb</file>
+	</test>
+	<test id="936" name="Arguments_ByValueD" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\Arguments_ByValueD.vb</file>
+	</test>
+	<test id="937" name="ArithmeticOperators" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ArithmeticOperators.vb</file>
+	</test>
+	<test id="938" name="ArithmeticOperatorsA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ArithmeticOperatorsA.vb</file>
+	</test>
+	<test id="939" name="ArrayA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ArrayA.vb</file>
+	</test>
+	<test id="940" name="ArrayB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ArrayB.vb</file>
+	</test>
+	<test id="941" name="ArrayC" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ArrayC.vb</file>
+	</test>
+	<test id="942" name="ArrayD" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ArrayD.vb</file>
+	</test>
+	<test id="943" name="ArrayE" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ArrayE.vb</file>
+	</test>
+	<test id="944" name="ArrayF" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ArrayF.vb</file>
+	</test>
+	<test id="945" name="ArrayG" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ArrayG.vb</file>
+	</test>
+	<test id="946" name="ArrayH" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ArrayH.vb</file>
+	</test>
+	<test id="947" name="AssignmentOperators" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\AssignmentOperators.vb</file>
+	</test>
+	<test id="948" name="AssignmentStatementsA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\AssignmentStatementsA.vb</file>
+	</test>
+	<test id="949" name="AssignmentStatementsB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\AssignmentStatementsB.vb</file>
+	</test>
+	<test id="950" name="AssignmentStatementsC" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\AssignmentStatementsC.vb</file>
+	</test>
+	<test id="951" name="AssignmentStatementsD" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\AssignmentStatementsD.vb</file>
+	</test>
+	<test id="952" name="AssignmentStatementsE" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\AssignmentStatementsE.vb</file>
+	</test>
+	<test id="953" name="AssignmentStatementsF" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\AssignmentStatementsF.vb</file>
+	</test>
+	<test id="954" name="AssignmentStatementsG" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\AssignmentStatementsG.vb</file>
+	</test>
+	<test id="955" name="AssignmentStatementsH" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\AssignmentStatementsH.vb</file>
+	</test>
+	<test id="956" name="AssignmentStatementsI" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\AssignmentStatementsI.vb</file>
+	</test>
+	<test id="957" name="AssignmentStatementsJ" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\AssignmentStatementsJ.vb</file>
+	</test>
+	<test id="958" name="AttributeAssemblyCompany" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\AttributeAssemblyCompany.vb</file>
+	</test>
+	<test id="959" name="AttributeAssemblyCopyRight" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\AttributeAssemblyCopyRight.vb</file>
+	</test>
+	<test id="960" name="AttributeAssemblyDescription" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\AttributeAssemblyDescription.vb</file>
+	</test>
+	<test id="961" name="AttributeAssemblyFlagA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\AttributeAssemblyFlagA.vb</file>
+	</test>
+	<test id="962" name="AttributeAssemblyName" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\AttributeAssemblyName.vb</file>
+	</test>
+	<test id="963" name="AttributeAssemblyTitle" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\AttributeAssemblyTitle.vb</file>
+	</test>
+	<test id="964" name="AttributeAssemblyVersion" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\AttributeAssemblyVersion.vb</file>
+	</test>
+	<test id="965" name="AttributeAssemblyVersionBuild" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\AttributeAssemblyVersionBuild.vb</file>
+	</test>
+	<test id="966" name="AttributeAssemblyVersionMajor" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\AttributeAssemblyVersionMajor.vb</file>
+	</test>
+	<test id="967" name="AttributeAssemblyVersionMinor" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\AttributeAssemblyVersionMinor.vb</file>
+	</test>
+	<test id="968" name="AttributeAssemblyVersionRevision" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\AttributeAssemblyVersionRevision.vb</file>
+	</test>
+	<test id="969" name="AttributeCLSCompliant" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\AttributeCLSCompliant.vb</file>
+	</test>
+	<test id="970" name="Attributes" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\Attributes.vb</file>
+	</test>
+	<test id="971" name="AttributesA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\AttributesA.vb</file>
+	</test>
+	<test id="972" name="AttributesAssemblyCulture" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\AttributesAssemblyCulture.vb</file>
+	</test>
+	<test id="973" name="AttributesAssemblyMultiple" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\AttributesAssemblyMultiple.vb</file>
+	</test>
+	<test id="974" name="AttributesB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\AttributesB.vb</file>
+	</test>
+	<test id="975" name="AttributesC" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\AttributesC.vb</file>
+	</test>
+	<test id="976" name="AttributesClassA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\AttributesClassA.vb</file>
+	</test>
+	<test id="977" name="AttributesClassB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\AttributesClassB.vb</file>
+	</test>
+	<test id="978" name="AttributesClassBothSuffixA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\AttributesClassBothSuffixA.vb</file>
+	</test>
+	<test id="979" name="AttributesClassC" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\AttributesClassC.vb</file>
+	</test>
+	<test id="980" name="AttributesClassNoparameterA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\AttributesClassNoparameterA.vb</file>
+	</test>
+	<test id="981" name="AttributesClassUseA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\AttributesClassUseA.vb</file>
+	</test>
+	<test id="982" name="AttributesClassUseB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\AttributesClassUseB.vb</file>
+	</test>
+	<test id="983" name="AttributesClassUseC" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\AttributesClassUseC.vb</file>
+	</test>
+	<test id="984" name="AttributesClassUseD" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\AttributesClassUseD.vb</file>
+	</test>
+	<test id="985" name="AttributesNewA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\AttributesNewA.vb</file>
+	</test>
+	<test id="986" name="AttributesNewB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\AttributesNewB.vb</file>
+	</test>
+	<test id="987" name="BlockStatementsA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\BlockStatementsA.vb</file>
+	</test>
+	<test id="988" name="BoolLiteralA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\BoolLiteralA.vb</file>
+	</test>
+	<test id="989" name="BoolLiteralTest" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\BoolLiteralTest.vb</file>
+	</test>
+	<test id="990" name="CharacterLiterals" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\CharacterLiterals.vb</file>
+	</test>
+	<test id="991" name="ClassTest" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ClassTest.vb</file>
+	</test>
+	<test id="992" name="ConcatenationOperator" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ConcatenationOperator.vb</file>
+	</test>
+	<test id="993" name="ConditionalCompilation" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ConditionalCompilation.vb</file>
+	</test>
+	<test id="994" name="ConditionalCompilationA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ConditionalCompilationA.vb</file>
+	</test>
+	<test id="995" name="ConditionalCompilationB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ConditionalCompilationB.vb</file>
+	</test>
+	<test id="996" name="ConditionalCompilationC" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ConditionalCompilationC.vb</file>
+	</test>
+	<test id="997" name="ConditionalCompilationD" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ConditionalCompilationD.vb</file>
+	</test>
+	<test id="998" name="ConditionalCompilationE" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ConditionalCompilationE.vb</file>
+	</test>
+	<test id="999" name="ConditionalConstantsA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ConditionalConstantsA.vb</file>
+	</test>
+	<test id="1000" name="ConditionalStatementsA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ConditionalStatementsA.vb</file>
+	</test>
+	<test id="1001" name="ConditionalStatementsB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ConditionalStatementsB.vb</file>
+	</test>
+	<test id="1002" name="ConditionalStatementsC" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ConditionalStatementsC.vb</file>
+	</test>
+	<test id="1003" name="ConditionalStatementsD" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ConditionalStatementsD.vb</file>
+	</test>
+	<test id="1004" name="ConditionalStatementsE" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ConditionalStatementsE.vb</file>
+	</test>
+	<test id="1005" name="ConditionalStatementsF" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ConditionalStatementsF.vb</file>
+	</test>
+	<test id="1006" name="ConditionalStatementsG" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ConditionalStatementsG.vb</file>
+	</test>
+	<test id="1007" name="ConditionalStatementsH" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ConditionalStatementsH.vb</file>
+	</test>
+	<test id="1008" name="ConditionalStatementsI" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ConditionalStatementsI.vb</file>
+	</test>
+	<test id="1009" name="ConditionalStatementsJ" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ConditionalStatementsJ.vb</file>
+	</test>
+	<test id="1010" name="ConstantA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ConstantA.vb</file>
+	</test>
+	<test id="1011" name="ConstantB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ConstantB.vb</file>
+	</test>
+	<test id="1012" name="ConstantC" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ConstantC.vb</file>
+	</test>
+	<test id="1013" name="ConstructorA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ConstructorA.vb</file>
+	</test>
+	<test id="1014" name="ConstructorB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ConstructorB.vb</file>
+	</test>
+	<test id="1015" name="ConstructorC" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ConstructorC.vb</file>
+	</test>
+	<test id="1016" name="ConstructorD" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ConstructorD.vb</file>
+	</test>
+	<test id="1017" name="ConstructorE" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ConstructorE.vb</file>
+	</test>
+	<test id="1018" name="ConstructorF" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ConstructorF.vb</file>
+	</test>
+	<test id="1019" name="ConstructorG" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ConstructorG.vb</file>
+	</test>
+	<test id="1020" name="ConstructorH" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ConstructorH.vb</file>
+	</test>
+	<test id="1021" name="ConstructorI" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ConstructorI.vb</file>
+	</test>
+	<test id="1022" name="ConstructorJ" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ConstructorJ.vb</file>
+	</test>
+	<test id="1023" name="ControlFlowA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ControlFlowA.vb</file>
+	</test>
+	<test id="1024" name="ConversionsA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ConversionsA.vb</file>
+	</test>
+	<test id="1025" name="ConversionWithAndOperatorA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ConversionWithAndOperatorA.vb</file>
+	</test>
+	<test id="1026" name="ConversionWithAndOperatorB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ConversionWithAndOperatorB.vb</file>
+	</test>
+	<test id="1027" name="ConversionWithAndOperatorBool" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ConversionWithAndOperatorBool.vb</file>
+	</test>
+	<test id="1028" name="ConversionWithAndOperatorC" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ConversionWithAndOperatorC.vb</file>
+	</test>
+	<test id="1029" name="ConversionWithAndOperatorD" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ConversionWithAndOperatorD.vb</file>
+	</test>
+	<test id="1030" name="ConversionWithAndOperatorE" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ConversionWithAndOperatorE.vb</file>
+	</test>
+	<test id="1031" name="ConversionWithAndOperatorNumA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ConversionWithAndOperatorNumA.vb</file>
+	</test>
+	<test id="1032" name="ConversionWithAndOperatorNumB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ConversionWithAndOperatorNumB.vb</file>
+	</test>
+	<test id="1033" name="ConversionWithAndOperatorNumC" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ConversionWithAndOperatorNumC.vb</file>
+	</test>
+	<test id="1034" name="ConversionWithAndOperatorNumD" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ConversionWithAndOperatorNumD.vb</file>
+	</test>
+	<test id="1035" name="ConversionWithAndOperatorNumE" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ConversionWithAndOperatorNumE.vb</file>
+	</test>
+	<test id="1036" name="ConversionWithEqualOperatorB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ConversionWithEqualOperatorB.vb</file>
+	</test>
+	<test id="1037" name="ConversionWithEqualOperatorLnInt" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ConversionWithEqualOperatorLnInt.vb</file>
+	</test>
+	<test id="1038" name="ConversionWithEqualOperatorsA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ConversionWithEqualOperatorsA.vb</file>
+	</test>
+	<test id="1039" name="ConversionWithGEOperatorA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ConversionWithGEOperatorA.vb</file>
+	</test>
+	<test id="1040" name="ConversionWithGEoperatorB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ConversionWithGEoperatorB.vb</file>
+	</test>
+	<test id="1041" name="ConversionWithGEOperatorDateA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ConversionWithGEOperatorDateA.vb</file>
+	</test>
+	<test id="1042" name="ConversionWithGTOperatorCharA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ConversionWithGTOperatorCharA.vb</file>
+	</test>
+	<test id="1043" name="ConversionWithGTOperatorsA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ConversionWithGTOperatorsA.vb</file>
+	</test>
+	<test id="1044" name="ConversionWithGTOperatorString" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ConversionWithGTOperatorString.vb</file>
+	</test>
+	<test id="1045" name="ConversionWithGTOperatorTrueFalse" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ConversionWithGTOperatorTrueFalse.vb</file>
+	</test>
+	<test id="1046" name="ConversionWithLEOperatorA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ConversionWithLEOperatorA.vb</file>
+	</test>
+	<test id="1047" name="ConversionWithLTOperatorsA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ConversionWithLTOperatorsA.vb</file>
+	</test>
+	<test id="1048" name="ConversionWithNEqlOperator" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ConversionWithNEqlOperator.vb</file>
+	</test>
+	<test id="1049" name="ConversionWithNotOperatorBoolA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ConversionWithNotOperatorBoolA.vb</file>
+	</test>
+	<test id="1050" name="ConversionWithNotOperatorFalseA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ConversionWithNotOperatorFalseA.vb</file>
+	</test>
+	<test id="1051" name="ConversionWithNotOperatorTrueA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ConversionWithNotOperatorTrueA.vb</file>
+	</test>
+	<test id="1052" name="ConversionWithOrOperatorA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ConversionWithOrOperatorA.vb</file>
+	</test>
+	<test id="1053" name="ConversionWithOrOperatorB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ConversionWithOrOperatorB.vb</file>
+	</test>
+	<test id="1054" name="ConversionWithOrOperatorBoolA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ConversionWithOrOperatorBoolA.vb</file>
+	</test>
+	<test id="1055" name="ConversionWithOrOperatorBoolB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ConversionWithOrOperatorBoolB.vb</file>
+	</test>
+	<test id="1056" name="ConversionWithOrOperatorBoolC" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ConversionWithOrOperatorBoolC.vb</file>
+	</test>
+	<test id="1057" name="ConversionWithOrOperatorBoolD" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ConversionWithOrOperatorBoolD.vb</file>
+	</test>
+	<test id="1058" name="ConversionWithOrOperatorC" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ConversionWithOrOperatorC.vb</file>
+	</test>
+	<test id="1059" name="ConversionWithOrOperatorNumA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ConversionWithOrOperatorNumA.vb</file>
+	</test>
+	<test id="1060" name="ConversionWithOrOperatorNumB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ConversionWithOrOperatorNumB.vb</file>
+	</test>
+	<test id="1061" name="ConversionWithOrOperatorNumC" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ConversionWithOrOperatorNumC.vb</file>
+	</test>
+	<test id="1062" name="ConversionWithOrOperatorNumD" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ConversionWithOrOperatorNumD.vb</file>
+	</test>
+	<test id="1063" name="ConversionWithOrOperatorNumE" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ConversionWithOrOperatorNumE.vb</file>
+	</test>
+	<test id="1064" name="ConversionWithShiftOperatorA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ConversionWithShiftOperatorA.vb</file>
+	</test>
+	<test id="1065" name="ConversionWithShiftOperatorB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ConversionWithShiftOperatorB.vb</file>
+	</test>
+	<test id="1066" name="ConversionWithShiftOperatorC" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ConversionWithShiftOperatorC.vb</file>
+	</test>
+	<test id="1067" name="ConversionWithShiftOperatorD" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ConversionWithShiftOperatorD.vb</file>
+	</test>
+	<test id="1068" name="ConversionWithShiftOperatorE" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ConversionWithShiftOperatorE.vb</file>
+	</test>
+	<test id="1069" name="ConversionWithShiftOperatorF" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ConversionWithShiftOperatorF.vb</file>
+	</test>
+	<test id="1070" name="ConversionWithShiftOperatorG" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ConversionWithShiftOperatorG.vb</file>
+	</test>
+	<test id="1071" name="ConversionWithShiftOperatorH" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ConversionWithShiftOperatorH.vb</file>
+	</test>
+	<test id="1072" name="ConversionWithShiftOperatorI" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ConversionWithShiftOperatorI.vb</file>
+	</test>
+	<test id="1073" name="ConversionWithShiftOperatorJ" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ConversionWithShiftOperatorJ.vb</file>
+	</test>
+	<test id="1074" name="ConversionWithShiftOperatorK" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ConversionWithShiftOperatorK.vb</file>
+	</test>
+	<test id="1075" name="ConversionWithXorOperatorA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ConversionWithXorOperatorA.vb</file>
+	</test>
+	<test id="1076" name="ConversionWithXorOperatorB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ConversionWithXorOperatorB.vb</file>
+	</test>
+	<test id="1077" name="ConversionWithXorOperatorBoolA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ConversionWithXorOperatorBoolA.vb</file>
+	</test>
+	<test id="1078" name="ConversionWithXorOperatorBoolB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ConversionWithXorOperatorBoolB.vb</file>
+	</test>
+	<test id="1079" name="ConversionWithXorOperatorBoolC" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ConversionWithXorOperatorBoolC.vb</file>
+	</test>
+	<test id="1080" name="ConversionWithXorOperatorBoolD" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ConversionWithXorOperatorBoolD.vb</file>
+	</test>
+	<test id="1081" name="ConversionWithXorOperatorBoolE" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ConversionWithXorOperatorBoolE.vb</file>
+	</test>
+	<test id="1082" name="ConversionWithXorOperatorC" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ConversionWithXorOperatorC.vb</file>
+	</test>
+	<test id="1083" name="ConversionWithXorOperatorNumA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ConversionWithXorOperatorNumA.vb</file>
+	</test>
+	<test id="1084" name="ConversionWithXorOperatorNumB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ConversionWithXorOperatorNumB.vb</file>
+	</test>
+	<test id="1085" name="ConversionWithXorOperatorNumC" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ConversionWithXorOperatorNumC.vb</file>
+	</test>
+	<test id="1086" name="ConversionWithXorOperatorNumD" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ConversionWithXorOperatorNumD.vb</file>
+	</test>
+	<test id="1087" name="DateLiterals" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\DateLiterals.vb</file>
+	</test>
+	<test id="1088" name="DateLiteralsA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\DateLiteralsA.vb</file>
+	</test>
+	<test id="1089" name="DateLiteralsC12" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\DateLiteralsC12.vb</file>
+	</test>
+	<test id="1090" name="DecimalLiteral" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\DecimalLiteral.vb</file>
+	</test>
+	<test id="1091" name="DecimalLiteralB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\DecimalLiteralB.vb</file>
+	</test>
+	<test id="1092" name="DecimalLiteralTestA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\DecimalLiteralTestA.vb</file>
+	</test>
+	<test id="1093" name="DecimalTypeCharTest" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\DecimalTypeCharTest.vb</file>
+	</test>
+	<test id="1094" name="DecimalTypeCharTestB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\DecimalTypeCharTestB.vb</file>
+	</test>
+	<test id="1095" name="DecimalTypeCharTestC2" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\DecimalTypeCharTestC2.vb</file>
+	</test>
+	<test id="1096" name="DefaultPropA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\DefaultPropA.vb</file>
+	</test>
+	<test id="1097" name="DefaultPropB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\DefaultPropB.vb</file>
+	</test>
+	<test id="1098" name="DefaultPropC" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\DefaultPropC.vb</file>
+	</test>
+	<test id="1099" name="DefaultPropD" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\DefaultPropD.vb</file>
+	</test>
+	<test id="1100" name="DefaultPropE" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\DefaultPropE.vb</file>
+	</test>
+	<test id="1101" name="DefaultPropF" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\DefaultPropF.vb</file>
+	</test>
+	<test id="1102" name="DefaultPropG" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\DefaultPropG.vb</file>
+	</test>
+	<test id="1103" name="DefaultPropH" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\DefaultPropH.vb</file>
+	</test>
+	<test id="1104" name="Delegate_dll">
+		<arguments>/nowarn</arguments>
+		<file>Mono\Delegate_dll.vb</file>
+	</test>
+	<test id="1105" name="Delegate_exe" target="exe">
+		<arguments>/r:testoutput\Delegate_dll.dll /nowarn</arguments>
+		<file>Mono\Delegate_exe.vb</file>
+	</test>
+	<test id="1106" name="DelegateA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\DelegateA.vb</file>
+	</test>
+	<test id="1107" name="DelegateD" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\DelegateD.vb</file>
+	</test>
+	<test id="1108" name="DelegateE" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\DelegateE.vb</file>
+	</test>
+	<test id="1109" name="DelegateF" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\DelegateF.vb</file>
+	</test>
+	<test id="1110" name="DelegateG" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\DelegateG.vb</file>
+	</test>
+	<test id="1111" name="DoubleLiteral" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\DoubleLiteral.vb</file>
+	</test>
+	<test id="1112" name="DoubleLiteralA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\DoubleLiteralA.vb</file>
+	</test>
+	<test id="1113" name="DoubleLiteralB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\DoubleLiteralB.vb</file>
+	</test>
+	<test id="1114" name="DoubleTypeCharTest" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\DoubleTypeCharTest.vb</file>
+	</test>
+	<test id="1115" name="DoubleTypeCharTestB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\DoubleTypeCharTestB.vb</file>
+	</test>
+	<test id="1116" name="DoubleTypeCharTestC2" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\DoubleTypeCharTestC2.vb</file>
+	</test>
+	<test id="1117" name="EnumA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\EnumA.vb</file>
+	</test>
+	<test id="1118" name="EnumB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\EnumB.vb</file>
+	</test>
+	<test id="1119" name="EnumC1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\EnumC1.vb</file>
+	</test>
+	<test id="1120" name="EnumConversionA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\EnumConversionA.vb</file>
+	</test>
+	<test id="1121" name="EnumConversionB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\EnumConversionB.vb</file>
+	</test>
+	<test id="1122" name="EnumD" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\EnumD.vb</file>
+	</test>
+	<test id="1123" name="Error" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\Error.vb</file>
+	</test>
+	<test id="1124" name="Event_dll">
+		<file>Mono\Event_dll.vb</file>
+	</test>
+	<test id="1125" name="Event_exe" target="exe">
+		<arguments>/r:testoutput\Event_dll.dll /nowarn</arguments>
+		<file>Mono\Event_exe.vb</file>
+	</test>
+	<test id="1126" name="EventA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\EventA.vb</file>
+	</test>
+	<test id="1127" name="EventB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\EventB.vb</file>
+	</test>
+	<test id="1128" name="EventC" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\EventC.vb</file>
+	</test>
+	<test id="1129" name="EventD" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\EventD.vb</file>
+	</test>
+	<test id="1130" name="EventE" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\EventE.vb</file>
+	</test>
+	<test id="1131" name="EventF" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\EventF.vb</file>
+	</test>
+	<test id="1132" name="EventG" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\EventG.vb</file>
+	</test>
+	<test id="1133" name="EventJ" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\EventJ.vb</file>
+	</test>
+	<test id="1134" name="EventK" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\EventK.vb</file>
+	</test>
+	<test id="1135" name="EventL" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\EventL.vb</file>
+	</test>
+	<test id="1136" name="EventM" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\EventM.vb</file>
+	</test>
+	<test id="1137" name="EventN" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\EventN.vb</file>
+	</test>
+	<test id="1138" name="ExceptionHandlingA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExceptionHandlingA.vb</file>
+	</test>
+	<test id="1139" name="ExceptionHandlingC" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExceptionHandlingC.vb</file>
+	</test>
+	<test id="1140" name="ExceptionHandlingE" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExceptionHandlingE.vb</file>
+	</test>
+	<test id="1141" name="ExceptionHandlingF" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExceptionHandlingF.vb</file>
+	</test>
+	<test id="1142" name="ExceptionHandlingG" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExceptionHandlingG.vb</file>
+	</test>
+	<test id="1143" name="ExitStatementA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExitStatementA.vb</file>
+	</test>
+	<test id="1144" name="ExpConversionBoolToByteA1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpConversionBoolToByteA1.vb</file>
+	</test>
+	<test id="1145" name="ExpConversionBoolToByteA2" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpConversionBoolToByteA2.vb</file>
+	</test>
+	<test id="1146" name="ExpConversionBoolToDecimalA1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpConversionBoolToDecimalA1.vb</file>
+	</test>
+	<test id="1147" name="ExpConversionBoolToDecimalA2" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpConversionBoolToDecimalA2.vb</file>
+	</test>
+	<test id="1148" name="ExpConversionBoolToDoubleA1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpConversionBoolToDoubleA1.vb</file>
+	</test>
+	<test id="1149" name="ExpConversionBoolToDoubleA2" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpConversionBoolToDoubleA2.vb</file>
+	</test>
+	<test id="1150" name="ExpConversionBoolToIntA1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpConversionBoolToIntA1.vb</file>
+	</test>
+	<test id="1151" name="ExpConversionBoolToIntA2" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpConversionBoolToIntA2.vb</file>
+	</test>
+	<test id="1152" name="ExpConversionBoolToLongA1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpConversionBoolToLongA1.vb</file>
+	</test>
+	<test id="1153" name="ExpConversionBoolToLongA2" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpConversionBoolToLongA2.vb</file>
+	</test>
+	<test id="1154" name="ExpConversionBoolToShortA1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpConversionBoolToShortA1.vb</file>
+	</test>
+	<test id="1155" name="ExpConversionBoolToShortA2" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpConversionBoolToShortA2.vb</file>
+	</test>
+	<test id="1156" name="ExpConversionBoolToSingleA1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpConversionBoolToSingleA1.vb</file>
+	</test>
+	<test id="1157" name="ExpConversionBoolToSingleA2" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpConversionBoolToSingleA2.vb</file>
+	</test>
+	<test id="1158" name="ExpConversionBooltoStringA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpConversionBooltoStringA.vb</file>
+	</test>
+	<test id="1159" name="ExpConversionBooltoStringB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpConversionBooltoStringB.vb</file>
+	</test>
+	<test id="1160" name="ExpConversionByteToBoolA1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpConversionByteToBoolA1.vb</file>
+	</test>
+	<test id="1161" name="ExpConversionBytetoDecimalA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpConversionBytetoDecimalA.vb</file>
+	</test>
+	<test id="1162" name="ExpConversionBytetoDoubleA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpConversionBytetoDoubleA.vb</file>
+	</test>
+	<test id="1163" name="ExpConversionBytetoIntA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpConversionBytetoIntA.vb</file>
+	</test>
+	<test id="1164" name="ExpConversionBytetoLongA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpConversionBytetoLongA.vb</file>
+	</test>
+	<test id="1165" name="ExpConversionBytetoShortA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpConversionBytetoShortA.vb</file>
+	</test>
+	<test id="1166" name="ExpConversionBytetoSingleA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpConversionBytetoSingleA.vb</file>
+	</test>
+	<test id="1167" name="ExpConversionBytetoStringA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpConversionBytetoStringA.vb</file>
+	</test>
+	<test id="1168" name="ExpConversionChartoStringA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpConversionChartoStringA.vb</file>
+	</test>
+	<test id="1169" name="ExpConversionDatetoStringA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpConversionDatetoStringA.vb</file>
+	</test>
+	<test id="1170" name="ExpConversionDecimalToBoolA1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpConversionDecimalToBoolA1.vb</file>
+	</test>
+	<test id="1171" name="ExpConversionDecimaltoByteA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpConversionDecimaltoByteA.vb</file>
+	</test>
+	<test id="1172" name="ExpConversionDecimaltoDoubleA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpConversionDecimaltoDoubleA.vb</file>
+	</test>
+	<test id="1173" name="ExpConversionDecimaltoIntA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpConversionDecimaltoIntA.vb</file>
+	</test>
+	<test id="1174" name="ExpConversionDecimaltoLongA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpConversionDecimaltoLongA.vb</file>
+	</test>
+	<test id="1175" name="ExpConversionDecimaltoShortA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpConversionDecimaltoShortA.vb</file>
+	</test>
+	<test id="1176" name="ExpConversionDecimaltoSingleA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpConversionDecimaltoSingleA.vb</file>
+	</test>
+	<test id="1177" name="ExpConversionDecimaltoStringA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpConversionDecimaltoStringA.vb</file>
+	</test>
+	<test id="1178" name="ExpConversionDoubleToBoolA1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpConversionDoubleToBoolA1.vb</file>
+	</test>
+	<test id="1179" name="ExpConversionDoubletoDecimalA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpConversionDoubletoDecimalA.vb</file>
+	</test>
+	<test id="1180" name="ExpConversionDoubletoLongA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpConversionDoubletoLongA.vb</file>
+	</test>
+	<test id="1181" name="ExpConversionDoubletoShortA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpConversionDoubletoShortA.vb</file>
+	</test>
+	<test id="1182" name="ExpConversionDoubletoSingleA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpConversionDoubletoSingleA.vb</file>
+	</test>
+	<test id="1183" name="ExpConversionDoubletoSingleB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpConversionDoubletoSingleB.vb</file>
+	</test>
+	<test id="1184" name="ExpConversionDoubletoSingleC" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpConversionDoubletoSingleC.vb</file>
+	</test>
+	<test id="1185" name="ExpConversionDoubletoSingleD" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpConversionDoubletoSingleD.vb</file>
+	</test>
+	<test id="1186" name="ExpConversionDoubletoStringA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpConversionDoubletoStringA.vb</file>
+	</test>
+	<test id="1187" name="ExpConversionIntToBoolA1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpConversionIntToBoolA1.vb</file>
+	</test>
+	<test id="1188" name="ExpConversionInttoByteA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpConversionInttoByteA.vb</file>
+	</test>
+	<test id="1189" name="ExpConversionInttoDecimalA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpConversionInttoDecimalA.vb</file>
+	</test>
+	<test id="1190" name="ExpConversionInttoDoubleA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpConversionInttoDoubleA.vb</file>
+	</test>
+	<test id="1191" name="ExpConversionInttoLongA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpConversionInttoLongA.vb</file>
+	</test>
+	<test id="1192" name="ExpConversionInttoShortA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpConversionInttoShortA.vb</file>
+	</test>
+	<test id="1193" name="ExpConversionInttoSingleA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpConversionInttoSingleA.vb</file>
+	</test>
+	<test id="1194" name="ExpConversionInttoStringA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpConversionInttoStringA.vb</file>
+	</test>
+	<test id="1195" name="ExpConversionLongToBoolA1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpConversionLongToBoolA1.vb</file>
+	</test>
+	<test id="1196" name="ExpConversionLongtoDoubleA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpConversionLongtoDoubleA.vb</file>
+	</test>
+	<test id="1197" name="ExpConversionLongtoIntA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpConversionLongtoIntA.vb</file>
+	</test>
+	<test id="1198" name="ExpConversionLongtoSingleA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpConversionLongtoSingleA.vb</file>
+	</test>
+	<test id="1199" name="ExpConversionLongtoStringA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpConversionLongtoStringA.vb</file>
+	</test>
+	<test id="1200" name="ExpConversionShortToBoolA1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpConversionShortToBoolA1.vb</file>
+	</test>
+	<test id="1201" name="ExpConversionShorttoByteA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpConversionShorttoByteA.vb</file>
+	</test>
+	<test id="1202" name="ExpConversionShorttoDecimalA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpConversionShorttoDecimalA.vb</file>
+	</test>
+	<test id="1203" name="ExpConversionShorttoDoubleA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpConversionShorttoDoubleA.vb</file>
+	</test>
+	<test id="1204" name="ExpConversionShorttoIntA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpConversionShorttoIntA.vb</file>
+	</test>
+	<test id="1205" name="ExpConversionShorttoLongA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpConversionShorttoLongA.vb</file>
+	</test>
+	<test id="1206" name="ExpConversionShorttoSingleA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpConversionShorttoSingleA.vb</file>
+	</test>
+	<test id="1207" name="ExpConversionShorttoStringA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpConversionShorttoStringA.vb</file>
+	</test>
+	<test id="1208" name="ExpConversionSingleToBoolA1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpConversionSingleToBoolA1.vb</file>
+	</test>
+	<test id="1209" name="ExpConversionSingletoDecimalA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpConversionSingletoDecimalA.vb</file>
+	</test>
+	<test id="1210" name="ExpConversionSingletoDoubleA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpConversionSingletoDoubleA.vb</file>
+	</test>
+	<test id="1211" name="ExpConversionSingletoLongA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpConversionSingletoLongA.vb</file>
+	</test>
+	<test id="1212" name="ExpConversionSingletoShortA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpConversionSingletoShortA.vb</file>
+	</test>
+	<test id="1213" name="ExpConversionSingletoStringA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpConversionSingletoStringA.vb</file>
+	</test>
+	<test id="1214" name="ExpConversionStringtoBoolA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpConversionStringtoBoolA.vb</file>
+	</test>
+	<test id="1215" name="ExpConversionStringtoBoolB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpConversionStringtoBoolB.vb</file>
+	</test>
+	<test id="1216" name="ExpConversionStringtoByteA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpConversionStringtoByteA.vb</file>
+	</test>
+	<test id="1217" name="ExpConversionStringtoCharA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpConversionStringtoCharA.vb</file>
+	</test>
+	<test id="1218" name="ExpConversionStringtoDateA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpConversionStringtoDateA.vb</file>
+	</test>
+	<test id="1219" name="ExpConversionStringtoDecimalA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpConversionStringtoDecimalA.vb</file>
+	</test>
+	<test id="1220" name="ExpConversionStringtoDoubleA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpConversionStringtoDoubleA.vb</file>
+	</test>
+	<test id="1221" name="ExpConversionStringtoIntA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpConversionStringtoIntA.vb</file>
+	</test>
+	<test id="1222" name="ExpConversionStringtoLongA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpConversionStringtoLongA.vb</file>
+	</test>
+	<test id="1223" name="ExpConversionStringtoShortA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpConversionStringtoShortA.vb</file>
+	</test>
+	<test id="1224" name="ExpConversionStringtoSingleA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpConversionStringtoSingleA.vb</file>
+	</test>
+	<test id="1225" name="ExplicitConversionEnumToIntA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExplicitConversionEnumToIntA.vb</file>
+	</test>
+	<test id="1226" name="ExplicitConversionEnumToIntB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExplicitConversionEnumToIntB.vb</file>
+	</test>
+	<test id="1227" name="ExplicitConversionEnumToIntC" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExplicitConversionEnumToIntC.vb</file>
+	</test>
+	<test id="1228" name="ExplicitOff" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExplicitOff.vb</file>
+	</test>
+	<test id="1229" name="ExpressionInstanceMeA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpressionInstanceMeA.vb</file>
+	</test>
+	<test id="1230" name="ExpressionInstanceMyBaseA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpressionInstanceMyBaseA.vb</file>
+	</test>
+	<test id="1231" name="ExpressionInstanceMyClassA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpressionInstanceMyClassA.vb</file>
+	</test>
+	<test id="1232" name="ExpressionLiteralCharA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpressionLiteralCharA.vb</file>
+	</test>
+	<test id="1233" name="ExpressionLiteralCharB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpressionLiteralCharB.vb</file>
+	</test>
+	<test id="1234" name="ExpressionLiteralNothingA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpressionLiteralNothingA.vb</file>
+	</test>
+	<test id="1235" name="ExpressionLiteralNothingB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpressionLiteralNothingB.vb</file>
+	</test>
+	<test id="1236" name="ExpressionLiteralNumericA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpressionLiteralNumericA.vb</file>
+	</test>
+	<test id="1237" name="ExpressionLiteralNumericB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpressionLiteralNumericB.vb</file>
+	</test>
+	<test id="1238" name="ExpressionLiteralNumericC" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpressionLiteralNumericC.vb</file>
+	</test>
+	<test id="1239" name="ExpressionLiteralNumericD" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpressionLiteralNumericD.vb</file>
+	</test>
+	<test id="1240" name="ExpressionLiteralNumericE" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpressionLiteralNumericE.vb</file>
+	</test>
+	<test id="1241" name="ExpressionLiteralNumericF" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpressionLiteralNumericF.vb</file>
+	</test>
+	<test id="1242" name="ExpressionLiteralNumericG" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpressionLiteralNumericG.vb</file>
+	</test>
+	<test id="1243" name="ExpressionLiteralStringA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpressionLiteralStringA.vb</file>
+	</test>
+	<test id="1244" name="ExpressionLiteralStringB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpressionLiteralStringB.vb</file>
+	</test>
+	<test id="1245" name="ExpressionLiteralStringC" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpressionLiteralStringC.vb</file>
+	</test>
+	<test id="1246" name="ExpressionMemberAccess" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpressionMemberAccess.vb</file>
+	</test>
+	<test id="1247" name="ExpressionMemberAccessDict" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpressionMemberAccessDict.vb</file>
+	</test>
+	<test id="1248" name="ExpressionOverLoadMethodA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpressionOverLoadMethodA.vb</file>
+	</test>
+	<test id="1249" name="ExpressionOverLoadMethodB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpressionOverLoadMethodB.vb</file>
+	</test>
+	<test id="1250" name="ExpressionOverLoadMethodC" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpressionOverLoadMethodC.vb</file>
+	</test>
+	<test id="1251" name="ExpressionParenthesizedA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpressionParenthesizedA.vb</file>
+	</test>
+	<test id="1252" name="ExpressionParenthesizedB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpressionParenthesizedB.vb</file>
+	</test>
+	<test id="1253" name="ExpressionParenthesizedC" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpressionParenthesizedC.vb</file>
+	</test>
+	<test id="1254" name="ExpressionReclassificationA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpressionReclassificationA.vb</file>
+	</test>
+	<test id="1255" name="ExpressionReclassifiedB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpressionReclassifiedB.vb</file>
+	</test>
+	<test id="1256" name="ExpressionReclassifiedC" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpressionReclassifiedC.vb</file>
+	</test>
+	<test id="1257" name="ExpressionSimpleNameAddressOfA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpressionSimpleNameAddressOfA.vb</file>
+	</test>
+	<test id="1258" name="ExpressionSimpleNameGetTypeA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpressionSimpleNameGetTypeA.vb</file>
+	</test>
+	<test id="1259" name="ExpressionSimpleNameTypeOfA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpressionSimpleNameTypeOfA.vb</file>
+	</test>
+	<test id="1260" name="ExpressionSimpleWithA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpressionSimpleWithA.vb</file>
+	</test>
+	<test id="1261" name="ExpressionSimpleWithB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpressionSimpleWithB.vb</file>
+	</test>
+	<test id="1262" name="ExpressionSimpleWithC" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpressionSimpleWithC.vb</file>
+	</test>
+	<test id="1263" name="ExpressionStringA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpressionStringA.vb</file>
+	</test>
+	<test id="1264" name="ExpressionStringB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpressionStringB.vb</file>
+	</test>
+	<test id="1265" name="ExpressionsWithAndAlsoA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpressionsWithAndAlsoA.vb</file>
+	</test>
+	<test id="1266" name="ExpressionsWithAndAlsoB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpressionsWithAndAlsoB.vb</file>
+	</test>
+	<test id="1267" name="ExpressionsWithAndAlsoC" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpressionsWithAndAlsoC.vb</file>
+	</test>
+	<test id="1268" name="ExpressionsWithOrElseA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpressionsWithOrElseA.vb</file>
+	</test>
+	<test id="1269" name="ExpressionsWithOrElseB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpressionsWithOrElseB.vb</file>
+	</test>
+	<test id="1270" name="ExpressionsWithOrElseC" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExpressionsWithOrElseC.vb</file>
+	</test>
+	<test id="1271" name="ExternalSourceDirectives" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ExternalSourceDirectives.vb</file>
+	</test>
+	<test id="1272" name="ForA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ForA.vb</file>
+	</test>
+	<test id="1273" name="ForB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ForB.vb</file>
+	</test>
+	<test id="1274" name="ForC" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ForC.vb</file>
+	</test>
+	<test id="1275" name="ForD" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ForD.vb</file>
+	</test>
+	<test id="1276" name="ForE" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ForE.vb</file>
+	</test>
+	<test id="1277" name="ForEachA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ForEachA.vb</file>
+	</test>
+	<test id="1278" name="ForEachB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ForEachB.vb</file>
+	</test>
+	<test id="1279" name="ForEachC" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ForEachC.vb</file>
+	</test>
+	<test id="1280" name="ForF" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ForF.vb</file>
+	</test>
+	<test id="1281" name="ForG" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ForG.vb</file>
+	</test>
+	<test id="1282" name="ForH" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ForH.vb</file>
+	</test>
+	<test id="1283" name="ForI" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ForI.vb</file>
+	</test>
+	<test id="1284" name="ForJ" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ForJ.vb</file>
+	</test>
+	<test id="1285" name="Function_ParamArrayA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\Function_ParamArrayA.vb</file>
+	</test>
+	<test id="1286" name="Function_ParamArrayB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\Function_ParamArrayB.vb</file>
+	</test>
+	<test id="1287" name="Function_ParamArrayC" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\Function_ParamArrayC.vb</file>
+	</test>
+	<test id="1288" name="FunctionArgu_ByReferenceA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\FunctionArgu_ByReferenceA.vb</file>
+	</test>
+	<test id="1289" name="FunctionArgu_ByReferenceB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\FunctionArgu_ByReferenceB.vb</file>
+	</test>
+	<test id="1290" name="FunctionArgu_ByReferenceC" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\FunctionArgu_ByReferenceC.vb</file>
+	</test>
+	<test id="1291" name="FunctionArgu_ByReferenceD" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\FunctionArgu_ByReferenceD.vb</file>
+	</test>
+	<test id="1292" name="FunctionArgu_ByValueA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\FunctionArgu_ByValueA.vb</file>
+	</test>
+	<test id="1293" name="FunctionArgu_ByValueB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\FunctionArgu_ByValueB.vb</file>
+	</test>
+	<test id="1294" name="FunctionArgu_ByValueC" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\FunctionArgu_ByValueC.vb</file>
+	</test>
+	<test id="1295" name="FunctionArgu_ByValueD" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\FunctionArgu_ByValueD.vb</file>
+	</test>
+	<test id="1296" name="GetType" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\GetType.vb</file>
+	</test>
+	<test id="1297" name="GotoStatementA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\GotoStatementA.vb</file>
+	</test>
+	<test id="1298" name="GotoStatementB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\GotoStatementB.vb</file>
+	</test>
+	<test id="1299" name="Identifier" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\Identifier.vb</file>
+	</test>
+	<test id="1300" name="IdentifierFail1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\IdentifierFail1.vb</file>
+	</test>
+	<test id="1301" name="ImpConversionBoolToByteA1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionBoolToByteA1.vb</file>
+	</test>
+	<test id="1302" name="ImpConversionBoolToByteA2" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionBoolToByteA2.vb</file>
+	</test>
+	<test id="1303" name="ImpConversionBooltoByteC" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionBooltoByteC.vb</file>
+	</test>
+	<test id="1304" name="ImpConversionBoolToDecimalA1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionBoolToDecimalA1.vb</file>
+	</test>
+	<test id="1305" name="ImpConversionBoolToDecimalA2" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionBoolToDecimalA2.vb</file>
+	</test>
+	<test id="1306" name="ImpConversionBoolToDoubleA1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionBoolToDoubleA1.vb</file>
+	</test>
+	<test id="1307" name="ImpConversionBoolToDoubleA2" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionBoolToDoubleA2.vb</file>
+	</test>
+	<test id="1308" name="ImpConversionBooltoDoubleC" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionBooltoDoubleC.vb</file>
+	</test>
+	<test id="1309" name="ImpConversionBoolToIntA1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionBoolToIntA1.vb</file>
+	</test>
+	<test id="1310" name="ImpConversionBoolToIntA2" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionBoolToIntA2.vb</file>
+	</test>
+	<test id="1311" name="ImpConversionBoolToLongA1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionBoolToLongA1.vb</file>
+	</test>
+	<test id="1312" name="ImpConversionBoolToLongA2" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionBoolToLongA2.vb</file>
+	</test>
+	<test id="1313" name="ImpConversionBooltoLongC" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionBooltoLongC.vb</file>
+	</test>
+	<test id="1314" name="ImpConversionBoolToShortA1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionBoolToShortA1.vb</file>
+	</test>
+	<test id="1315" name="ImpConversionBoolToShortA2" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionBoolToShortA2.vb</file>
+	</test>
+	<test id="1316" name="ImpConversionBoolToSingleA1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionBoolToSingleA1.vb</file>
+	</test>
+	<test id="1317" name="ImpConversionBoolToSingleA2" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionBoolToSingleA2.vb</file>
+	</test>
+	<test id="1318" name="ImpConversionBooltoStringA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionBooltoStringA.vb</file>
+	</test>
+	<test id="1319" name="ImpConversionBooltoStringB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionBooltoStringB.vb</file>
+	</test>
+	<test id="1320" name="ImpConversionBooltoStringC" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionBooltoStringC.vb</file>
+	</test>
+	<test id="1321" name="ImpConversionByteToBoolA1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionByteToBoolA1.vb</file>
+	</test>
+	<test id="1322" name="ImpConversionByteToBoolA2" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionByteToBoolA2.vb</file>
+	</test>
+	<test id="1323" name="ImpConversionBytetoDecimalA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionBytetoDecimalA.vb</file>
+	</test>
+	<test id="1324" name="ImpConversionBytetoDecimalB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionBytetoDecimalB.vb</file>
+	</test>
+	<test id="1325" name="ImpConversionBytetoDoubleA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionBytetoDoubleA.vb</file>
+	</test>
+	<test id="1326" name="ImpConversionBytetoIntA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionBytetoIntA.vb</file>
+	</test>
+	<test id="1327" name="ImpConversionBytetoIntB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionBytetoIntB.vb</file>
+	</test>
+	<test id="1328" name="ImpConversionBytetoLongA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionBytetoLongA.vb</file>
+	</test>
+	<test id="1329" name="ImpConversionBytetoShortA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionBytetoShortA.vb</file>
+	</test>
+	<test id="1330" name="ImpConversionBytetoSingleA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionBytetoSingleA.vb</file>
+	</test>
+	<test id="1331" name="ImpConversionBytetoStringA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionBytetoStringA.vb</file>
+	</test>
+	<test id="1332" name="ImpConversionBytetoStringB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionBytetoStringB.vb</file>
+	</test>
+	<test id="1333" name="ImpConversionChartoStringA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionChartoStringA.vb</file>
+	</test>
+	<test id="1334" name="ImpConversionChartoStringB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionChartoStringB.vb</file>
+	</test>
+	<test id="1335" name="ImpConversionChartoStringC" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionChartoStringC.vb</file>
+	</test>
+	<test id="1336" name="ImpConversionDatetoStringA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionDatetoStringA.vb</file>
+	</test>
+	<test id="1337" name="ImpConversionDatetoStringB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionDatetoStringB.vb</file>
+	</test>
+	<test id="1338" name="ImpConversionDecimalToBoolA1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionDecimalToBoolA1.vb</file>
+	</test>
+	<test id="1339" name="ImpConversionDecimaltoBoolA2" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionDecimaltoBoolA2.vb</file>
+	</test>
+	<test id="1340" name="ImpConversionDecimaltoByteB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionDecimaltoByteB.vb</file>
+	</test>
+	<test id="1341" name="ImpConversionDecimaltoDoubleA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionDecimaltoDoubleA.vb</file>
+	</test>
+	<test id="1342" name="ImpConversionDecimaltoDoubleB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionDecimaltoDoubleB.vb</file>
+	</test>
+	<test id="1343" name="ImpConversionDecimaltoLongA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionDecimaltoLongA.vb</file>
+	</test>
+	<test id="1344" name="ImpConversionDecimaltoLongB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionDecimaltoLongB.vb</file>
+	</test>
+	<test id="1345" name="ImpConversionDecimaltoShortA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionDecimaltoShortA.vb</file>
+	</test>
+	<test id="1346" name="ImpConversionDecimaltoSingleA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionDecimaltoSingleA.vb</file>
+	</test>
+	<test id="1347" name="ImpConversionDecimaltoStringA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionDecimaltoStringA.vb</file>
+	</test>
+	<test id="1348" name="ImpConversionDoubleToBoolA1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionDoubleToBoolA1.vb</file>
+	</test>
+	<test id="1349" name="ImpConversionDoubleToBoolA2" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionDoubleToBoolA2.vb</file>
+	</test>
+	<test id="1350" name="ImpConversionDoubletoByteB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionDoubletoByteB.vb</file>
+	</test>
+	<test id="1351" name="ImpConversionDoubletoDecimalA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionDoubletoDecimalA.vb</file>
+	</test>
+	<test id="1352" name="ImpConversionDoubletoDecimalD" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionDoubletoDecimalD.vb</file>
+	</test>
+	<test id="1353" name="ImpConversionDoubletoIntB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionDoubletoIntB.vb</file>
+	</test>
+	<test id="1354" name="ImpConversionDoubletoLongA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionDoubletoLongA.vb</file>
+	</test>
+	<test id="1355" name="ImpConversionDoubletoLongB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionDoubletoLongB.vb</file>
+	</test>
+	<test id="1356" name="ImpConversionDoubletoShortA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionDoubletoShortA.vb</file>
+	</test>
+	<test id="1357" name="ImpConversionDoubletoSingleA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionDoubletoSingleA.vb</file>
+	</test>
+	<test id="1358" name="ImpConversionDoubletoSingleB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionDoubletoSingleB.vb</file>
+	</test>
+	<test id="1359" name="ImpConversionDoubletoSingleC" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionDoubletoSingleC.vb</file>
+	</test>
+	<test id="1360" name="ImpConversionDoubletoSingleD" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionDoubletoSingleD.vb</file>
+	</test>
+	<test id="1361" name="ImpConversionDoubletoStringA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionDoubletoStringA.vb</file>
+	</test>
+	<test id="1362" name="ImpConversionDoubletoStringB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionDoubletoStringB.vb</file>
+	</test>
+	<test id="1363" name="ImpConversionEnumToIntA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionEnumToIntA.vb</file>
+	</test>
+	<test id="1364" name="ImpConversionEnumToIntB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionEnumToIntB.vb</file>
+	</test>
+	<test id="1365" name="ImpConversionIntToBoolA1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionIntToBoolA1.vb</file>
+	</test>
+	<test id="1366" name="ImpConversionIntToBoolA2" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionIntToBoolA2.vb</file>
+	</test>
+	<test id="1367" name="ImpConversionInttoByteA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionInttoByteA.vb</file>
+	</test>
+	<test id="1368" name="ImpConversionInttoByteB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionInttoByteB.vb</file>
+	</test>
+	<test id="1369" name="ImpConversionInttoDecimalA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionInttoDecimalA.vb</file>
+	</test>
+	<test id="1370" name="ImpConversionInttoDoubleA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionInttoDoubleA.vb</file>
+	</test>
+	<test id="1371" name="ImpConversionInttoDoubleB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionInttoDoubleB.vb</file>
+	</test>
+	<test id="1372" name="ImpConversionInttoLongA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionInttoLongA.vb</file>
+	</test>
+	<test id="1373" name="ImpConversionInttoLongB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionInttoLongB.vb</file>
+	</test>
+	<test id="1374" name="ImpConversionInttoShortA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionInttoShortA.vb</file>
+	</test>
+	<test id="1375" name="ImpConversionInttoSingleA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionInttoSingleA.vb</file>
+	</test>
+	<test id="1376" name="ImpConversionInttoStringA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionInttoStringA.vb</file>
+	</test>
+	<test id="1377" name="ImpConversionInttoStringB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionInttoStringB.vb</file>
+	</test>
+	<test id="1378" name="ImpConversionLongToBoolA1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionLongToBoolA1.vb</file>
+	</test>
+	<test id="1379" name="ImpConversionLongToBoolA2" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionLongToBoolA2.vb</file>
+	</test>
+	<test id="1380" name="ImpConversionLongtoDoubleA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionLongtoDoubleA.vb</file>
+	</test>
+	<test id="1381" name="ImpConversionLongtoDoubleB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionLongtoDoubleB.vb</file>
+	</test>
+	<test id="1382" name="ImpConversionLongtoIntA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionLongtoIntA.vb</file>
+	</test>
+	<test id="1383" name="ImpConversionLongtoIntB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionLongtoIntB.vb</file>
+	</test>
+	<test id="1384" name="ImpConversionLongtoSingleA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionLongtoSingleA.vb</file>
+	</test>
+	<test id="1385" name="ImpConversionLongtoStringA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionLongtoStringA.vb</file>
+	</test>
+	<test id="1386" name="ImpConversionLongtoStringB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionLongtoStringB.vb</file>
+	</test>
+	<test id="1387" name="ImpConversionShortToBoolA1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionShortToBoolA1.vb</file>
+	</test>
+	<test id="1388" name="ImpConversionShortToBoolA2" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionShortToBoolA2.vb</file>
+	</test>
+	<test id="1389" name="ImpConversionShorttoByteA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionShorttoByteA.vb</file>
+	</test>
+	<test id="1390" name="ImpConversionShorttoDecimalA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionShorttoDecimalA.vb</file>
+	</test>
+	<test id="1391" name="ImpConversionShorttoDecimalB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionShorttoDecimalB.vb</file>
+	</test>
+	<test id="1392" name="ImpConversionShorttoDoubleA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionShorttoDoubleA.vb</file>
+	</test>
+	<test id="1393" name="ImpConversionShorttoIntA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionShorttoIntA.vb</file>
+	</test>
+	<test id="1394" name="ImpConversionShorttoIntB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionShorttoIntB.vb</file>
+	</test>
+	<test id="1395" name="ImpConversionShorttoLongA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionShorttoLongA.vb</file>
+	</test>
+	<test id="1396" name="ImpConversionShorttoSingleA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionShorttoSingleA.vb</file>
+	</test>
+	<test id="1397" name="ImpConversionShorttoStringA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionShorttoStringA.vb</file>
+	</test>
+	<test id="1398" name="ImpConversionShorttoStringB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionShorttoStringB.vb</file>
+	</test>
+	<test id="1399" name="ImpConversionSingleToBoolA1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionSingleToBoolA1.vb</file>
+	</test>
+	<test id="1400" name="ImpConversionSingleToBoolA2" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionSingleToBoolA2.vb</file>
+	</test>
+	<test id="1401" name="ImpConversionSingletoByteB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionSingletoByteB.vb</file>
+	</test>
+	<test id="1402" name="ImpConversionSingletoDecimalA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionSingletoDecimalA.vb</file>
+	</test>
+	<test id="1403" name="ImpConversionSingletoDecimalD" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionSingletoDecimalD.vb</file>
+	</test>
+	<test id="1404" name="ImpConversionSingletoDoubleA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionSingletoDoubleA.vb</file>
+	</test>
+	<test id="1405" name="ImpConversionSingletoDoubleB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionSingletoDoubleB.vb</file>
+	</test>
+	<test id="1406" name="ImpConversionSingletoIntB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionSingletoIntB.vb</file>
+	</test>
+	<test id="1407" name="ImpConversionSingletoLongA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionSingletoLongA.vb</file>
+	</test>
+	<test id="1408" name="ImpConversionSingletoLongB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionSingletoLongB.vb</file>
+	</test>
+	<test id="1409" name="ImpConversionSingletoShortA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionSingletoShortA.vb</file>
+	</test>
+	<test id="1410" name="ImpConversionSingletoStringA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionSingletoStringA.vb</file>
+	</test>
+	<test id="1411" name="ImpConversionSingletoStringB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionSingletoStringB.vb</file>
+	</test>
+	<test id="1412" name="ImpConversionStringtoBoolA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionStringtoBoolA.vb</file>
+	</test>
+	<test id="1413" name="ImpConversionStringtoBoolB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionStringtoBoolB.vb</file>
+	</test>
+	<test id="1414" name="ImpConversionStringtoByteA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionStringtoByteA.vb</file>
+	</test>
+	<test id="1415" name="ImpConversionStringtoByteD" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionStringtoByteD.vb</file>
+	</test>
+	<test id="1416" name="ImpConversionStringtoCharA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionStringtoCharA.vb</file>
+	</test>
+	<test id="1417" name="ImpConversionStringtoCharB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionStringtoCharB.vb</file>
+	</test>
+	<test id="1418" name="ImpConversionStringtoCharC" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionStringtoCharC.vb</file>
+	</test>
+	<test id="1419" name="ImpConversionStringtoDateA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionStringtoDateA.vb</file>
+	</test>
+	<test id="1420" name="ImpConversionStringtoDecimalA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionStringtoDecimalA.vb</file>
+	</test>
+	<test id="1421" name="ImpConversionStringtoDoubleA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionStringtoDoubleA.vb</file>
+	</test>
+	<test id="1422" name="ImpConversionStringtoDoubleC" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionStringtoDoubleC.vb</file>
+	</test>
+	<test id="1423" name="ImpConversionStringtoIntA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionStringtoIntA.vb</file>
+	</test>
+	<test id="1424" name="ImpConversionStringtoIntC" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionStringtoIntC.vb</file>
+	</test>
+	<test id="1425" name="ImpConversionStringtoLongA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionStringtoLongA.vb</file>
+	</test>
+	<test id="1426" name="ImpConversionStringtoShortA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionStringtoShortA.vb</file>
+	</test>
+	<test id="1427" name="ImpConversionStringtoSingleA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpConversionStringtoSingleA.vb</file>
+	</test>
+	<test id="1428" name="ImpOverloadConversionDecimaltoByte" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpOverloadConversionDecimaltoByte.vb</file>
+	</test>
+	<test id="1429" name="ImpOverloadConversionDecimaltoDouble" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpOverloadConversionDecimaltoDouble.vb</file>
+	</test>
+	<test id="1430" name="ImpOverloadConversionDecimaltogenericSingle" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpOverloadConversionDecimaltogenericSingle.vb</file>
+	</test>
+	<test id="1431" name="ImpOverloadConversionDecimaltoInt" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpOverloadConversionDecimaltoInt.vb</file>
+	</test>
+	<test id="1432" name="ImpOverloadConversionDecimaltoLong" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpOverloadConversionDecimaltoLong.vb</file>
+	</test>
+	<test id="1433" name="ImpOverloadConversionDecimaltoShort" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpOverloadConversionDecimaltoShort.vb</file>
+	</test>
+	<test id="1434" name="ImpOverloadConversionDecimaltoSingle" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpOverloadConversionDecimaltoSingle.vb</file>
+	</test>
+	<test id="1435" name="ImpOverloadConversionDecimaltoString" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpOverloadConversionDecimaltoString.vb</file>
+	</test>
+	<test id="1436" name="ImpOverloadConversionInttogenericIntC1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpOverloadConversionInttogenericIntC1.vb</file>
+	</test>
+	<test id="1437" name="ImpOverloadConversionSingletoDouble" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpOverloadConversionSingletoDouble.vb</file>
+	</test>
+	<test id="1438" name="ImpOverloadConversionSingletogenericSingle" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ImpOverloadConversionSingletogenericSingle.vb</file>
+	</test>
+	<test id="1439" name="Inheritance" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\Inheritance.vb</file>
+	</test>
+	<test id="1440" name="InheritanceA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\InheritanceA.vb</file>
+	</test>
+	<test id="1441" name="InheritanceB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\InheritanceB.vb</file>
+	</test>
+	<test id="1442" name="InheritanceC" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\InheritanceC.vb</file>
+	</test>
+	<test id="1443" name="InheritanceD" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\InheritanceD.vb</file>
+	</test>
+	<test id="1444" name="InheritanceE" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\InheritanceE.vb</file>
+	</test>
+	<test id="1445" name="InheritanceF" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\InheritanceF.vb</file>
+	</test>
+	<test id="1446" name="InheritanceG" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\InheritanceG.vb</file>
+	</test>
+	<test id="1447" name="InheritanceI" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\InheritanceI.vb</file>
+	</test>
+	<test id="1448" name="InheritanceJ" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\InheritanceJ.vb</file>
+	</test>
+	<test id="1449" name="InheritanceK" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\InheritanceK.vb</file>
+	</test>
+	<test id="1450" name="InheritanceL" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\InheritanceL.vb</file>
+	</test>
+	<test id="1451" name="IntegerLiteral1Test" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\IntegerLiteral1Test.vb</file>
+	</test>
+	<test id="1452" name="IntegerLiteral2Test" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\IntegerLiteral2Test.vb</file>
+	</test>
+	<test id="1453" name="IntegerLiteralA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\IntegerLiteralA.vb</file>
+	</test>
+	<test id="1454" name="IntegerLiteralB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\IntegerLiteralB.vb</file>
+	</test>
+	<test id="1455" name="IntegerLiteralTest" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\IntegerLiteralTest.vb</file>
+	</test>
+	<test id="1456" name="IntegerLiteralTestC4" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\IntegerLiteralTestC4.vb</file>
+	</test>
+	<test id="1457" name="IntegerTypeCharTest" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\IntegerTypeCharTest.vb</file>
+	</test>
+	<test id="1458" name="IntegerTypeCharTestA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\IntegerTypeCharTestA.vb</file>
+	</test>
+	<test id="1459" name="IntegerTypeCharTestB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\IntegerTypeCharTestB.vb</file>
+	</test>
+	<test id="1460" name="IntegerTypeCharTestC2" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\IntegerTypeCharTestC2.vb</file>
+	</test>
+	<test id="1461" name="Interface" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\Interface.vb</file>
+	</test>
+	<test id="1462" name="InterfaceA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\InterfaceA.vb</file>
+	</test>
+	<test id="1463" name="InterfaceB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\InterfaceB.vb</file>
+	</test>
+	<test id="1464" name="InterfaceC" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\InterfaceC.vb</file>
+	</test>
+	<test id="1465" name="InterfaceD" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\InterfaceD.vb</file>
+	</test>
+	<test id="1466" name="InterfaceE" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\InterfaceE.vb</file>
+	</test>
+	<test id="1467" name="InterfaceF" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\InterfaceF.vb</file>
+	</test>
+	<test id="1468" name="InterfaceG" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\InterfaceG.vb</file>
+	</test>
+	<test id="1469" name="InterfaceH" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\InterfaceH.vb</file>
+	</test>
+	<test id="1470" name="InterfaceI" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\InterfaceI.vb</file>
+	</test>
+	<test id="1471" name="InterfaceJ" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\InterfaceJ.vb</file>
+	</test>
+	<test id="1472" name="InterfaceK" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\InterfaceK.vb</file>
+	</test>
+	<test id="1473" name="InterfaceL" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\InterfaceL.vb</file>
+	</test>
+	<test id="1474" name="InterfaceM" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\InterfaceM.vb</file>
+	</test>
+	<test id="1475" name="InterfaceN" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\InterfaceN.vb</file>
+	</test>
+	<test id="1476" name="InterfaceO" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\InterfaceO.vb</file>
+	</test>
+	<test id="1477" name="InterfaceP" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\InterfaceP.vb</file>
+	</test>
+	<test id="1478" name="InterfaceQ" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\InterfaceQ.vb</file>
+	</test>
+	<test id="1479" name="InvocationStatementA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\InvocationStatementA.vb</file>
+	</test>
+	<test id="1480" name="LabelA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\LabelA.vb</file>
+	</test>
+	<test id="1481" name="LabelB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\LabelB.vb</file>
+	</test>
+	<test id="1482" name="LabelC" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\LabelC.vb</file>
+	</test>
+	<test id="1483" name="LabelD" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\LabelD.vb</file>
+	</test>
+	<test id="1484" name="LikeOperator" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\LikeOperator.vb</file>
+	</test>
+	<test id="1485" name="LikeOperatorA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\LikeOperatorA.vb</file>
+	</test>
+	<test id="1486" name="LikeOperatorB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\LikeOperatorB.vb</file>
+	</test>
+	<test id="1487" name="LikeOperatorC" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\LikeOperatorC.vb</file>
+	</test>
+	<test id="1488" name="LikeOperatorD" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\LikeOperatorD.vb</file>
+	</test>
+	<test id="1489" name="LikeOperatorE" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\LikeOperatorE.vb</file>
+	</test>
+	<test id="1490" name="LikeOperatorF" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\LikeOperatorF.vb</file>
+	</test>
+	<test id="1491" name="LikeOperatorG" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\LikeOperatorG.vb</file>
+	</test>
+	<test id="1492" name="LineContinuationC1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\LineContinuationC1.vb</file>
+	</test>
+	<test id="1493" name="LiteralNothing" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\LiteralNothing.vb</file>
+	</test>
+	<test id="1494" name="LocalDeclarationA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\LocalDeclarationA.vb</file>
+	</test>
+	<test id="1495" name="LocalDeclarationB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\LocalDeclarationB.vb</file>
+	</test>
+	<test id="1496" name="LocalDeclarationC" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\LocalDeclarationC.vb</file>
+	</test>
+	<test id="1497" name="LocalVariableC" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\LocalVariableC.vb</file>
+	</test>
+	<test id="1498" name="LocalVariableD" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\LocalVariableD.vb</file>
+	</test>
+	<test id="1499" name="LocalVariableE" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\LocalVariableE.vb</file>
+	</test>
+	<test id="1500" name="LocalVariableG" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\LocalVariableG.vb</file>
+	</test>
+	<test id="1501" name="LocalVariableH" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\LocalVariableH.vb</file>
+	</test>
+	<test id="1502" name="LocalVariableI" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\LocalVariableI.vb</file>
+	</test>
+	<test id="1503" name="LocalVariablesA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\LocalVariablesA.vb</file>
+	</test>
+	<test id="1504" name="LocalVariablesB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\LocalVariablesB.vb</file>
+	</test>
+	<test id="1505" name="LogicalOperators" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\LogicalOperators.vb</file>
+	</test>
+	<test id="1506" name="LogicalOperatorsA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\LogicalOperatorsA.vb</file>
+	</test>
+	<test id="1507" name="LongLiteralA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\LongLiteralA.vb</file>
+	</test>
+	<test id="1508" name="LongLiteralB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\LongLiteralB.vb</file>
+	</test>
+	<test id="1509" name="LongTypeCharTest" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\LongTypeCharTest.vb</file>
+	</test>
+	<test id="1510" name="LongTypeCharTestB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\LongTypeCharTestB.vb</file>
+	</test>
+	<test id="1511" name="LongTypeCharTestC2" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\LongTypeCharTestC2.vb</file>
+	</test>
+	<test id="1512" name="LoopStatementsA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\LoopStatementsA.vb</file>
+	</test>
+	<test id="1513" name="LoopStatementsB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\LoopStatementsB.vb</file>
+	</test>
+	<test id="1514" name="LoopStatementsC" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\LoopStatementsC.vb</file>
+	</test>
+	<test id="1515" name="LoopStatementsD" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\LoopStatementsD.vb</file>
+	</test>
+	<test id="1516" name="LoopStatementsE" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\LoopStatementsE.vb</file>
+	</test>
+	<test id="1517" name="LoopStatementsF" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\LoopStatementsF.vb</file>
+	</test>
+	<test id="1518" name="LoopStatementsG" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\LoopStatementsG.vb</file>
+	</test>
+	<test id="1519" name="MethodDeclarationA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\MethodDeclarationA.vb</file>
+	</test>
+	<test id="1520" name="MethodDeclarationB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\MethodDeclarationB.vb</file>
+	</test>
+	<test id="1521" name="MethodDeclarationC" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\MethodDeclarationC.vb</file>
+	</test>
+	<test id="1522" name="MethodDeclarationD" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\MethodDeclarationD.vb</file>
+	</test>
+	<test id="1523" name="MethodDeclarationE" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\MethodDeclarationE.vb</file>
+	</test>
+	<test id="1524" name="MethodDeclarationF" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\MethodDeclarationF.vb</file>
+	</test>
+	<test id="1525" name="misc2" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\misc2.vb</file>
+	</test>
+	<test id="1526" name="ModuleB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ModuleB.vb</file>
+	</test>
+	<test id="1527" name="ModuleTest" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ModuleTest.vb</file>
+	</test>
+	<test id="1528" name="MustInherit" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\MustInherit.vb</file>
+	</test>
+	<test id="1529" name="MustInheritA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\MustInheritA.vb</file>
+	</test>
+	<test id="1530" name="MustInheritB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\MustInheritB.vb</file>
+	</test>
+	<test id="1531" name="MustInheritC" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\MustInheritC.vb</file>
+	</test>
+	<test id="1532" name="NamedArgumentsA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\NamedArgumentsA.vb</file>
+	</test>
+	<test id="1533" name="NamedArgumentsB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\NamedArgumentsB.vb</file>
+	</test>
+	<test id="1534" name="NamedArgumentsC" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\NamedArgumentsC.vb</file>
+	</test>
+	<test id="1535" name="NamedArgumentsD" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\NamedArgumentsD.vb</file>
+	</test>
+	<test id="1536" name="NameSpace" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\NameSpace.vb</file>
+	</test>
+	<test id="1537" name="NameSpaceC" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\NameSpaceC.vb</file>
+	</test>
+	<test id="1538" name="NameSpaceE" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\NameSpaceE.vb</file>
+	</test>
+	<test id="1539" name="NameSpaceF" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\NameSpaceF.vb</file>
+	</test>
+	<test id="1540" name="NameSpaceG" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\NameSpaceG.vb</file>
+	</test>
+	<test id="1541" name="NotInheritable" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\NotInheritable.vb</file>
+	</test>
+	<test id="1542" name="NotInheritableA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\NotInheritableA.vb</file>
+	</test>
+	<test id="1543" name="OptionalA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\OptionalA.vb</file>
+	</test>
+	<test id="1544" name="OptionalArgFunctionA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\OptionalArgFunctionA.vb</file>
+	</test>
+	<test id="1545" name="OptionalArgu_ByReferenceA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\OptionalArgu_ByReferenceA.vb</file>
+	</test>
+	<test id="1546" name="OptionalArgu_ByReferenceB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\OptionalArgu_ByReferenceB.vb</file>
+	</test>
+	<test id="1547" name="OptionalArgu_ByReferenceC" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\OptionalArgu_ByReferenceC.vb</file>
+	</test>
+	<test id="1548" name="OptionalArgu_ByReferenceD" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\OptionalArgu_ByReferenceD.vb</file>
+	</test>
+	<test id="1549" name="OptionalArgu_ByRefFuncA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\OptionalArgu_ByRefFuncA.vb</file>
+	</test>
+	<test id="1550" name="OptionalArgu_ByRefFuncB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\OptionalArgu_ByRefFuncB.vb</file>
+	</test>
+	<test id="1551" name="OptionalArgu_ByRefFuncC" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\OptionalArgu_ByRefFuncC.vb</file>
+	</test>
+	<test id="1552" name="OptionalArgu_ByRefFuncD" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\OptionalArgu_ByRefFuncD.vb</file>
+	</test>
+	<test id="1553" name="OptionalArgu_ByRefFuncE" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\OptionalArgu_ByRefFuncE.vb</file>
+	</test>
+	<test id="1554" name="OptionalArgu_ByValFuncA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\OptionalArgu_ByValFuncA.vb</file>
+	</test>
+	<test id="1555" name="OptionalArgu_ByValFuncB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\OptionalArgu_ByValFuncB.vb</file>
+	</test>
+	<test id="1556" name="OptionalArgu_ByValFuncC" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\OptionalArgu_ByValFuncC.vb</file>
+	</test>
+	<test id="1557" name="OptionalArgu_ByValFuncD" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\OptionalArgu_ByValFuncD.vb</file>
+	</test>
+	<test id="1558" name="OptionalArgu_ByValFuncE" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\OptionalArgu_ByValFuncE.vb</file>
+	</test>
+	<test id="1559" name="OptionalArgu_ByValueA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\OptionalArgu_ByValueA.vb</file>
+	</test>
+	<test id="1560" name="OptionalArgu_ByValueB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\OptionalArgu_ByValueB.vb</file>
+	</test>
+	<test id="1561" name="OptionalArgu_ByValueC" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\OptionalArgu_ByValueC.vb</file>
+	</test>
+	<test id="1562" name="OptionalArgu_ByValueD" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\OptionalArgu_ByValueD.vb</file>
+	</test>
+	<test id="1563" name="OptionalArgu_ByValueE" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\OptionalArgu_ByValueE.vb</file>
+	</test>
+	<test id="1564" name="OptionalArgumentA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\OptionalArgumentA.vb</file>
+	</test>
+	<test id="1565" name="OptionalParamaters" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\OptionalParamaters.vb</file>
+	</test>
+	<test id="1566" name="Overloading" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\Overloading.vb</file>
+	</test>
+	<test id="1567" name="OverloadingA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\OverloadingA.vb</file>
+	</test>
+	<test id="1568" name="OverloadResolutionA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\OverloadResolutionA.vb</file>
+	</test>
+	<test id="1569" name="OverloadResolutionB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\OverloadResolutionB.vb</file>
+	</test>
+	<test id="1570" name="OverloadResolutionC" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\OverloadResolutionC.vb</file>
+	</test>
+	<test id="1571" name="OverloadResolutionD" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\OverloadResolutionD.vb</file>
+	</test>
+	<test id="1572" name="OverloadResolutionE" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\OverloadResolutionE.vb</file>
+	</test>
+	<test id="1573" name="Override_dll">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\Override_dll.vb</file>
+	</test>
+	<test id="1574" name="Override_exe" target="exe">
+		<arguments>/r:testoutput\Override_dll.dll /nowarn</arguments>
+		<file>Mono\Override_exe.vb</file>
+	</test>
+	<test id="1575" name="OverrideA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\OverrideA.vb</file>
+	</test>
+	<test id="1576" name="OverrideB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\OverrideB.vb</file>
+	</test>
+	<test id="1577" name="OverrideC" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\OverrideC.vb</file>
+	</test>
+	<test id="1578" name="OverrideD" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\OverrideD.vb</file>
+	</test>
+	<test id="1579" name="OverrideE" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\OverrideE.vb</file>
+	</test>
+	<test id="1580" name="OverrideF" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\OverrideF.vb</file>
+	</test>
+	<test id="1581" name="OverrideG" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\OverrideG.vb</file>
+	</test>
+	<test id="1582" name="ParamArrayA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ParamArrayA.vb</file>
+	</test>
+	<test id="1583" name="ParamArrayB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ParamArrayB.vb</file>
+	</test>
+	<test id="1584" name="ParamArrayC" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ParamArrayC.vb</file>
+	</test>
+	<test id="1585" name="ParamArrayD" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ParamArrayD.vb</file>
+	</test>
+	<test id="1586" name="ParamArrayE" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ParamArrayE.vb</file>
+	</test>
+	<test id="1587" name="PropertyA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\PropertyA.vb</file>
+	</test>
+	<test id="1588" name="PropertyAsFunctionArgA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\PropertyAsFunctionArgA.vb</file>
+	</test>
+	<test id="1589" name="PropertyB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\PropertyB.vb</file>
+	</test>
+	<test id="1590" name="PropertyC" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\PropertyC.vb</file>
+	</test>
+	<test id="1591" name="PropertyD" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\PropertyD.vb</file>
+	</test>
+	<test id="1592" name="PropertyE" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\PropertyE.vb</file>
+	</test>
+	<test id="1593" name="PropertyF" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\PropertyF.vb</file>
+	</test>
+	<test id="1594" name="PropertyG" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\PropertyG.vb</file>
+	</test>
+	<test id="1595" name="PropertyH" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\PropertyH.vb</file>
+	</test>
+	<test id="1596" name="PropertyI" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\PropertyI.vb</file>
+	</test>
+	<test id="1597" name="PropertyJ" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\PropertyJ.vb</file>
+	</test>
+	<test id="1598" name="PropertyK" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\PropertyK.vb</file>
+	</test>
+	<test id="1599" name="PropertyL" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\PropertyL.vb</file>
+	</test>
+	<test id="1600" name="QualifiedNames" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\QualifiedNames.vb</file>
+	</test>
+	<test id="1601" name="RegionDirectives" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\RegionDirectives.vb</file>
+	</test>
+	<test id="1602" name="RegionDirectivesA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\RegionDirectivesA.vb</file>
+	</test>
+	<test id="1603" name="RelationalOperators" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\RelationalOperators.vb</file>
+	</test>
+	<test id="1604" name="RelationalOperatorsA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\RelationalOperatorsA.vb</file>
+	</test>
+	<test id="1605" name="ReturnStatementA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ReturnStatementA.vb</file>
+	</test>
+	<test id="1606" name="Scope" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\Scope.vb</file>
+	</test>
+	<test id="1607" name="ScopeA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ScopeA.vb</file>
+	</test>
+	<test id="1608" name="ScopeB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ScopeB.vb</file>
+	</test>
+	<test id="1609" name="ScopeC" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ScopeC.vb</file>
+	</test>
+	<test id="1610" name="SelectCaseStatementA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\SelectCaseStatementA.vb</file>
+	</test>
+	<test id="1611" name="SelectCaseStatementB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\SelectCaseStatementB.vb</file>
+	</test>
+	<test id="1612" name="SelectCaseStatementC" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\SelectCaseStatementC.vb</file>
+	</test>
+	<test id="1613" name="SelectCaseStatementD" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\SelectCaseStatementD.vb</file>
+	</test>
+	<test id="1614" name="ShadowsA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ShadowsA.vb</file>
+	</test>
+	<test id="1615" name="ShadowsC" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ShadowsC.vb</file>
+	</test>
+	<test id="1616" name="ShadowsC4" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ShadowsC4.vb</file>
+	</test>
+	<test id="1617" name="ShadowsD" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ShadowsD.vb</file>
+	</test>
+	<test id="1618" name="ShadowsE" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ShadowsE.vb</file>
+	</test>
+	<test id="1619" name="ShadowsF" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ShadowsF.vb</file>
+	</test>
+	<test id="1620" name="ShiftOperators" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ShiftOperators.vb</file>
+	</test>
+	<test id="1621" name="ShiftOperatorsA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\ShiftOperatorsA.vb</file>
+	</test>
+	<test id="1622" name="SingleLiteral" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\SingleLiteral.vb</file>
+	</test>
+	<test id="1623" name="SingleLiteralA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\SingleLiteralA.vb</file>
+	</test>
+	<test id="1624" name="SingleLiteralB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\SingleLiteralB.vb</file>
+	</test>
+	<test id="1625" name="SingleTypeCharTest" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\SingleTypeCharTest.vb</file>
+	</test>
+	<test id="1626" name="SingleTypeCharTestA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\SingleTypeCharTestA.vb</file>
+	</test>
+	<test id="1627" name="SingleTypeCharTestB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\SingleTypeCharTestB.vb</file>
+	</test>
+	<test id="1628" name="SingleTypeCharTestC2" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\SingleTypeCharTestC2.vb</file>
+	</test>
+	<test id="1629" name="StringLiterals" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\StringLiterals.vb</file>
+	</test>
+	<test id="1630" name="StringLiteralsA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\StringLiteralsA.vb</file>
+	</test>
+	<test id="1631" name="StringLiteralTest" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\StringLiteralTest.vb</file>
+	</test>
+	<test id="1632" name="StringTypeCharTest" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\StringTypeCharTest.vb</file>
+	</test>
+	<test id="1633" name="StringTypeCharTestA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\StringTypeCharTestA.vb</file>
+	</test>
+	<test id="1634" name="StringTypeCharTestB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\StringTypeCharTestB.vb</file>
+	</test>
+	<test id="1635" name="StringTypeCharTestC2" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\StringTypeCharTestC2.vb</file>
+	</test>
+	<test id="1636" name="StructureA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\StructureA.vb</file>
+	</test>
+	<test id="1637" name="StructureB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\StructureB.vb</file>
+	</test>
+	<test id="1638" name="SyncLockB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\SyncLockB.vb</file>
+	</test>
+	<test id="1639" name="TypeMembersA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\TypeMembersA.vb</file>
+	</test>
+	<test id="1640" name="TypeMembersB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\TypeMembersB.vb</file>
+	</test>
+	<test id="1641" name="TypeMembersC" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\TypeMembersC.vb</file>
+	</test>
+	<test id="1642" name="TypeMembersD" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\TypeMembersD.vb</file>
+	</test>
+	<test id="1643" name="TypeMembersE" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\TypeMembersE.vb</file>
+	</test>
+	<test id="1644" name="TypeMembersF" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\TypeMembersF.vb</file>
+	</test>
+	<test id="1645" name="TypeMembersG" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\TypeMembersG.vb</file>
+	</test>
+	<test id="1646" name="TypeMembersH" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\TypeMembersH.vb</file>
+	</test>
+	<test id="1647" name="TypeMembersI" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\TypeMembersI.vb</file>
+	</test>
+	<test id="1648" name="TypeMembersJ" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\TypeMembersJ.vb</file>
+	</test>
+	<test id="1649" name="TypeMembersK" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\TypeMembersK.vb</file>
+	</test>
+	<test id="1650" name="TypeMembersL" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\TypeMembersL.vb</file>
+	</test>
+	<test id="1651" name="TypeMembersM" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\TypeMembersM.vb</file>
+	</test>
+	<test id="1652" name="TypeMembersN" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\TypeMembersN.vb</file>
+	</test>
+	<test id="1653" name="TypeMembersO" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\TypeMembersO.vb</file>
+	</test>
+	<test id="1654" name="TypeMembersR" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\TypeMembersR.vb</file>
+	</test>
+	<test id="1655" name="TypeMembersS" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\TypeMembersS.vb</file>
+	</test>
+	<test id="1656" name="TypeMembersT" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\TypeMembersT.vb</file>
+	</test>
+	<test id="1657" name="TypeMembersU" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\TypeMembersU.vb</file>
+	</test>
+	<test id="1658" name="TypeMembersV" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\TypeMembersV.vb</file>
+	</test>
+	<test id="1659" name="TypeMembersW" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\TypeMembersW.vb</file>
+	</test>
+	<test id="1660" name="TypeMembersY" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\TypeMembersY.vb</file>
+	</test>
+	<test id="1661" name="TypeObjectA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\TypeObjectA.vb</file>
+	</test>
+	<test id="1662" name="TypeOf" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\TypeOf.vb</file>
+	</test>
+	<test id="1663" name="TypeStructureA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\TypeStructureA.vb</file>
+	</test>
+	<test id="1664" name="TypeValRefA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\TypeValRefA.vb</file>
+	</test>
+	<test id="1665" name="TypeValRefArrayA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\TypeValRefArrayA.vb</file>
+	</test>
+	<test id="1666" name="TypeValRefB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\TypeValRefB.vb</file>
+	</test>
+	<test id="1667" name="TypeValRefC" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\TypeValRefC.vb</file>
+	</test>
+	<test id="1668" name="TypeValRefStringA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\TypeValRefStringA.vb</file>
+	</test>
+	<test id="1669" name="Variables" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\Variables.vb</file>
+	</test>
+	<test id="1670" name="VariablesA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\VariablesA.vb</file>
+	</test>
+	<test id="1671" name="VariablesB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\VariablesB.vb</file>
+	</test>
+	<test id="1672" name="VariablesC" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\VariablesC.vb</file>
+	</test>
+	<test id="1673" name="VariablesD" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\VariablesD.vb</file>
+	</test>
+	<test id="1674" name="VariablesE" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\VariablesE.vb</file>
+	</test>
+	<test id="1675" name="VariablesF" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\VariablesF.vb</file>
+	</test>
+	<test id="1676" name="VariablesG" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\VariablesG.vb</file>
+	</test>
+	<test id="1677" name="VariablesH" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\VariablesH.vb</file>
+	</test>
+	<test id="1678" name="VariablesI" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\VariablesI.vb</file>
+	</test>
+	<test id="1679" name="VariablesJ" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\VariablesJ.vb</file>
+	</test>
+	<test id="1680" name="VariablesK" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\VariablesK.vb</file>
+	</test>
+	<test id="1681" name="VariablesL" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\VariablesL.vb</file>
+	</test>
+	<test id="1682" name="VariablesM" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\VariablesM.vb</file>
+	</test>
+	<test id="1683" name="WithStatementA" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\WithStatementA.vb</file>
+	</test>
+	<test id="1684" name="WithStatementB" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\WithStatementB.vb</file>
+	</test>
+	<test id="1685" name="WithStatementC" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Mono\WithStatementC.vb</file>
+	</test>
+	<test id="1686" name="abcd" target="exe">
+		<arguments>-r:System.Web.dll</arguments>
+		<file>My\abcd.vb</file>
+	</test>
+	<test id="1687" name="bug-333403" target="winexe">
+		<arguments>/noconfig /imports:Microsoft.VisualBasic,System,System.Collections,System.Collections.Generic,System.Data,System.Drawing,System.Diagnostics,System.Windows.Forms /nowarn:42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 /optionstrict+ /rootnamespace:WindowsApplication1 /define:CONFIG="Debug",DEBUG=-1,TRACE=-1,_MyType=\"WindowsForms\",PLATFORM="AnyCPU" /reference:System.Data.dll,System.dll,System.Drawing.dll,System.Windows.Forms.dll,System.Xml.dll /main:WindowsApplication1.RightForm /debug+ /debug:full </arguments>
+		<file>My\bug-333403.vb</file>
+	</test>
+	<test id="1688" name="Console" target="exe">
+		<arguments>-r:System.Web.dll</arguments>
+		<file>My\Console.vb</file>
+	</test>
+	<test id="1689" name="Custom" target="exe">
+		<arguments>-r:System.Web.dll</arguments>
+		<file>My\Custom.vb</file>
+	</test>
+	<test id="1690" name="DefaultInstances1">
+		<arguments>-r:System.Web.dll -rootnamespace:WindowsApplication1 -define:_MYTYPE=\"WindowsForms\" -r:System.Windows.Forms.dll</arguments>
+		<file>My\DefaultInstances1.vb</file>
+	</test>
+	<test id="1691" name="DefinedSymbols" target="exe">
+		<arguments>-r:System.Web.dll</arguments>
+		<file>My\DefinedSymbols.vb</file>
+	</test>
+	<test id="1692" name="Empty" target="exe">
+		<arguments>-r:System.Web.dll</arguments>
+		<file>My\Empty.vb</file>
+	</test>
+	<test id="1693" name="EmptyString" target="exe">
+		<arguments>-r:System.Web.dll</arguments>
+		<file>My\EmptyString.vb</file>
+	</test>
+	<test id="1694" name="My.Application1" target="exe">
+		<arguments>-r:System.Web.dll /nowarn</arguments>
+		<file>My\My.Application1.vb</file>
+	</test>
+	<test id="1695" name="My.Forms1" target="winexe">
+		<arguments>-r:System.Web.dll -define:_MYTYPE=\"WindowsForms\"</arguments>
+		<file>My\My.Forms1.vb</file>
+	</test>
+	<test id="1696" name="None" target="exe">
+		<arguments>-r:System.Web.dll</arguments>
+		<file>My\None.vb</file>
+	</test>
+	<test id="1697" name="Web" target="exe">
+		<arguments>-r:System.Web.dll</arguments>
+		<file>My\Web.vb</file>
+	</test>
+	<test id="1698" name="WebControl" target="exe">
+		<arguments>-r:System.Web.dll</arguments>
+		<file>My\WebControl.vb</file>
+	</test>
+	<test id="1699" name="Windows" target="exe">
+		<arguments>-r:System.Web.dll</arguments>
+		<file>My\Windows.vb</file>
+	</test>
+	<test id="1700" name="WindowsForms" target="exe">
+		<arguments>-r:System.Web.dll</arguments>
+		<file>My\WindowsForms.vb</file>
+	</test>
+	<test id="1701" name="WindowsForms_exe" target="exe">
+		<arguments>-r:System.Web.dll</arguments>
+		<file>My\WindowsForms_exe.vb</file>
+	</test>
+	<test id="1702" name="WindowsForms_library">
+		<arguments>-r:System.Web.dll</arguments>
+		<file>My\WindowsForms_library.vb</file>
+	</test>
+	<test id="1703" name="WindowsForms_module" knownfailure="NotImplementedYet" target="module">
+		<arguments>-r:System.Web.dll -define:_MYTYPE=\"WindowsForms\"</arguments>
+		<file>My\WindowsForms_module.vb</file>
+	</test>
+	<test id="1704" name="WindowsForms_winexe" target="winexe">
+		<arguments>-r:System.Web.dll -define:_MYTYPE=\"WindowsForms\"</arguments>
+		<file>My\WindowsForms_winexe.vb</file>
+	</test>
+	<test id="1705" name="WindowsFormsWithCustomSubMain" target="exe">
+		<arguments>-r:System.Web.dll</arguments>
+		<file>My\WindowsFormsWithCustomSubMain.vb</file>
+	</test>
+	<test id="1706" name="GenericNestedType2" mytype="empty">
+		<arguments>/nowarn</arguments>
+		<file>NonCecilRelated\GenericNestedType2.vb</file>
+	</test>
+	<test id="1707" name="GenericType3">
+		<arguments>/nowarn</arguments>
+		<file>NonCecilRelated\GenericType3.vb</file>
+	</test>
+	<test id="1708" name="AddressOfExpression1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\"</arguments>
+		<file>NotImplementedYet\AddressOfExpression1.vb</file>
+	</test>
+	<test id="1709" name="AddressOfExpression2">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\"</arguments>
+		<file>NotImplementedYet\AddressOfExpression2.vb</file>
+	</test>
+	<test id="1710" name="CDateConstantExpression1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\"</arguments>
+		<file>NotImplementedYet\CDateConstantExpression1.vb</file>
+	</test>
+	<test id="1711" name="CDecConstantExpression1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\"</arguments>
+		<file>NotImplementedYet\CDecConstantExpression1.vb</file>
+	</test>
+	<test id="1712" name="Constructor1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\"</arguments>
+		<file>NotImplementedYet\Constructor1.vb</file>
+	</test>
+	<test id="1713" name="DecimalConstant1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\"</arguments>
+		<file>NotImplementedYet\DecimalConstant1.vb</file>
+	</test>
+	<test id="1714" name="DelegateAsMethodParameter1" knownfailure="NotImplementedYet">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\"</arguments>
+		<file>NotImplementedYet\DelegateAsMethodParameter1.vb</file>
+	</test>
+	<test id="1715" name="MethodOverload1" knownfailure="NotImplementedYet">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\"</arguments>
+		<file>NotImplementedYet\MethodOverload1.vb</file>
+	</test>
+	<test id="1734" name="Resources1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\"</arguments>
+		<file>Resources\Resources1.vb</file>
+	</test>
+	<test id="1735" name="Resources2">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\"</arguments>
+		<file>Resources\Resources2.vb</file>
+	</test>
+	<test id="1736" name="Resources3">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\"</arguments>
+		<file>Resources\Resources3.vb</file>
+	</test>
+	<test id="1737" name="Resources4">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\"</arguments>
+		<file>Resources\Resources4.vb</file>
+	</test>
+	<test id="1738" name="Resources5">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\"</arguments>
+		<file>Resources\Resources5.vb</file>
+	</test>
+	<test id="1739" name="AddOperator1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>RunTime\AddOperator1.vb</file>
+	</test>
+	<test id="1740" name="AddOperator2">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>RunTime\AddOperator2.vb</file>
+	</test>
+	<test id="1741" name="Array1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>RunTime\Array1.vb</file>
+	</test>
+	<test id="1742" name="ArrayElements1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>RunTime\ArrayElements1.vb</file>
+	</test>
+	<test id="1743" name="ArrayElements2">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>RunTime\ArrayElements2.vb</file>
+	</test>
+	<test id="1744" name="ArrayElements3">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>RunTime\ArrayElements3.vb</file>
+	</test>
+	<test id="1745" name="ArrayElements4">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>RunTime\ArrayElements4.vb</file>
+	</test>
+	<test id="1746" name="ArrayElements5">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>RunTime\ArrayElements5.vb</file>
+	</test>
+	<test id="1747" name="ArrayElementsBoolean1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>RunTime\ArrayElementsBoolean1.vb</file>
+	</test>
+	<test id="1748" name="ArrayElementsByte1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>RunTime\ArrayElementsByte1.vb</file>
+	</test>
+	<test id="1749" name="ArrayElementsChar1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>RunTime\ArrayElementsChar1.vb</file>
+	</test>
+	<test id="1750" name="ArrayElementsDate1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>RunTime\ArrayElementsDate1.vb</file>
+	</test>
+	<test id="1751" name="ArrayElementsDecimal1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>RunTime\ArrayElementsDecimal1.vb</file>
+	</test>
+	<test id="1752" name="ArrayElementsDouble1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>RunTime\ArrayElementsDouble1.vb</file>
+	</test>
+	<test id="1753" name="ArrayElementsInteger1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>RunTime\ArrayElementsInteger1.vb</file>
+	</test>
+	<test id="1754" name="ArrayElementsLong1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>RunTime\ArrayElementsLong1.vb</file>
+	</test>
+	<test id="1755" name="ArrayElementsObject1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>RunTime\ArrayElementsObject1.vb</file>
+	</test>
+	<test id="1756" name="ArrayElementsSByte1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>RunTime\ArrayElementsSByte1.vb</file>
+	</test>
+	<test id="1757" name="ArrayElementsShort1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>RunTime\ArrayElementsShort1.vb</file>
+	</test>
+	<test id="1758" name="ArrayElementsSingle1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>RunTime\ArrayElementsSingle1.vb</file>
+	</test>
+	<test id="1759" name="ArrayElementsString1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>RunTime\ArrayElementsString1.vb</file>
+	</test>
+	<test id="1760" name="ArrayElementsUInteger1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>RunTime\ArrayElementsUInteger1.vb</file>
+	</test>
+	<test id="1761" name="ArrayElementsULong1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>RunTime\ArrayElementsULong1.vb</file>
+	</test>
+	<test id="1762" name="ArrayElementsUShort1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>RunTime\ArrayElementsUShort1.vb</file>
+	</test>
+	<test id="1763" name="ByRefBoolean1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>RunTime\ByRefBoolean1.vb</file>
+	</test>
+	<test id="1764" name="ByRefByte1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>RunTime\ByRefByte1.vb</file>
+	</test>
+	<test id="1765" name="ByRefChar1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>RunTime\ByRefChar1.vb</file>
+	</test>
+	<test id="1766" name="ByRefDate1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>RunTime\ByRefDate1.vb</file>
+	</test>
+	<test id="1767" name="ByRefDecimal1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>RunTime\ByRefDecimal1.vb</file>
+	</test>
+	<test id="1768" name="ByRefDouble1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>RunTime\ByRefDouble1.vb</file>
+	</test>
+	<test id="1769" name="ByRefInteger1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>RunTime\ByRefInteger1.vb</file>
+	</test>
+	<test id="1770" name="ByRefLong1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>RunTime\ByRefLong1.vb</file>
+	</test>
+	<test id="1771" name="ByRefObject1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>RunTime\ByRefObject1.vb</file>
+	</test>
+	<test id="1772" name="ByRefSByte1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>RunTime\ByRefSByte1.vb</file>
+	</test>
+	<test id="1773" name="ByRefShort1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>RunTime\ByRefShort1.vb</file>
+	</test>
+	<test id="1774" name="ByRefSingle1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>RunTime\ByRefSingle1.vb</file>
+	</test>
+	<test id="1775" name="ByRefString1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>RunTime\ByRefString1.vb</file>
+	</test>
+	<test id="1776" name="ByRefUInteger1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>RunTime\ByRefUInteger1.vb</file>
+	</test>
+	<test id="1777" name="ByRefULong1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>RunTime\ByRefULong1.vb</file>
+	</test>
+	<test id="1778" name="ByRefUShort1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>RunTime\ByRefUShort1.vb</file>
+	</test>
+	<test id="1779" name="CType_Array1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>RunTime\CType_Array1.vb</file>
+	</test>
+	<test id="1780" name="CType_Array2">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>RunTime\CType_Array2.vb</file>
+	</test>
+	<test id="1781" name="CType_Array3">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>RunTime\CType_Array3.vb</file>
+	</test>
+	<test id="1782" name="CType_Array4">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>RunTime\CType_Array4.vb</file>
+	</test>
+	<test id="1783" name="CType_Array5">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>RunTime\CType_Array5.vb</file>
+	</test>
+	<test id="1784" name="CType_Array6">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>RunTime\CType_Array6.vb</file>
+	</test>
+	<test id="1785" name="CType_Interface1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>RunTime\CType_Interface1.vb</file>
+	</test>
+	<test id="1786" name="CType_Interface2">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>RunTime\CType_Interface2.vb</file>
+	</test>
+	<test id="1787" name="CType_Interface3">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>RunTime\CType_Interface3.vb</file>
+	</test>
+	<test id="1788" name="CType_TypeParameter1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>RunTime\CType_TypeParameter1.vb</file>
+	</test>
+	<test id="1789" name="CType_TypeParameter2">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>RunTime\CType_TypeParameter2.vb</file>
+	</test>
+	<test id="1790" name="CType_TypeParameter3">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>RunTime\CType_TypeParameter3.vb</file>
+	</test>
+	<test id="1791" name="CType_TypeParameter4">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>RunTime\CType_TypeParameter4.vb</file>
+	</test>
+	<test id="1792" name="CType_TypeParameter5">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>RunTime\CType_TypeParameter5.vb</file>
+	</test>
+	<test id="1793" name="CType_TypeParameter6">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>RunTime\CType_TypeParameter6.vb</file>
+	</test>
+	<test id="1794" name="CType_ValueType1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>RunTime\CType_ValueType1.vb</file>
+	</test>
+	<test id="1795" name="CType1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>RunTime\CType1.vb</file>
+	</test>
+	<test id="1796" name="CType2">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>RunTime\CType2.vb</file>
+	</test>
+	<test id="1797" name="CType3">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>RunTime\CType3.vb</file>
+	</test>
+	<test id="1798" name="CType4">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>RunTime\CType4.vb</file>
+	</test>
+	<test id="1799" name="CType5">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>RunTime\CType5.vb</file>
+	</test>
+	<test id="1800" name="CType6">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>RunTime\CType6.vb</file>
+	</test>
+	<test id="1801" name="End1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>RunTime\End1.vb</file>
+	</test>
+	<test id="1802" name="HelloWorld">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>RunTime\HelloWorld.vb</file>
+	</test>
+	<test id="1803" name="JaggedArrayElements1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>RunTime\JaggedArrayElements1.vb</file>
+	</test>
+	<test id="1804" name="JaggedArrayElements2">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>RunTime\JaggedArrayElements2.vb</file>
+	</test>
+	<test id="1805" name="UserDefinedOperators1">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>RunTime\UserDefinedOperators1.vb</file>
+	</test>
+	<test id="1807" name="rt">
+		<arguments>/r:System.dll,System.Xml.dll /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary -imports:System,Microsoft.VisualBasic,System.Collections,System.Collections.Generic,System.Diagnostics,System.Windows.Forms,System.Drawing,System.Xml -r:System.dll,System.Xml.dll,System.Windows.Forms.dll,System.Drawing.dll,Mono.Cecil.VB.dll /rootnamespace:rt -res:..\..\rt\source\FileTabPage.resx  -res:..\..\rt\source\frmMain.resx</arguments>
+		<testarguments>/console</testarguments>
+		<file>..\..\rt\source\AssemblyInfo.vb</file>
+		<file>..\..\rt\source\CecilCompare.vb</file>
+		<file>..\..\rt\source\CecilComparer.vb</file>
+		<file>..\..\rt\source\CommandLine.vb</file>
+		<file>..\..\rt\source\ConsoleRunner.vb</file>
+		<file>..\..\rt\source\EnhancedProgressBar.Designer.vb</file>
+		<file>..\..\rt\source\EnhancedProgressBar.vb</file>
+		<file>..\..\rt\source\ErrorInfo.vb</file>
+		<file>..\..\rt\source\ExternalProcessExecutor.vb</file>
+		<file>..\..\rt\source\ExternalProcessVerification.vb</file>
+		<file>..\..\rt\source\FileTabPage.Designer.vb</file>
+		<file>..\..\rt\source\FileTabPage.vb</file>
+		<file>..\..\rt\source\frmMain.Designer.vb</file>
+		<file>..\..\rt\source\frmMain.vb</file>
+		<file>..\..\rt\source\frmNewTest.vb</file>
+		<file>..\..\rt\source\frmNewTest.Designer.vb</file>
+		<file>..\..\rt\source\frmFiles.vb</file>
+		<file>..\..\rt\source\frmFiles.Designer.vb</file>
+		<file>..\..\rt\source\Helper.vb</file>
+		<file>..\..\rt\source\ListViewItemComparer.vb</file>
+		<file>..\..\rt\source\Main.vb</file>
+		<file>..\..\rt\source\Settings.vb</file>
+		<file>..\..\rt\source\Test.Results.vb</file>
+		<file>..\..\rt\source\Test.Targets.vb</file>
+		<file>..\..\rt\source\Test.MyTypes.vb</file>
+		<file>..\..\rt\source\Test.vb</file>
+		<file>..\..\rt\source\TestExecutor.vb</file>
+		<file>..\..\rt\source\Tests.vb</file>
+		<file>..\..\rt\source\TestView.vb</file>
+		<file>..\..\rt\source\VerificationBase.vb</file>
+		<dependency>..\..\..\class\lib\bootstrap\Mono.Cecil.VB.dll</dependency>
+	</test>
+	<test id="1808" name="SelfCompile" outputvbcassembly="SelfTest\vbnc_vbc.exe" outputassembly="SelfTest\vbnc.exe" target="exe" workingdirectory="SelfTest">
+		<arguments>@SelfCompileWindows.response /nowarn</arguments>
+		<vbcarguments>/out:vbnc_vbc.exe</vbcarguments>
+		<testarguments>/help</testarguments>
+	</test>
+	<test id="1809" name="GenericNestedType1" target="exe">
+		<file>Unfixable\GenericNestedType1.vb</file>
+	</test>
+	<test id="1810" name="NestedInterfaceInheritance1">
+		<file>Unfixable\NestedInterfaceInheritance1.vb</file>
+	</test>
+	<test id="1811" name="NoVBRuntimeRef1">
+		<arguments>/vbruntime- </arguments>
+		<file>Unfixable\NoVBRuntimeRef1.vb</file>
+	</test>
+	<test id="1813" name="MarshalAs.vb">
+		<arguments>/define:_MYTYPE=\"Empty\"</arguments>
+		<file>CompileTime\MarshalAs.vb</file>
+	</test>
+	<test id="1814" name="Microsoft.VisualBasic" workingdirectory="VBRunTime">
+		<arguments>@Microsoft.VisualBasic.windows.response /noconfig /nowarn:41008,40010,42353,40000</arguments>
+	</test>
+	<test id="1816" name="DefaultCtor">
+		<file>CompileTime\DefaultCtor.vb</file>
+	</test>
+	<test id="0" name="NUnitTests" target="exe" workingdirectory="NUnitTests">
+		<arguments>/nowarn</arguments>
+		<file>AddHandler.vb</file>
+		<file>ArrayCreation1.vb</file>
+		<file>ArrayIndexExpressions.vb</file>
+		<file>ArrayStore.vb</file>
+		<file>Assignment.vb</file>
+		<file>BinaryAdd1.vb</file>
+		<file>BinaryAdd2.vb</file>
+		<file>BinaryAdd.Generated.vb</file>
+		<file>ExplicitConversions.vb</file>
+		<file>FunctionCall.vb</file>
+		<file>Generated.vb</file>
+		<file>ImplicitConversions.vb</file>
+		<file>Main.vb</file>
+		<file>MethodCall1.vb</file>
+		<file>MethodCall2.vb</file>
+		<file>MethodCall3.vb</file>
+		<file>MethodCall4.vb</file>
+		<file>MethodOverload1.vb</file>
+	</test>
+	<test id="920" name="GenericDelegate1">
+		<file>CompileTime\GenericDelegate1.vb</file>
+	</test>
+	<test id="921" name="GetUpperBound.vb">
+		<file>CompileTime\GetUpperBound.vb</file>
+	</test>
+	<test id="922" name="AttributeFileVersion" target="exe">
+		<file>CompileTime2\AttributeFileVersion.vb</file>
+	</test>
+	<test id="1716" name="ConstantBounds1">
+		<arguments>/nowarn</arguments>
+		<file>CompileTime\ConstantBounds1.vb</file>
+	</test>
+	<test id="1717" name="42020" expectedvbcexitcode="0">
+		<arguments>/optionstrict:custom</arguments>
+		<file>Errors\42020.vb</file>
+		<error line="5" number="42020" message="Variable declaration without an 'As' clause; type of Object assumed." />
+	</test>
+	<test id="766" name="MultDimArray1" target="exe">
+		<file>CompileTime2\MultDimArray1.vb</file>
+	</test>
+	<test id="923" name="DefaultMember1">
+		<arguments>-r:System.Data.dll /nowarn</arguments>
+		<file>CompileTime\DefaultMember1.vb</file>
+	</test>
+	<test id="1718" name="TryCatch5">
+		<arguments>/nowarn</arguments>
+		<file>CompileTime\TryCatch5.vb</file>
+	</test>
+	<test id="1719" name="DebugInfo1">
+		<arguments>/debug:full</arguments>
+		<file>CompileTime\DebugInfo1.vb</file>
+	</test>
+	<test id="1720" name="bug-547165" target="exe">
+		<file>Bugs\bug-547165.vb</file>
+	</test>
+	<test id="1721" name="bug-504822">
+		<file>Bugs\bug-504822.vb</file>
+	</test>
+	<test id="1722" name="DoLoopWhile3" mytype="empty">
+		<file>CompileTime\DoLoopWhile3.vb</file>
+		<error line="5" number="42024" message="Unused local variable: 'i'." />
+	</test>
+	<test id="1723" name="Narrowing1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>CompileTime\Narrowing1.vb</file>
+	</test>
+	<test id="1724" name="42021">
+		<arguments>/optionstrict:custom</arguments>
+		<file>Errors\42021.vb</file>
+		<error line="4" number="42021" message="Function without an 'As' clause; return type of Object assumed." />
+	</test>
+	<test id="1725" name="30512" expectedexitcode="1">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30512.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="1726" name="30203" expectedexitcode="1" expectedvbcexitcode="1">
+		<file>Errors\30203.vb</file>
+		<error line="1" number="30203" message="Identifier expected." />
+		<vbcerror line="1" number="32035" message="Attribute specifier is not a complete statement. Use a line continuation to apply the attribute to the following statement." />
+	</test>
+	<test id="1727" name="30035" expectedexitcode="1" expectedvbcexitcode="1">
+		<file>Errors\30035.vb</file>
+		<error line="1" number="30203" message="Identifier expected." />
+		<error line="1" number="30037" message="Symbol is not valid." />
+		<vbcerror line="1" number="30035" message="Syntax error." />
+	</test>
+	<test id="1728" name="30127" expectedexitcode="1">
+		<file>Errors\30127.vb</file>
+		<error number="30127" />
+	</test>
+	<test id="1729" name="UsingStatement6" target="exe">
+		<file>CompileTime2\UsingStatement6.vb</file>
+	</test>
+	<test id="1730" name="FunctionReturnVariable1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>CompileTime2\FunctionReturnVariable1.vb</file>
+	</test>
+	<test id="1732" name="DefaultInstance1" target="exe">
+		<arguments>-define:_MYTYPE=\"WindowsFormsWithCustomSubMain\"</arguments>
+		<file>CompileTime2\DefaultInstance1.vb</file>
+	</test>
+	<test id="1733" name="ValueType1" target="exe">
+		<file>RunTime\ValueType1.vb</file>
+	</test>
+	<test id="1731" name="DefaultProperty7" target="exe">
+		<file>CompileTime2\DefaultProperty7.vb</file>
+	</test>
+	<test id="1806" name="ConditionalExpression1" target="exe" mytype="empty">
+		<arguments>/debug:full</arguments>
+		<file>CompileTime2\ConditionalExpression1.vb</file>
+	</test>
+	<test id="1812" name="error" knownfailure="it's supposed to fail" mytype="windowsforms">
+		<file>Errors\error.vb</file>
+	</test>
+	<test id="1815" name="30199" expectedexitcode="1" target="exe">
+		<file>Errors\30199.vb</file>
+		<error number="30199" />
+	</test>
+	<test id="1817" name="33104" expectedexitcode="1" target="exe">
+		<file>Errors\33104.vb</file>
+		<error number="33104" />
+	</test>
+	<test id="1818" name="33104-1" expectedexitcode="1" target="exe">
+		<file>Errors\33104-1.vb</file>
+		<error number="33104" />
+	</test>
+	<test id="1819" name="30201" expectedexitcode="1" expectedvbcexitcode="1" target="exe">
+		<file>Errors\30201.vb</file>
+		<error number="33104" />
+		<vbcerror number="33104" />
+	</test>
+	<test id="1820" name="30198" expectedexitcode="1" target="exe">
+		<file>Errors\30198.vb</file>
+		<error number="30198" />
+	</test>
+	<test id="1821" name="33104-2" expectedexitcode="1" target="exe">
+		<file>Errors\33104-2.vb</file>
+		<error number="33104" />
+	</test>
+	<test id="1822" name="30512-1" expectedexitcode="1" target="exe">
+		<file>Errors\30512-1.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="1823" name="33107" expectedexitcode="1" target="exe">
+		<file>Errors\33107.vb</file>
+		<error number="33107" />
+	</test>
+	<test id="1824" name="33106" expectedexitcode="1" expectedvbcexitcode="1" target="exe">
+		<file>Errors\33106.vb</file>
+		<error line="4" number="33106" message="Cannot infer a common type for the second and third operands of the 'If' operator. One must have a widening conversion to the other." />
+		<vbcerror line="4" number="36913" message="Cannot infer a common type because more than one type is possible." />
+	</test>
+	<test id="1825" name="33110" expectedexitcode="1" expectedvbcexitcode="1" target="exe">
+		<file>Errors\33110.vb</file>
+		<error line="5" number="33110" message="Cannot infer a common type for the first and second operands of the binary 'If' operator. One must have a widening conversion to the other." />
+		<vbcerror line="5" number="36913" message="Cannot infer a common type because more than one type is possible." />
+	</test>
+	<test id="1826" name="33110-1" knownfailure="Earlier VB compilers (<10) showed an error (#33110) for this code" target="exe">
+		<file>Errors\33110-1.vb</file>
+	</test>
+	<test id="1827" name="33107-1" expectedexitcode="1" target="exe">
+		<file>Errors\33107-1.vb</file>
+		<error number="33107" />
+	</test>
+	<test id="1828" name="30512-2" expectedexitcode="1" target="exe">
+		<file>Errors\30512-2.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="1829" name="30512-3" expectedexitcode="1" target="exe">
+		<file>Errors\30512-3.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="1830" name="ByRefStructureReturn1">
+		<file>CompileTime\ByRefStructureReturn1.vb</file>
+	</test>
+	<test id="1831" name="ImplicitNullableConversions1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>CompileTime2\ImplicitNullableConversions1.vb</file>
+	</test>
+	<test id="1832" name="30311-36" expectedexitcode="1" target="exe">
+		<file>Errors\30311-36.vb</file>
+		<error number="30311" />
+	</test>
+	<test id="1833" name="30512-4" expectedexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30512-4.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="1834" name="30311-37" expectedexitcode="1" target="exe">
+		<file>Errors\30311-37.vb</file>
+		<error number="30311" />
+	</test>
+	<test id="1835" name="UserDefinedNullableConversions1" target="exe">
+		<file>CompileTime2\UserDefinedNullableConversions1.vb</file>
+	</test>
+	<test id="1836" name="bug-629103">
+		<file>Bugs\bug-629103.vb</file>
+	</test>
+	<test id="1837" name="bug-629369">
+		<file>Bugs\bug-629369.vb</file>
+	</test>
+	<test id="1838" name="bug-629370">
+		<file>Bugs\bug-629370.vb</file>
+	</test>
+	<test id="1839" name="bug-629373">
+		<file>Bugs\bug-629373.vb</file>
+	</test>
+	<test id="1840" name="30439-2" expectedexitcode="1">
+		<file>Errors\30439-2.vb</file>
+		<error number="30439" />
+	</test>
+	<test id="1841" name="ImportsType2">
+		<file>CompileTime\ImportsType2.vb</file>
+	</test>
+	<test id="1842" name="30002" expectedexitcode="1">
+		<file>Errors\30002.vb</file>
+		<error line="1" number="40056" message="Namespace or type specified in the Imports 'System.Collections.Hashtabl' doesn't contain any public member or cannot be found. Make sure the namespace or the type is defined and contains at least one public member. Make sure the imported element name doesn't use any aliases." />
+		<error line="4" number="30002" message="Type 'Hashtable' is not defined." />
+	</test>
+	<test id="1843" name="30182" expectedexitcode="1">
+		<file>Errors\30182.vb</file>
+		<error number="30182" />
+	</test>
+	<test id="1844" name="End2" target="exe">
+		<file>RunTime\End2.vb</file>
+	</test>
+	<test id="1845" name="SecurityAttribute2">
+		<file>CompileTime\SecurityAttribute2.vb</file>
+	</test>
+	<test id="1846" name="MethodResolution1">
+		<file>CompileTime\MethodResolution1.vb</file>
+	</test>
+	<test id="1847" name="Boolean2" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>CompileTime2\Boolean2.vb</file>
+	</test>
+	<test id="1848" name="30201-1" expectedexitcode="1" expectedvbcexitcode="1">
+		<file>Errors\30201-1.vb</file>
+		<error line="3" number="30201" message="Expected expression." />
+		<error line="3" number="90018" message="Expected end of line." />
+		<error line="3" number="90019" message="Expected 'End'." />
+		<vbcerror line="2" number="30201" message="Expression expected." />
+	</test>
+	<test id="1849" name="ByRef13" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>CompileTime2\ByRef13.vb</file>
+	</test>
+	<test id="1850" name="30311-38" expectedexitcode="1" target="exe">
+		<file>Errors\30311-38.vb</file>
+		<error number="30311" />
+	</test>
+	<test id="1852" name="Optional3">
+		<file>1Declarations\Optional3.vb</file>
+	</test>
+	<test id="1851" name="For7" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>CompileTime2\For7.vb</file>
+	</test>
+	<test id="1853" name="30108-1" expectedexitcode="1" target="exe">
+		<file>Errors\30108-1.vb</file>
+		<error number="30108" />
+	</test>
+	<test id="1854" name="30112" expectedexitcode="1" target="exe">
+		<file>Errors\30112.vb</file>
+		<error number="30112" />
+	</test>
+	<test id="1855" name="32022" expectedexitcode="1" target="exe">
+		<file>Errors\32022.vb</file>
+		<error number="32022" />
+	</test>
+	<test id="1856" name="30491" expectedexitcode="1" target="exe">
+		<file>Errors\30491.vb</file>
+		<error number="30491" />
+	</test>
+	<test id="1857" name="Delegate8" knownfailure="Need to update rt to support "vbc compiles, vbnc doesn't"" expectedvbcexitcode="0">
+		<file>1Declarations\Delegate8.vb</file>
+	</test>
+	<test id="1858" name="ByRefCType1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>RunTime\ByRefCType1.vb</file>
+	</test>
+	<test id="1859" name="ArrayCreationExpression6" knownfailure="We crash instead of showing correct error message (or compile like vb10 does)" expectedvbcexitcode="0">
+		<file>CompileTime\ArrayCreationExpression6.vb</file>
+	</test>
+	<test id="1860" name="MethodsWithPointers1">
+		<arguments>-r:MethodsWithPointers1_CS.dll /nowarn</arguments>
+		<file>CompileTime\MethodsWithPointers1.vb</file>
+		<dependency>Bin\MethodsWithPointers1_CS.dll</dependency>
+	</test>
+	<test id="1861" name="30657" expectedexitcode="1" expectedvbcexitcode="1">
+		<arguments>-r:MethodsWithPointers1_CS.dll</arguments>
+		<file>Errors\30657.vb</file>
+		<error line="6" number="30518" message="Overload resolution failed because no accessible 'C' can be called with these arguments:" />
+		<vbcerror line="6" number="30657" message="'C' has a return type that is not supported or parameter types that are not supported." />
+	</test>
+	<test id="1862" name="InferFor1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>CompileTime\InferFor1.vb</file>
+	</test>
+	<test id="1863" name="30983" expectedexitcode="1">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30983.vb</file>
+		<error number="30983" />
+	</test>
+	<test id="1864" name="30983-1" expectedexitcode="1">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30983-1.vb</file>
+		<error number="30983" />
+	</test>
+	<test id="1865" name="30983-2" expectedexitcode="1">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30983-2.vb</file>
+		<error number="30983" />
+	</test>
+	<test id="1866" name="30983-3" expectedexitcode="1">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30983-3.vb</file>
+		<error number="30983" />
+	</test>
+	<test id="1867" name="30108-2" expectedexitcode="1" target="exe">
+		<file>Errors\30108-2.vb</file>
+		<error number="30108" />
+	</test>
+	<test id="1868" name="30451-2" expectedexitcode="1" target="exe">
+		<file>Errors\30451-2.vb</file>
+		<error number="30451" />
+	</test>
+	<test id="1869" name="MethodInvocation24" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>CompileTime2\MethodInvocation24.vb</file>
+	</test>
+	<test id="1870" name="30375" expectedexitcode="1">
+		<file>Errors\30375.vb</file>
+		<error number="30375" />
+	</test>
+	<test id="1871" name="CoClass1" target="exe">
+		<file>CompileTime2\CoClass1.vb</file>
+	</test>
+	<test id="1872" name="30455-1" expectedexitcode="1" target="exe">
+		<file>Errors\30455-1.vb</file>
+		<error number="30455" />
+	</test>
+	<test id="1873" name="31094" expectedexitcode="1" target="exe">
+		<file>Errors\31094.vb</file>
+		<error number="31094" />
+	</test>
+	<test id="1874" name="30251" expectedexitcode="1" target="exe">
+		<file>Errors\30251.vb</file>
+		<error number="30251" />
+	</test>
+	<test id="1875" name="30455-2" expectedexitcode="1" target="exe">
+		<file>Errors\30455-2.vb</file>
+		<error number="30455" />
+	</test>
+	<test id="1876" name="30251-1" expectedexitcode="1" target="exe">
+		<file>Errors\30251-1.vb</file>
+		<error number="30251" />
+	</test>
+	<test id="1877" name="DuplicateReference1" target="winexe">
+		<arguments>-r:System.Web.dll -rootnamespace:WindowsApplication1 -define:_MYTYPE=\"WindowsForms\" -r:System.Windows.Forms.dll,System.Windows.forms.dll</arguments>
+		<file>CompileTime\DuplicateReference1.vb</file>
+	</test>
+	<test id="1878" name="ArrayRef1">
+		<file>CompileTime\ArrayRef1.vb</file>
+	</test>
+	<test id="1879" name="RedimPreserve3">
+		<file>CompileTime\RedimPreserve3.vb</file>
+	</test>
+	<test id="1880" name="ByRefStore1">
+		<file>CompileTime\ByRefStore1.vb</file>
+	</test>
+	<test id="1881" name="ByRefProperty1" target="exe">
+		<file>CompileTime\ByRefProperty1.vb</file>
+	</test>
+	<test id="1882" name="30524" expectedexitcode="1">
+		<file>Errors\30524.vb</file>
+		<error number="30524" />
+	</test>
+	<test id="1883" name="ArrayRef2">
+		<arguments>/nowarn</arguments>
+		<file>CompileTime\ArrayRef2.vb</file>
+	</test>
+	<test id="1884" name="Attributes7">
+		<arguments>/define:_MYTYPE=\"Empty\"</arguments>
+		<file>CompileTime\Attributes7.vb</file>
+	</test>
+	<test id="1885" name="OptionCompareText2">
+		<file>CompileTime2\OptionCompareText2.vb</file>
+	</test>
+	<test id="1886" name="30562" expectedexitcode="1" target="exe">
+		<file>Errors\30562.vb</file>
+		<error number="30562" />
+	</test>
+	<test id="1887" name="30562-1" expectedexitcode="1" target="exe">
+		<file>Errors\30562-1.vb</file>
+		<error number="30562" />
+	</test>
+	<test id="1888" name="Module3" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>CompileTime2\Module3.vb</file>
+	</test>
+	<test id="1889" name="PropertyAccess6" target="exe">
+		<file>CompileTime2\PropertyAccess6.vb</file>
+	</test>
+	<test id="1890" name="Attributes8">
+		<file>CompileTime2\Attributes8.vb</file>
+	</test>
+	<test id="1891" name="AddHandler4">
+		<arguments>-define:_MYTYPE=\"WindowsForms\" -r:System.Windows.Forms.dll</arguments>
+		<file>CompileTime2\AddHandler4.vb</file>
+	</test>
+	<test id="1892" name="30469" expectedexitcode="1">
+		<file>Errors\30469.vb</file>
+		<error number="30469" />
+	</test>
+	<test id="1893" name="AddressOfExpression4" mytype="empty">
+		<arguments>/nowarn</arguments>
+		<file>CompileTime2\AddressOfExpression4.vb</file>
+	</test>
+	<test id="1894" name="Nullable2" mytype="empty">
+		<file>CompileTime2\Nullable2.vb</file>
+	</test>
+	<test id="1895" name="36657" expectedexitcode="1">
+		<file>Errors\36657.vb</file>
+		<error number="36657" />
+	</test>
+	<test id="1896" name="ArgumentTypeInference" target="exe" mytype="empty">
+		<arguments>/nowarn</arguments>
+		<file>CompileTime2\ArgumentTypeInference.vb</file>
+	</test>
+	<test id="1897" name="30530" expectedexitcode="1" mytype="empty">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30530.vb</file>
+		<error number="30530" />
+	</test>
+	<test id="1898" name="MethodDeclaration1" mytype="empty">
+		<file>CompileTime2\MethodDeclaration1.vb</file>
+	</test>
+	<test id="1899" name="30530-1" expectedexitcode="1">
+		<file>Errors\30530-1.vb</file>
+		<error number="30530" />
+	</test>
+	<test id="1900" name="30530-2" expectedexitcode="1">
+		<file>Errors\30530-2.vb</file>
+		<error number="30530" />
+	</test>
+	<test id="1901" name="30530-3" expectedexitcode="1">
+		<file>Errors\30530-3.vb</file>
+		<error number="30530" />
+	</test>
+	<test id="1902" name="30530-4" expectedexitcode="1">
+		<file>Errors\30530-4.vb</file>
+		<error number="30530" />
+	</test>
+	<test id="1903" name="36651" expectedexitcode="1" expectedvbcexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\36651.vb</file>
+		<error line="32" number="36651" message="Data type(s) of the type parameter(s) in method 'Public Function B(Of T)(z As T, zz As T) As Integer' cannot be inferred from these arguments because more than one type is possible. Specifying the data type(s) explicitly might correct this error." />
+		<error line="32" number="30516" message="Overload resolution failed because no accessible 'B' accepts this number of arguments." />
+		<vbcerror line="32" number="36651" message="Data type(s) of the type parameter(s) in method 'Public Function B(Of T)(z As T, zz As T) As Integer' cannot be inferred from these arguments because more than one type is possible. Specifying the data type(s) explicitly might correct this error." />
+	</test>
+	<test id="1904" name="36657-1" expectedexitcode="1" expectedvbcexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\36657-1.vb</file>
+		<error line="46" number="36657" message="Data type(s) of the type parameter(s) in method 'Public Function C(Of T As Structure)(z As T?, zz As T?) As Integer' cannot be inferred from these arguments because they do not convert to the same type. Specifying the data type(s) explicitly might correct this error." />
+		<error line="46" number="30516" message="Overload resolution failed because no accessible 'C' accepts this number of arguments." />
+		<vbcerror line="46" number="36657" message="Data type(s) of the type parameter(s) in method 'Public Function C(Of T As Structure)(z As T?, zz As T?) As Integer' cannot be inferred from these arguments because they do not convert to the same type. Specifying the data type(s) explicitly might correct this error." />
+	</test>
+	<test id="1905" name="33101" expectedexitcode="1">
+		<arguments>/nowarn</arguments>
+		<file>Errors\33101.vb</file>
+		<error number="33101" />
+	</test>
+	<test id="1906" name="30057-1" expectedexitcode="1">
+		<file>Errors\30057-1.vb</file>
+		<error number="30057" />
+	</test>
+	<test id="1907" name="32050" expectedexitcode="1">
+		<file>Errors\32050.vb</file>
+		<error number="32050" />
+	</test>
+	<test id="1908" name="30455-3" expectedexitcode="1">
+		<file>Errors\30455-3.vb</file>
+		<error number="30455" />
+	</test>
+	<test id="1909" name="32050-1" expectedexitcode="1" mytype="empty">
+		<file>Errors\32050-1.vb</file>
+		<error number="32050" />
+	</test>
+	<test id="1910" name="Nullable3" mytype="empty">
+		<arguments>/nowarn</arguments>
+		<file>CompileTime2\Nullable3.vb</file>
+	</test>
+	<test id="1911" name="30311-40" expectedexitcode="1" target="exe">
+		<file>Errors\30311-40.vb</file>
+		<error number="30311" />
+	</test>
+	<test id="1912" name="30311-39" expectedexitcode="1" target="exe">
+		<file>Errors\30311-39.vb</file>
+		<error number="30311" />
+	</test>
+	<test id="1913" name="30311-41" expectedexitcode="1" target="exe">
+		<file>Errors\30311-41.vb</file>
+		<error number="30311" />
+	</test>
+	<test id="1914" name="30311-42" expectedexitcode="1" target="exe">
+		<file>Errors\30311-42.vb</file>
+		<error number="30311" />
+	</test>
+	<test id="1915" name="30311-43" expectedexitcode="1" target="exe">
+		<file>Errors\30311-43.vb</file>
+		<error number="30311" />
+	</test>
+	<test id="1916" name="30311-44" expectedexitcode="1" target="exe">
+		<file>Errors\30311-44.vb</file>
+		<error number="30311" />
+	</test>
+	<test id="1917" name="30311-45" expectedexitcode="1" target="exe">
+		<file>Errors\30311-45.vb</file>
+		<error number="30311" />
+	</test>
+	<test id="1918" name="30311-46" expectedexitcode="1" target="exe">
+		<file>Errors\30311-46.vb</file>
+		<error number="30311" />
+	</test>
+	<test id="1919" name="30311-47" expectedexitcode="1" target="exe">
+		<file>Errors\30311-47.vb</file>
+		<error number="30311" />
+	</test>
+	<test id="1920" name="30311-48" expectedexitcode="1" target="exe">
+		<file>Errors\30311-48.vb</file>
+		<error number="30311" />
+	</test>
+	<test id="1921" name="30311-49" expectedexitcode="1" target="exe">
+		<file>Errors\30311-49.vb</file>
+		<error number="30311" />
+	</test>
+	<test id="1922" name="30311-50" expectedexitcode="1" target="exe">
+		<file>Errors\30311-50.vb</file>
+		<error number="30311" />
+	</test>
+	<test id="1923" name="30311-51" expectedexitcode="1" target="exe">
+		<file>Errors\30311-51.vb</file>
+		<error number="30311" />
+	</test>
+	<test id="1924" name="30311-52" expectedexitcode="1" target="exe">
+		<file>Errors\30311-52.vb</file>
+		<error number="30311" />
+	</test>
+	<test id="1925" name="Nothing1" mytype="empty">
+		<file>CompileTime2\Nothing1.vb</file>
+	</test>
+	<test id="1926" name="30311-53" expectedexitcode="1" target="exe">
+		<file>Errors\30311-53.vb</file>
+		<error number="30311" />
+	</test>
+	<test id="1927" name="30530-5" expectedexitcode="1">
+		<file>Errors\30530-5.vb</file>
+		<error number="30530" />
+	</test>
+	<test id="1928" name="Property9" mytype="empty">
+		<arguments>/nowarn</arguments>
+		<file>CompileTime2\Property9.vb</file>
+	</test>
+	<test id="1929" name="33101-1" expectedexitcode="1" target="exe">
+		<file>Errors\33101-1.vb</file>
+		<error number="33101" />
+	</test>
+	<test id="1930" name="32083" expectedexitcode="1">
+		<file>Errors\32083.vb</file>
+		<error number="32083" />
+	</test>
+	<test id="1931" name="32083-1" expectedexitcode="1">
+		<file>Errors\32083-1.vb</file>
+		<error number="32083" />
+	</test>
+	<test id="1932" name="32083-2" expectedexitcode="1">
+		<file>Errors\32083-2.vb</file>
+		<error number="32083" />
+	</test>
+	<test id="1933" name="32083-3" expectedexitcode="1">
+		<file>Errors\32083-3.vb</file>
+		<error number="32083" />
+	</test>
+	<test id="1934" name="32083-4" expectedexitcode="1" mytype="empty">
+		<file>Errors\32083-4.vb</file>
+		<error number="32083" />
+	</test>
+	<test id="1935" name="TypeArguments17" mytype="empty">
+		<file>CompileTime2\TypeArguments17.vb</file>
+	</test>
+	<test id="1936" name="32083-5" expectedexitcode="1">
+		<arguments>/nowarn</arguments>
+		<file>Errors\32083-5.vb</file>
+		<error number="32083" />
+	</test>
+	<test id="1937" name="32083-6" expectedexitcode="1">
+		<file>Errors\32083-6.vb</file>
+		<error number="32083" />
+	</test>
+	<test id="1938" name="32083-7" expectedexitcode="1">
+		<file>Errors\32083-7.vb</file>
+		<error number="32083" />
+	</test>
+	<test id="1939" name="32083-8" expectedexitcode="1">
+		<file>Errors\32083-8.vb</file>
+		<error number="32083" />
+	</test>
+	<test id="1940" name="32105-1" expectedexitcode="1">
+		<file>Errors\32105-1.vb</file>
+		<error number="32105" />
+	</test>
+	<test id="1941" name="32106-1" expectedexitcode="1">
+		<file>Errors\32106-1.vb</file>
+		<error number="32106" />
+	</test>
+	<test id="1942" name="32106-2" expectedexitcode="1">
+		<file>Errors\32106-2.vb</file>
+		<error number="32106" />
+	</test>
+	<test id="1943" name="32106-3" expectedexitcode="1">
+		<file>Errors\32106-3.vb</file>
+		<error number="32106" />
+	</test>
+	<test id="1944" name="33101-2" expectedexitcode="1">
+		<file>Errors\33101-2.vb</file>
+		<error number="33101" />
+	</test>
+	<test id="1945" name="32105-2" expectedexitcode="1">
+		<file>Errors\32105-2.vb</file>
+		<error number="32105" />
+	</test>
+	<test id="1946" name="32106-4" expectedexitcode="1">
+		<file>Errors\32106-4.vb</file>
+		<error number="32106" />
+	</test>
+	<test id="1947" name="32084" expectedexitcode="1">
+		<file>Errors\32084.vb</file>
+		<error number="32084" />
+	</test>
+	<test id="1948" name="32044" expectedexitcode="1">
+		<file>Errors\32044.vb</file>
+		<error number="32044" />
+	</test>
+	<test id="1949" name="32044-1" expectedexitcode="1">
+		<file>Errors\32044-1.vb</file>
+		<error number="32044" />
+	</test>
+	<test id="1950" name="30512-5" expectedexitcode="1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Errors\30512-5.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="1951" name="30512-6" expectedexitcode="1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Errors\30512-6.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="1952" name="30512-7" expectedexitcode="1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Errors\30512-7.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="1953" name="30512-8" expectedexitcode="1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Errors\30512-8.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="1954" name="30512-9" expectedexitcode="1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Errors\30512-9.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="1955" name="30512-10" expectedexitcode="1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Errors\30512-10.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="1956" name="30512-11" expectedexitcode="1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Errors\30512-11.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="1957" name="30512-12" expectedexitcode="1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Errors\30512-12.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="1958" name="30512-13" expectedexitcode="1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Errors\30512-13.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="1959" name="30512-14" expectedexitcode="1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Errors\30512-14.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="1960" name="30512-15" expectedexitcode="1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Errors\30512-15.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="1961" name="30512-16" expectedexitcode="1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Errors\30512-16.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="1962" name="30512-17" expectedexitcode="1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Errors\30512-17.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="1963" name="30512-18" expectedexitcode="1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Errors\30512-18.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="1964" name="30512-19" expectedexitcode="1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Errors\30512-19.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="1965" name="UserConversion2" mytype="empty">
+		<arguments>/nowarn</arguments>
+		<file>CompileTime2\UserConversion2.vb</file>
+	</test>
+	<test id="1966" name="30311-54" expectedexitcode="1" target="exe">
+		<file>Errors\30311-54.vb</file>
+		<error number="30311" />
+	</test>
+	<test id="1967" name="30512-20" expectedexitcode="1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Errors\30512-20.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="1968" name="30512-21" expectedexitcode="1" target="exe">
+		<arguments>/r:System.dll,System.Xml.dll /target:exe /define:DEBUG /debug:FULL /nowarn /define:_MYTYPE=\"Empty\" /optionstrict+ /optionexplicit+ /optioncompare:binary</arguments>
+		<file>Errors\30512-21.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="1969" name="UserConversion3" mytype="empty">
+		<arguments>/nowarn</arguments>
+		<file>CompileTime2\UserConversion3.vb</file>
+	</test>
+	<test id="1970" name="30311-55" expectedexitcode="1" target="exe">
+		<file>Errors\30311-55.vb</file>
+		<error number="30311" />
+	</test>
+	<test id="1971" name="CType7" mytype="empty">
+		<arguments>/nowarn</arguments>
+		<file>CompileTime2\CType7.vb</file>
+	</test>
+	<test id="1972" name="Nullable4" mytype="empty">
+		<arguments>/nowarn</arguments>
+		<file>CompileTime2\Nullable4.vb</file>
+	</test>
+	<test id="1973" name="30512-22" expectedexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30512-22.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="1974" name="30311-56" expectedexitcode="1" target="exe">
+		<file>Errors\30311-56.vb</file>
+		<error number="30311" />
+	</test>
+	<test id="1975" name="30452" expectedexitcode="1" target="exe">
+		<file>Errors\30452.vb</file>
+		<error number="30452" />
+	</test>
+	<test id="1976" name="bug-652241" knownfailure="Need to update rt to support "vbc compiles, vbnc doesn't"" expectedvbcexitcode="0" mytype="empty">
+		<file>Bugs\bug-652241.vb</file>
+	</test>
+	<test id="1977" name="30737" expectedexitcode="1" target="exe">
+		<file>Errors\30737.vb</file>
+		<error number="30737" />
+	</test>
+	<test id="1978" name="30737-1" expectedexitcode="1" target="exe">
+		<file>Errors\30737-1.vb</file>
+		<error number="30737" />
+	</test>
+	<test id="1979" name="bug-504791" target="exe" mytype="empty">
+		<file>Bugs\bug-504791.vb</file>
+	</test>
+	<test id="1980" name="bug-438656" mytype="empty">
+		<arguments>/nowarn</arguments>
+		<file>Bugs\bug-438656.vb</file>
+	</test>
+	<test id="1981" name="ImplicitLineContinuationsAssignmentOperator">
+		<arguments>/nowarn</arguments>
+		<file>CompileTime2\AssignmentOperator.vb</file>
+	</test>
+	<test id="1982" name="ImplicitLineContinuationsBinaryOperator" mytype="empty">
+		<arguments>/nowarn</arguments>
+		<file>CompileTime2\BinaryOperator.vb</file>
+	</test>
+	<test id="1983" name="ImplicitLineContinuationsComma" mytype="empty">
+		<arguments>/nowarn</arguments>
+		<file>CompileTime2\Comma.vb</file>
+	</test>
+	<test id="1984" name="ImplicitLineContinuationsConcatenation" mytype="empty">
+		<arguments>/nowarn</arguments>
+		<file>CompileTime2\Concatenation.vb</file>
+	</test>
+	<test id="1985" name="ImplicitLineContinuationsCurlyBraces" knownfailure="Pending implementation of object initializers" mytype="empty">
+		<file>CompileTime2\CurlyBraces.vb</file>
+	</test>
+	<test id="1986" name="ImplicitLineContinuationsForEach" mytype="empty">
+		<arguments>/nowarn</arguments>
+		<file>CompileTime2\ForEach.vb</file>
+	</test>
+	<test id="1987" name="ImplicitLineContinuationsFrom" knownfailure="Pending implementation of implicit line continuations" mytype="empty">
+		<arguments>-imports:System.Collections.Generic</arguments>
+		<file>CompileTime2\From.vb</file>
+	</test>
+	<test id="1988" name="ImplicitLineContinuationsIsandIsNotOperators" mytype="empty">
+		<arguments>/nowarn</arguments>
+		<file>CompileTime2\IsandIsNotOperators.vb</file>
+	</test>
+	<test id="1989" name="ImplicitLineContinuationsParenthesis" mytype="empty">
+		<arguments>/nowarn</arguments>
+		<file>CompileTime2\Parenthesis.vb</file>
+	</test>
+	<test id="1990" name="30203-ImplicitLineContinuationsClassonnewline" expectedexitcode="1" expectedvbcexitcode="1" mytype="empty">
+		<file>Errors\Classonnewline.vb</file>
+		<error line="4" number="30203" message="Identifier expected." />
+		<error line="4" number="90019" message="Expected 'End'." />
+		<error line="4" number="30203" message="Identifier expected." />
+		<error line="6" number="30203" message="Identifier expected." />
+		<error line="7" number="30203" message="Identifier expected." />
+		<vbcerror line="2" number="30203" message="Identifier expected." />
+		<vbcerror line="4" number="30188" message="Declaration expected." />
+	</test>
+	<test id="1991" name="30203-ImplicitLineContinuationsDimonnewline" expectedexitcode="1" expectedvbcexitcode="1" mytype="empty">
+		<file>Errors\Dimonnewline.vb</file>
+		<error line="4" number="30203" message="Identifier expected." />
+		<error line="4" number="90019" message="Expected 'End'." />
+		<error line="5" number="90019" message="Expected 'Module'." />
+		<error line="6" number="30203" message="Identifier expected." />
+		<vbcerror line="3" number="30203" message="Identifier expected." />
+		<vbcerror line="4" number="30451" message="'a' is not declared. It may be inaccessible due to its protection level." />
+	</test>
+	<test id="1992" name="30198-ImplicitLineContinuationsFunctionDec" expectedexitcode="1" expectedvbcexitcode="1" mytype="empty">
+		<file>Errors\FunctionDec.vb</file>
+		<error line="4" number="90019" message="Expected ')'." />
+		<error line="4" number="30205" message="End of statement expected." />
+		<vbcerror line="3" number="30198" message="')' expected." />
+		<vbcerror line="4" number="30035" message="Syntax error." />
+	</test>
+	<test id="1993" name="30203-ImplicitLineContinuationsSub" expectedexitcode="1" expectedvbcexitcode="1" mytype="empty">
+		<file>Errors\Sub.vb</file>
+		<error line="3" number="90019" message="Expected 'End'." />
+		<error line="3" number="30203" message="Identifier expected." />
+		<error line="4" number="30203" message="Identifier expected." />
+		<error line="5" number="30203" message="Identifier expected." />
+		<vbcerror line="2" number="30203" message="Identifier expected." />
+	</test>
+	<test id="1994" name="TypeNameResolution3" knownfailure="doesn't work" mytype="empty">
+		<file>CompileTime\TypeNameResolution3.vb</file>
+	</test>
+	<test id="1995" name="GenericNestedType3" mytype="empty">
+		<file>CompileTime2\GenericNestedType3.vb</file>
+	</test>
+	<test id="1996" name="30002-1" expectedexitcode="1">
+		<file>Errors\30002-1.vb</file>
+		<error number="30002" />
+	</test>
+	<test id="1997" name="NestedDeclarations2" mytype="empty">
+		<arguments>/nowarn</arguments>
+		<file>CompileTime2\NestedDeclarations2.vb</file>
+	</test>
+	<test id="1998" name="30002-2" expectedexitcode="1">
+		<file>Errors\30002-2.vb</file>
+		<error number="30002" />
+	</test>
+	<test id="1999" name="30480" expectedexitcode="1" mytype="empty">
+		<file>Errors\30480.vb</file>
+		<error number="30480" />
+	</test>
+	<test id="2000" name="bug-434288" mytype="empty">
+		<file>Bugs\bug-434288.vb</file>
+	</test>
+	<test id="2001" name="30480-1" expectedexitcode="1" target="exe">
+		<file>Errors\30480-1.vb</file>
+		<error number="30480" />
+	</test>
+	<test id="2002" name="30480-2" expectedexitcode="1" target="exe">
+		<file>Errors\30480-2.vb</file>
+		<error number="30480" />
+	</test>
+	<test id="2003" name="30480-3" expectedexitcode="1" target="exe">
+		<file>Errors\30480-3.vb</file>
+		<error number="30480" />
+	</test>
+	<test id="2004" name="30480-4" expectedexitcode="1" target="exe">
+		<file>Errors\30480-4.vb</file>
+		<error number="30480" />
+	</test>
+	<test id="2005" name="NoConfigWithMy">
+		<arguments>/noconfig /verbose</arguments>
+		<file>My\NoConfigWithMy.vb</file>
+	</test>
+	<test id="2006" name="30002-3" expectedexitcode="1">
+		<file>Errors\30002-3.vb</file>
+		<error number="30002" />
+	</test>
+	<test id="2007" name="NestedType4" mytype="empty">
+		<arguments>/nowarn</arguments>
+		<file>CompileTime2\NestedType4.vb</file>
+	</test>
+	<test id="2008" name="StaticVariable6" mytype="empty">
+		<arguments>/nowarn</arguments>
+		<file>CompileTime\StaticVariable6.vb</file>
+	</test>
+	<test id="2009" name="bug-674365" mytype="empty">
+		<file>Bugs\bug-674365.vb</file>
+	</test>
+	<test id="2010" name="30648" expectedexitcode="1" target="exe">
+		<file>Errors\30648.vb</file>
+		<error number="30648" />
+	</test>
+	<test id="2011" name="bug-438669" mytype="empty">
+		<arguments>/nowarn</arguments>
+		<file>Bugs\bug-438669.vb</file>
+	</test>
+	<test id="2012" name="bug-438672" mytype="empty">
+		<file>Bugs\bug-438672.vb</file>
+	</test>
+	<test id="2013" name="bug-656602" expectedexitcode="1" mytype="empty">
+		<file>Bugs\bug-656602.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="2014" name="30512-23" expectedexitcode="1" target="exe">
+		<file>Errors\30512-23.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="2015" name="30512-24" expectedexitcode="1" target="exe">
+		<file>Errors\30512-24.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="2016" name="30512-25" expectedexitcode="1" target="exe">
+		<file>Errors\30512-25.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="2017" name="30512-26" expectedexitcode="1" target="exe">
+		<file>Errors\30512-26.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="2018" name="30512-27" expectedexitcode="1" target="exe">
+		<file>Errors\30512-27.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="2019" name="30512-28" expectedexitcode="1" target="exe">
+		<file>Errors\30512-28.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="2020" name="30512-29" expectedexitcode="1" target="exe">
+		<file>Errors\30512-29.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="2021" name="30512-30" expectedexitcode="1" target="exe">
+		<file>Errors\30512-30.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="2022" name="30512-31" expectedexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30512-31.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="2023" name="30512-32" expectedexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30512-32.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="2024" name="30512-33" expectedexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30512-33.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="2025" name="30512-34" expectedexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30512-34.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="2026" name="30512-35" expectedexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30512-35.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="2027" name="30512-36" expectedexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30512-36.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="2028" name="30512-37" expectedexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30512-37.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="2029" name="30512-38" expectedexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30512-38.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="2030" name="30512-39" expectedexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30512-39.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="2031" name="30512-40" expectedexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30512-40.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="2032" name="30512-41" expectedexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30512-41.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="2033" name="30512-42" expectedexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30512-42.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="2034" name="30512-43" expectedexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30512-43.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="2035" name="30512-44" expectedexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30512-44.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="2036" name="30512-45" expectedexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30512-45.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="2037" name="30512-46" expectedexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30512-46.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="2038" name="30512-47" expectedexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30512-47.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="2039" name="30512-48" expectedexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30512-48.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="2040" name="30512-49" expectedexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30512-49.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="2041" name="30512-50" expectedexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30512-50.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="2042" name="30512-51" expectedexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30512-51.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="2043" name="30512-52" expectedexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30512-52.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="2044" name="30512-53" expectedexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30512-53.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="2045" name="30512-54" expectedexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30512-54.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="2046" name="30512-55" expectedexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30512-55.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="2047" name="30512-56" expectedexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30512-56.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="2048" name="30512-57" expectedexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30512-57.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="2049" name="30512-58" expectedexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30512-58.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="2050" name="30512-59" expectedexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30512-59.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="2051" name="30512-60" expectedexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30512-60.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="2052" name="30512-61" expectedexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30512-61.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="2053" name="30512-62" expectedexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30512-62.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="2054" name="30512-63" expectedexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30512-63.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="2055" name="30512-64" expectedexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30512-64.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="2056" name="30512-65" expectedexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30512-65.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="2057" name="30512-66" expectedexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30512-66.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="2058" name="30512-67" expectedexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30512-67.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="2059" name="30512-68" expectedexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30512-68.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="2060" name="30512-69" expectedexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30512-69.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="2061" name="30512-70" expectedexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30512-70.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="2062" name="30512-71" expectedexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30512-71.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="2063" name="30512-72" expectedexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30512-72.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="2064" name="30512-73" expectedexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30512-73.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="2065" name="30512-74" expectedexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30512-74.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="2066" name="30512-75" expectedexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30512-75.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="2067" name="30512-76" expectedexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30512-76.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="2068" name="30512-77" expectedexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30512-77.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="2069" name="30512-78" expectedexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30512-78.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="2070" name="30512-79" expectedexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30512-79.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="2071" name="30512-80" expectedexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30512-80.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="2072" name="30512-81" expectedexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30512-81.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="2073" name="30512-82" expectedexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30512-82.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="2074" name="30512-83" expectedexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30512-83.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="2075" name="30512-84" expectedexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30512-84.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="2076" name="30512-85" expectedexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30512-85.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="2077" name="30512-86" expectedexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30512-86.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="2078" name="30512-87" expectedexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30512-87.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="2079" name="30512-88" expectedexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30512-88.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="2080" name="30512-89" expectedexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30512-89.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="2081" name="30512-90" expectedexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30512-90.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="2082" name="30512-91" expectedexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30512-91.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="2083" name="30512-92" expectedexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30512-92.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="2084" name="30512-93" expectedexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30512-93.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="2085" name="30512-94" expectedexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30512-94.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="2086" name="30512-95" expectedexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30512-95.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="2087" name="30512-96" expectedexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30512-96.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="2088" name="30512-97" expectedexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30512-97.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="2089" name="30512-98" expectedexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30512-98.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="2090" name="30512-99" expectedexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30512-99.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="2091" name="30512-100" expectedexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30512-100.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="2092" name="30512-101" expectedexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30512-101.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="2093" name="30512-102" expectedexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30512-102.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="2094" name="30512-103" expectedexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30512-103.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="2095" name="30512-104" expectedexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30512-104.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="2096" name="30512-105" expectedexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30512-105.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="2097" name="30512-106" expectedexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30512-106.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="2098" name="30512-107" expectedexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30512-107.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="2099" name="30512-108" expectedexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30512-108.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="2100" name="30512-109" expectedexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30512-109.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="2101" name="30512-110" expectedexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30512-110.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="2102" name="30512-111" expectedexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30512-111.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="2103" name="30124" expectedexitcode="1">
+		<arguments>-r:System.Data.dll</arguments>
+		<file>Errors\30124.vb</file>
+		<error number="30124" />
+	</test>
+	<test id="2104" name="30491-1" expectedexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30491-1.vb</file>
+		<error number="30491" />
+	</test>
+	<test id="2105" name="30132" expectedexitcode="1" target="exe">
+		<file>Errors\30132.vb</file>
+		<error number="30132" />
+	</test>
+	<test id="2106" name="bug-680380" mytype="empty">
+		<file>Bugs\bug-680380.vb</file>
+	</test>
+	<test id="2106.2" name="30183" expectedexitcode="1">
+		<file>Errors\30183.vb</file>
+		<error line="11" number="30183" message="Keyword is not valid as an identifier." />
+		<error line="11" number="30203" message="Identifier expected." />
+		<error line="12" number="30203" message="Identifier expected." />
+		<error line="13" number="30203" message="Identifier expected." />
+		<error line="14" number="30623" message="'End Namespace' must be preceded by a matching 'Namespace'." />
+		<vbcerror line="11" number="30183" message="Keyword is not valid as an identifier." />
+	</test>
+	<test id="2107" name="30623" expectedexitcode="1">
+		<file>Errors\30623.vb</file>
+		<error number="30623" />
+	</test>
+	<test id="2108" name="TypeInferArray1" knownfailure="bug 444995" mytype="empty">
+		<file>CompileTime2\TypeInferArray1.vb</file>
+	</test>
+	<test id="2109" name="30369" expectedexitcode="1" target="exe">
+		<file>Errors\30369.vb</file>
+		<error number="30369" />
+	</test>
+	<test id="2110" name="30369-1" expectedexitcode="1" target="exe">
+		<file>Errors\30369-1.vb</file>
+		<error number="30369" />
+	</test>
+	<test id="2111" name="30369-2" expectedexitcode="1" target="exe">
+		<file>Errors\30369-2.vb</file>
+		<error number="30369" />
+	</test>
+	<test id="2112" name="30369-3" expectedexitcode="1" target="exe">
+		<file>Errors\30369-3.vb</file>
+		<error number="30369" />
+	</test>
+	<test id="2113" name="30369-4" expectedexitcode="1" target="exe">
+		<file>Errors\30369-4.vb</file>
+		<error number="30369" />
+	</test>
+	<test id="2114" name="30369-5" expectedexitcode="1" target="exe">
+		<file>Errors\30369-5.vb</file>
+		<error number="30369" />
+	</test>
+	<test id="2115" name="30469-1" expectedexitcode="1" target="exe">
+		<file>Errors\30469-1.vb</file>
+		<error number="30469" />
+	</test>
+	<test id="2116" name="30469-2" expectedexitcode="1" target="exe">
+		<file>Errors\30469-2.vb</file>
+		<error number="30469" />
+	</test>
+	<test id="2117" name="30469-3" expectedexitcode="1" target="exe">
+		<file>Errors\30469-3.vb</file>
+		<error number="30469" />
+	</test>
+	<test id="2118" name="30469-4" expectedexitcode="1" target="exe">
+		<file>Errors\30469-4.vb</file>
+		<error number="30469" />
+	</test>
+	<test id="2119" name="30469-5" expectedexitcode="1" target="exe">
+		<file>Errors\30469-5.vb</file>
+		<error number="30469" />
+	</test>
+	<test id="2120" name="30469-6" expectedexitcode="1" target="exe">
+		<file>Errors\30469-6.vb</file>
+		<error number="30469" />
+	</test>
+	<test id="2121" name="SharedExpressions1" mytype="empty">
+		<arguments>/nowarn</arguments>
+		<file>CompileTime2\SharedExpressions1.vb</file>
+	</test>
+	<test id="2122" name="30369-6" knownfailure="https://connect.microsoft.com/VisualStudio/feedback/details/648816/addhandler-statements-cant-access-shared-members-through-instance-field-property" expectedexitcode="1" expectedvbcexitcode="1">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30369-6.vb</file>
+		<error number="30369" />
+		<vbcerror number="30369" />
+	</test>
+	<test id="2123" name="30369-7" knownfailure="https://connect.microsoft.com/VisualStudio/feedback/details/648816/addhandler-statements-cant-access-shared-members-through-instance-field-property" expectedexitcode="1" expectedvbcexitcode="1">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30369-7.vb</file>
+		<error number="30369" />
+		<vbcerror number="30369" />
+	</test>
+	<test id="2124" name="30369-8" expectedexitcode="1">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30369-8.vb</file>
+		<error number="30369" />
+	</test>
+	<test id="2125" name="30369-9" expectedexitcode="1">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30369-9.vb</file>
+		<error number="30369" />
+	</test>
+	<test id="2126" name="30369-10" expectedexitcode="1">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30369-10.vb</file>
+		<error number="30369" />
+	</test>
+	<test id="2127" name="30369-11" expectedexitcode="1">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30369-11.vb</file>
+		<error number="30369" />
+	</test>
+	<test id="2128" name="30369-12" expectedexitcode="1">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30369-12.vb</file>
+		<error number="30369" />
+	</test>
+	<test id="2129" name="30369-13" expectedexitcode="1">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30369-13.vb</file>
+		<error number="30369" />
+	</test>
+	<test id="2130" name="bug-433952" mytype="empty">
+		<file>Bugs\bug-433952.vb</file>
+	</test>
+	<test id="2131" name="30519" knownfailure="Method resolution bug" expectedexitcode="1" target="exe">
+		<file>Errors\30519.vb</file>
+		<error number="30519" />
+	</test>
+	<test id="2132" name="TypeConversion" mytype="empty">
+		<arguments>/nowarn /define:STRICT=true</arguments>
+		<file>CompileTime2\TypeConversion.vb</file>
+	</test>
+	<test id="2133" name="30311-57" expectedexitcode="1" target="exe">
+		<file>Errors\30311-57.vb</file>
+		<error number="30311" />
+	</test>
+	<test id="2134" name="30311-58" expectedexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30311-58.vb</file>
+		<error number="30311" />
+	</test>
+	<test id="2135" name="30512-112" expectedexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30512-112.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="2136" name="30512-113" expectedexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30512-113.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="2137" name="30311-59" expectedexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30311-59.vb</file>
+		<error number="30311" />
+	</test>
+	<test id="2138" name="30311-60" expectedexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30311-60.vb</file>
+		<error number="30311" />
+	</test>
+	<test id="2139" name="30311-61" expectedexitcode="1">
+		<file>Errors\30311-61.vb</file>
+		<error number="30311" />
+	</test>
+	<test id="2140" name="30512-114" expectedexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30512-114.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="2141" name="30512-115" expectedexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30512-115.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="2142" name="30414" expectedexitcode="1" target="exe" mytype="empty">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30414.vb</file>
+		<error number="30414" />
+	</test>
+	<test id="2143" name="30332" knownfailure="todo" expectedexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30332.vb</file>
+		<error number="30332" />
+	</test>
+	<test id="2144" name="30332-1" expectedexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30332-1.vb</file>
+		<error number="30332" />
+	</test>
+	<test id="2145" name="30332-2" expectedexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30332-2.vb</file>
+		<error number="30332" />
+	</test>
+	<test id="2146" name="30332-3" expectedexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30332-3.vb</file>
+		<error number="30332" />
+	</test>
+	<test id="2147" name="30332-4" expectedexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30332-4.vb</file>
+		<error number="30332" />
+	</test>
+	<test id="2148" name="30332-5" expectedexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30332-5.vb</file>
+		<error number="30332" />
+	</test>
+	<test id="2149" name="30332-6" expectedexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30332-6.vb</file>
+		<error number="30332" />
+	</test>
+	<test id="2150" name="30332-7" expectedexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30332-7.vb</file>
+		<error number="30332" />
+	</test>
+	<test id="2151" name="30333" expectedexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30333.vb</file>
+		<error number="30333" />
+	</test>
+	<test id="2152" name="30333-1" expectedexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30333-1.vb</file>
+		<error number="30333" />
+	</test>
+	<test id="2153" name="30311-62" expectedexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30311-62.vb</file>
+		<error number="30311" />
+	</test>
+	<test id="2154" name="30311-63" expectedexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30311-63.vb</file>
+		<error number="30311" />
+	</test>
+	<test id="2155" name="30311-64" expectedexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30311-64.vb</file>
+		<error number="30311" />
+	</test>
+	<test id="2156" name="30512-116" expectedexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30512-116.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="2157" name="36758" expectedexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\36758.vb</file>
+		<error line="125" number="30311" message="Value of type 'S_ID`1<System.Object>' cannot be converted to 'ID`1<System.String>'." />
+		<vbcerror line="125" number="36758" message="'S_ID(Of Object)' cannot be converted to 'ID(Of String)'. Consider changing the 'T' in the definition of 'Interface ID(Of T)' to an In type parameter, 'In T'." />
+	</test>
+	<test id="2158" name="30311-65" expectedexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30311-65.vb</file>
+		<error number="30311" />
+	</test>
+	<test id="2159" name="30512-117" expectedexitcode="1" target="exe">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30512-117.vb</file>
+		<error number="30512" />
+	</test>
+	<test id="2160" name="TypeConversionStrictOff" mytype="empty">
+		<arguments>/nowarn</arguments>
+		<file>CompileTime2\TypeConversion.vb</file>
+	</test>
+	<test id="2161" name="30311-66" expectedexitcode="1" mytype="empty">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30311-66.vb</file>
+		<error number="30311" />
+	</test>
+	<test id="2162" name="30311-67" expectedexitcode="1" mytype="empty">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30311-67.vb</file>
+		<error number="30311" />
+	</test>
+	<test id="2163" name="30311-68" expectedvbcexitcode="1" mytype="empty">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30311-68.vb</file>
+		<description>https://connect.microsoft.com/VisualStudio/feedback/details/649358/option-strict-off-doesnt-allow-implicit-conversion-from-generic-type-parameter-to-a-derived-type-of-a-class-constraint</description>
+		<vbcerror line="6" number="30311" message="Value of type 'X' cannot be converted to 'D'." />
+	</test>
+	<test id="2164" name="TypeConversionIntrinsicChar" mytype="empty">
+		<arguments>/nowarn</arguments>
+		<file>CompileTime2\TypeConversionIntrinsicChar.vb</file>
+	</test>
+	<test id="2165" name="TypeConversionIntrinsicDateTimeStrict" mytype="empty">
+		<arguments>/optionstrict+ /define:STRICT /nowarn</arguments>
+		<file>CompileTime2\TypeConversionIntrinsicDateTime.vb</file>
+	</test>
+	<test id="2166" name="TypeConversionIntrinsicDateTime" mytype="empty">
+		<arguments>/nowarn</arguments>
+		<file>CompileTime2\TypeConversionIntrinsicDateTime.vb</file>
+	</test>
+	<test id="2167" name="TypeConversionIntrinsicDateTimeStrictErrors" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:ERRORS /define:STRICT /nowarn</arguments>
+		<file>CompileTime2\TypeConversionIntrinsicDateTime.vb</file>
+		<error line="6" number="30311" message="Value of type 'Boolean' cannot be converted to 'Date'." />
+		<error line="9" number="30311" message="Value of type 'Byte' cannot be converted to 'Date'." />
+		<error line="12" number="30311" message="Value of type 'SByte' cannot be converted to 'Date'." />
+		<error line="15" number="30311" message="Value of type 'Short' cannot be converted to 'Date'." />
+		<error line="18" number="30311" message="Value of type 'UShort' cannot be converted to 'Date'." />
+		<error line="21" number="30311" message="Value of type 'Integer' cannot be converted to 'Date'." />
+		<error line="24" number="30311" message="Value of type 'UInteger' cannot be converted to 'Date'." />
+		<error line="27" number="30311" message="Value of type 'Long' cannot be converted to 'Date'." />
+		<error line="30" number="30311" message="Value of type 'ULong' cannot be converted to 'Date'." />
+		<error line="33" number="30311" message="Value of type 'Decimal' cannot be converted to 'Date'." />
+		<error line="36" number="30311" message="Value of type 'Single' cannot be converted to 'Date'." />
+		<error line="39" number="30533" message="Conversion from 'Double' to 'Date' requires calling the 'Date.FromOADate' method." />
+		<error line="42" number="30311" message="Value of type 'Char' cannot be converted to 'Date'." />
+		<error line="45" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Date'." />
+		<error line="49" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'Date'." />
+		<error line="52" number="30512" message="Option Strict On disallows implicit conversions from 'Object' to 'Date'." />
+		<error line="58" number="30311" message="Value of type 'Boolean' cannot be converted to 'Date'." />
+		<error line="61" number="30311" message="Value of type 'Byte' cannot be converted to 'Date'." />
+		<error line="64" number="30311" message="Value of type 'SByte' cannot be converted to 'Date'." />
+		<error line="67" number="30311" message="Value of type 'Short' cannot be converted to 'Date'." />
+		<error line="70" number="30311" message="Value of type 'UShort' cannot be converted to 'Date'." />
+		<error line="73" number="30311" message="Value of type 'Integer' cannot be converted to 'Date'." />
+		<error line="76" number="30311" message="Value of type 'UInteger' cannot be converted to 'Date'." />
+		<error line="79" number="30311" message="Value of type 'Long' cannot be converted to 'Date'." />
+		<error line="82" number="30311" message="Value of type 'ULong' cannot be converted to 'Date'." />
+		<error line="85" number="30311" message="Value of type 'Decimal' cannot be converted to 'Date'." />
+		<error line="88" number="30311" message="Value of type 'Single' cannot be converted to 'Date'." />
+		<error line="91" number="30533" message="Conversion from 'Double' to 'Date' requires calling the 'Date.FromOADate' method." />
+		<error line="94" number="30311" message="Value of type 'Char' cannot be converted to 'Date'." />
+		<error line="97" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Date'." />
+		<error line="101" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'Date'." />
+		<error line="104" number="30512" message="Option Strict On disallows implicit conversions from 'Object' to 'Date'." />
+		<error line="110" number="30311" message="Value of type 'Boolean' cannot be converted to 'Date'." />
+		<error line="113" number="30311" message="Value of type 'Byte' cannot be converted to 'Date'." />
+		<error line="116" number="30311" message="Value of type 'SByte' cannot be converted to 'Date'." />
+		<error line="119" number="30311" message="Value of type 'Short' cannot be converted to 'Date'." />
+		<error line="122" number="30311" message="Value of type 'UShort' cannot be converted to 'Date'." />
+		<error line="125" number="30311" message="Value of type 'Integer' cannot be converted to 'Date'." />
+		<error line="128" number="30311" message="Value of type 'UInteger' cannot be converted to 'Date'." />
+		<error line="131" number="30311" message="Value of type 'Long' cannot be converted to 'Date'." />
+		<error line="134" number="30311" message="Value of type 'ULong' cannot be converted to 'Date'." />
+		<error line="137" number="30311" message="Value of type 'Decimal' cannot be converted to 'Date'." />
+		<error line="140" number="30311" message="Value of type 'Single' cannot be converted to 'Date'." />
+		<error line="143" number="30533" message="Conversion from 'Double' to 'Date' requires calling the 'Date.FromOADate' method." />
+		<error line="146" number="30311" message="Value of type 'Char' cannot be converted to 'Date'." />
+		<error line="149" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Date'." />
+		<error line="153" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'Date'." />
+		<error line="156" number="30512" message="Option Strict On disallows implicit conversions from 'Object' to 'Date'." />
+		<error line="161" number="30311" message="Value of type 'Boolean' cannot be converted to 'Date'." />
+		<error line="164" number="30311" message="Value of type 'Byte' cannot be converted to 'Date'." />
+		<error line="167" number="30311" message="Value of type 'SByte' cannot be converted to 'Date'." />
+		<error line="170" number="30311" message="Value of type 'Short' cannot be converted to 'Date'." />
+		<error line="173" number="30311" message="Value of type 'UShort' cannot be converted to 'Date'." />
+		<error line="176" number="30311" message="Value of type 'Integer' cannot be converted to 'Date'." />
+		<error line="179" number="30311" message="Value of type 'UInteger' cannot be converted to 'Date'." />
+		<error line="182" number="30311" message="Value of type 'Long' cannot be converted to 'Date'." />
+		<error line="185" number="30311" message="Value of type 'ULong' cannot be converted to 'Date'." />
+		<error line="188" number="30311" message="Value of type 'Decimal' cannot be converted to 'Date'." />
+		<error line="191" number="30311" message="Value of type 'Single' cannot be converted to 'Date'." />
+		<error line="194" number="30533" message="Conversion from 'Double' to 'Date' requires calling the 'Date.FromOADate' method." />
+		<error line="197" number="30311" message="Value of type 'Char' cannot be converted to 'Date'." />
+		<error line="200" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Date'." />
+		<error line="204" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'Date'." />
+		<error line="207" number="30512" message="Option Strict On disallows implicit conversions from 'Object' to 'Date'." />
+	</test>
+	<test id="2168" name="TypeConversionIntrinsicDateTimeErrors" expectedexitcode="1" mytype="empty">
+		<arguments>/define:ERRORS /nowarn</arguments>
+		<file>CompileTime2\TypeConversionIntrinsicDateTime.vb</file>
+		<error line="6" number="30311" message="Value of type 'Boolean' cannot be converted to 'Date'." />
+		<error line="9" number="30311" message="Value of type 'Byte' cannot be converted to 'Date'." />
+		<error line="12" number="30311" message="Value of type 'SByte' cannot be converted to 'Date'." />
+		<error line="15" number="30311" message="Value of type 'Short' cannot be converted to 'Date'." />
+		<error line="18" number="30311" message="Value of type 'UShort' cannot be converted to 'Date'." />
+		<error line="21" number="30311" message="Value of type 'Integer' cannot be converted to 'Date'." />
+		<error line="24" number="30311" message="Value of type 'UInteger' cannot be converted to 'Date'." />
+		<error line="27" number="30311" message="Value of type 'Long' cannot be converted to 'Date'." />
+		<error line="30" number="30311" message="Value of type 'ULong' cannot be converted to 'Date'." />
+		<error line="33" number="30311" message="Value of type 'Decimal' cannot be converted to 'Date'." />
+		<error line="36" number="30311" message="Value of type 'Single' cannot be converted to 'Date'." />
+		<error line="39" number="30533" message="Conversion from 'Double' to 'Date' requires calling the 'Date.FromOADate' method." />
+		<error line="42" number="30311" message="Value of type 'Char' cannot be converted to 'Date'." />
+		<error line="49" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'Date'." />
+		<error line="58" number="30311" message="Value of type 'Boolean' cannot be converted to 'Date'." />
+		<error line="61" number="30311" message="Value of type 'Byte' cannot be converted to 'Date'." />
+		<error line="64" number="30311" message="Value of type 'SByte' cannot be converted to 'Date'." />
+		<error line="67" number="30311" message="Value of type 'Short' cannot be converted to 'Date'." />
+		<error line="70" number="30311" message="Value of type 'UShort' cannot be converted to 'Date'." />
+		<error line="73" number="30311" message="Value of type 'Integer' cannot be converted to 'Date'." />
+		<error line="76" number="30311" message="Value of type 'UInteger' cannot be converted to 'Date'." />
+		<error line="79" number="30311" message="Value of type 'Long' cannot be converted to 'Date'." />
+		<error line="82" number="30311" message="Value of type 'ULong' cannot be converted to 'Date'." />
+		<error line="85" number="30311" message="Value of type 'Decimal' cannot be converted to 'Date'." />
+		<error line="88" number="30311" message="Value of type 'Single' cannot be converted to 'Date'." />
+		<error line="91" number="30533" message="Conversion from 'Double' to 'Date' requires calling the 'Date.FromOADate' method." />
+		<error line="94" number="30311" message="Value of type 'Char' cannot be converted to 'Date'." />
+		<error line="101" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'Date'." />
+		<error line="110" number="30311" message="Value of type 'Boolean' cannot be converted to 'Date'." />
+		<error line="113" number="30311" message="Value of type 'Byte' cannot be converted to 'Date'." />
+		<error line="116" number="30311" message="Value of type 'SByte' cannot be converted to 'Date'." />
+		<error line="119" number="30311" message="Value of type 'Short' cannot be converted to 'Date'." />
+		<error line="122" number="30311" message="Value of type 'UShort' cannot be converted to 'Date'." />
+		<error line="125" number="30311" message="Value of type 'Integer' cannot be converted to 'Date'." />
+		<error line="128" number="30311" message="Value of type 'UInteger' cannot be converted to 'Date'." />
+		<error line="131" number="30311" message="Value of type 'Long' cannot be converted to 'Date'." />
+		<error line="134" number="30311" message="Value of type 'ULong' cannot be converted to 'Date'." />
+		<error line="137" number="30311" message="Value of type 'Decimal' cannot be converted to 'Date'." />
+		<error line="140" number="30311" message="Value of type 'Single' cannot be converted to 'Date'." />
+		<error line="143" number="30533" message="Conversion from 'Double' to 'Date' requires calling the 'Date.FromOADate' method." />
+		<error line="146" number="30311" message="Value of type 'Char' cannot be converted to 'Date'." />
+		<error line="153" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'Date'." />
+		<error line="161" number="30311" message="Value of type 'Boolean' cannot be converted to 'Date'." />
+		<error line="164" number="30311" message="Value of type 'Byte' cannot be converted to 'Date'." />
+		<error line="167" number="30311" message="Value of type 'SByte' cannot be converted to 'Date'." />
+		<error line="170" number="30311" message="Value of type 'Short' cannot be converted to 'Date'." />
+		<error line="173" number="30311" message="Value of type 'UShort' cannot be converted to 'Date'." />
+		<error line="176" number="30311" message="Value of type 'Integer' cannot be converted to 'Date'." />
+		<error line="179" number="30311" message="Value of type 'UInteger' cannot be converted to 'Date'." />
+		<error line="182" number="30311" message="Value of type 'Long' cannot be converted to 'Date'." />
+		<error line="185" number="30311" message="Value of type 'ULong' cannot be converted to 'Date'." />
+		<error line="188" number="30311" message="Value of type 'Decimal' cannot be converted to 'Date'." />
+		<error line="191" number="30311" message="Value of type 'Single' cannot be converted to 'Date'." />
+		<error line="194" number="30533" message="Conversion from 'Double' to 'Date' requires calling the 'Date.FromOADate' method." />
+		<error line="197" number="30311" message="Value of type 'Char' cannot be converted to 'Date'." />
+		<error line="204" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'Date'." />
+	</test>
+	<test id="2169" name="TypeConversionIntrinsicCharStrict" mytype="empty">
+		<arguments>/optionstrict+ /define:STRICT /nowarn</arguments>
+		<file>CompileTime2\TypeConversionIntrinsicChar.vb</file>
+	</test>
+	<test id="2170" name="TypeConversionIntrinsicCharError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:ERRORS /quiet /nowarn</arguments>
+		<file>CompileTime2\TypeConversionIntrinsicChar.vb</file>
+		<error line="6" number="30311" message="Value of type 'Boolean' cannot be converted to 'Char'." />
+		<error line="9" number="32007" message="'Byte' values cannot be converted to 'Char'. Use 'Microsoft.VisualBasic.ChrW' to interpret a numeric value as a Unicode character or first convert it to 'String' to produce a digit." />
+		<error line="12" number="32007" message="'SByte' values cannot be converted to 'Char'. Use 'Microsoft.VisualBasic.ChrW' to interpret a numeric value as a Unicode character or first convert it to 'String' to produce a digit." />
+		<error line="15" number="32007" message="'Short' values cannot be converted to 'Char'. Use 'Microsoft.VisualBasic.ChrW' to interpret a numeric value as a Unicode character or first convert it to 'String' to produce a digit." />
+		<error line="18" number="32007" message="'UShort' values cannot be converted to 'Char'. Use 'Microsoft.VisualBasic.ChrW' to interpret a numeric value as a Unicode character or first convert it to 'String' to produce a digit." />
+		<error line="21" number="32007" message="'Integer' values cannot be converted to 'Char'. Use 'Microsoft.VisualBasic.ChrW' to interpret a numeric value as a Unicode character or first convert it to 'String' to produce a digit." />
+		<error line="24" number="32007" message="'UInteger' values cannot be converted to 'Char'. Use 'Microsoft.VisualBasic.ChrW' to interpret a numeric value as a Unicode character or first convert it to 'String' to produce a digit." />
+		<error line="27" number="32007" message="'Long' values cannot be converted to 'Char'. Use 'Microsoft.VisualBasic.ChrW' to interpret a numeric value as a Unicode character or first convert it to 'String' to produce a digit." />
+		<error line="30" number="32007" message="'ULong' values cannot be converted to 'Char'. Use 'Microsoft.VisualBasic.ChrW' to interpret a numeric value as a Unicode character or first convert it to 'String' to produce a digit." />
+		<error line="33" number="30311" message="Value of type 'Decimal' cannot be converted to 'Char'." />
+		<error line="36" number="30311" message="Value of type 'Single' cannot be converted to 'Char'." />
+		<error line="39" number="30311" message="Value of type 'Double' cannot be converted to 'Char'." />
+		<error line="46" number="30311" message="Value of type 'Date' cannot be converted to 'Char'." />
+		<error line="49" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'Char'." />
+		<error line="58" number="30311" message="Value of type 'Boolean' cannot be converted to 'Char'." />
+		<error line="61" number="32007" message="'Byte' values cannot be converted to 'Char'. Use 'Microsoft.VisualBasic.ChrW' to interpret a numeric value as a Unicode character or first convert it to 'String' to produce a digit." />
+		<error line="64" number="32007" message="'SByte' values cannot be converted to 'Char'. Use 'Microsoft.VisualBasic.ChrW' to interpret a numeric value as a Unicode character or first convert it to 'String' to produce a digit." />
+		<error line="67" number="32007" message="'Short' values cannot be converted to 'Char'. Use 'Microsoft.VisualBasic.ChrW' to interpret a numeric value as a Unicode character or first convert it to 'String' to produce a digit." />
+		<error line="70" number="32007" message="'UShort' values cannot be converted to 'Char'. Use 'Microsoft.VisualBasic.ChrW' to interpret a numeric value as a Unicode character or first convert it to 'String' to produce a digit." />
+		<error line="73" number="32007" message="'Integer' values cannot be converted to 'Char'. Use 'Microsoft.VisualBasic.ChrW' to interpret a numeric value as a Unicode character or first convert it to 'String' to produce a digit." />
+		<error line="76" number="32007" message="'UInteger' values cannot be converted to 'Char'. Use 'Microsoft.VisualBasic.ChrW' to interpret a numeric value as a Unicode character or first convert it to 'String' to produce a digit." />
+		<error line="79" number="32007" message="'Long' values cannot be converted to 'Char'. Use 'Microsoft.VisualBasic.ChrW' to interpret a numeric value as a Unicode character or first convert it to 'String' to produce a digit." />
+		<error line="82" number="32007" message="'ULong' values cannot be converted to 'Char'. Use 'Microsoft.VisualBasic.ChrW' to interpret a numeric value as a Unicode character or first convert it to 'String' to produce a digit." />
+		<error line="85" number="30311" message="Value of type 'Decimal' cannot be converted to 'Char'." />
+		<error line="88" number="30311" message="Value of type 'Single' cannot be converted to 'Char'." />
+		<error line="91" number="30311" message="Value of type 'Double' cannot be converted to 'Char'." />
+		<error line="98" number="30311" message="Value of type 'Date' cannot be converted to 'Char'." />
+		<error line="101" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'Char'." />
+		<error line="110" number="30311" message="Value of type 'Boolean' cannot be converted to 'Char'." />
+		<error line="113" number="32007" message="'Byte' values cannot be converted to 'Char'. Use 'Microsoft.VisualBasic.ChrW' to interpret a numeric value as a Unicode character or first convert it to 'String' to produce a digit." />
+		<error line="116" number="32007" message="'SByte' values cannot be converted to 'Char'. Use 'Microsoft.VisualBasic.ChrW' to interpret a numeric value as a Unicode character or first convert it to 'String' to produce a digit." />
+		<error line="119" number="32007" message="'Short' values cannot be converted to 'Char'. Use 'Microsoft.VisualBasic.ChrW' to interpret a numeric value as a Unicode character or first convert it to 'String' to produce a digit." />
+		<error line="122" number="32007" message="'UShort' values cannot be converted to 'Char'. Use 'Microsoft.VisualBasic.ChrW' to interpret a numeric value as a Unicode character or first convert it to 'String' to produce a digit." />
+		<error line="125" number="32007" message="'Integer' values cannot be converted to 'Char'. Use 'Microsoft.VisualBasic.ChrW' to interpret a numeric value as a Unicode character or first convert it to 'String' to produce a digit." />
+		<error line="128" number="32007" message="'UInteger' values cannot be converted to 'Char'. Use 'Microsoft.VisualBasic.ChrW' to interpret a numeric value as a Unicode character or first convert it to 'String' to produce a digit." />
+		<error line="131" number="32007" message="'Long' values cannot be converted to 'Char'. Use 'Microsoft.VisualBasic.ChrW' to interpret a numeric value as a Unicode character or first convert it to 'String' to produce a digit." />
+		<error line="134" number="32007" message="'ULong' values cannot be converted to 'Char'. Use 'Microsoft.VisualBasic.ChrW' to interpret a numeric value as a Unicode character or first convert it to 'String' to produce a digit." />
+		<error line="137" number="30311" message="Value of type 'Decimal' cannot be converted to 'Char'." />
+		<error line="140" number="30311" message="Value of type 'Single' cannot be converted to 'Char'." />
+		<error line="143" number="30311" message="Value of type 'Double' cannot be converted to 'Char'." />
+		<error line="150" number="30311" message="Value of type 'Date' cannot be converted to 'Char'." />
+		<error line="153" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'Char'." />
+		<error line="161" number="30311" message="Value of type 'Boolean' cannot be converted to 'Char'." />
+		<error line="164" number="32007" message="'Byte' values cannot be converted to 'Char'. Use 'Microsoft.VisualBasic.ChrW' to interpret a numeric value as a Unicode character or first convert it to 'String' to produce a digit." />
+		<error line="167" number="32007" message="'SByte' values cannot be converted to 'Char'. Use 'Microsoft.VisualBasic.ChrW' to interpret a numeric value as a Unicode character or first convert it to 'String' to produce a digit." />
+		<error line="170" number="32007" message="'Short' values cannot be converted to 'Char'. Use 'Microsoft.VisualBasic.ChrW' to interpret a numeric value as a Unicode character or first convert it to 'String' to produce a digit." />
+		<error line="173" number="32007" message="'UShort' values cannot be converted to 'Char'. Use 'Microsoft.VisualBasic.ChrW' to interpret a numeric value as a Unicode character or first convert it to 'String' to produce a digit." />
+		<error line="176" number="32007" message="'Integer' values cannot be converted to 'Char'. Use 'Microsoft.VisualBasic.ChrW' to interpret a numeric value as a Unicode character or first convert it to 'String' to produce a digit." />
+		<error line="179" number="32007" message="'UInteger' values cannot be converted to 'Char'. Use 'Microsoft.VisualBasic.ChrW' to interpret a numeric value as a Unicode character or first convert it to 'String' to produce a digit." />
+		<error line="182" number="32007" message="'Long' values cannot be converted to 'Char'. Use 'Microsoft.VisualBasic.ChrW' to interpret a numeric value as a Unicode character or first convert it to 'String' to produce a digit." />
+		<error line="185" number="32007" message="'ULong' values cannot be converted to 'Char'. Use 'Microsoft.VisualBasic.ChrW' to interpret a numeric value as a Unicode character or first convert it to 'String' to produce a digit." />
+		<error line="188" number="30311" message="Value of type 'Decimal' cannot be converted to 'Char'." />
+		<error line="191" number="30311" message="Value of type 'Single' cannot be converted to 'Char'." />
+		<error line="194" number="30311" message="Value of type 'Double' cannot be converted to 'Char'." />
+		<error line="201" number="30311" message="Value of type 'Date' cannot be converted to 'Char'." />
+		<error line="204" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'Char'." />
+	</test>
+	<test id="2171" name="TypeConversionIntrinsicCharStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:ERRORS /define:STRICT /nowarn</arguments>
+		<file>CompileTime2\TypeConversionIntrinsicChar.vb</file>
+		<error line="6" number="30311" message="Value of type 'Boolean' cannot be converted to 'Char'." />
+		<error line="9" number="32007" message="'Byte' values cannot be converted to 'Char'. Use 'Microsoft.VisualBasic.ChrW' to interpret a numeric value as a Unicode character or first convert it to 'String' to produce a digit." />
+		<error line="12" number="32007" message="'SByte' values cannot be converted to 'Char'. Use 'Microsoft.VisualBasic.ChrW' to interpret a numeric value as a Unicode character or first convert it to 'String' to produce a digit." />
+		<error line="15" number="32007" message="'Short' values cannot be converted to 'Char'. Use 'Microsoft.VisualBasic.ChrW' to interpret a numeric value as a Unicode character or first convert it to 'String' to produce a digit." />
+		<error line="18" number="32007" message="'UShort' values cannot be converted to 'Char'. Use 'Microsoft.VisualBasic.ChrW' to interpret a numeric value as a Unicode character or first convert it to 'String' to produce a digit." />
+		<error line="21" number="32007" message="'Integer' values cannot be converted to 'Char'. Use 'Microsoft.VisualBasic.ChrW' to interpret a numeric value as a Unicode character or first convert it to 'String' to produce a digit." />
+		<error line="24" number="32007" message="'UInteger' values cannot be converted to 'Char'. Use 'Microsoft.VisualBasic.ChrW' to interpret a numeric value as a Unicode character or first convert it to 'String' to produce a digit." />
+		<error line="27" number="32007" message="'Long' values cannot be converted to 'Char'. Use 'Microsoft.VisualBasic.ChrW' to interpret a numeric value as a Unicode character or first convert it to 'String' to produce a digit." />
+		<error line="30" number="32007" message="'ULong' values cannot be converted to 'Char'. Use 'Microsoft.VisualBasic.ChrW' to interpret a numeric value as a Unicode character or first convert it to 'String' to produce a digit." />
+		<error line="33" number="30311" message="Value of type 'Decimal' cannot be converted to 'Char'." />
+		<error line="36" number="30311" message="Value of type 'Single' cannot be converted to 'Char'." />
+		<error line="39" number="30311" message="Value of type 'Double' cannot be converted to 'Char'." />
+		<error line="43" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Char'." />
+		<error line="46" number="30311" message="Value of type 'Date' cannot be converted to 'Char'." />
+		<error line="49" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'Char'." />
+		<error line="52" number="30512" message="Option Strict On disallows implicit conversions from 'Object' to 'Char'." />
+		<error line="58" number="30311" message="Value of type 'Boolean' cannot be converted to 'Char'." />
+		<error line="61" number="32007" message="'Byte' values cannot be converted to 'Char'. Use 'Microsoft.VisualBasic.ChrW' to interpret a numeric value as a Unicode character or first convert it to 'String' to produce a digit." />
+		<error line="64" number="32007" message="'SByte' values cannot be converted to 'Char'. Use 'Microsoft.VisualBasic.ChrW' to interpret a numeric value as a Unicode character or first convert it to 'String' to produce a digit." />
+		<error line="67" number="32007" message="'Short' values cannot be converted to 'Char'. Use 'Microsoft.VisualBasic.ChrW' to interpret a numeric value as a Unicode character or first convert it to 'String' to produce a digit." />
+		<error line="70" number="32007" message="'UShort' values cannot be converted to 'Char'. Use 'Microsoft.VisualBasic.ChrW' to interpret a numeric value as a Unicode character or first convert it to 'String' to produce a digit." />
+		<error line="73" number="32007" message="'Integer' values cannot be converted to 'Char'. Use 'Microsoft.VisualBasic.ChrW' to interpret a numeric value as a Unicode character or first convert it to 'String' to produce a digit." />
+		<error line="76" number="32007" message="'UInteger' values cannot be converted to 'Char'. Use 'Microsoft.VisualBasic.ChrW' to interpret a numeric value as a Unicode character or first convert it to 'String' to produce a digit." />
+		<error line="79" number="32007" message="'Long' values cannot be converted to 'Char'. Use 'Microsoft.VisualBasic.ChrW' to interpret a numeric value as a Unicode character or first convert it to 'String' to produce a digit." />
+		<error line="82" number="32007" message="'ULong' values cannot be converted to 'Char'. Use 'Microsoft.VisualBasic.ChrW' to interpret a numeric value as a Unicode character or first convert it to 'String' to produce a digit." />
+		<error line="85" number="30311" message="Value of type 'Decimal' cannot be converted to 'Char'." />
+		<error line="88" number="30311" message="Value of type 'Single' cannot be converted to 'Char'." />
+		<error line="91" number="30311" message="Value of type 'Double' cannot be converted to 'Char'." />
+		<error line="95" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Char'." />
+		<error line="98" number="30311" message="Value of type 'Date' cannot be converted to 'Char'." />
+		<error line="101" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'Char'." />
+		<error line="104" number="30512" message="Option Strict On disallows implicit conversions from 'Object' to 'Char'." />
+		<error line="110" number="30311" message="Value of type 'Boolean' cannot be converted to 'Char'." />
+		<error line="113" number="32007" message="'Byte' values cannot be converted to 'Char'. Use 'Microsoft.VisualBasic.ChrW' to interpret a numeric value as a Unicode character or first convert it to 'String' to produce a digit." />
+		<error line="116" number="32007" message="'SByte' values cannot be converted to 'Char'. Use 'Microsoft.VisualBasic.ChrW' to interpret a numeric value as a Unicode character or first convert it to 'String' to produce a digit." />
+		<error line="119" number="32007" message="'Short' values cannot be converted to 'Char'. Use 'Microsoft.VisualBasic.ChrW' to interpret a numeric value as a Unicode character or first convert it to 'String' to produce a digit." />
+		<error line="122" number="32007" message="'UShort' values cannot be converted to 'Char'. Use 'Microsoft.VisualBasic.ChrW' to interpret a numeric value as a Unicode character or first convert it to 'String' to produce a digit." />
+		<error line="125" number="32007" message="'Integer' values cannot be converted to 'Char'. Use 'Microsoft.VisualBasic.ChrW' to interpret a numeric value as a Unicode character or first convert it to 'String' to produce a digit." />
+		<error line="128" number="32007" message="'UInteger' values cannot be converted to 'Char'. Use 'Microsoft.VisualBasic.ChrW' to interpret a numeric value as a Unicode character or first convert it to 'String' to produce a digit." />
+		<error line="131" number="32007" message="'Long' values cannot be converted to 'Char'. Use 'Microsoft.VisualBasic.ChrW' to interpret a numeric value as a Unicode character or first convert it to 'String' to produce a digit." />
+		<error line="134" number="32007" message="'ULong' values cannot be converted to 'Char'. Use 'Microsoft.VisualBasic.ChrW' to interpret a numeric value as a Unicode character or first convert it to 'String' to produce a digit." />
+		<error line="137" number="30311" message="Value of type 'Decimal' cannot be converted to 'Char'." />
+		<error line="140" number="30311" message="Value of type 'Single' cannot be converted to 'Char'." />
+		<error line="143" number="30311" message="Value of type 'Double' cannot be converted to 'Char'." />
+		<error line="147" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Char'." />
+		<error line="150" number="30311" message="Value of type 'Date' cannot be converted to 'Char'." />
+		<error line="153" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'Char'." />
+		<error line="156" number="30512" message="Option Strict On disallows implicit conversions from 'Object' to 'Char'." />
+		<error line="161" number="30311" message="Value of type 'Boolean' cannot be converted to 'Char'." />
+		<error line="164" number="32007" message="'Byte' values cannot be converted to 'Char'. Use 'Microsoft.VisualBasic.ChrW' to interpret a numeric value as a Unicode character or first convert it to 'String' to produce a digit." />
+		<error line="167" number="32007" message="'SByte' values cannot be converted to 'Char'. Use 'Microsoft.VisualBasic.ChrW' to interpret a numeric value as a Unicode character or first convert it to 'String' to produce a digit." />
+		<error line="170" number="32007" message="'Short' values cannot be converted to 'Char'. Use 'Microsoft.VisualBasic.ChrW' to interpret a numeric value as a Unicode character or first convert it to 'String' to produce a digit." />
+		<error line="173" number="32007" message="'UShort' values cannot be converted to 'Char'. Use 'Microsoft.VisualBasic.ChrW' to interpret a numeric value as a Unicode character or first convert it to 'String' to produce a digit." />
+		<error line="176" number="32007" message="'Integer' values cannot be converted to 'Char'. Use 'Microsoft.VisualBasic.ChrW' to interpret a numeric value as a Unicode character or first convert it to 'String' to produce a digit." />
+		<error line="179" number="32007" message="'UInteger' values cannot be converted to 'Char'. Use 'Microsoft.VisualBasic.ChrW' to interpret a numeric value as a Unicode character or first convert it to 'String' to produce a digit." />
+		<error line="182" number="32007" message="'Long' values cannot be converted to 'Char'. Use 'Microsoft.VisualBasic.ChrW' to interpret a numeric value as a Unicode character or first convert it to 'String' to produce a digit." />
+		<error line="185" number="32007" message="'ULong' values cannot be converted to 'Char'. Use 'Microsoft.VisualBasic.ChrW' to interpret a numeric value as a Unicode character or first convert it to 'String' to produce a digit." />
+		<error line="188" number="30311" message="Value of type 'Decimal' cannot be converted to 'Char'." />
+		<error line="191" number="30311" message="Value of type 'Single' cannot be converted to 'Char'." />
+		<error line="194" number="30311" message="Value of type 'Double' cannot be converted to 'Char'." />
+		<error line="198" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Char'." />
+		<error line="201" number="30311" message="Value of type 'Date' cannot be converted to 'Char'." />
+		<error line="204" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'Char'." />
+		<error line="207" number="30512" message="Option Strict On disallows implicit conversions from 'Object' to 'Char'." />
+		<vbcerror line="6" number="30311" message="Value of type 'Boolean' cannot be converted to 'Char'." />
+		<vbcerror line="9" number="32007" message="'Byte' values cannot be converted to 'Char'. Use 'Microsoft.VisualBasic.ChrW' to interpret a numeric value as a Unicode character or first convert it to 'String' to produce a digit." />
+		<vbcerror line="12" number="32007" message="'SByte' values cannot be converted to 'Char'. Use 'Microsoft.VisualBasic.ChrW' to interpret a numeric value as a Unicode character or first convert it to 'String' to produce a digit." />
+		<vbcerror line="15" number="32007" message="'Short' values cannot be converted to 'Char'. Use 'Microsoft.VisualBasic.ChrW' to interpret a numeric value as a Unicode character or first convert it to 'String' to produce a digit." />
+		<vbcerror line="18" number="32007" message="'UShort' values cannot be converted to 'Char'. Use 'Microsoft.VisualBasic.ChrW' to interpret a numeric value as a Unicode character or first convert it to 'String' to produce a digit." />
+		<vbcerror line="21" number="32007" message="'Integer' values cannot be converted to 'Char'. Use 'Microsoft.VisualBasic.ChrW' to interpret a numeric value as a Unicode character or first convert it to 'String' to produce a digit." />
+		<vbcerror line="24" number="32007" message="'UInteger' values cannot be converted to 'Char'. Use 'Microsoft.VisualBasic.ChrW' to interpret a numeric value as a Unicode character or first convert it to 'String' to produce a digit." />
+		<vbcerror line="27" number="32007" message="'Long' values cannot be converted to 'Char'. Use 'Microsoft.VisualBasic.ChrW' to interpret a numeric value as a Unicode character or first convert it to 'String' to produce a digit." />
+		<vbcerror line="30" number="32007" message="'ULong' values cannot be converted to 'Char'. Use 'Microsoft.VisualBasic.ChrW' to interpret a numeric value as a Unicode character or first convert it to 'String' to produce a digit." />
+		<vbcerror line="33" number="30311" message="Value of type 'Decimal' cannot be converted to 'Char'." />
+		<vbcerror line="36" number="30311" message="Value of type 'Single' cannot be converted to 'Char'." />
+		<vbcerror line="39" number="30311" message="Value of type 'Double' cannot be converted to 'Char'." />
+		<vbcerror line="43" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Char'." />
+		<vbcerror line="46" number="30311" message="Value of type 'Date' cannot be converted to 'Char'." />
+		<vbcerror line="49" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'Char'." />
+		<vbcerror line="52" number="30512" message="Option Strict On disallows implicit conversions from 'Object' to 'Char'." />
+		<vbcerror line="58" number="30311" message="Value of type 'Boolean' cannot be converted to 'Char'." />
+		<vbcerror line="61" number="32007" message="'Byte' values cannot be converted to 'Char'. Use 'Microsoft.VisualBasic.ChrW' to interpret a numeric value as a Unicode character or first convert it to 'String' to produce a digit." />
+		<vbcerror line="64" number="32007" message="'SByte' values cannot be converted to 'Char'. Use 'Microsoft.VisualBasic.ChrW' to interpret a numeric value as a Unicode character or first convert it to 'String' to produce a digit." />
+		<vbcerror line="67" number="32007" message="'Short' values cannot be converted to 'Char'. Use 'Microsoft.VisualBasic.ChrW' to interpret a numeric value as a Unicode character or first convert it to 'String' to produce a digit." />
+		<vbcerror line="70" number="32007" message="'UShort' values cannot be converted to 'Char'. Use 'Microsoft.VisualBasic.ChrW' to interpret a numeric value as a Unicode character or first convert it to 'String' to produce a digit." />
+		<vbcerror line="73" number="32007" message="'Integer' values cannot be converted to 'Char'. Use 'Microsoft.VisualBasic.ChrW' to interpret a numeric value as a Unicode character or first convert it to 'String' to produce a digit." />
+		<vbcerror line="76" number="32007" message="'UInteger' values cannot be converted to 'Char'. Use 'Microsoft.VisualBasic.ChrW' to interpret a numeric value as a Unicode character or first convert it to 'String' to produce a digit." />
+		<vbcerror line="79" number="32007" message="'Long' values cannot be converted to 'Char'. Use 'Microsoft.VisualBasic.ChrW' to interpret a numeric value as a Unicode character or first convert it to 'String' to produce a digit." />
+		<vbcerror line="82" number="32007" message="'ULong' values cannot be converted to 'Char'. Use 'Microsoft.VisualBasic.ChrW' to interpret a numeric value as a Unicode character or first convert it to 'String' to produce a digit." />
+		<vbcerror line="85" number="30311" message="Value of type 'Decimal' cannot be converted to 'Char'." />
+		<vbcerror line="88" number="30311" message="Value of type 'Single' cannot be converted to 'Char'." />
+		<vbcerror line="91" number="30311" message="Value of type 'Double' cannot be converted to 'Char'." />
+		<vbcerror line="95" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Char'." />
+		<vbcerror line="98" number="30311" message="Value of type 'Date' cannot be converted to 'Char'." />
+		<vbcerror line="101" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'Char'." />
+		<vbcerror line="104" number="30512" message="Option Strict On disallows implicit conversions from 'Object' to 'Char'." />
+		<vbcerror line="110" number="30311" message="Value of type 'Boolean' cannot be converted to 'Char'." />
+		<vbcerror line="113" number="32007" message="'Byte' values cannot be converted to 'Char'. Use 'Microsoft.VisualBasic.ChrW' to interpret a numeric value as a Unicode character or first convert it to 'String' to produce a digit." />
+		<vbcerror line="116" number="32007" message="'SByte' values cannot be converted to 'Char'. Use 'Microsoft.VisualBasic.ChrW' to interpret a numeric value as a Unicode character or first convert it to 'String' to produce a digit." />
+		<vbcerror line="119" number="32007" message="'Short' values cannot be converted to 'Char'. Use 'Microsoft.VisualBasic.ChrW' to interpret a numeric value as a Unicode character or first convert it to 'String' to produce a digit." />
+		<vbcerror line="122" number="32007" message="'UShort' values cannot be converted to 'Char'. Use 'Microsoft.VisualBasic.ChrW' to interpret a numeric value as a Unicode character or first convert it to 'String' to produce a digit." />
+		<vbcerror line="125" number="32007" message="'Integer' values cannot be converted to 'Char'. Use 'Microsoft.VisualBasic.ChrW' to interpret a numeric value as a Unicode character or first convert it to 'String' to produce a digit." />
+		<vbcerror line="128" number="32007" message="'UInteger' values cannot be converted to 'Char'. Use 'Microsoft.VisualBasic.ChrW' to interpret a numeric value as a Unicode character or first convert it to 'String' to produce a digit." />
+		<vbcerror line="131" number="32007" message="'Long' values cannot be converted to 'Char'. Use 'Microsoft.VisualBasic.ChrW' to interpret a numeric value as a Unicode character or first convert it to 'String' to produce a digit." />
+		<vbcerror line="134" number="32007" message="'ULong' values cannot be converted to 'Char'. Use 'Microsoft.VisualBasic.ChrW' to interpret a numeric value as a Unicode character or first convert it to 'String' to produce a digit." />
+		<vbcerror line="137" number="30311" message="Value of type 'Decimal' cannot be converted to 'Char'." />
+		<vbcerror line="140" number="30311" message="Value of type 'Single' cannot be converted to 'Char'." />
+		<vbcerror line="143" number="30311" message="Value of type 'Double' cannot be converted to 'Char'." />
+		<vbcerror line="147" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Char'." />
+		<vbcerror line="150" number="30311" message="Value of type 'Date' cannot be converted to 'Char'." />
+		<vbcerror line="153" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'Char'." />
+		<vbcerror line="156" number="30512" message="Option Strict On disallows implicit conversions from 'Object' to 'Char'." />
+		<vbcerror line="161" number="30311" message="Value of type 'Boolean' cannot be converted to 'Char'." />
+		<vbcerror line="164" number="32007" message="'Byte' values cannot be converted to 'Char'. Use 'Microsoft.VisualBasic.ChrW' to interpret a numeric value as a Unicode character or first convert it to 'String' to produce a digit." />
+		<vbcerror line="167" number="32007" message="'SByte' values cannot be converted to 'Char'. Use 'Microsoft.VisualBasic.ChrW' to interpret a numeric value as a Unicode character or first convert it to 'String' to produce a digit." />
+		<vbcerror line="170" number="32007" message="'Short' values cannot be converted to 'Char'. Use 'Microsoft.VisualBasic.ChrW' to interpret a numeric value as a Unicode character or first convert it to 'String' to produce a digit." />
+		<vbcerror line="173" number="32007" message="'UShort' values cannot be converted to 'Char'. Use 'Microsoft.VisualBasic.ChrW' to interpret a numeric value as a Unicode character or first convert it to 'String' to produce a digit." />
+		<vbcerror line="176" number="32007" message="'Integer' values cannot be converted to 'Char'. Use 'Microsoft.VisualBasic.ChrW' to interpret a numeric value as a Unicode character or first convert it to 'String' to produce a digit." />
+		<vbcerror line="179" number="32007" message="'UInteger' values cannot be converted to 'Char'. Use 'Microsoft.VisualBasic.ChrW' to interpret a numeric value as a Unicode character or first convert it to 'String' to produce a digit." />
+		<vbcerror line="182" number="32007" message="'Long' values cannot be converted to 'Char'. Use 'Microsoft.VisualBasic.ChrW' to interpret a numeric value as a Unicode character or first convert it to 'String' to produce a digit." />
+		<vbcerror line="185" number="32007" message="'ULong' values cannot be converted to 'Char'. Use 'Microsoft.VisualBasic.ChrW' to interpret a numeric value as a Unicode character or first convert it to 'String' to produce a digit." />
+		<vbcerror line="188" number="30311" message="Value of type 'Decimal' cannot be converted to 'Char'." />
+		<vbcerror line="191" number="30311" message="Value of type 'Single' cannot be converted to 'Char'." />
+		<vbcerror line="194" number="30311" message="Value of type 'Double' cannot be converted to 'Char'." />
+		<vbcerror line="198" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Char'." />
+		<vbcerror line="201" number="30311" message="Value of type 'Date' cannot be converted to 'Char'." />
+		<vbcerror line="204" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'Char'." />
+		<vbcerror line="207" number="30512" message="Option Strict On disallows implicit conversions from 'Object' to 'Char'." />
+	</test>
+	<test id="2172" name="TypeConversionIntrinsicBoolean" mytype="empty">
+		<arguments>/nowarn</arguments>
+		<file>CompileTime2\TypeConversionIntrinsicBoolean.vb</file>
+	</test>
+	<test id="2173" name="TypeConversionIntrinsicBooleanError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:ERRORS  /nowarn</arguments>
+		<file>CompileTime2\TypeConversionIntrinsicBoolean.vb</file>
+		<error line="40" number="30311" message="Value of type 'Char' cannot be converted to 'Boolean'." />
+		<error line="46" number="30311" message="Value of type 'Date' cannot be converted to 'Boolean'." />
+		<error line="49" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'Boolean'." />
+		<error line="92" number="30311" message="Value of type 'Char' cannot be converted to 'Boolean'." />
+		<error line="98" number="30311" message="Value of type 'Date' cannot be converted to 'Boolean'." />
+		<error line="101" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'Boolean'." />
+		<error line="144" number="30311" message="Value of type 'Char' cannot be converted to 'Boolean'." />
+		<error line="150" number="30311" message="Value of type 'Date' cannot be converted to 'Boolean'." />
+		<error line="153" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'Boolean'." />
+		<error line="195" number="30311" message="Value of type 'Char' cannot be converted to 'Boolean'." />
+		<error line="201" number="30311" message="Value of type 'Date' cannot be converted to 'Boolean'." />
+		<error line="204" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'Boolean'." />
+	</test>
+	<test id="2174" name="TypeConversionIntrinsicBooleanStrict" mytype="empty">
+		<arguments>/optionstrict+ /define:STRICT</arguments>
+		<file>CompileTime2\TypeConversionIntrinsicBoolean.vb</file>
+		<error line="3" number="42024" message="Unused local variable: 'i_byte'." />
+		<error line="3" number="42024" message="Unused local variable: 'i_sbyte'." />
+		<error line="3" number="42024" message="Unused local variable: 'i_short'." />
+		<error line="3" number="42024" message="Unused local variable: 'i_ushort'." />
+		<error line="3" number="42024" message="Unused local variable: 'i_int'." />
+		<error line="3" number="42024" message="Unused local variable: 'i_uint'." />
+		<error line="3" number="42024" message="Unused local variable: 'i_long'." />
+		<error line="3" number="42024" message="Unused local variable: 'i_ulong'." />
+		<error line="3" number="42024" message="Unused local variable: 'i_dec'." />
+		<error line="3" number="42024" message="Unused local variable: 'i_sng'." />
+		<error line="3" number="42024" message="Unused local variable: 'i_dbl'." />
+		<error line="3" number="42024" message="Unused local variable: 'i_chr'." />
+		<error line="3" number="42024" message="Unused local variable: 'i_str'." />
+		<error line="3" number="42024" message="Unused local variable: 'i_dt'." />
+		<error line="3" number="42024" message="Unused local variable: 'i_dbnull'." />
+		<error line="3" number="42024" message="Unused local variable: 'i_obj'." />
+		<error line="4" number="42024" message="Unused local variable: 'o_byte'." />
+		<error line="4" number="42024" message="Unused local variable: 'o_sbyte'." />
+		<error line="4" number="42024" message="Unused local variable: 'o_short'." />
+		<error line="4" number="42024" message="Unused local variable: 'o_ushort'." />
+		<error line="4" number="42024" message="Unused local variable: 'o_int'." />
+		<error line="4" number="42024" message="Unused local variable: 'o_uint'." />
+		<error line="4" number="42024" message="Unused local variable: 'o_long'." />
+		<error line="4" number="42024" message="Unused local variable: 'o_ulong'." />
+		<error line="4" number="42024" message="Unused local variable: 'o_dec'." />
+		<error line="4" number="42024" message="Unused local variable: 'o_sng'." />
+		<error line="4" number="42024" message="Unused local variable: 'o_dbl'." />
+		<error line="4" number="42024" message="Unused local variable: 'o_chr'." />
+		<error line="4" number="42024" message="Unused local variable: 'o_str'." />
+		<error line="4" number="42024" message="Unused local variable: 'o_dt'." />
+		<error line="4" number="42024" message="Unused local variable: 'o_dbnull'." />
+		<error line="4" number="42024" message="Unused local variable: 'o_obj'." />
+		<error line="56" number="42024" message="Unused local variable: 'i_byte'." />
+		<error line="56" number="42024" message="Unused local variable: 'i_sbyte'." />
+		<error line="56" number="42024" message="Unused local variable: 'i_short'." />
+		<error line="56" number="42024" message="Unused local variable: 'i_ushort'." />
+		<error line="56" number="42024" message="Unused local variable: 'i_int'." />
+		<error line="56" number="42024" message="Unused local variable: 'i_uint'." />
+		<error line="56" number="42024" message="Unused local variable: 'i_long'." />
+		<error line="56" number="42024" message="Unused local variable: 'i_ulong'." />
+		<error line="56" number="42024" message="Unused local variable: 'i_dec'." />
+		<error line="56" number="42024" message="Unused local variable: 'i_sng'." />
+		<error line="56" number="42024" message="Unused local variable: 'i_dbl'." />
+		<error line="56" number="42024" message="Unused local variable: 'i_chr'." />
+		<error line="56" number="42024" message="Unused local variable: 'i_str'." />
+		<error line="56" number="42024" message="Unused local variable: 'i_dt'." />
+		<error line="56" number="42024" message="Unused local variable: 'i_dbnull'." />
+		<error line="56" number="42024" message="Unused local variable: 'i_obj'." />
+		<error line="108" number="42024" message="Unused local variable: 'o_byte'." />
+		<error line="108" number="42024" message="Unused local variable: 'o_sbyte'." />
+		<error line="108" number="42024" message="Unused local variable: 'o_short'." />
+		<error line="108" number="42024" message="Unused local variable: 'o_ushort'." />
+		<error line="108" number="42024" message="Unused local variable: 'o_int'." />
+		<error line="108" number="42024" message="Unused local variable: 'o_uint'." />
+		<error line="108" number="42024" message="Unused local variable: 'o_long'." />
+		<error line="108" number="42024" message="Unused local variable: 'o_ulong'." />
+		<error line="108" number="42024" message="Unused local variable: 'o_dec'." />
+		<error line="108" number="42024" message="Unused local variable: 'o_sng'." />
+		<error line="108" number="42024" message="Unused local variable: 'o_dbl'." />
+		<error line="108" number="42024" message="Unused local variable: 'o_chr'." />
+		<error line="108" number="42024" message="Unused local variable: 'o_str'." />
+		<error line="108" number="42024" message="Unused local variable: 'o_dt'." />
+		<error line="108" number="42024" message="Unused local variable: 'o_dbnull'." />
+		<error line="108" number="42024" message="Unused local variable: 'o_obj'." />
+	</test>
+	<test id="2175" name="TypeConversionIntrinsicBooleanStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:ERRORS /define:STRICT /nowarn</arguments>
+		<file>CompileTime2\TypeConversionIntrinsicBoolean.vb</file>
+		<error line="7" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'Boolean'." />
+		<error line="10" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'Boolean'." />
+		<error line="13" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'Boolean'." />
+		<error line="16" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'Boolean'." />
+		<error line="19" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'Boolean'." />
+		<error line="22" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'Boolean'." />
+		<error line="25" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'Boolean'." />
+		<error line="28" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Boolean'." />
+		<error line="31" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Boolean'." />
+		<error line="34" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Boolean'." />
+		<error line="37" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Boolean'." />
+		<error line="40" number="30311" message="Value of type 'Char' cannot be converted to 'Boolean'." />
+		<error line="43" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Boolean'." />
+		<error line="46" number="30311" message="Value of type 'Date' cannot be converted to 'Boolean'." />
+		<error line="49" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'Boolean'." />
+		<error line="52" number="30512" message="Option Strict On disallows implicit conversions from 'Object' to 'Boolean'." />
+		<error line="59" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'Boolean'." />
+		<error line="62" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'Boolean'." />
+		<error line="65" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'Boolean'." />
+		<error line="68" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'Boolean'." />
+		<error line="71" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'Boolean'." />
+		<error line="74" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'Boolean'." />
+		<error line="77" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'Boolean'." />
+		<error line="80" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Boolean'." />
+		<error line="83" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Boolean'." />
+		<error line="86" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Boolean'." />
+		<error line="89" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Boolean'." />
+		<error line="92" number="30311" message="Value of type 'Char' cannot be converted to 'Boolean'." />
+		<error line="95" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Boolean'." />
+		<error line="98" number="30311" message="Value of type 'Date' cannot be converted to 'Boolean'." />
+		<error line="101" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'Boolean'." />
+		<error line="104" number="30512" message="Option Strict On disallows implicit conversions from 'Object' to 'Boolean'." />
+		<error line="111" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'Boolean'." />
+		<error line="114" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'Boolean'." />
+		<error line="117" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'Boolean'." />
+		<error line="120" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'Boolean'." />
+		<error line="123" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'Boolean'." />
+		<error line="126" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'Boolean'." />
+		<error line="129" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'Boolean'." />
+		<error line="132" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Boolean'." />
+		<error line="135" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Boolean'." />
+		<error line="138" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Boolean'." />
+		<error line="141" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Boolean'." />
+		<error line="144" number="30311" message="Value of type 'Char' cannot be converted to 'Boolean'." />
+		<error line="147" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Boolean'." />
+		<error line="150" number="30311" message="Value of type 'Date' cannot be converted to 'Boolean'." />
+		<error line="153" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'Boolean'." />
+		<error line="156" number="30512" message="Option Strict On disallows implicit conversions from 'Object' to 'Boolean'." />
+		<error line="162" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'Boolean'." />
+		<error line="165" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'Boolean'." />
+		<error line="168" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'Boolean'." />
+		<error line="171" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'Boolean'." />
+		<error line="174" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'Boolean'." />
+		<error line="177" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'Boolean'." />
+		<error line="180" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'Boolean'." />
+		<error line="183" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Boolean'." />
+		<error line="186" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Boolean'." />
+		<error line="189" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Boolean'." />
+		<error line="192" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Boolean'." />
+		<error line="195" number="30311" message="Value of type 'Char' cannot be converted to 'Boolean'." />
+		<error line="198" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Boolean'." />
+		<error line="201" number="30311" message="Value of type 'Date' cannot be converted to 'Boolean'." />
+		<error line="204" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'Boolean'." />
+		<error line="207" number="30512" message="Option Strict On disallows implicit conversions from 'Object' to 'Boolean'." />
+	</test>
+	<test id="2176" name="TypeConversionIntrinsicString" mytype="empty">
+		<arguments>/nowarn</arguments>
+		<file>CompileTime2\TypeConversionIntrinsicString.vb</file>
+	</test>
+	<test id="2177" name="TypeConversionIntrinsicStringStrict" mytype="empty">
+		<arguments>/optionstrict+ /define:STRICT /nowarn</arguments>
+		<file>CompileTime2\TypeConversionIntrinsicString.vb</file>
+	</test>
+	<test id="2178" name="TypeConversionIntrinsicStringError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:ERRORS /nowarn</arguments>
+		<file>CompileTime2\TypeConversionIntrinsicString.vb</file>
+		<error line="49" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'String'." />
+		<error line="101" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'String'." />
+		<error line="153" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'String'." />
+		<error line="204" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'String'." />
+	</test>
+	<test id="2179" name="TypeConversionIntrinsicStringStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:ERRORS /define:STRICT /nowarn</arguments>
+		<file>CompileTime2\TypeConversionIntrinsicString.vb</file>
+		<error line="6" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'String'." />
+		<error line="9" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'String'." />
+		<error line="12" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'String'." />
+		<error line="15" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'String'." />
+		<error line="18" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'String'." />
+		<error line="21" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'String'." />
+		<error line="24" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'String'." />
+		<error line="27" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'String'." />
+		<error line="30" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'String'." />
+		<error line="33" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'String'." />
+		<error line="36" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'String'." />
+		<error line="39" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'String'." />
+		<error line="46" number="30512" message="Option Strict On disallows implicit conversions from 'Date' to 'String'." />
+		<error line="49" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'String'." />
+		<error line="52" number="30512" message="Option Strict On disallows implicit conversions from 'Object' to 'String'." />
+		<error line="58" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'String'." />
+		<error line="61" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'String'." />
+		<error line="64" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'String'." />
+		<error line="67" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'String'." />
+		<error line="70" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'String'." />
+		<error line="73" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'String'." />
+		<error line="76" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'String'." />
+		<error line="79" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'String'." />
+		<error line="82" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'String'." />
+		<error line="85" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'String'." />
+		<error line="88" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'String'." />
+		<error line="91" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'String'." />
+		<error line="98" number="30512" message="Option Strict On disallows implicit conversions from 'Date' to 'String'." />
+		<error line="101" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'String'." />
+		<error line="104" number="30512" message="Option Strict On disallows implicit conversions from 'Object' to 'String'." />
+		<error line="110" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'String'." />
+		<error line="113" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'String'." />
+		<error line="116" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'String'." />
+		<error line="119" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'String'." />
+		<error line="122" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'String'." />
+		<error line="125" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'String'." />
+		<error line="128" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'String'." />
+		<error line="131" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'String'." />
+		<error line="134" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'String'." />
+		<error line="137" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'String'." />
+		<error line="140" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'String'." />
+		<error line="143" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'String'." />
+		<error line="150" number="30512" message="Option Strict On disallows implicit conversions from 'Date' to 'String'." />
+		<error line="153" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'String'." />
+		<error line="156" number="30512" message="Option Strict On disallows implicit conversions from 'Object' to 'String'." />
+		<error line="161" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'String'." />
+		<error line="164" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'String'." />
+		<error line="167" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'String'." />
+		<error line="170" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'String'." />
+		<error line="173" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'String'." />
+		<error line="176" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'String'." />
+		<error line="179" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'String'." />
+		<error line="182" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'String'." />
+		<error line="185" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'String'." />
+		<error line="188" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'String'." />
+		<error line="191" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'String'." />
+		<error line="194" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'String'." />
+		<error line="201" number="30512" message="Option Strict On disallows implicit conversions from 'Date' to 'String'." />
+		<error line="204" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'String'." />
+		<error line="207" number="30512" message="Option Strict On disallows implicit conversions from 'Object' to 'String'." />
+	</test>
+	<test id="2180" name="TypeConversionIntrinsicObject" mytype="empty">
+		<arguments>/nowarn</arguments>
+		<file>CompileTime2\TypeConversionIntrinsicObject.vb</file>
+	</test>
+	<test id="2181" name="TypeConversionIntrinsicObjectError" mytype="empty">
+		<arguments>/define:ERRORS /nowarn</arguments>
+		<file>CompileTime2\TypeConversionIntrinsicObject.vb</file>
+	</test>
+	<test id="2182" name="TypeConversionIntrinsicObjectStrict" mytype="empty">
+		<arguments>/optionstrict+ /define:STRICT /nowarn</arguments>
+		<file>CompileTime2\TypeConversionIntrinsicObject.vb</file>
+	</test>
+	<test id="2183" name="TypeConversionIntrinsicObjectStrictError" mytype="empty">
+		<arguments>/optionstrict+ /define:ERRORS /define:STRICT /nowarn</arguments>
+		<file>CompileTime2\TypeConversionIntrinsicObject.vb</file>
+	</test>
+	<test id="2184" name="TypeConversionIntrinsicDBNull" mytype="empty">
+		<arguments>/nowarn</arguments>
+		<file>CompileTime2\TypeConversionIntrinsicDBNull.vb</file>
+	</test>
+	<test id="2185" name="TypeConversionIntrinsicDBNullError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:ERRORS /nowarn</arguments>
+		<file>CompileTime2\TypeConversionIntrinsicDBNull.vb</file>
+		<error line="6" number="30311" message="Value of type 'Boolean' cannot be converted to 'System.DBNull'." />
+		<error line="9" number="30311" message="Value of type 'Byte' cannot be converted to 'System.DBNull'." />
+		<error line="12" number="30311" message="Value of type 'SByte' cannot be converted to 'System.DBNull'." />
+		<error line="15" number="30311" message="Value of type 'Short' cannot be converted to 'System.DBNull'." />
+		<error line="18" number="30311" message="Value of type 'UShort' cannot be converted to 'System.DBNull'." />
+		<error line="21" number="30311" message="Value of type 'Integer' cannot be converted to 'System.DBNull'." />
+		<error line="24" number="30311" message="Value of type 'UInteger' cannot be converted to 'System.DBNull'." />
+		<error line="27" number="30311" message="Value of type 'Long' cannot be converted to 'System.DBNull'." />
+		<error line="30" number="30311" message="Value of type 'ULong' cannot be converted to 'System.DBNull'." />
+		<error line="33" number="30311" message="Value of type 'Decimal' cannot be converted to 'System.DBNull'." />
+		<error line="36" number="30311" message="Value of type 'Single' cannot be converted to 'System.DBNull'." />
+		<error line="39" number="30311" message="Value of type 'Double' cannot be converted to 'System.DBNull'." />
+		<error line="42" number="30311" message="Value of type 'Char' cannot be converted to 'System.DBNull'." />
+		<error line="45" number="30311" message="Value of type 'String' cannot be converted to 'System.DBNull'." />
+		<error line="48" number="30311" message="Value of type 'Date' cannot be converted to 'System.DBNull'." />
+		<error line="60" number="30311" message="Value of type 'Boolean' cannot be converted to 'System.DBNull'." />
+		<error line="63" number="30311" message="Value of type 'Byte' cannot be converted to 'System.DBNull'." />
+		<error line="66" number="30311" message="Value of type 'SByte' cannot be converted to 'System.DBNull'." />
+		<error line="69" number="30311" message="Value of type 'Short' cannot be converted to 'System.DBNull'." />
+		<error line="72" number="30311" message="Value of type 'UShort' cannot be converted to 'System.DBNull'." />
+		<error line="75" number="30311" message="Value of type 'Integer' cannot be converted to 'System.DBNull'." />
+		<error line="78" number="30311" message="Value of type 'UInteger' cannot be converted to 'System.DBNull'." />
+		<error line="81" number="30311" message="Value of type 'Long' cannot be converted to 'System.DBNull'." />
+		<error line="84" number="30311" message="Value of type 'ULong' cannot be converted to 'System.DBNull'." />
+		<error line="87" number="30311" message="Value of type 'Decimal' cannot be converted to 'System.DBNull'." />
+		<error line="90" number="30311" message="Value of type 'Single' cannot be converted to 'System.DBNull'." />
+		<error line="93" number="30311" message="Value of type 'Double' cannot be converted to 'System.DBNull'." />
+		<error line="96" number="30311" message="Value of type 'Char' cannot be converted to 'System.DBNull'." />
+		<error line="99" number="30311" message="Value of type 'String' cannot be converted to 'System.DBNull'." />
+		<error line="102" number="30311" message="Value of type 'Date' cannot be converted to 'System.DBNull'." />
+		<error line="114" number="30311" message="Value of type 'Boolean' cannot be converted to 'System.DBNull'." />
+		<error line="117" number="30311" message="Value of type 'Byte' cannot be converted to 'System.DBNull'." />
+		<error line="120" number="30311" message="Value of type 'SByte' cannot be converted to 'System.DBNull'." />
+		<error line="123" number="30311" message="Value of type 'Short' cannot be converted to 'System.DBNull'." />
+		<error line="126" number="30311" message="Value of type 'UShort' cannot be converted to 'System.DBNull'." />
+		<error line="129" number="30311" message="Value of type 'Integer' cannot be converted to 'System.DBNull'." />
+		<error line="132" number="30311" message="Value of type 'UInteger' cannot be converted to 'System.DBNull'." />
+		<error line="135" number="30311" message="Value of type 'Long' cannot be converted to 'System.DBNull'." />
+		<error line="138" number="30311" message="Value of type 'ULong' cannot be converted to 'System.DBNull'." />
+		<error line="141" number="30311" message="Value of type 'Decimal' cannot be converted to 'System.DBNull'." />
+		<error line="144" number="30311" message="Value of type 'Single' cannot be converted to 'System.DBNull'." />
+		<error line="147" number="30311" message="Value of type 'Double' cannot be converted to 'System.DBNull'." />
+		<error line="150" number="30311" message="Value of type 'Char' cannot be converted to 'System.DBNull'." />
+		<error line="153" number="30311" message="Value of type 'String' cannot be converted to 'System.DBNull'." />
+		<error line="156" number="30311" message="Value of type 'Date' cannot be converted to 'System.DBNull'." />
+		<error line="167" number="30311" message="Value of type 'Boolean' cannot be converted to 'System.DBNull'." />
+		<error line="170" number="30311" message="Value of type 'Byte' cannot be converted to 'System.DBNull'." />
+		<error line="173" number="30311" message="Value of type 'SByte' cannot be converted to 'System.DBNull'." />
+		<error line="176" number="30311" message="Value of type 'Short' cannot be converted to 'System.DBNull'." />
+		<error line="179" number="30311" message="Value of type 'UShort' cannot be converted to 'System.DBNull'." />
+		<error line="182" number="30311" message="Value of type 'Integer' cannot be converted to 'System.DBNull'." />
+		<error line="185" number="30311" message="Value of type 'UInteger' cannot be converted to 'System.DBNull'." />
+		<error line="188" number="30311" message="Value of type 'Long' cannot be converted to 'System.DBNull'." />
+		<error line="191" number="30311" message="Value of type 'ULong' cannot be converted to 'System.DBNull'." />
+		<error line="194" number="30311" message="Value of type 'Decimal' cannot be converted to 'System.DBNull'." />
+		<error line="197" number="30311" message="Value of type 'Single' cannot be converted to 'System.DBNull'." />
+		<error line="200" number="30311" message="Value of type 'Double' cannot be converted to 'System.DBNull'." />
+		<error line="203" number="30311" message="Value of type 'Char' cannot be converted to 'System.DBNull'." />
+		<error line="206" number="30311" message="Value of type 'String' cannot be converted to 'System.DBNull'." />
+		<error line="209" number="30311" message="Value of type 'Date' cannot be converted to 'System.DBNull'." />
+	</test>
+	<test id="2186" name="TypeConversionIntrinsicDBNullStrict" mytype="empty">
+		<arguments>/optionstrict+ /define:STRICT /nowarn</arguments>
+		<file>CompileTime2\TypeConversionIntrinsicDBNull.vb</file>
+	</test>
+	<test id="2187" name="TypeConversionIntrinsicDBNullStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:ERRORS /define:STRICT /nowarn</arguments>
+		<file>CompileTime2\TypeConversionIntrinsicDBNull.vb</file>
+		<error line="6" number="30311" message="Value of type 'Boolean' cannot be converted to 'System.DBNull'." />
+		<error line="9" number="30311" message="Value of type 'Byte' cannot be converted to 'System.DBNull'." />
+		<error line="12" number="30311" message="Value of type 'SByte' cannot be converted to 'System.DBNull'." />
+		<error line="15" number="30311" message="Value of type 'Short' cannot be converted to 'System.DBNull'." />
+		<error line="18" number="30311" message="Value of type 'UShort' cannot be converted to 'System.DBNull'." />
+		<error line="21" number="30311" message="Value of type 'Integer' cannot be converted to 'System.DBNull'." />
+		<error line="24" number="30311" message="Value of type 'UInteger' cannot be converted to 'System.DBNull'." />
+		<error line="27" number="30311" message="Value of type 'Long' cannot be converted to 'System.DBNull'." />
+		<error line="30" number="30311" message="Value of type 'ULong' cannot be converted to 'System.DBNull'." />
+		<error line="33" number="30311" message="Value of type 'Decimal' cannot be converted to 'System.DBNull'." />
+		<error line="36" number="30311" message="Value of type 'Single' cannot be converted to 'System.DBNull'." />
+		<error line="39" number="30311" message="Value of type 'Double' cannot be converted to 'System.DBNull'." />
+		<error line="42" number="30311" message="Value of type 'Char' cannot be converted to 'System.DBNull'." />
+		<error line="45" number="30311" message="Value of type 'String' cannot be converted to 'System.DBNull'." />
+		<error line="48" number="30311" message="Value of type 'Date' cannot be converted to 'System.DBNull'." />
+		<error line="54" number="30512" message="Option Strict On disallows implicit conversions from 'Object' to 'System.DBNull'." />
+		<error line="60" number="30311" message="Value of type 'Boolean' cannot be converted to 'System.DBNull'." />
+		<error line="63" number="30311" message="Value of type 'Byte' cannot be converted to 'System.DBNull'." />
+		<error line="66" number="30311" message="Value of type 'SByte' cannot be converted to 'System.DBNull'." />
+		<error line="69" number="30311" message="Value of type 'Short' cannot be converted to 'System.DBNull'." />
+		<error line="72" number="30311" message="Value of type 'UShort' cannot be converted to 'System.DBNull'." />
+		<error line="75" number="30311" message="Value of type 'Integer' cannot be converted to 'System.DBNull'." />
+		<error line="78" number="30311" message="Value of type 'UInteger' cannot be converted to 'System.DBNull'." />
+		<error line="81" number="30311" message="Value of type 'Long' cannot be converted to 'System.DBNull'." />
+		<error line="84" number="30311" message="Value of type 'ULong' cannot be converted to 'System.DBNull'." />
+		<error line="87" number="30311" message="Value of type 'Decimal' cannot be converted to 'System.DBNull'." />
+		<error line="90" number="30311" message="Value of type 'Single' cannot be converted to 'System.DBNull'." />
+		<error line="93" number="30311" message="Value of type 'Double' cannot be converted to 'System.DBNull'." />
+		<error line="96" number="30311" message="Value of type 'Char' cannot be converted to 'System.DBNull'." />
+		<error line="99" number="30311" message="Value of type 'String' cannot be converted to 'System.DBNull'." />
+		<error line="102" number="30311" message="Value of type 'Date' cannot be converted to 'System.DBNull'." />
+		<error line="108" number="30512" message="Option Strict On disallows implicit conversions from 'Object' to 'System.DBNull'." />
+		<error line="114" number="30311" message="Value of type 'Boolean' cannot be converted to 'System.DBNull'." />
+		<error line="117" number="30311" message="Value of type 'Byte' cannot be converted to 'System.DBNull'." />
+		<error line="120" number="30311" message="Value of type 'SByte' cannot be converted to 'System.DBNull'." />
+		<error line="123" number="30311" message="Value of type 'Short' cannot be converted to 'System.DBNull'." />
+		<error line="126" number="30311" message="Value of type 'UShort' cannot be converted to 'System.DBNull'." />
+		<error line="129" number="30311" message="Value of type 'Integer' cannot be converted to 'System.DBNull'." />
+		<error line="132" number="30311" message="Value of type 'UInteger' cannot be converted to 'System.DBNull'." />
+		<error line="135" number="30311" message="Value of type 'Long' cannot be converted to 'System.DBNull'." />
+		<error line="138" number="30311" message="Value of type 'ULong' cannot be converted to 'System.DBNull'." />
+		<error line="141" number="30311" message="Value of type 'Decimal' cannot be converted to 'System.DBNull'." />
+		<error line="144" number="30311" message="Value of type 'Single' cannot be converted to 'System.DBNull'." />
+		<error line="147" number="30311" message="Value of type 'Double' cannot be converted to 'System.DBNull'." />
+		<error line="150" number="30311" message="Value of type 'Char' cannot be converted to 'System.DBNull'." />
+		<error line="153" number="30311" message="Value of type 'String' cannot be converted to 'System.DBNull'." />
+		<error line="156" number="30311" message="Value of type 'Date' cannot be converted to 'System.DBNull'." />
+		<error line="162" number="30512" message="Option Strict On disallows implicit conversions from 'Object' to 'System.DBNull'." />
+		<error line="167" number="30311" message="Value of type 'Boolean' cannot be converted to 'System.DBNull'." />
+		<error line="170" number="30311" message="Value of type 'Byte' cannot be converted to 'System.DBNull'." />
+		<error line="173" number="30311" message="Value of type 'SByte' cannot be converted to 'System.DBNull'." />
+		<error line="176" number="30311" message="Value of type 'Short' cannot be converted to 'System.DBNull'." />
+		<error line="179" number="30311" message="Value of type 'UShort' cannot be converted to 'System.DBNull'." />
+		<error line="182" number="30311" message="Value of type 'Integer' cannot be converted to 'System.DBNull'." />
+		<error line="185" number="30311" message="Value of type 'UInteger' cannot be converted to 'System.DBNull'." />
+		<error line="188" number="30311" message="Value of type 'Long' cannot be converted to 'System.DBNull'." />
+		<error line="191" number="30311" message="Value of type 'ULong' cannot be converted to 'System.DBNull'." />
+		<error line="194" number="30311" message="Value of type 'Decimal' cannot be converted to 'System.DBNull'." />
+		<error line="197" number="30311" message="Value of type 'Single' cannot be converted to 'System.DBNull'." />
+		<error line="200" number="30311" message="Value of type 'Double' cannot be converted to 'System.DBNull'." />
+		<error line="203" number="30311" message="Value of type 'Char' cannot be converted to 'System.DBNull'." />
+		<error line="206" number="30311" message="Value of type 'String' cannot be converted to 'System.DBNull'." />
+		<error line="209" number="30311" message="Value of type 'Date' cannot be converted to 'System.DBNull'." />
+		<error line="215" number="30512" message="Option Strict On disallows implicit conversions from 'Object' to 'System.DBNull'." />
+	</test>
+	<test id="2188" name="TypeConversionIntrinsicDecimal" mytype="empty">
+		<arguments>/nowarn</arguments>
+		<file>CompileTime2\TypeConversionIntrinsicDecimal.vb</file>
+	</test>
+	<test id="2189" name="TypeConversionIntrinsicDecimalError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:ERRORS /nowarn</arguments>
+		<file>CompileTime2\TypeConversionIntrinsicDecimal.vb</file>
+		<error line="40" number="30311" message="Value of type 'Char' cannot be converted to 'Decimal'." />
+		<error line="46" number="30311" message="Value of type 'Date' cannot be converted to 'Decimal'." />
+		<error line="49" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'Decimal'." />
+		<error line="92" number="30311" message="Value of type 'Char' cannot be converted to 'Decimal'." />
+		<error line="98" number="30311" message="Value of type 'Date' cannot be converted to 'Decimal'." />
+		<error line="101" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'Decimal'." />
+		<error line="144" number="30311" message="Value of type 'Char' cannot be converted to 'Decimal'." />
+		<error line="150" number="30311" message="Value of type 'Date' cannot be converted to 'Decimal'." />
+		<error line="153" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'Decimal'." />
+		<error line="195" number="30311" message="Value of type 'Char' cannot be converted to 'Decimal'." />
+		<error line="201" number="30311" message="Value of type 'Date' cannot be converted to 'Decimal'." />
+		<error line="204" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'Decimal'." />
+	</test>
+	<test id="2190" name="TypeConversionIntrinsicDecimalStrict" mytype="empty">
+		<arguments>/optionstrict+ /define:STRICT /nowarn</arguments>
+		<file>CompileTime2\TypeConversionIntrinsicDecimal.vb</file>
+	</test>
+	<test id="2191" name="TypeConversionIntrinsicDecimalStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:ERRORS /define:STRICT /nowarn</arguments>
+		<file>CompileTime2\TypeConversionIntrinsicDecimal.vb</file>
+		<error line="6" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Decimal'." />
+		<error line="34" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Decimal'." />
+		<error line="37" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Decimal'." />
+		<error line="40" number="30311" message="Value of type 'Char' cannot be converted to 'Decimal'." />
+		<error line="43" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Decimal'." />
+		<error line="46" number="30311" message="Value of type 'Date' cannot be converted to 'Decimal'." />
+		<error line="49" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'Decimal'." />
+		<error line="52" number="30512" message="Option Strict On disallows implicit conversions from 'Object' to 'Decimal'." />
+		<error line="58" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Decimal'." />
+		<error line="86" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Decimal'." />
+		<error line="89" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Decimal'." />
+		<error line="92" number="30311" message="Value of type 'Char' cannot be converted to 'Decimal'." />
+		<error line="95" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Decimal'." />
+		<error line="98" number="30311" message="Value of type 'Date' cannot be converted to 'Decimal'." />
+		<error line="101" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'Decimal'." />
+		<error line="104" number="30512" message="Option Strict On disallows implicit conversions from 'Object' to 'Decimal'." />
+		<error line="110" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Decimal'." />
+		<error line="138" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Decimal'." />
+		<error line="141" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Decimal'." />
+		<error line="144" number="30311" message="Value of type 'Char' cannot be converted to 'Decimal'." />
+		<error line="147" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Decimal'." />
+		<error line="150" number="30311" message="Value of type 'Date' cannot be converted to 'Decimal'." />
+		<error line="153" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'Decimal'." />
+		<error line="156" number="30512" message="Option Strict On disallows implicit conversions from 'Object' to 'Decimal'." />
+		<error line="161" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Decimal'." />
+		<error line="189" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Decimal'." />
+		<error line="192" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Decimal'." />
+		<error line="195" number="30311" message="Value of type 'Char' cannot be converted to 'Decimal'." />
+		<error line="198" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Decimal'." />
+		<error line="201" number="30311" message="Value of type 'Date' cannot be converted to 'Decimal'." />
+		<error line="204" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'Decimal'." />
+		<error line="207" number="30512" message="Option Strict On disallows implicit conversions from 'Object' to 'Decimal'." />
+	</test>
+	<test id="2192" name="TypeConversionIntrinsicSingle" mytype="empty">
+		<arguments>/nowarn</arguments>
+		<file>CompileTime2\TypeConversionIntrinsicSingle.vb</file>
+	</test>
+	<test id="2193" name="TypeConversionIntrinsicSingleError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:ERRORS /nowarn</arguments>
+		<file>CompileTime2\TypeConversionIntrinsicSingle.vb</file>
+		<error line="40" number="30311" message="Value of type 'Char' cannot be converted to 'Single'." />
+		<error line="46" number="30311" message="Value of type 'Date' cannot be converted to 'Single'." />
+		<error line="49" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'Single'." />
+		<error line="92" number="30311" message="Value of type 'Char' cannot be converted to 'Single'." />
+		<error line="98" number="30311" message="Value of type 'Date' cannot be converted to 'Single'." />
+		<error line="101" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'Single'." />
+		<error line="144" number="30311" message="Value of type 'Char' cannot be converted to 'Single'." />
+		<error line="150" number="30311" message="Value of type 'Date' cannot be converted to 'Single'." />
+		<error line="153" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'Single'." />
+		<error line="195" number="30311" message="Value of type 'Char' cannot be converted to 'Single'." />
+		<error line="201" number="30311" message="Value of type 'Date' cannot be converted to 'Single'." />
+		<error line="204" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'Single'." />
+	</test>
+	<test id="2194" name="TypeConversionIntrinsicSingleStrict" mytype="empty">
+		<arguments>/optionstrict+ /define:STRICT /nowarn</arguments>
+		<file>CompileTime2\TypeConversionIntrinsicSingle.vb</file>
+	</test>
+	<test id="2195" name="TypeConversionIntrinsicSingleStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:ERRORS /define:STRICT /nowarn</arguments>
+		<file>CompileTime2\TypeConversionIntrinsicSingle.vb</file>
+		<error line="6" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Single'." />
+		<error line="37" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Single'." />
+		<error line="40" number="30311" message="Value of type 'Char' cannot be converted to 'Single'." />
+		<error line="43" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Single'." />
+		<error line="46" number="30311" message="Value of type 'Date' cannot be converted to 'Single'." />
+		<error line="49" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'Single'." />
+		<error line="52" number="30512" message="Option Strict On disallows implicit conversions from 'Object' to 'Single'." />
+		<error line="58" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Single'." />
+		<error line="89" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Single'." />
+		<error line="92" number="30311" message="Value of type 'Char' cannot be converted to 'Single'." />
+		<error line="95" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Single'." />
+		<error line="98" number="30311" message="Value of type 'Date' cannot be converted to 'Single'." />
+		<error line="101" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'Single'." />
+		<error line="104" number="30512" message="Option Strict On disallows implicit conversions from 'Object' to 'Single'." />
+		<error line="110" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Single'." />
+		<error line="141" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Single'." />
+		<error line="144" number="30311" message="Value of type 'Char' cannot be converted to 'Single'." />
+		<error line="147" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Single'." />
+		<error line="150" number="30311" message="Value of type 'Date' cannot be converted to 'Single'." />
+		<error line="153" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'Single'." />
+		<error line="156" number="30512" message="Option Strict On disallows implicit conversions from 'Object' to 'Single'." />
+		<error line="161" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Single'." />
+		<error line="192" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Single'." />
+		<error line="195" number="30311" message="Value of type 'Char' cannot be converted to 'Single'." />
+		<error line="198" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Single'." />
+		<error line="201" number="30311" message="Value of type 'Date' cannot be converted to 'Single'." />
+		<error line="204" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'Single'." />
+		<error line="207" number="30512" message="Option Strict On disallows implicit conversions from 'Object' to 'Single'." />
+	</test>
+	<test id="2196" name="TypeConversionIntrinsicDouble" mytype="empty">
+		<arguments>/nowarn</arguments>
+		<file>CompileTime2\TypeConversionIntrinsicDouble.vb</file>
+	</test>
+	<test id="2197" name="TypeConversionIntrinsicDoubleError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:ERRORS /nowarn</arguments>
+		<file>CompileTime2\TypeConversionIntrinsicDouble.vb</file>
+		<error line="40" number="30311" message="Value of type 'Char' cannot be converted to 'Double'." />
+		<error line="46" number="30532" message="Conversion from 'Date' to 'Double' requires calling the 'Date.ToOADate' method." />
+		<error line="49" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'Double'." />
+		<error line="92" number="30311" message="Value of type 'Char' cannot be converted to 'Double'." />
+		<error line="98" number="30532" message="Conversion from 'Date' to 'Double' requires calling the 'Date.ToOADate' method." />
+		<error line="101" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'Double'." />
+		<error line="144" number="30311" message="Value of type 'Char' cannot be converted to 'Double'." />
+		<error line="150" number="30532" message="Conversion from 'Date' to 'Double' requires calling the 'Date.ToOADate' method." />
+		<error line="153" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'Double'." />
+		<error line="195" number="30311" message="Value of type 'Char' cannot be converted to 'Double'." />
+		<error line="201" number="30532" message="Conversion from 'Date' to 'Double' requires calling the 'Date.ToOADate' method." />
+		<error line="204" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'Double'." />
+	</test>
+	<test id="2198" name="TypeConversionIntrinsicDoubleStrict" mytype="empty">
+		<arguments>/optionstrict+ /define:STRICT /nowarn</arguments>
+		<file>CompileTime2\TypeConversionIntrinsicDouble.vb</file>
+	</test>
+	<test id="2199" name="TypeConversionIntrinsicDoubleStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:ERRORS /define:STRICT /nowarn</arguments>
+		<file>CompileTime2\TypeConversionIntrinsicDouble.vb</file>
+		<error line="6" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Double'." />
+		<error line="40" number="30311" message="Value of type 'Char' cannot be converted to 'Double'." />
+		<error line="43" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="46" number="30532" message="Conversion from 'Date' to 'Double' requires calling the 'Date.ToOADate' method." />
+		<error line="49" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'Double'." />
+		<error line="52" number="30512" message="Option Strict On disallows implicit conversions from 'Object' to 'Double'." />
+		<error line="58" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Double'." />
+		<error line="92" number="30311" message="Value of type 'Char' cannot be converted to 'Double'." />
+		<error line="95" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="98" number="30532" message="Conversion from 'Date' to 'Double' requires calling the 'Date.ToOADate' method." />
+		<error line="101" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'Double'." />
+		<error line="104" number="30512" message="Option Strict On disallows implicit conversions from 'Object' to 'Double'." />
+		<error line="110" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Double'." />
+		<error line="144" number="30311" message="Value of type 'Char' cannot be converted to 'Double'." />
+		<error line="147" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="150" number="30532" message="Conversion from 'Date' to 'Double' requires calling the 'Date.ToOADate' method." />
+		<error line="153" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'Double'." />
+		<error line="156" number="30512" message="Option Strict On disallows implicit conversions from 'Object' to 'Double'." />
+		<error line="161" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Double'." />
+		<error line="195" number="30311" message="Value of type 'Char' cannot be converted to 'Double'." />
+		<error line="198" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="201" number="30532" message="Conversion from 'Date' to 'Double' requires calling the 'Date.ToOADate' method." />
+		<error line="204" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'Double'." />
+		<error line="207" number="30512" message="Option Strict On disallows implicit conversions from 'Object' to 'Double'." />
+	</test>
+	<test id="2200" name="TypeConversionIntrinsicByte" mytype="empty">
+		<arguments>/nowarn</arguments>
+		<file>CompileTime2\TypeConversionIntrinsicByte.vb</file>
+	</test>
+	<test id="2201" name="TypeConversionIntrinsicByteError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:ERRORS /nowarn</arguments>
+		<file>CompileTime2\TypeConversionIntrinsicByte.vb</file>
+		<error line="40" number="32006" message="'Char' values cannot be converted to 'Byte'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="46" number="30311" message="Value of type 'Date' cannot be converted to 'Byte'." />
+		<error line="49" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'Byte'." />
+		<error line="92" number="32006" message="'Char' values cannot be converted to 'Byte'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="98" number="30311" message="Value of type 'Date' cannot be converted to 'Byte'." />
+		<error line="101" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'Byte'." />
+		<error line="144" number="32006" message="'Char' values cannot be converted to 'Byte'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="150" number="30311" message="Value of type 'Date' cannot be converted to 'Byte'." />
+		<error line="153" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'Byte'." />
+		<error line="195" number="32006" message="'Char' values cannot be converted to 'Byte'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="201" number="30311" message="Value of type 'Date' cannot be converted to 'Byte'." />
+		<error line="204" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'Byte'." />
+	</test>
+	<test id="2202" name="TypeConversionIntrinsicByteStrict" mytype="empty">
+		<arguments>/optionstrict+ /define:STRICT /nowarn</arguments>
+		<file>CompileTime2\TypeConversionIntrinsicByte.vb</file>
+	</test>
+	<test id="2203" name="TypeConversionIntrinsicByteStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:ERRORS /define:STRICT /nowarn</arguments>
+		<file>CompileTime2\TypeConversionIntrinsicByte.vb</file>
+		<error line="6" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Byte'." />
+		<error line="10" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'Byte'." />
+		<error line="13" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'Byte'." />
+		<error line="16" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'Byte'." />
+		<error line="19" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'Byte'." />
+		<error line="22" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'Byte'." />
+		<error line="25" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'Byte'." />
+		<error line="28" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Byte'." />
+		<error line="31" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Byte'." />
+		<error line="34" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Byte'." />
+		<error line="37" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Byte'." />
+		<error line="40" number="32006" message="'Char' values cannot be converted to 'Byte'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="43" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Byte'." />
+		<error line="46" number="30311" message="Value of type 'Date' cannot be converted to 'Byte'." />
+		<error line="49" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'Byte'." />
+		<error line="52" number="30512" message="Option Strict On disallows implicit conversions from 'Object' to 'Byte'." />
+		<error line="58" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Byte'." />
+		<error line="62" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'Byte'." />
+		<error line="65" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'Byte'." />
+		<error line="68" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'Byte'." />
+		<error line="71" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'Byte'." />
+		<error line="74" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'Byte'." />
+		<error line="77" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'Byte'." />
+		<error line="80" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Byte'." />
+		<error line="83" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Byte'." />
+		<error line="86" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Byte'." />
+		<error line="89" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Byte'." />
+		<error line="92" number="32006" message="'Char' values cannot be converted to 'Byte'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="95" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Byte'." />
+		<error line="98" number="30311" message="Value of type 'Date' cannot be converted to 'Byte'." />
+		<error line="101" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'Byte'." />
+		<error line="104" number="30512" message="Option Strict On disallows implicit conversions from 'Object' to 'Byte'." />
+		<error line="110" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Byte'." />
+		<error line="114" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'Byte'." />
+		<error line="117" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'Byte'." />
+		<error line="120" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'Byte'." />
+		<error line="123" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'Byte'." />
+		<error line="126" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'Byte'." />
+		<error line="129" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'Byte'." />
+		<error line="132" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Byte'." />
+		<error line="135" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Byte'." />
+		<error line="138" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Byte'." />
+		<error line="141" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Byte'." />
+		<error line="144" number="32006" message="'Char' values cannot be converted to 'Byte'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="147" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Byte'." />
+		<error line="150" number="30311" message="Value of type 'Date' cannot be converted to 'Byte'." />
+		<error line="153" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'Byte'." />
+		<error line="156" number="30512" message="Option Strict On disallows implicit conversions from 'Object' to 'Byte'." />
+		<error line="161" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Byte'." />
+		<error line="165" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'Byte'." />
+		<error line="168" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'Byte'." />
+		<error line="171" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'Byte'." />
+		<error line="174" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'Byte'." />
+		<error line="177" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'Byte'." />
+		<error line="180" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'Byte'." />
+		<error line="183" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Byte'." />
+		<error line="186" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Byte'." />
+		<error line="189" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Byte'." />
+		<error line="192" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Byte'." />
+		<error line="195" number="32006" message="'Char' values cannot be converted to 'Byte'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="198" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Byte'." />
+		<error line="201" number="30311" message="Value of type 'Date' cannot be converted to 'Byte'." />
+		<error line="204" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'Byte'." />
+		<error line="207" number="30512" message="Option Strict On disallows implicit conversions from 'Object' to 'Byte'." />
+	</test>
+	<test id="2204" name="TypeConversionIntrinsicSByte" mytype="empty">
+		<arguments>/nowarn</arguments>
+		<file>CompileTime2\TypeConversionIntrinsicSByte.vb</file>
+	</test>
+	<test id="2205" name="TypeConversionIntrinsicSByteError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:ERRORS /nowarn</arguments>
+		<file>CompileTime2\TypeConversionIntrinsicSByte.vb</file>
+		<error line="40" number="32006" message="'Char' values cannot be converted to 'SByte'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="46" number="30311" message="Value of type 'Date' cannot be converted to 'SByte'." />
+		<error line="49" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'SByte'." />
+		<error line="92" number="32006" message="'Char' values cannot be converted to 'SByte'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="98" number="30311" message="Value of type 'Date' cannot be converted to 'SByte'." />
+		<error line="101" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'SByte'." />
+		<error line="144" number="32006" message="'Char' values cannot be converted to 'SByte'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="150" number="30311" message="Value of type 'Date' cannot be converted to 'SByte'." />
+		<error line="153" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'SByte'." />
+		<error line="195" number="32006" message="'Char' values cannot be converted to 'SByte'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="201" number="30311" message="Value of type 'Date' cannot be converted to 'SByte'." />
+		<error line="204" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'SByte'." />
+	</test>
+	<test id="2206" name="TypeConversionIntrinsicSByteStrict" mytype="empty">
+		<arguments>/optionstrict+ /define:STRICT /nowarn</arguments>
+		<file>CompileTime2\TypeConversionIntrinsicSByte.vb</file>
+	</test>
+	<test id="2207" name="TypeConversionIntrinsicSByteStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:ERRORS /define:STRICT /nowarn</arguments>
+		<file>CompileTime2\TypeConversionIntrinsicSByte.vb</file>
+		<error line="6" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'SByte'." />
+		<error line="9" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'SByte'." />
+		<error line="13" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'SByte'." />
+		<error line="16" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'SByte'." />
+		<error line="19" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'SByte'." />
+		<error line="22" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'SByte'." />
+		<error line="25" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'SByte'." />
+		<error line="28" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'SByte'." />
+		<error line="31" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'SByte'." />
+		<error line="34" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'SByte'." />
+		<error line="37" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'SByte'." />
+		<error line="40" number="32006" message="'Char' values cannot be converted to 'SByte'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="43" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'SByte'." />
+		<error line="46" number="30311" message="Value of type 'Date' cannot be converted to 'SByte'." />
+		<error line="49" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'SByte'." />
+		<error line="52" number="30512" message="Option Strict On disallows implicit conversions from 'Object' to 'SByte'." />
+		<error line="58" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'SByte'." />
+		<error line="61" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'SByte'." />
+		<error line="65" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'SByte'." />
+		<error line="68" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'SByte'." />
+		<error line="71" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'SByte'." />
+		<error line="74" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'SByte'." />
+		<error line="77" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'SByte'." />
+		<error line="80" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'SByte'." />
+		<error line="83" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'SByte'." />
+		<error line="86" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'SByte'." />
+		<error line="89" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'SByte'." />
+		<error line="92" number="32006" message="'Char' values cannot be converted to 'SByte'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="95" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'SByte'." />
+		<error line="98" number="30311" message="Value of type 'Date' cannot be converted to 'SByte'." />
+		<error line="101" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'SByte'." />
+		<error line="104" number="30512" message="Option Strict On disallows implicit conversions from 'Object' to 'SByte'." />
+		<error line="110" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'SByte'." />
+		<error line="113" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'SByte'." />
+		<error line="117" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'SByte'." />
+		<error line="120" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'SByte'." />
+		<error line="123" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'SByte'." />
+		<error line="126" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'SByte'." />
+		<error line="129" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'SByte'." />
+		<error line="132" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'SByte'." />
+		<error line="135" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'SByte'." />
+		<error line="138" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'SByte'." />
+		<error line="141" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'SByte'." />
+		<error line="144" number="32006" message="'Char' values cannot be converted to 'SByte'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="147" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'SByte'." />
+		<error line="150" number="30311" message="Value of type 'Date' cannot be converted to 'SByte'." />
+		<error line="153" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'SByte'." />
+		<error line="156" number="30512" message="Option Strict On disallows implicit conversions from 'Object' to 'SByte'." />
+		<error line="161" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'SByte'." />
+		<error line="164" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'SByte'." />
+		<error line="168" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'SByte'." />
+		<error line="171" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'SByte'." />
+		<error line="174" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'SByte'." />
+		<error line="177" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'SByte'." />
+		<error line="180" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'SByte'." />
+		<error line="183" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'SByte'." />
+		<error line="186" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'SByte'." />
+		<error line="189" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'SByte'." />
+		<error line="192" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'SByte'." />
+		<error line="195" number="32006" message="'Char' values cannot be converted to 'SByte'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="198" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'SByte'." />
+		<error line="201" number="30311" message="Value of type 'Date' cannot be converted to 'SByte'." />
+		<error line="204" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'SByte'." />
+		<error line="207" number="30512" message="Option Strict On disallows implicit conversions from 'Object' to 'SByte'." />
+	</test>
+	<test id="2208" name="TypeConversionIntrinsicUInt16" mytype="empty">
+		<arguments>/nowarn</arguments>
+		<file>CompileTime2\TypeConversionIntrinsicUInt16.vb</file>
+	</test>
+	<test id="2209" name="TypeConversionIntrinsicUInt16Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:ERRORS /nowarn</arguments>
+		<file>CompileTime2\TypeConversionIntrinsicUInt16.vb</file>
+		<error line="40" number="32006" message="'Char' values cannot be converted to 'UShort'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="46" number="30311" message="Value of type 'Date' cannot be converted to 'UShort'." />
+		<error line="49" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'UShort'." />
+		<error line="92" number="32006" message="'Char' values cannot be converted to 'UShort'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="98" number="30311" message="Value of type 'Date' cannot be converted to 'UShort'." />
+		<error line="101" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'UShort'." />
+		<error line="144" number="32006" message="'Char' values cannot be converted to 'UShort'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="150" number="30311" message="Value of type 'Date' cannot be converted to 'UShort'." />
+		<error line="153" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'UShort'." />
+		<error line="195" number="32006" message="'Char' values cannot be converted to 'UShort'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="201" number="30311" message="Value of type 'Date' cannot be converted to 'UShort'." />
+		<error line="204" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'UShort'." />
+	</test>
+	<test id="2210" name="TypeConversionIntrinsicUInt16Strict" mytype="empty">
+		<arguments>/optionstrict+ /define:STRICT /nowarn</arguments>
+		<file>CompileTime2\TypeConversionIntrinsicUInt16.vb</file>
+	</test>
+	<test id="2211" name="TypeConversionIntrinsicUInt16StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:ERRORS /define:STRICT /nowarn</arguments>
+		<file>CompileTime2\TypeConversionIntrinsicUInt16.vb</file>
+		<error line="6" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'UShort'." />
+		<error line="12" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'UShort'." />
+		<error line="15" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'UShort'." />
+		<error line="19" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'UShort'." />
+		<error line="22" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'UShort'." />
+		<error line="25" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'UShort'." />
+		<error line="28" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'UShort'." />
+		<error line="31" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'UShort'." />
+		<error line="34" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'UShort'." />
+		<error line="37" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'UShort'." />
+		<error line="40" number="32006" message="'Char' values cannot be converted to 'UShort'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="43" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'UShort'." />
+		<error line="46" number="30311" message="Value of type 'Date' cannot be converted to 'UShort'." />
+		<error line="49" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'UShort'." />
+		<error line="52" number="30512" message="Option Strict On disallows implicit conversions from 'Object' to 'UShort'." />
+		<error line="58" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'UShort'." />
+		<error line="64" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'UShort'." />
+		<error line="67" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'UShort'." />
+		<error line="71" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'UShort'." />
+		<error line="74" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'UShort'." />
+		<error line="77" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'UShort'." />
+		<error line="80" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'UShort'." />
+		<error line="83" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'UShort'." />
+		<error line="86" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'UShort'." />
+		<error line="89" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'UShort'." />
+		<error line="92" number="32006" message="'Char' values cannot be converted to 'UShort'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="95" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'UShort'." />
+		<error line="98" number="30311" message="Value of type 'Date' cannot be converted to 'UShort'." />
+		<error line="101" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'UShort'." />
+		<error line="104" number="30512" message="Option Strict On disallows implicit conversions from 'Object' to 'UShort'." />
+		<error line="110" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'UShort'." />
+		<error line="116" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'UShort'." />
+		<error line="119" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'UShort'." />
+		<error line="123" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'UShort'." />
+		<error line="126" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'UShort'." />
+		<error line="129" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'UShort'." />
+		<error line="132" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'UShort'." />
+		<error line="135" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'UShort'." />
+		<error line="138" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'UShort'." />
+		<error line="141" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'UShort'." />
+		<error line="144" number="32006" message="'Char' values cannot be converted to 'UShort'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="147" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'UShort'." />
+		<error line="150" number="30311" message="Value of type 'Date' cannot be converted to 'UShort'." />
+		<error line="153" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'UShort'." />
+		<error line="156" number="30512" message="Option Strict On disallows implicit conversions from 'Object' to 'UShort'." />
+		<error line="161" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'UShort'." />
+		<error line="167" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'UShort'." />
+		<error line="170" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'UShort'." />
+		<error line="174" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'UShort'." />
+		<error line="177" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'UShort'." />
+		<error line="180" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'UShort'." />
+		<error line="183" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'UShort'." />
+		<error line="186" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'UShort'." />
+		<error line="189" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'UShort'." />
+		<error line="192" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'UShort'." />
+		<error line="195" number="32006" message="'Char' values cannot be converted to 'UShort'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="198" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'UShort'." />
+		<error line="201" number="30311" message="Value of type 'Date' cannot be converted to 'UShort'." />
+		<error line="204" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'UShort'." />
+		<error line="207" number="30512" message="Option Strict On disallows implicit conversions from 'Object' to 'UShort'." />
+	</test>
+	<test id="2212" name="TypeConversionIntrinsicInt16" mytype="empty">
+		<arguments>/nowarn</arguments>
+		<file>CompileTime2\TypeConversionIntrinsicInt16.vb</file>
+	</test>
+	<test id="2213" name="TypeConversionIntrinsicInt16Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:ERRORS /nowarn</arguments>
+		<file>CompileTime2\TypeConversionIntrinsicInt16.vb</file>
+		<error line="40" number="32006" message="'Char' values cannot be converted to 'Short'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="46" number="30311" message="Value of type 'Date' cannot be converted to 'Short'." />
+		<error line="49" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'Short'." />
+		<error line="92" number="32006" message="'Char' values cannot be converted to 'Short'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="98" number="30311" message="Value of type 'Date' cannot be converted to 'Short'." />
+		<error line="101" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'Short'." />
+		<error line="144" number="32006" message="'Char' values cannot be converted to 'Short'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="150" number="30311" message="Value of type 'Date' cannot be converted to 'Short'." />
+		<error line="153" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'Short'." />
+		<error line="195" number="32006" message="'Char' values cannot be converted to 'Short'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="201" number="30311" message="Value of type 'Date' cannot be converted to 'Short'." />
+		<error line="204" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'Short'." />
+	</test>
+	<test id="2214" name="TypeConversionIntrinsicInt16Strict" mytype="empty">
+		<arguments>/optionstrict+ /define:STRICT /nowarn</arguments>
+		<file>CompileTime2\TypeConversionIntrinsicInt16.vb</file>
+	</test>
+	<test id="2215" name="TypeConversionIntrinsicInt16StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:ERRORS /define:STRICT /nowarn</arguments>
+		<file>CompileTime2\TypeConversionIntrinsicInt16.vb</file>
+		<error line="6" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<error line="16" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'Short'." />
+		<error line="19" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'Short'." />
+		<error line="22" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'Short'." />
+		<error line="25" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'Short'." />
+		<error line="28" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Short'." />
+		<error line="31" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Short'." />
+		<error line="34" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Short'." />
+		<error line="37" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Short'." />
+		<error line="40" number="32006" message="'Char' values cannot be converted to 'Short'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="43" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Short'." />
+		<error line="46" number="30311" message="Value of type 'Date' cannot be converted to 'Short'." />
+		<error line="49" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'Short'." />
+		<error line="52" number="30512" message="Option Strict On disallows implicit conversions from 'Object' to 'Short'." />
+		<error line="58" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<error line="68" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'Short'." />
+		<error line="71" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'Short'." />
+		<error line="74" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'Short'." />
+		<error line="77" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'Short'." />
+		<error line="80" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Short'." />
+		<error line="83" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Short'." />
+		<error line="86" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Short'." />
+		<error line="89" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Short'." />
+		<error line="92" number="32006" message="'Char' values cannot be converted to 'Short'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="95" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Short'." />
+		<error line="98" number="30311" message="Value of type 'Date' cannot be converted to 'Short'." />
+		<error line="101" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'Short'." />
+		<error line="104" number="30512" message="Option Strict On disallows implicit conversions from 'Object' to 'Short'." />
+		<error line="110" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<error line="120" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'Short'." />
+		<error line="123" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'Short'." />
+		<error line="126" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'Short'." />
+		<error line="129" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'Short'." />
+		<error line="132" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Short'." />
+		<error line="135" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Short'." />
+		<error line="138" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Short'." />
+		<error line="141" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Short'." />
+		<error line="144" number="32006" message="'Char' values cannot be converted to 'Short'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="147" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Short'." />
+		<error line="150" number="30311" message="Value of type 'Date' cannot be converted to 'Short'." />
+		<error line="153" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'Short'." />
+		<error line="156" number="30512" message="Option Strict On disallows implicit conversions from 'Object' to 'Short'." />
+		<error line="161" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<error line="171" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'Short'." />
+		<error line="174" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'Short'." />
+		<error line="177" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'Short'." />
+		<error line="180" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'Short'." />
+		<error line="183" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Short'." />
+		<error line="186" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Short'." />
+		<error line="189" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Short'." />
+		<error line="192" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Short'." />
+		<error line="195" number="32006" message="'Char' values cannot be converted to 'Short'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="198" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Short'." />
+		<error line="201" number="30311" message="Value of type 'Date' cannot be converted to 'Short'." />
+		<error line="204" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'Short'." />
+		<error line="207" number="30512" message="Option Strict On disallows implicit conversions from 'Object' to 'Short'." />
+	</test>
+	<test id="2216" name="TypeConversionIntrinsicUInt32" mytype="empty">
+		<arguments>/nowarn</arguments>
+		<file>CompileTime2\TypeConversionIntrinsicUInt32.vb</file>
+	</test>
+	<test id="2217" name="TypeConversionIntrinsicUInt32Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:ERRORS /nowarn</arguments>
+		<file>CompileTime2\TypeConversionIntrinsicUInt32.vb</file>
+		<error line="40" number="32006" message="'Char' values cannot be converted to 'UInteger'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="46" number="30311" message="Value of type 'Date' cannot be converted to 'UInteger'." />
+		<error line="49" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'UInteger'." />
+		<error line="92" number="32006" message="'Char' values cannot be converted to 'UInteger'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="98" number="30311" message="Value of type 'Date' cannot be converted to 'UInteger'." />
+		<error line="101" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'UInteger'." />
+		<error line="144" number="32006" message="'Char' values cannot be converted to 'UInteger'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="150" number="30311" message="Value of type 'Date' cannot be converted to 'UInteger'." />
+		<error line="153" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'UInteger'." />
+		<error line="195" number="32006" message="'Char' values cannot be converted to 'UInteger'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="201" number="30311" message="Value of type 'Date' cannot be converted to 'UInteger'." />
+		<error line="204" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'UInteger'." />
+	</test>
+	<test id="2218" name="TypeConversionIntrinsicUInt32Strict" mytype="empty">
+		<arguments>/optionstrict+ /define:STRICT /nowarn</arguments>
+		<file>CompileTime2\TypeConversionIntrinsicUInt32.vb</file>
+	</test>
+	<test id="2219" name="TypeConversionIntrinsicUInt32StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:ERRORS /define:STRICT /nowarn</arguments>
+		<file>CompileTime2\TypeConversionIntrinsicUInt32.vb</file>
+		<error line="6" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'UInteger'." />
+		<error line="12" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'UInteger'." />
+		<error line="15" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'UInteger'." />
+		<error line="21" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'UInteger'." />
+		<error line="25" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'UInteger'." />
+		<error line="28" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'UInteger'." />
+		<error line="31" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'UInteger'." />
+		<error line="34" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'UInteger'." />
+		<error line="37" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'UInteger'." />
+		<error line="40" number="32006" message="'Char' values cannot be converted to 'UInteger'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="43" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'UInteger'." />
+		<error line="46" number="30311" message="Value of type 'Date' cannot be converted to 'UInteger'." />
+		<error line="49" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'UInteger'." />
+		<error line="52" number="30512" message="Option Strict On disallows implicit conversions from 'Object' to 'UInteger'." />
+		<error line="58" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'UInteger'." />
+		<error line="64" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'UInteger'." />
+		<error line="67" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'UInteger'." />
+		<error line="73" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'UInteger'." />
+		<error line="77" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'UInteger'." />
+		<error line="80" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'UInteger'." />
+		<error line="83" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'UInteger'." />
+		<error line="86" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'UInteger'." />
+		<error line="89" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'UInteger'." />
+		<error line="92" number="32006" message="'Char' values cannot be converted to 'UInteger'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="95" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'UInteger'." />
+		<error line="98" number="30311" message="Value of type 'Date' cannot be converted to 'UInteger'." />
+		<error line="101" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'UInteger'." />
+		<error line="104" number="30512" message="Option Strict On disallows implicit conversions from 'Object' to 'UInteger'." />
+		<error line="110" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'UInteger'." />
+		<error line="116" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'UInteger'." />
+		<error line="119" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'UInteger'." />
+		<error line="125" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'UInteger'." />
+		<error line="129" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'UInteger'." />
+		<error line="132" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'UInteger'." />
+		<error line="135" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'UInteger'." />
+		<error line="138" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'UInteger'." />
+		<error line="141" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'UInteger'." />
+		<error line="144" number="32006" message="'Char' values cannot be converted to 'UInteger'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="147" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'UInteger'." />
+		<error line="150" number="30311" message="Value of type 'Date' cannot be converted to 'UInteger'." />
+		<error line="153" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'UInteger'." />
+		<error line="156" number="30512" message="Option Strict On disallows implicit conversions from 'Object' to 'UInteger'." />
+		<error line="161" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'UInteger'." />
+		<error line="167" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'UInteger'." />
+		<error line="170" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'UInteger'." />
+		<error line="176" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'UInteger'." />
+		<error line="180" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'UInteger'." />
+		<error line="183" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'UInteger'." />
+		<error line="186" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'UInteger'." />
+		<error line="189" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'UInteger'." />
+		<error line="192" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'UInteger'." />
+		<error line="195" number="32006" message="'Char' values cannot be converted to 'UInteger'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="198" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'UInteger'." />
+		<error line="201" number="30311" message="Value of type 'Date' cannot be converted to 'UInteger'." />
+		<error line="204" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'UInteger'." />
+		<error line="207" number="30512" message="Option Strict On disallows implicit conversions from 'Object' to 'UInteger'." />
+	</test>
+	<test id="2220" name="TypeConversionIntrinsicInt32" mytype="empty">
+		<arguments>/nowarn</arguments>
+		<file>CompileTime2\TypeConversionIntrinsicInt32.vb</file>
+	</test>
+	<test id="2221" name="TypeConversionIntrinsicInt32Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:ERRORS /nowarn</arguments>
+		<file>CompileTime2\TypeConversionIntrinsicInt32.vb</file>
+		<error line="40" number="32006" message="'Char' values cannot be converted to 'Integer'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="46" number="30311" message="Value of type 'Date' cannot be converted to 'Integer'." />
+		<error line="49" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'Integer'." />
+		<error line="92" number="32006" message="'Char' values cannot be converted to 'Integer'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="98" number="30311" message="Value of type 'Date' cannot be converted to 'Integer'." />
+		<error line="101" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'Integer'." />
+		<error line="144" number="32006" message="'Char' values cannot be converted to 'Integer'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="150" number="30311" message="Value of type 'Date' cannot be converted to 'Integer'." />
+		<error line="153" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'Integer'." />
+		<error line="195" number="32006" message="'Char' values cannot be converted to 'Integer'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="201" number="30311" message="Value of type 'Date' cannot be converted to 'Integer'." />
+		<error line="204" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'Integer'." />
+	</test>
+	<test id="2222" name="TypeConversionIntrinsicInt32Strict" mytype="empty">
+		<arguments>/optionstrict+ /define:STRICT /nowarn</arguments>
+		<file>CompileTime2\TypeConversionIntrinsicInt32.vb</file>
+	</test>
+	<test id="2223" name="TypeConversionIntrinsicInt32StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:ERRORS /define:STRICT /nowarn</arguments>
+		<file>CompileTime2\TypeConversionIntrinsicInt32.vb</file>
+		<error line="6" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Integer'." />
+		<error line="22" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'Integer'." />
+		<error line="25" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'Integer'." />
+		<error line="28" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Integer'." />
+		<error line="31" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Integer'." />
+		<error line="34" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Integer'." />
+		<error line="37" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Integer'." />
+		<error line="40" number="32006" message="'Char' values cannot be converted to 'Integer'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="43" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Integer'." />
+		<error line="46" number="30311" message="Value of type 'Date' cannot be converted to 'Integer'." />
+		<error line="49" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'Integer'." />
+		<error line="52" number="30512" message="Option Strict On disallows implicit conversions from 'Object' to 'Integer'." />
+		<error line="58" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Integer'." />
+		<error line="74" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'Integer'." />
+		<error line="77" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'Integer'." />
+		<error line="80" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Integer'." />
+		<error line="83" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Integer'." />
+		<error line="86" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Integer'." />
+		<error line="89" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Integer'." />
+		<error line="92" number="32006" message="'Char' values cannot be converted to 'Integer'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="95" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Integer'." />
+		<error line="98" number="30311" message="Value of type 'Date' cannot be converted to 'Integer'." />
+		<error line="101" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'Integer'." />
+		<error line="104" number="30512" message="Option Strict On disallows implicit conversions from 'Object' to 'Integer'." />
+		<error line="110" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Integer'." />
+		<error line="126" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'Integer'." />
+		<error line="129" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'Integer'." />
+		<error line="132" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Integer'." />
+		<error line="135" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Integer'." />
+		<error line="138" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Integer'." />
+		<error line="141" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Integer'." />
+		<error line="144" number="32006" message="'Char' values cannot be converted to 'Integer'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="147" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Integer'." />
+		<error line="150" number="30311" message="Value of type 'Date' cannot be converted to 'Integer'." />
+		<error line="153" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'Integer'." />
+		<error line="156" number="30512" message="Option Strict On disallows implicit conversions from 'Object' to 'Integer'." />
+		<error line="161" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Integer'." />
+		<error line="177" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'Integer'." />
+		<error line="180" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'Integer'." />
+		<error line="183" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Integer'." />
+		<error line="186" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Integer'." />
+		<error line="189" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Integer'." />
+		<error line="192" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Integer'." />
+		<error line="195" number="32006" message="'Char' values cannot be converted to 'Integer'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="198" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Integer'." />
+		<error line="201" number="30311" message="Value of type 'Date' cannot be converted to 'Integer'." />
+		<error line="204" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'Integer'." />
+		<error line="207" number="30512" message="Option Strict On disallows implicit conversions from 'Object' to 'Integer'." />
+	</test>
+	<test id="2224" name="TypeConversionIntrinsicUInt64" mytype="empty">
+		<arguments>/nowarn</arguments>
+		<file>CompileTime2\TypeConversionIntrinsicUInt64.vb</file>
+	</test>
+	<test id="2225" name="TypeConversionIntrinsicUInt64Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:ERRORS /nowarn</arguments>
+		<file>CompileTime2\TypeConversionIntrinsicUInt64.vb</file>
+		<error line="40" number="32006" message="'Char' values cannot be converted to 'ULong'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="46" number="30311" message="Value of type 'Date' cannot be converted to 'ULong'." />
+		<error line="49" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'ULong'." />
+		<error line="92" number="32006" message="'Char' values cannot be converted to 'ULong'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="98" number="30311" message="Value of type 'Date' cannot be converted to 'ULong'." />
+		<error line="101" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'ULong'." />
+		<error line="144" number="32006" message="'Char' values cannot be converted to 'ULong'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="150" number="30311" message="Value of type 'Date' cannot be converted to 'ULong'." />
+		<error line="153" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'ULong'." />
+		<error line="195" number="32006" message="'Char' values cannot be converted to 'ULong'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="201" number="30311" message="Value of type 'Date' cannot be converted to 'ULong'." />
+		<error line="204" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'ULong'." />
+	</test>
+	<test id="2226" name="TypeConversionIntrinsicUInt64Strict" mytype="empty">
+		<arguments>/optionstrict+ /define:STRICT /nowarn</arguments>
+		<file>CompileTime2\TypeConversionIntrinsicUInt64.vb</file>
+	</test>
+	<test id="2227" name="TypeConversionIntrinsicUInt64StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:ERRORS /define:STRICT /nowarn</arguments>
+		<file>CompileTime2\TypeConversionIntrinsicUInt64.vb</file>
+		<error line="6" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'ULong'." />
+		<error line="12" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'ULong'." />
+		<error line="15" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'ULong'." />
+		<error line="21" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'ULong'." />
+		<error line="27" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'ULong'." />
+		<error line="31" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'ULong'." />
+		<error line="34" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'ULong'." />
+		<error line="37" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'ULong'." />
+		<error line="40" number="32006" message="'Char' values cannot be converted to 'ULong'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="43" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'ULong'." />
+		<error line="46" number="30311" message="Value of type 'Date' cannot be converted to 'ULong'." />
+		<error line="49" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'ULong'." />
+		<error line="52" number="30512" message="Option Strict On disallows implicit conversions from 'Object' to 'ULong'." />
+		<error line="58" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'ULong'." />
+		<error line="64" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'ULong'." />
+		<error line="67" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'ULong'." />
+		<error line="73" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'ULong'." />
+		<error line="79" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'ULong'." />
+		<error line="83" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'ULong'." />
+		<error line="86" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'ULong'." />
+		<error line="89" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'ULong'." />
+		<error line="92" number="32006" message="'Char' values cannot be converted to 'ULong'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="95" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'ULong'." />
+		<error line="98" number="30311" message="Value of type 'Date' cannot be converted to 'ULong'." />
+		<error line="101" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'ULong'." />
+		<error line="104" number="30512" message="Option Strict On disallows implicit conversions from 'Object' to 'ULong'." />
+		<error line="110" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'ULong'." />
+		<error line="116" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'ULong'." />
+		<error line="119" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'ULong'." />
+		<error line="125" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'ULong'." />
+		<error line="131" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'ULong'." />
+		<error line="135" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'ULong'." />
+		<error line="138" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'ULong'." />
+		<error line="141" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'ULong'." />
+		<error line="144" number="32006" message="'Char' values cannot be converted to 'ULong'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="147" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'ULong'." />
+		<error line="150" number="30311" message="Value of type 'Date' cannot be converted to 'ULong'." />
+		<error line="153" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'ULong'." />
+		<error line="156" number="30512" message="Option Strict On disallows implicit conversions from 'Object' to 'ULong'." />
+		<error line="161" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'ULong'." />
+		<error line="167" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'ULong'." />
+		<error line="170" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'ULong'." />
+		<error line="176" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'ULong'." />
+		<error line="182" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'ULong'." />
+		<error line="186" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'ULong'." />
+		<error line="189" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'ULong'." />
+		<error line="192" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'ULong'." />
+		<error line="195" number="32006" message="'Char' values cannot be converted to 'ULong'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="198" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'ULong'." />
+		<error line="201" number="30311" message="Value of type 'Date' cannot be converted to 'ULong'." />
+		<error line="204" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'ULong'." />
+		<error line="207" number="30512" message="Option Strict On disallows implicit conversions from 'Object' to 'ULong'." />
+	</test>
+	<test id="2228" name="TypeConversionIntrinsicInt64" mytype="empty">
+		<arguments>/nowarn</arguments>
+		<file>CompileTime2\TypeConversionIntrinsicInt64.vb</file>
+	</test>
+	<test id="2229" name="TypeConversionIntrinsicInt64Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:ERRORS /nowarn</arguments>
+		<file>CompileTime2\TypeConversionIntrinsicInt64.vb</file>
+		<error line="40" number="32006" message="'Char' values cannot be converted to 'Long'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="46" number="30311" message="Value of type 'Date' cannot be converted to 'Long'." />
+		<error line="49" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'Long'." />
+		<error line="92" number="32006" message="'Char' values cannot be converted to 'Long'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="98" number="30311" message="Value of type 'Date' cannot be converted to 'Long'." />
+		<error line="101" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'Long'." />
+		<error line="144" number="32006" message="'Char' values cannot be converted to 'Long'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="150" number="30311" message="Value of type 'Date' cannot be converted to 'Long'." />
+		<error line="153" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'Long'." />
+		<error line="195" number="32006" message="'Char' values cannot be converted to 'Long'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="201" number="30311" message="Value of type 'Date' cannot be converted to 'Long'." />
+		<error line="204" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'Long'." />
+	</test>
+	<test id="2230" name="TypeConversionIntrinsicInt64Strict" mytype="empty">
+		<arguments>/optionstrict+ /define:STRICT /nowarn</arguments>
+		<file>CompileTime2\TypeConversionIntrinsicInt64.vb</file>
+	</test>
+	<test id="2231" name="TypeConversionIntrinsicInt64StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:ERRORS /define:STRICT /nowarn</arguments>
+		<file>CompileTime2\TypeConversionIntrinsicInt64.vb</file>
+		<error line="6" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Long'." />
+		<error line="28" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Long'." />
+		<error line="31" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="34" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="37" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="40" number="32006" message="'Char' values cannot be converted to 'Long'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="43" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="46" number="30311" message="Value of type 'Date' cannot be converted to 'Long'." />
+		<error line="49" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'Long'." />
+		<error line="52" number="30512" message="Option Strict On disallows implicit conversions from 'Object' to 'Long'." />
+		<error line="58" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Long'." />
+		<error line="80" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Long'." />
+		<error line="83" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="86" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="89" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="92" number="32006" message="'Char' values cannot be converted to 'Long'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="95" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="98" number="30311" message="Value of type 'Date' cannot be converted to 'Long'." />
+		<error line="101" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'Long'." />
+		<error line="104" number="30512" message="Option Strict On disallows implicit conversions from 'Object' to 'Long'." />
+		<error line="110" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Long'." />
+		<error line="132" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Long'." />
+		<error line="135" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="138" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="141" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="144" number="32006" message="'Char' values cannot be converted to 'Long'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="147" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="150" number="30311" message="Value of type 'Date' cannot be converted to 'Long'." />
+		<error line="153" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'Long'." />
+		<error line="156" number="30512" message="Option Strict On disallows implicit conversions from 'Object' to 'Long'." />
+		<error line="161" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Long'." />
+		<error line="183" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Long'." />
+		<error line="186" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="189" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="192" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="195" number="32006" message="'Char' values cannot be converted to 'Long'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="198" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="201" number="30311" message="Value of type 'Date' cannot be converted to 'Long'." />
+		<error line="204" number="30311" message="Value of type 'System.DBNull' cannot be converted to 'Long'." />
+		<error line="207" number="30512" message="Option Strict On disallows implicit conversions from 'Object' to 'Long'." />
+	</test>
+	<test id="2232" name="Enum6" mytype="empty">
+		<arguments>/nowarn</arguments>
+		<file>CompileTime2\Enum6.vb</file>
+	</test>
+	<test id="2233" name="Nullable5" knownfailure="Not implemented: binary/unary operators on nullable types" mytype="empty">
+		<file>CompileTime2\Nullable5.vb</file>
+	</test>
+	<test id="2234" name="30512-118" expectedexitcode="1" expectedvbcexitcode="1">
+		<arguments>/nowarn /define:STRICT=true</arguments>
+		<file>Errors\30512-118.vb</file>
+		<error line="555" number="30311" message="Value of type 'M[]' cannot be converted to 'System.Collections.Generic.IEnumerable`1<C>'." />
+		<vbcerror line="555" number="30512" message="Option Strict On disallows implicit conversions from '1-dimensional array of M' to 'System.Collections.Generic.IEnumerable(Of C)'." />
+	</test>
+	<test id="2235" name="TypeConversionIntrinsic" mytype="empty">
+		<file>CompileTime2\TypeConversionIntrinsic.vb</file>
+		<file>CompileTime2\TypeConversionIntrinsicGenerator.vb</file>
+	</test>
+	<test id="2236" name="ImplicitLineContinuations" mytype="empty">
+		<arguments>/nowarn</arguments>
+		<file>CompileTime2\ImplicitLineContinuations.vb</file>
+	</test>
+	<test id="2237" name="30636" knownfailure="vbnc's scanner joins multiple eol into one, so we can't detect this situation without changing that" expectedexitcode="1" expectedvbcexitcode="1">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30636.vb</file>
+		<error line="4" number="30636" message="'>' expected." />
+		<error line="6" number="30035" message="Syntax error." />
+	</test>
+	<test id="2238" name="30650" expectedexitcode="1">
+		<file>Errors\30650.vb</file>
+		<error line="1" number="30650" message="Enums must be declared as an integral type." />
+	</test>
+	<test id="2239" name="Enum" mytype="empty">
+		<file>CompileTime2\Enum.vb</file>
+	</test>
+	<test id="2240" name="EnumErrors" expectedexitcode="1" mytype="empty">
+		<arguments>/quiet</arguments>
+		<file>Errors\EnumErrors.vb</file>
+		<error line="2" number="30280" message="Enum 'E2' must contain at least one member." />
+		<error line="6" number="30182" message="Type expected." />
+		<error line="11" number="30183" message="Keyword is not valid as an identifier." />
+		<error line="16" number="30203" message="Identifier expected." />
+		<error line="21" number="30468" message="Type declaration characters are not valid in this context." />
+		<error line="24" number="30468" message="Type declaration characters are not valid in this context." />
+		<error line="29" number="30205" message="End of statement expected." />
+		<error line="36" number="30205" message="End of statement expected." />
+	</test>
+	<test id="2241" name="EnumErrors2" expectedexitcode="1" mytype="empty">
+		<file>Errors\EnumErrors2.vb</file>
+		<error line="2" number="30650" message="Enums must be declared as an integral type." />
+	</test>
+	<test id="2242" name="30451-3" expectedexitcode="1">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30451-3.vb</file>
+		<error line="5" number="30451" message="'item2' is not declared. It may be inaccessible due to its protection level." />
+	</test>
+	<test id="2243" name="30070-2" expectedexitcode="1">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30070-2.vb</file>
+		<error line="5" number="30070" message="Next control variable does not match For loop control variable 'item'." />
+	</test>
+	<test id="2244" name="MethodOverloads" mytype="empty">
+		<arguments>/nowarn</arguments>
+		<file>CompileTime2\MethodOverloads.vb</file>
+	</test>
+	<test id="2245" name="MethodOverloadsStrict" mytype="empty">
+		<arguments>/nowarn</arguments>
+		<file>CompileTime2\MethodOverloadsStrict.vb</file>
+	</test>
+	<test id="2246" name="DictionaryAccessExpressionStrict" target="exe" mytype="empty">
+		<file>CompileTime2\DictionaryAccessExpressionStrict.vb</file>
+	</test>
+	<test id="2247" name="30512-119" expectedexitcode="1" expectedvbcexitcode="1">
+		<file>Errors\30512-119.vb</file>
+		<error line="5" number="30518" message="Overload resolution failed because no accessible 'I' can be called with these arguments:" />
+		<vbcerror line="5" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Integer'." />
+	</test>
+	<test id="2248" name="DictionaryAccessExpression" mytype="empty">
+		<file>CompileTime2\DictionaryAccessExpression.vb</file>
+	</test>
+	<test id="2249" name="30519-1" expectedexitcode="1">
+		<file>Errors\30519-1.vb</file>
+		<error line="9" number="30519" message="Overload resolution failed because no accessible 'I' can be called without a narrowing conversion:" />
+	</test>
+	<test id="2250" name="30367" expectedexitcode="1">
+		<file>Errors\30367.vb</file>
+		<error line="9" number="30367" message="Class 'A' cannot be indexed because it has no default property." />
+	</test>
+	<test id="2251" name="OperatorIntrinsicUnaryMinus" target="exe" mytype="empty">
+		<arguments>/nowarn</arguments>
+		<file>CompileTime2\OperatorIntrinsicUnaryMinus.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+	</test>
+	<test id="2252" name="OperatorIntrinsicUnaryMinusStrict" mytype="empty">
+		<arguments>/optionstrict+ /define:STRICT /nowarn</arguments>
+		<file>CompileTime2\OperatorIntrinsicUnaryMinus.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+	</test>
+	<test id="2253" name="OperatorIntrinsicUnaryMinusError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicUnaryMinus.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="32" number="30487" message="Operator '-' is not defined for type 'Char'." />
+		<error line="39" number="30487" message="Operator '-' is not defined for type 'Date'." />
+		<error line="42" number="30487" message="Operator '-' is not defined for type 'System.DBNull'." />
+	</test>
+	<test id="2254" name="OperatorIntrinsicUnaryMinusStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:ERRORS /define:STRICT /quiet</arguments>
+		<file>CompileTime2\OperatorIntrinsicUnaryMinus.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="7" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<error line="32" number="30487" message="Operator '-' is not defined for type 'Char'." />
+		<error line="36" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="39" number="30487" message="Operator '-' is not defined for type 'Date'." />
+		<error line="42" number="30487" message="Operator '-' is not defined for type 'System.DBNull'." />
+		<error line="46" number="30038" message="Option Strict On prohibits operands of type Object for operator '-'." />
+	</test>
+	<test id="2255" name="OperatorIntrinsicUnaryNot" target="exe" mytype="empty">
+		<arguments>/nowarn</arguments>
+		<file>CompileTime2\OperatorIntrinsicUnaryNot.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+	</test>
+	<test id="2256" name="OperatorIntrinsicUnaryNotStrict" mytype="empty">
+		<arguments>/optionstrict+ /define:STRICT /nowarn</arguments>
+		<file>CompileTime2\OperatorIntrinsicUnaryNot.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+	</test>
+	<test id="2257" name="OperatorIntrinsicUnaryNotError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicUnaryNot.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="36" number="30487" message="Operator 'Not' is not defined for type 'Char'." />
+		<error line="43" number="30487" message="Operator 'Not' is not defined for type 'Date'." />
+		<error line="46" number="30487" message="Operator 'Not' is not defined for type 'System.DBNull'." />
+	</test>
+	<test id="2258" name="OperatorIntrinsicUnaryNotStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicUnaryNot.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="25" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="29" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="33" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="36" number="30487" message="Operator 'Not' is not defined for type 'Char'." />
+		<error line="40" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="43" number="30487" message="Operator 'Not' is not defined for type 'Date'." />
+		<error line="46" number="30487" message="Operator 'Not' is not defined for type 'System.DBNull'." />
+		<error line="50" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Not'." />
+	</test>
+	<test id="2259" name="OperatorIntrinsicUnaryPlus" target="exe" mytype="empty">
+		<arguments>/nowarn</arguments>
+		<file>CompileTime2\OperatorIntrinsicUnaryPlus.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+	</test>
+	<test id="2260" name="OperatorIntrinsicUnaryPlusStrict" mytype="empty">
+		<arguments>/optionstrict+ /define:STRICT /nowarn</arguments>
+		<file>CompileTime2\OperatorIntrinsicUnaryPlus.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+	</test>
+	<test id="2261" name="OperatorIntrinsicUnaryPlusError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicUnaryPlus.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="32" number="30487" message="Operator '+' is not defined for type 'Char'." />
+		<error line="39" number="30487" message="Operator '+' is not defined for type 'Date'." />
+		<error line="42" number="30487" message="Operator '+' is not defined for type 'System.DBNull'." />
+	</test>
+	<test id="2262" name="OperatorIntrinsicUnaryPlusStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicUnaryPlus.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="7" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<error line="32" number="30487" message="Operator '+' is not defined for type 'Char'." />
+		<error line="36" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="39" number="30487" message="Operator '+' is not defined for type 'Date'." />
+		<error line="42" number="30487" message="Operator '+' is not defined for type 'System.DBNull'." />
+		<error line="46" number="30038" message="Option Strict On prohibits operands of type Object for operator '+'." />
+	</test>
+	<test id="2263" name="OperatorIntrinsic_AndAlso_" target="exe" mytype="empty">
+		<file>CompileTime2\OperatorIntrinsicAndAlso.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+	</test>
+	<test id="2264" name="OperatorIntrinsic_AndAlso_Strict" mytype="empty">
+		<arguments>/optionstrict+ /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicAndAlso.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+	</test>
+	<test id="2265" name="OperatorIntrinsic_AndAlso_BooleanError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Boolean_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicAndAlso.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="52" number="30452" message="Operator 'AndAlso' is not defined for types 'Boolean' and 'Char'." />
+		<error line="59" number="30452" message="Operator 'AndAlso' is not defined for types 'Boolean' and 'Date'." />
+		<error line="62" number="30452" message="Operator 'And' is not defined for types 'Boolean' and 'System.DBNull'." />
+	</test>
+	<test id="2266" name="OperatorIntrinsic_AndAlso_BooleanStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Boolean_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicAndAlso.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="9" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'Boolean'." />
+		<error line="13" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'Boolean'." />
+		<error line="17" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'Boolean'." />
+		<error line="21" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'Boolean'." />
+		<error line="25" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'Boolean'." />
+		<error line="29" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'Boolean'." />
+		<error line="33" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'Boolean'." />
+		<error line="37" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Boolean'." />
+		<error line="41" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Boolean'." />
+		<error line="45" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Boolean'." />
+		<error line="49" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Boolean'." />
+		<error line="52" number="30452" message="Operator 'AndAlso' is not defined for types 'Boolean' and 'Char'." />
+		<error line="56" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Boolean'." />
+		<error line="59" number="30452" message="Operator 'AndAlso' is not defined for types 'Boolean' and 'Date'." />
+		<error line="62" number="30452" message="Operator 'And' is not defined for types 'Boolean' and 'System.DBNull'." />
+		<error line="66" number="30038" message="Option Strict On prohibits operands of type Object for operator 'AndAlso'." />
+	</test>
+	<test id="2267" name="OperatorIntrinsic_AndAlso_ByteError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Byte_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicAndAlso.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="117" number="30452" message="Operator 'AndAlso' is not defined for types 'Byte' and 'Char'." />
+		<error line="124" number="30452" message="Operator 'AndAlso' is not defined for types 'Byte' and 'Date'." />
+		<error line="127" number="30452" message="Operator 'And' is not defined for types 'Byte' and 'System.DBNull'." />
+	</test>
+	<test id="2268" name="OperatorIntrinsic_AndAlso_ByteStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Byte_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicAndAlso.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="70" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'Boolean'." />
+		<error line="74" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'Boolean'." />
+		<error line="74" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'Boolean'." />
+		<error line="78" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'Boolean'." />
+		<error line="78" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'Boolean'." />
+		<error line="82" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'Boolean'." />
+		<error line="82" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'Boolean'." />
+		<error line="86" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'Boolean'." />
+		<error line="86" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'Boolean'." />
+		<error line="90" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'Boolean'." />
+		<error line="90" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'Boolean'." />
+		<error line="94" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'Boolean'." />
+		<error line="94" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'Boolean'." />
+		<error line="98" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'Boolean'." />
+		<error line="98" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'Boolean'." />
+		<error line="102" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'Boolean'." />
+		<error line="102" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Boolean'." />
+		<error line="106" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'Boolean'." />
+		<error line="106" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Boolean'." />
+		<error line="110" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'Boolean'." />
+		<error line="110" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Boolean'." />
+		<error line="114" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'Boolean'." />
+		<error line="114" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Boolean'." />
+		<error line="117" number="30452" message="Operator 'AndAlso' is not defined for types 'Byte' and 'Char'." />
+		<error line="121" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'Boolean'." />
+		<error line="121" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Boolean'." />
+		<error line="124" number="30452" message="Operator 'AndAlso' is not defined for types 'Byte' and 'Date'." />
+		<error line="127" number="30452" message="Operator 'And' is not defined for types 'Byte' and 'System.DBNull'." />
+		<error line="131" number="30038" message="Option Strict On prohibits operands of type Object for operator 'AndAlso'." />
+	</test>
+	<test id="2269" name="OperatorIntrinsic_AndAlso_SByteError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:SByte_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicAndAlso.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="182" number="30452" message="Operator 'AndAlso' is not defined for types 'SByte' and 'Char'." />
+		<error line="189" number="30452" message="Operator 'AndAlso' is not defined for types 'SByte' and 'Date'." />
+		<error line="192" number="30452" message="Operator 'And' is not defined for types 'SByte' and 'System.DBNull'." />
+	</test>
+	<test id="2270" name="OperatorIntrinsic_AndAlso_SByteStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:SByte_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicAndAlso.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="135" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'Boolean'." />
+		<error line="139" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'Boolean'." />
+		<error line="139" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'Boolean'." />
+		<error line="143" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'Boolean'." />
+		<error line="143" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'Boolean'." />
+		<error line="147" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'Boolean'." />
+		<error line="147" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'Boolean'." />
+		<error line="151" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'Boolean'." />
+		<error line="151" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'Boolean'." />
+		<error line="155" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'Boolean'." />
+		<error line="155" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'Boolean'." />
+		<error line="159" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'Boolean'." />
+		<error line="159" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'Boolean'." />
+		<error line="163" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'Boolean'." />
+		<error line="163" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'Boolean'." />
+		<error line="167" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'Boolean'." />
+		<error line="167" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Boolean'." />
+		<error line="171" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'Boolean'." />
+		<error line="171" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Boolean'." />
+		<error line="175" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'Boolean'." />
+		<error line="175" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Boolean'." />
+		<error line="179" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'Boolean'." />
+		<error line="179" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Boolean'." />
+		<error line="182" number="30452" message="Operator 'AndAlso' is not defined for types 'SByte' and 'Char'." />
+		<error line="186" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'Boolean'." />
+		<error line="186" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Boolean'." />
+		<error line="189" number="30452" message="Operator 'AndAlso' is not defined for types 'SByte' and 'Date'." />
+		<error line="192" number="30452" message="Operator 'And' is not defined for types 'SByte' and 'System.DBNull'." />
+		<error line="196" number="30038" message="Option Strict On prohibits operands of type Object for operator 'AndAlso'." />
+	</test>
+	<test id="2271" name="OperatorIntrinsic_AndAlso_Int16Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Int16_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicAndAlso.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="247" number="30452" message="Operator 'AndAlso' is not defined for types 'Short' and 'Char'." />
+		<error line="254" number="30452" message="Operator 'AndAlso' is not defined for types 'Short' and 'Date'." />
+		<error line="257" number="30452" message="Operator 'And' is not defined for types 'Short' and 'System.DBNull'." />
+	</test>
+	<test id="2272" name="OperatorIntrinsic_AndAlso_Int16StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Int16_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicAndAlso.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="200" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'Boolean'." />
+		<error line="204" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'Boolean'." />
+		<error line="204" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'Boolean'." />
+		<error line="208" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'Boolean'." />
+		<error line="208" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'Boolean'." />
+		<error line="212" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'Boolean'." />
+		<error line="212" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'Boolean'." />
+		<error line="216" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'Boolean'." />
+		<error line="216" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'Boolean'." />
+		<error line="220" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'Boolean'." />
+		<error line="220" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'Boolean'." />
+		<error line="224" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'Boolean'." />
+		<error line="224" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'Boolean'." />
+		<error line="228" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'Boolean'." />
+		<error line="228" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'Boolean'." />
+		<error line="232" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'Boolean'." />
+		<error line="232" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Boolean'." />
+		<error line="236" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'Boolean'." />
+		<error line="236" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Boolean'." />
+		<error line="240" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'Boolean'." />
+		<error line="240" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Boolean'." />
+		<error line="244" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'Boolean'." />
+		<error line="244" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Boolean'." />
+		<error line="247" number="30452" message="Operator 'AndAlso' is not defined for types 'Short' and 'Char'." />
+		<error line="251" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'Boolean'." />
+		<error line="251" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Boolean'." />
+		<error line="254" number="30452" message="Operator 'AndAlso' is not defined for types 'Short' and 'Date'." />
+		<error line="257" number="30452" message="Operator 'And' is not defined for types 'Short' and 'System.DBNull'." />
+		<error line="261" number="30038" message="Option Strict On prohibits operands of type Object for operator 'AndAlso'." />
+	</test>
+	<test id="2273" name="OperatorIntrinsic_AndAlso_UInt16Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:UInt16_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicAndAlso.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="312" number="30452" message="Operator 'AndAlso' is not defined for types 'UShort' and 'Char'." />
+		<error line="319" number="30452" message="Operator 'AndAlso' is not defined for types 'UShort' and 'Date'." />
+		<error line="322" number="30452" message="Operator 'And' is not defined for types 'UShort' and 'System.DBNull'." />
+	</test>
+	<test id="2274" name="OperatorIntrinsic_AndAlso_UInt16StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:UInt16_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicAndAlso.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="265" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'Boolean'." />
+		<error line="269" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'Boolean'." />
+		<error line="269" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'Boolean'." />
+		<error line="273" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'Boolean'." />
+		<error line="273" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'Boolean'." />
+		<error line="277" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'Boolean'." />
+		<error line="277" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'Boolean'." />
+		<error line="281" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'Boolean'." />
+		<error line="281" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'Boolean'." />
+		<error line="285" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'Boolean'." />
+		<error line="285" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'Boolean'." />
+		<error line="289" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'Boolean'." />
+		<error line="289" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'Boolean'." />
+		<error line="293" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'Boolean'." />
+		<error line="293" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'Boolean'." />
+		<error line="297" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'Boolean'." />
+		<error line="297" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Boolean'." />
+		<error line="301" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'Boolean'." />
+		<error line="301" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Boolean'." />
+		<error line="305" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'Boolean'." />
+		<error line="305" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Boolean'." />
+		<error line="309" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'Boolean'." />
+		<error line="309" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Boolean'." />
+		<error line="312" number="30452" message="Operator 'AndAlso' is not defined for types 'UShort' and 'Char'." />
+		<error line="316" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'Boolean'." />
+		<error line="316" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Boolean'." />
+		<error line="319" number="30452" message="Operator 'AndAlso' is not defined for types 'UShort' and 'Date'." />
+		<error line="322" number="30452" message="Operator 'And' is not defined for types 'UShort' and 'System.DBNull'." />
+		<error line="326" number="30038" message="Option Strict On prohibits operands of type Object for operator 'AndAlso'." />
+	</test>
+	<test id="2275" name="OperatorIntrinsic_AndAlso_Int32Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Int32_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicAndAlso.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="377" number="30452" message="Operator 'AndAlso' is not defined for types 'Integer' and 'Char'." />
+		<error line="384" number="30452" message="Operator 'AndAlso' is not defined for types 'Integer' and 'Date'." />
+		<error line="387" number="30452" message="Operator 'And' is not defined for types 'Integer' and 'System.DBNull'." />
+	</test>
+	<test id="2276" name="OperatorIntrinsic_AndAlso_Int32StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Int32_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicAndAlso.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="330" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'Boolean'." />
+		<error line="334" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'Boolean'." />
+		<error line="334" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'Boolean'." />
+		<error line="338" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'Boolean'." />
+		<error line="338" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'Boolean'." />
+		<error line="342" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'Boolean'." />
+		<error line="342" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'Boolean'." />
+		<error line="346" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'Boolean'." />
+		<error line="346" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'Boolean'." />
+		<error line="350" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'Boolean'." />
+		<error line="350" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'Boolean'." />
+		<error line="354" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'Boolean'." />
+		<error line="354" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'Boolean'." />
+		<error line="358" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'Boolean'." />
+		<error line="358" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'Boolean'." />
+		<error line="362" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'Boolean'." />
+		<error line="362" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Boolean'." />
+		<error line="366" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'Boolean'." />
+		<error line="366" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Boolean'." />
+		<error line="370" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'Boolean'." />
+		<error line="370" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Boolean'." />
+		<error line="374" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'Boolean'." />
+		<error line="374" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Boolean'." />
+		<error line="377" number="30452" message="Operator 'AndAlso' is not defined for types 'Integer' and 'Char'." />
+		<error line="381" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'Boolean'." />
+		<error line="381" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Boolean'." />
+		<error line="384" number="30452" message="Operator 'AndAlso' is not defined for types 'Integer' and 'Date'." />
+		<error line="387" number="30452" message="Operator 'And' is not defined for types 'Integer' and 'System.DBNull'." />
+		<error line="391" number="30038" message="Option Strict On prohibits operands of type Object for operator 'AndAlso'." />
+	</test>
+	<test id="2277" name="OperatorIntrinsic_AndAlso_UInt32Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:UInt32_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicAndAlso.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="442" number="30452" message="Operator 'AndAlso' is not defined for types 'UInteger' and 'Char'." />
+		<error line="449" number="30452" message="Operator 'AndAlso' is not defined for types 'UInteger' and 'Date'." />
+		<error line="452" number="30452" message="Operator 'And' is not defined for types 'UInteger' and 'System.DBNull'." />
+	</test>
+	<test id="2278" name="OperatorIntrinsic_AndAlso_UInt32StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:UInt32_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicAndAlso.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="395" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'Boolean'." />
+		<error line="399" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'Boolean'." />
+		<error line="399" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'Boolean'." />
+		<error line="403" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'Boolean'." />
+		<error line="403" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'Boolean'." />
+		<error line="407" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'Boolean'." />
+		<error line="407" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'Boolean'." />
+		<error line="411" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'Boolean'." />
+		<error line="411" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'Boolean'." />
+		<error line="415" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'Boolean'." />
+		<error line="415" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'Boolean'." />
+		<error line="419" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'Boolean'." />
+		<error line="419" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'Boolean'." />
+		<error line="423" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'Boolean'." />
+		<error line="423" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'Boolean'." />
+		<error line="427" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'Boolean'." />
+		<error line="427" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Boolean'." />
+		<error line="431" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'Boolean'." />
+		<error line="431" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Boolean'." />
+		<error line="435" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'Boolean'." />
+		<error line="435" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Boolean'." />
+		<error line="439" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'Boolean'." />
+		<error line="439" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Boolean'." />
+		<error line="442" number="30452" message="Operator 'AndAlso' is not defined for types 'UInteger' and 'Char'." />
+		<error line="446" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'Boolean'." />
+		<error line="446" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Boolean'." />
+		<error line="449" number="30452" message="Operator 'AndAlso' is not defined for types 'UInteger' and 'Date'." />
+		<error line="452" number="30452" message="Operator 'And' is not defined for types 'UInteger' and 'System.DBNull'." />
+		<error line="456" number="30038" message="Option Strict On prohibits operands of type Object for operator 'AndAlso'." />
+	</test>
+	<test id="2279" name="OperatorIntrinsic_AndAlso_Int64Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Int64_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicAndAlso.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="507" number="30452" message="Operator 'AndAlso' is not defined for types 'Long' and 'Char'." />
+		<error line="514" number="30452" message="Operator 'AndAlso' is not defined for types 'Long' and 'Date'." />
+		<error line="517" number="30452" message="Operator 'And' is not defined for types 'Long' and 'System.DBNull'." />
+	</test>
+	<test id="2280" name="OperatorIntrinsic_AndAlso_Int64StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Int64_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicAndAlso.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="460" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'Boolean'." />
+		<error line="464" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'Boolean'." />
+		<error line="464" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'Boolean'." />
+		<error line="468" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'Boolean'." />
+		<error line="468" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'Boolean'." />
+		<error line="472" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'Boolean'." />
+		<error line="472" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'Boolean'." />
+		<error line="476" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'Boolean'." />
+		<error line="476" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'Boolean'." />
+		<error line="480" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'Boolean'." />
+		<error line="480" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'Boolean'." />
+		<error line="484" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'Boolean'." />
+		<error line="484" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'Boolean'." />
+		<error line="488" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'Boolean'." />
+		<error line="488" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'Boolean'." />
+		<error line="492" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'Boolean'." />
+		<error line="492" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Boolean'." />
+		<error line="496" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'Boolean'." />
+		<error line="496" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Boolean'." />
+		<error line="500" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'Boolean'." />
+		<error line="500" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Boolean'." />
+		<error line="504" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'Boolean'." />
+		<error line="504" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Boolean'." />
+		<error line="507" number="30452" message="Operator 'AndAlso' is not defined for types 'Long' and 'Char'." />
+		<error line="511" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'Boolean'." />
+		<error line="511" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Boolean'." />
+		<error line="514" number="30452" message="Operator 'AndAlso' is not defined for types 'Long' and 'Date'." />
+		<error line="517" number="30452" message="Operator 'And' is not defined for types 'Long' and 'System.DBNull'." />
+		<error line="521" number="30038" message="Option Strict On prohibits operands of type Object for operator 'AndAlso'." />
+	</test>
+	<test id="2281" name="OperatorIntrinsic_AndAlso_UInt64Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:UInt64_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicAndAlso.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="572" number="30452" message="Operator 'AndAlso' is not defined for types 'ULong' and 'Char'." />
+		<error line="579" number="30452" message="Operator 'AndAlso' is not defined for types 'ULong' and 'Date'." />
+		<error line="582" number="30452" message="Operator 'And' is not defined for types 'ULong' and 'System.DBNull'." />
+	</test>
+	<test id="2282" name="OperatorIntrinsic_AndAlso_UInt64StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:UInt64_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicAndAlso.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="525" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Boolean'." />
+		<error line="529" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Boolean'." />
+		<error line="529" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'Boolean'." />
+		<error line="533" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Boolean'." />
+		<error line="533" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'Boolean'." />
+		<error line="537" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Boolean'." />
+		<error line="537" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'Boolean'." />
+		<error line="541" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Boolean'." />
+		<error line="541" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'Boolean'." />
+		<error line="545" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Boolean'." />
+		<error line="545" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'Boolean'." />
+		<error line="549" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Boolean'." />
+		<error line="549" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'Boolean'." />
+		<error line="553" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Boolean'." />
+		<error line="553" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'Boolean'." />
+		<error line="557" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Boolean'." />
+		<error line="557" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Boolean'." />
+		<error line="561" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Boolean'." />
+		<error line="561" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Boolean'." />
+		<error line="565" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Boolean'." />
+		<error line="565" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Boolean'." />
+		<error line="569" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Boolean'." />
+		<error line="569" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Boolean'." />
+		<error line="572" number="30452" message="Operator 'AndAlso' is not defined for types 'ULong' and 'Char'." />
+		<error line="576" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Boolean'." />
+		<error line="576" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Boolean'." />
+		<error line="579" number="30452" message="Operator 'AndAlso' is not defined for types 'ULong' and 'Date'." />
+		<error line="582" number="30452" message="Operator 'And' is not defined for types 'ULong' and 'System.DBNull'." />
+		<error line="586" number="30038" message="Option Strict On prohibits operands of type Object for operator 'AndAlso'." />
+	</test>
+	<test id="2283" name="OperatorIntrinsic_AndAlso_DecimalError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Decimal_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicAndAlso.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="637" number="30452" message="Operator 'AndAlso' is not defined for types 'Decimal' and 'Char'." />
+		<error line="644" number="30452" message="Operator 'AndAlso' is not defined for types 'Decimal' and 'Date'." />
+		<error line="647" number="30452" message="Operator 'And' is not defined for types 'Decimal' and 'System.DBNull'." />
+	</test>
+	<test id="2284" name="OperatorIntrinsic_AndAlso_DecimalStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Decimal_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicAndAlso.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="590" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Boolean'." />
+		<error line="594" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Boolean'." />
+		<error line="594" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'Boolean'." />
+		<error line="598" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Boolean'." />
+		<error line="598" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'Boolean'." />
+		<error line="602" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Boolean'." />
+		<error line="602" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'Boolean'." />
+		<error line="606" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Boolean'." />
+		<error line="606" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'Boolean'." />
+		<error line="610" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Boolean'." />
+		<error line="610" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'Boolean'." />
+		<error line="614" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Boolean'." />
+		<error line="614" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'Boolean'." />
+		<error line="618" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Boolean'." />
+		<error line="618" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'Boolean'." />
+		<error line="622" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Boolean'." />
+		<error line="622" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Boolean'." />
+		<error line="626" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Boolean'." />
+		<error line="626" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Boolean'." />
+		<error line="630" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Boolean'." />
+		<error line="630" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Boolean'." />
+		<error line="634" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Boolean'." />
+		<error line="634" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Boolean'." />
+		<error line="637" number="30452" message="Operator 'AndAlso' is not defined for types 'Decimal' and 'Char'." />
+		<error line="641" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Boolean'." />
+		<error line="641" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Boolean'." />
+		<error line="644" number="30452" message="Operator 'AndAlso' is not defined for types 'Decimal' and 'Date'." />
+		<error line="647" number="30452" message="Operator 'And' is not defined for types 'Decimal' and 'System.DBNull'." />
+		<error line="651" number="30038" message="Option Strict On prohibits operands of type Object for operator 'AndAlso'." />
+	</test>
+	<test id="2285" name="OperatorIntrinsic_AndAlso_SingleError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Single_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicAndAlso.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="702" number="30452" message="Operator 'AndAlso' is not defined for types 'Single' and 'Char'." />
+		<error line="709" number="30452" message="Operator 'AndAlso' is not defined for types 'Single' and 'Date'." />
+		<error line="712" number="30452" message="Operator 'And' is not defined for types 'Single' and 'System.DBNull'." />
+	</test>
+	<test id="2286" name="OperatorIntrinsic_AndAlso_SingleStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Single_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicAndAlso.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="655" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Boolean'." />
+		<error line="659" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Boolean'." />
+		<error line="659" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'Boolean'." />
+		<error line="663" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Boolean'." />
+		<error line="663" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'Boolean'." />
+		<error line="667" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Boolean'." />
+		<error line="667" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'Boolean'." />
+		<error line="671" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Boolean'." />
+		<error line="671" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'Boolean'." />
+		<error line="675" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Boolean'." />
+		<error line="675" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'Boolean'." />
+		<error line="679" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Boolean'." />
+		<error line="679" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'Boolean'." />
+		<error line="683" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Boolean'." />
+		<error line="683" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'Boolean'." />
+		<error line="687" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Boolean'." />
+		<error line="687" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Boolean'." />
+		<error line="691" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Boolean'." />
+		<error line="691" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Boolean'." />
+		<error line="695" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Boolean'." />
+		<error line="695" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Boolean'." />
+		<error line="699" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Boolean'." />
+		<error line="699" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Boolean'." />
+		<error line="702" number="30452" message="Operator 'AndAlso' is not defined for types 'Single' and 'Char'." />
+		<error line="706" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Boolean'." />
+		<error line="706" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Boolean'." />
+		<error line="709" number="30452" message="Operator 'AndAlso' is not defined for types 'Single' and 'Date'." />
+		<error line="712" number="30452" message="Operator 'And' is not defined for types 'Single' and 'System.DBNull'." />
+		<error line="716" number="30038" message="Option Strict On prohibits operands of type Object for operator 'AndAlso'." />
+	</test>
+	<test id="2287" name="OperatorIntrinsic_AndAlso_DoubleError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Double_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicAndAlso.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="767" number="30452" message="Operator 'AndAlso' is not defined for types 'Double' and 'Char'." />
+		<error line="774" number="30452" message="Operator 'AndAlso' is not defined for types 'Double' and 'Date'." />
+		<error line="777" number="30452" message="Operator 'And' is not defined for types 'Double' and 'System.DBNull'." />
+	</test>
+	<test id="2288" name="OperatorIntrinsic_AndAlso_DoubleStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Double_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicAndAlso.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="720" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Boolean'." />
+		<error line="724" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Boolean'." />
+		<error line="724" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'Boolean'." />
+		<error line="728" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Boolean'." />
+		<error line="728" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'Boolean'." />
+		<error line="732" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Boolean'." />
+		<error line="732" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'Boolean'." />
+		<error line="736" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Boolean'." />
+		<error line="736" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'Boolean'." />
+		<error line="740" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Boolean'." />
+		<error line="740" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'Boolean'." />
+		<error line="744" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Boolean'." />
+		<error line="744" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'Boolean'." />
+		<error line="748" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Boolean'." />
+		<error line="748" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'Boolean'." />
+		<error line="752" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Boolean'." />
+		<error line="752" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Boolean'." />
+		<error line="756" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Boolean'." />
+		<error line="756" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Boolean'." />
+		<error line="760" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Boolean'." />
+		<error line="760" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Boolean'." />
+		<error line="764" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Boolean'." />
+		<error line="764" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Boolean'." />
+		<error line="767" number="30452" message="Operator 'AndAlso' is not defined for types 'Double' and 'Char'." />
+		<error line="771" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Boolean'." />
+		<error line="771" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Boolean'." />
+		<error line="774" number="30452" message="Operator 'AndAlso' is not defined for types 'Double' and 'Date'." />
+		<error line="777" number="30452" message="Operator 'And' is not defined for types 'Double' and 'System.DBNull'." />
+		<error line="781" number="30038" message="Option Strict On prohibits operands of type Object for operator 'AndAlso'." />
+	</test>
+	<test id="2289" name="OperatorIntrinsic_AndAlso_CharError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Char_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicAndAlso.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="784" number="30452" message="Operator 'AndAlso' is not defined for types 'Char' and 'Boolean'." />
+		<error line="787" number="30452" message="Operator 'AndAlso' is not defined for types 'Char' and 'Byte'." />
+		<error line="790" number="30452" message="Operator 'AndAlso' is not defined for types 'Char' and 'SByte'." />
+		<error line="793" number="30452" message="Operator 'AndAlso' is not defined for types 'Char' and 'Short'." />
+		<error line="796" number="30452" message="Operator 'AndAlso' is not defined for types 'Char' and 'UShort'." />
+		<error line="799" number="30452" message="Operator 'AndAlso' is not defined for types 'Char' and 'Integer'." />
+		<error line="802" number="30452" message="Operator 'AndAlso' is not defined for types 'Char' and 'UInteger'." />
+		<error line="805" number="30452" message="Operator 'AndAlso' is not defined for types 'Char' and 'Long'." />
+		<error line="808" number="30452" message="Operator 'AndAlso' is not defined for types 'Char' and 'ULong'." />
+		<error line="811" number="30452" message="Operator 'AndAlso' is not defined for types 'Char' and 'Decimal'." />
+		<error line="814" number="30452" message="Operator 'AndAlso' is not defined for types 'Char' and 'Single'." />
+		<error line="817" number="30452" message="Operator 'AndAlso' is not defined for types 'Char' and 'Double'." />
+		<error line="820" number="30452" message="Operator 'AndAlso' is not defined for types 'Char' and 'Char'." />
+		<error line="823" number="30452" message="Operator 'AndAlso' is not defined for types 'Char' and 'String'." />
+		<error line="826" number="30452" message="Operator 'AndAlso' is not defined for types 'Char' and 'Date'." />
+		<error line="829" number="30452" message="Operator 'And' is not defined for types 'Char' and 'System.DBNull'." />
+		<error line="832" number="30452" message="Operator 'AndAlso' is not defined for types 'Char' and 'Object'." />
+	</test>
+	<test id="2290" name="OperatorIntrinsic_AndAlso_CharStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Char_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicAndAlso.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="784" number="30452" message="Operator 'AndAlso' is not defined for types 'Char' and 'Boolean'." />
+		<error line="787" number="30452" message="Operator 'AndAlso' is not defined for types 'Char' and 'Byte'." />
+		<error line="790" number="30452" message="Operator 'AndAlso' is not defined for types 'Char' and 'SByte'." />
+		<error line="793" number="30452" message="Operator 'AndAlso' is not defined for types 'Char' and 'Short'." />
+		<error line="796" number="30452" message="Operator 'AndAlso' is not defined for types 'Char' and 'UShort'." />
+		<error line="799" number="30452" message="Operator 'AndAlso' is not defined for types 'Char' and 'Integer'." />
+		<error line="802" number="30452" message="Operator 'AndAlso' is not defined for types 'Char' and 'UInteger'." />
+		<error line="805" number="30452" message="Operator 'AndAlso' is not defined for types 'Char' and 'Long'." />
+		<error line="808" number="30452" message="Operator 'AndAlso' is not defined for types 'Char' and 'ULong'." />
+		<error line="811" number="30452" message="Operator 'AndAlso' is not defined for types 'Char' and 'Decimal'." />
+		<error line="814" number="30452" message="Operator 'AndAlso' is not defined for types 'Char' and 'Single'." />
+		<error line="817" number="30452" message="Operator 'AndAlso' is not defined for types 'Char' and 'Double'." />
+		<error line="820" number="30452" message="Operator 'AndAlso' is not defined for types 'Char' and 'Char'." />
+		<error line="823" number="30452" message="Operator 'AndAlso' is not defined for types 'Char' and 'String'." />
+		<error line="826" number="30452" message="Operator 'AndAlso' is not defined for types 'Char' and 'Date'." />
+		<error line="829" number="30452" message="Operator 'And' is not defined for types 'Char' and 'System.DBNull'." />
+		<error line="832" number="30452" message="Operator 'AndAlso' is not defined for types 'Char' and 'Object'." />
+	</test>
+	<test id="2291" name="OperatorIntrinsic_AndAlso_StringError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:String_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicAndAlso.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="883" number="30452" message="Operator 'AndAlso' is not defined for types 'String' and 'Char'." />
+		<error line="890" number="30452" message="Operator 'AndAlso' is not defined for types 'String' and 'Date'." />
+		<error line="893" number="30452" message="Operator 'And' is not defined for types 'String' and 'System.DBNull'." />
+	</test>
+	<test id="2292" name="OperatorIntrinsic_AndAlso_StringStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:String_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicAndAlso.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="836" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Boolean'." />
+		<error line="840" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Boolean'." />
+		<error line="840" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'Boolean'." />
+		<error line="844" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Boolean'." />
+		<error line="844" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'Boolean'." />
+		<error line="848" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Boolean'." />
+		<error line="848" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'Boolean'." />
+		<error line="852" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Boolean'." />
+		<error line="852" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'Boolean'." />
+		<error line="856" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Boolean'." />
+		<error line="856" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'Boolean'." />
+		<error line="860" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Boolean'." />
+		<error line="860" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'Boolean'." />
+		<error line="864" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Boolean'." />
+		<error line="864" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'Boolean'." />
+		<error line="868" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Boolean'." />
+		<error line="868" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Boolean'." />
+		<error line="872" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Boolean'." />
+		<error line="872" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Boolean'." />
+		<error line="876" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Boolean'." />
+		<error line="876" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Boolean'." />
+		<error line="880" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Boolean'." />
+		<error line="880" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Boolean'." />
+		<error line="883" number="30452" message="Operator 'AndAlso' is not defined for types 'String' and 'Char'." />
+		<error line="887" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Boolean'." />
+		<error line="887" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Boolean'." />
+		<error line="890" number="30452" message="Operator 'AndAlso' is not defined for types 'String' and 'Date'." />
+		<error line="893" number="30452" message="Operator 'And' is not defined for types 'String' and 'System.DBNull'." />
+		<error line="897" number="30038" message="Option Strict On prohibits operands of type Object for operator 'AndAlso'." />
+	</test>
+	<test id="2293" name="OperatorIntrinsic_AndAlso_DateTimeError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:DateTime_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicAndAlso.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="900" number="30452" message="Operator 'AndAlso' is not defined for types 'Date' and 'Boolean'." />
+		<error line="903" number="30452" message="Operator 'AndAlso' is not defined for types 'Date' and 'Byte'." />
+		<error line="906" number="30452" message="Operator 'AndAlso' is not defined for types 'Date' and 'SByte'." />
+		<error line="909" number="30452" message="Operator 'AndAlso' is not defined for types 'Date' and 'Short'." />
+		<error line="912" number="30452" message="Operator 'AndAlso' is not defined for types 'Date' and 'UShort'." />
+		<error line="915" number="30452" message="Operator 'AndAlso' is not defined for types 'Date' and 'Integer'." />
+		<error line="918" number="30452" message="Operator 'AndAlso' is not defined for types 'Date' and 'UInteger'." />
+		<error line="921" number="30452" message="Operator 'AndAlso' is not defined for types 'Date' and 'Long'." />
+		<error line="924" number="30452" message="Operator 'AndAlso' is not defined for types 'Date' and 'ULong'." />
+		<error line="927" number="30452" message="Operator 'AndAlso' is not defined for types 'Date' and 'Decimal'." />
+		<error line="930" number="30452" message="Operator 'AndAlso' is not defined for types 'Date' and 'Single'." />
+		<error line="933" number="30452" message="Operator 'AndAlso' is not defined for types 'Date' and 'Double'." />
+		<error line="936" number="30452" message="Operator 'AndAlso' is not defined for types 'Date' and 'Char'." />
+		<error line="939" number="30452" message="Operator 'AndAlso' is not defined for types 'Date' and 'String'." />
+		<error line="942" number="30452" message="Operator 'AndAlso' is not defined for types 'Date' and 'Date'." />
+		<error line="945" number="30452" message="Operator 'And' is not defined for types 'Date' and 'System.DBNull'." />
+		<error line="948" number="30452" message="Operator 'AndAlso' is not defined for types 'Date' and 'Object'." />
+	</test>
+	<test id="2294" name="OperatorIntrinsic_AndAlso_DateTimeStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:DateTime_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicAndAlso.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="900" number="30452" message="Operator 'AndAlso' is not defined for types 'Date' and 'Boolean'." />
+		<error line="903" number="30452" message="Operator 'AndAlso' is not defined for types 'Date' and 'Byte'." />
+		<error line="906" number="30452" message="Operator 'AndAlso' is not defined for types 'Date' and 'SByte'." />
+		<error line="909" number="30452" message="Operator 'AndAlso' is not defined for types 'Date' and 'Short'." />
+		<error line="912" number="30452" message="Operator 'AndAlso' is not defined for types 'Date' and 'UShort'." />
+		<error line="915" number="30452" message="Operator 'AndAlso' is not defined for types 'Date' and 'Integer'." />
+		<error line="918" number="30452" message="Operator 'AndAlso' is not defined for types 'Date' and 'UInteger'." />
+		<error line="921" number="30452" message="Operator 'AndAlso' is not defined for types 'Date' and 'Long'." />
+		<error line="924" number="30452" message="Operator 'AndAlso' is not defined for types 'Date' and 'ULong'." />
+		<error line="927" number="30452" message="Operator 'AndAlso' is not defined for types 'Date' and 'Decimal'." />
+		<error line="930" number="30452" message="Operator 'AndAlso' is not defined for types 'Date' and 'Single'." />
+		<error line="933" number="30452" message="Operator 'AndAlso' is not defined for types 'Date' and 'Double'." />
+		<error line="936" number="30452" message="Operator 'AndAlso' is not defined for types 'Date' and 'Char'." />
+		<error line="939" number="30452" message="Operator 'AndAlso' is not defined for types 'Date' and 'String'." />
+		<error line="942" number="30452" message="Operator 'AndAlso' is not defined for types 'Date' and 'Date'." />
+		<error line="945" number="30452" message="Operator 'And' is not defined for types 'Date' and 'System.DBNull'." />
+		<error line="948" number="30452" message="Operator 'AndAlso' is not defined for types 'Date' and 'Object'." />
+	</test>
+	<test id="2295" name="OperatorIntrinsic_AndAlso_DBNullError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:DBNull_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicAndAlso.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="951" number="30452" message="Operator 'And' is not defined for types 'System.DBNull' and 'Boolean'." />
+		<error line="954" number="30452" message="Operator 'And' is not defined for types 'System.DBNull' and 'Byte'." />
+		<error line="957" number="30452" message="Operator 'And' is not defined for types 'System.DBNull' and 'SByte'." />
+		<error line="960" number="30452" message="Operator 'And' is not defined for types 'System.DBNull' and 'Short'." />
+		<error line="963" number="30452" message="Operator 'And' is not defined for types 'System.DBNull' and 'UShort'." />
+		<error line="966" number="30452" message="Operator 'And' is not defined for types 'System.DBNull' and 'Integer'." />
+		<error line="969" number="30452" message="Operator 'And' is not defined for types 'System.DBNull' and 'UInteger'." />
+		<error line="972" number="30452" message="Operator 'And' is not defined for types 'System.DBNull' and 'Long'." />
+		<error line="975" number="30452" message="Operator 'And' is not defined for types 'System.DBNull' and 'ULong'." />
+		<error line="978" number="30452" message="Operator 'And' is not defined for types 'System.DBNull' and 'Decimal'." />
+		<error line="981" number="30452" message="Operator 'And' is not defined for types 'System.DBNull' and 'Single'." />
+		<error line="984" number="30452" message="Operator 'And' is not defined for types 'System.DBNull' and 'Double'." />
+		<error line="987" number="30452" message="Operator 'And' is not defined for types 'System.DBNull' and 'Char'." />
+		<error line="990" number="30452" message="Operator 'And' is not defined for types 'System.DBNull' and 'String'." />
+		<error line="993" number="30452" message="Operator 'And' is not defined for types 'System.DBNull' and 'Date'." />
+		<error line="996" number="30452" message="Operator 'And' is not defined for types 'System.DBNull' and 'System.DBNull'." />
+		<error line="999" number="30452" message="Operator 'And' is not defined for types 'System.DBNull' and 'Object'." />
+	</test>
+	<test id="2296" name="OperatorIntrinsic_AndAlso_DBNullStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:DBNull_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicAndAlso.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="951" number="30452" message="Operator 'And' is not defined for types 'System.DBNull' and 'Boolean'." />
+		<error line="954" number="30452" message="Operator 'And' is not defined for types 'System.DBNull' and 'Byte'." />
+		<error line="957" number="30452" message="Operator 'And' is not defined for types 'System.DBNull' and 'SByte'." />
+		<error line="960" number="30452" message="Operator 'And' is not defined for types 'System.DBNull' and 'Short'." />
+		<error line="963" number="30452" message="Operator 'And' is not defined for types 'System.DBNull' and 'UShort'." />
+		<error line="966" number="30452" message="Operator 'And' is not defined for types 'System.DBNull' and 'Integer'." />
+		<error line="969" number="30452" message="Operator 'And' is not defined for types 'System.DBNull' and 'UInteger'." />
+		<error line="972" number="30452" message="Operator 'And' is not defined for types 'System.DBNull' and 'Long'." />
+		<error line="975" number="30452" message="Operator 'And' is not defined for types 'System.DBNull' and 'ULong'." />
+		<error line="978" number="30452" message="Operator 'And' is not defined for types 'System.DBNull' and 'Decimal'." />
+		<error line="981" number="30452" message="Operator 'And' is not defined for types 'System.DBNull' and 'Single'." />
+		<error line="984" number="30452" message="Operator 'And' is not defined for types 'System.DBNull' and 'Double'." />
+		<error line="987" number="30452" message="Operator 'And' is not defined for types 'System.DBNull' and 'Char'." />
+		<error line="990" number="30452" message="Operator 'And' is not defined for types 'System.DBNull' and 'String'." />
+		<error line="993" number="30452" message="Operator 'And' is not defined for types 'System.DBNull' and 'Date'." />
+		<error line="996" number="30452" message="Operator 'And' is not defined for types 'System.DBNull' and 'System.DBNull'." />
+		<error line="999" number="30452" message="Operator 'And' is not defined for types 'System.DBNull' and 'Object'." />
+	</test>
+	<test id="2297" name="OperatorIntrinsic_AndAlso_ObjectError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Object_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicAndAlso.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="1050" number="30452" message="Operator 'AndAlso' is not defined for types 'Object' and 'Char'." />
+		<error line="1057" number="30452" message="Operator 'AndAlso' is not defined for types 'Object' and 'Date'." />
+		<error line="1060" number="30452" message="Operator 'And' is not defined for types 'Object' and 'System.DBNull'." />
+	</test>
+	<test id="2298" name="OperatorIntrinsic_AndAlso_ObjectStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Object_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicAndAlso.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="1003" number="30038" message="Option Strict On prohibits operands of type Object for operator 'AndAlso'." />
+		<error line="1007" number="30038" message="Option Strict On prohibits operands of type Object for operator 'AndAlso'." />
+		<error line="1011" number="30038" message="Option Strict On prohibits operands of type Object for operator 'AndAlso'." />
+		<error line="1015" number="30038" message="Option Strict On prohibits operands of type Object for operator 'AndAlso'." />
+		<error line="1019" number="30038" message="Option Strict On prohibits operands of type Object for operator 'AndAlso'." />
+		<error line="1023" number="30038" message="Option Strict On prohibits operands of type Object for operator 'AndAlso'." />
+		<error line="1027" number="30038" message="Option Strict On prohibits operands of type Object for operator 'AndAlso'." />
+		<error line="1031" number="30038" message="Option Strict On prohibits operands of type Object for operator 'AndAlso'." />
+		<error line="1035" number="30038" message="Option Strict On prohibits operands of type Object for operator 'AndAlso'." />
+		<error line="1039" number="30038" message="Option Strict On prohibits operands of type Object for operator 'AndAlso'." />
+		<error line="1043" number="30038" message="Option Strict On prohibits operands of type Object for operator 'AndAlso'." />
+		<error line="1047" number="30038" message="Option Strict On prohibits operands of type Object for operator 'AndAlso'." />
+		<error line="1050" number="30452" message="Operator 'AndAlso' is not defined for types 'Object' and 'Char'." />
+		<error line="1054" number="30038" message="Option Strict On prohibits operands of type Object for operator 'AndAlso'." />
+		<error line="1057" number="30452" message="Operator 'AndAlso' is not defined for types 'Object' and 'Date'." />
+		<error line="1060" number="30452" message="Operator 'And' is not defined for types 'Object' and 'System.DBNull'." />
+		<error line="1064" number="30038" message="Option Strict On prohibits operands of type Object for operator 'AndAlso'." />
+		<error line="1064" number="30038" message="Option Strict On prohibits operands of type Object for operator 'AndAlso'." />
+	</test>
+	<test id="2299" name="OperatorIntrinsic_And_" target="exe" mytype="empty">
+		<file>CompileTime2\OperatorIntrinsicAnd.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+	</test>
+	<test id="2300" name="OperatorIntrinsic_And_Strict" mytype="empty">
+		<arguments>/optionstrict+ /define:STRICT /quiet</arguments>
+		<file>CompileTime2\OperatorIntrinsicAnd.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+	</test>
+	<test id="2301" name="OperatorIntrinsic_And_BooleanError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Boolean_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicAnd.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="52" number="30452" message="Operator 'And' is not defined for types 'Boolean' and 'Char'." />
+		<error line="59" number="30452" message="Operator 'And' is not defined for types 'Boolean' and 'Date'." />
+		<error line="62" number="30452" message="Operator 'And' is not defined for types 'Boolean' and 'System.DBNull'." />
+	</test>
+	<test id="2302" name="OperatorIntrinsic_And_BooleanStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Boolean_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicAnd.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="9" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<error line="13" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'SByte'." />
+		<error line="17" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<error line="21" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Integer'." />
+		<error line="25" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Integer'." />
+		<error line="29" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Long'." />
+		<error line="33" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Long'." />
+		<error line="37" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Long'." />
+		<error line="37" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Long'." />
+		<error line="41" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Long'." />
+		<error line="41" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="45" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Long'." />
+		<error line="45" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="49" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Long'." />
+		<error line="49" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="52" number="30452" message="Operator 'And' is not defined for types 'Boolean' and 'Char'." />
+		<error line="56" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Boolean'." />
+		<error line="59" number="30452" message="Operator 'And' is not defined for types 'Boolean' and 'Date'." />
+		<error line="62" number="30452" message="Operator 'And' is not defined for types 'Boolean' and 'System.DBNull'." />
+		<error line="66" number="30038" message="Option Strict On prohibits operands of type Object for operator 'And'." />
+	</test>
+	<test id="2303" name="OperatorIntrinsic_And_ByteError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Byte_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicAnd.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="103" number="30452" message="Operator 'And' is not defined for types 'Byte' and 'Char'." />
+		<error line="110" number="30452" message="Operator 'And' is not defined for types 'Byte' and 'Date'." />
+		<error line="113" number="30452" message="Operator 'And' is not defined for types 'Byte' and 'System.DBNull'." />
+	</test>
+	<test id="2304" name="OperatorIntrinsic_And_ByteStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Byte_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicAnd.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="70" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<error line="92" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="96" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="100" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="103" number="30452" message="Operator 'And' is not defined for types 'Byte' and 'Char'." />
+		<error line="107" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="110" number="30452" message="Operator 'And' is not defined for types 'Byte' and 'Date'." />
+		<error line="113" number="30452" message="Operator 'And' is not defined for types 'Byte' and 'System.DBNull'." />
+		<error line="117" number="30038" message="Option Strict On prohibits operands of type Object for operator 'And'." />
+	</test>
+	<test id="2305" name="OperatorIntrinsic_And_SByteError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:SByte_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicAnd.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="154" number="30452" message="Operator 'And' is not defined for types 'SByte' and 'Char'." />
+		<error line="161" number="30452" message="Operator 'And' is not defined for types 'SByte' and 'Date'." />
+		<error line="164" number="30452" message="Operator 'And' is not defined for types 'SByte' and 'System.DBNull'." />
+	</test>
+	<test id="2306" name="OperatorIntrinsic_And_SByteStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:SByte_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicAnd.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="121" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'SByte'." />
+		<error line="139" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Long'." />
+		<error line="143" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="147" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="151" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="154" number="30452" message="Operator 'And' is not defined for types 'SByte' and 'Char'." />
+		<error line="158" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="161" number="30452" message="Operator 'And' is not defined for types 'SByte' and 'Date'." />
+		<error line="164" number="30452" message="Operator 'And' is not defined for types 'SByte' and 'System.DBNull'." />
+		<error line="168" number="30038" message="Option Strict On prohibits operands of type Object for operator 'And'." />
+	</test>
+	<test id="2307" name="OperatorIntrinsic_And_Int16Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Int16_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicAnd.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="205" number="30452" message="Operator 'And' is not defined for types 'Short' and 'Char'." />
+		<error line="212" number="30452" message="Operator 'And' is not defined for types 'Short' and 'Date'." />
+		<error line="215" number="30452" message="Operator 'And' is not defined for types 'Short' and 'System.DBNull'." />
+	</test>
+	<test id="2308" name="OperatorIntrinsic_And_Int16StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Int16_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicAnd.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="172" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<error line="190" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Long'." />
+		<error line="194" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="198" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="202" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="205" number="30452" message="Operator 'And' is not defined for types 'Short' and 'Char'." />
+		<error line="209" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="212" number="30452" message="Operator 'And' is not defined for types 'Short' and 'Date'." />
+		<error line="215" number="30452" message="Operator 'And' is not defined for types 'Short' and 'System.DBNull'." />
+		<error line="219" number="30038" message="Option Strict On prohibits operands of type Object for operator 'And'." />
+	</test>
+	<test id="2309" name="OperatorIntrinsic_And_UInt16Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:UInt16_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicAnd.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="256" number="30452" message="Operator 'And' is not defined for types 'UShort' and 'Char'." />
+		<error line="263" number="30452" message="Operator 'And' is not defined for types 'UShort' and 'Date'." />
+		<error line="266" number="30452" message="Operator 'And' is not defined for types 'UShort' and 'System.DBNull'." />
+	</test>
+	<test id="2310" name="OperatorIntrinsic_And_UInt16StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:UInt16_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicAnd.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="223" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Integer'." />
+		<error line="245" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="249" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="253" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="256" number="30452" message="Operator 'And' is not defined for types 'UShort' and 'Char'." />
+		<error line="260" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="263" number="30452" message="Operator 'And' is not defined for types 'UShort' and 'Date'." />
+		<error line="266" number="30452" message="Operator 'And' is not defined for types 'UShort' and 'System.DBNull'." />
+		<error line="270" number="30038" message="Option Strict On prohibits operands of type Object for operator 'And'." />
+	</test>
+	<test id="2311" name="OperatorIntrinsic_And_Int32Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Int32_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicAnd.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="307" number="30452" message="Operator 'And' is not defined for types 'Integer' and 'Char'." />
+		<error line="314" number="30452" message="Operator 'And' is not defined for types 'Integer' and 'Date'." />
+		<error line="317" number="30452" message="Operator 'And' is not defined for types 'Integer' and 'System.DBNull'." />
+	</test>
+	<test id="2312" name="OperatorIntrinsic_And_Int32StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Int32_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicAnd.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="274" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Integer'." />
+		<error line="292" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Long'." />
+		<error line="296" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="300" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="304" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="307" number="30452" message="Operator 'And' is not defined for types 'Integer' and 'Char'." />
+		<error line="311" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="314" number="30452" message="Operator 'And' is not defined for types 'Integer' and 'Date'." />
+		<error line="317" number="30452" message="Operator 'And' is not defined for types 'Integer' and 'System.DBNull'." />
+		<error line="321" number="30038" message="Option Strict On prohibits operands of type Object for operator 'And'." />
+	</test>
+	<test id="2313" name="OperatorIntrinsic_And_UInt32Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:UInt32_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicAnd.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="358" number="30452" message="Operator 'And' is not defined for types 'UInteger' and 'Char'." />
+		<error line="365" number="30452" message="Operator 'And' is not defined for types 'UInteger' and 'Date'." />
+		<error line="368" number="30452" message="Operator 'And' is not defined for types 'UInteger' and 'System.DBNull'." />
+	</test>
+	<test id="2314" name="OperatorIntrinsic_And_UInt32StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:UInt32_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicAnd.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="325" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Long'." />
+		<error line="347" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="351" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="355" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="358" number="30452" message="Operator 'And' is not defined for types 'UInteger' and 'Char'." />
+		<error line="362" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="365" number="30452" message="Operator 'And' is not defined for types 'UInteger' and 'Date'." />
+		<error line="368" number="30452" message="Operator 'And' is not defined for types 'UInteger' and 'System.DBNull'." />
+		<error line="372" number="30038" message="Option Strict On prohibits operands of type Object for operator 'And'." />
+	</test>
+	<test id="2315" name="OperatorIntrinsic_And_Int64Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Int64_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicAnd.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="409" number="30452" message="Operator 'And' is not defined for types 'Long' and 'Char'." />
+		<error line="416" number="30452" message="Operator 'And' is not defined for types 'Long' and 'Date'." />
+		<error line="419" number="30452" message="Operator 'And' is not defined for types 'Long' and 'System.DBNull'." />
+	</test>
+	<test id="2316" name="OperatorIntrinsic_And_Int64StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Int64_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicAnd.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="376" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Long'." />
+		<error line="394" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Long'." />
+		<error line="398" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="402" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="406" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="409" number="30452" message="Operator 'And' is not defined for types 'Long' and 'Char'." />
+		<error line="413" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="416" number="30452" message="Operator 'And' is not defined for types 'Long' and 'Date'." />
+		<error line="419" number="30452" message="Operator 'And' is not defined for types 'Long' and 'System.DBNull'." />
+		<error line="423" number="30038" message="Option Strict On prohibits operands of type Object for operator 'And'." />
+	</test>
+	<test id="2317" name="OperatorIntrinsic_And_UInt64Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:UInt64_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicAnd.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="474" number="30452" message="Operator 'And' is not defined for types 'ULong' and 'Char'." />
+		<error line="481" number="30452" message="Operator 'And' is not defined for types 'ULong' and 'Date'." />
+		<error line="484" number="30452" message="Operator 'And' is not defined for types 'ULong' and 'System.DBNull'." />
+	</test>
+	<test id="2318" name="OperatorIntrinsic_And_UInt64StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:UInt64_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicAnd.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="427" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Long'." />
+		<error line="427" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Long'." />
+		<error line="435" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Long'." />
+		<error line="439" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Long'." />
+		<error line="447" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Long'." />
+		<error line="455" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Long'." />
+		<error line="463" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Long'." />
+		<error line="463" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="467" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Long'." />
+		<error line="467" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="471" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Long'." />
+		<error line="471" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="474" number="30452" message="Operator 'And' is not defined for types 'ULong' and 'Char'." />
+		<error line="478" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Long'." />
+		<error line="478" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="481" number="30452" message="Operator 'And' is not defined for types 'ULong' and 'Date'." />
+		<error line="484" number="30452" message="Operator 'And' is not defined for types 'ULong' and 'System.DBNull'." />
+		<error line="488" number="30038" message="Option Strict On prohibits operands of type Object for operator 'And'." />
+	</test>
+	<test id="2319" name="OperatorIntrinsic_And_DecimalError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Decimal_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicAnd.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="539" number="30452" message="Operator 'And' is not defined for types 'Decimal' and 'Char'." />
+		<error line="546" number="30452" message="Operator 'And' is not defined for types 'Decimal' and 'Date'." />
+		<error line="549" number="30452" message="Operator 'And' is not defined for types 'Decimal' and 'System.DBNull'." />
+	</test>
+	<test id="2320" name="OperatorIntrinsic_And_DecimalStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Decimal_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicAnd.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="492" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="492" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Long'." />
+		<error line="496" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="500" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="504" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="508" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="512" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="516" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="520" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="524" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="524" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Long'." />
+		<error line="528" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="528" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="532" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="532" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="536" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="536" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="539" number="30452" message="Operator 'And' is not defined for types 'Decimal' and 'Char'." />
+		<error line="543" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="543" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="546" number="30452" message="Operator 'And' is not defined for types 'Decimal' and 'Date'." />
+		<error line="549" number="30452" message="Operator 'And' is not defined for types 'Decimal' and 'System.DBNull'." />
+		<error line="553" number="30038" message="Option Strict On prohibits operands of type Object for operator 'And'." />
+	</test>
+	<test id="2321" name="OperatorIntrinsic_And_SingleError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Single_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicAnd.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="604" number="30452" message="Operator 'And' is not defined for types 'Single' and 'Char'." />
+		<error line="611" number="30452" message="Operator 'And' is not defined for types 'Single' and 'Date'." />
+		<error line="614" number="30452" message="Operator 'And' is not defined for types 'Single' and 'System.DBNull'." />
+	</test>
+	<test id="2322" name="OperatorIntrinsic_And_SingleStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Single_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicAnd.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="557" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="557" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Long'." />
+		<error line="561" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="565" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="569" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="573" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="577" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="581" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="585" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="589" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="589" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Long'." />
+		<error line="593" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="593" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="597" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="597" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="601" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="601" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="604" number="30452" message="Operator 'And' is not defined for types 'Single' and 'Char'." />
+		<error line="608" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="608" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="611" number="30452" message="Operator 'And' is not defined for types 'Single' and 'Date'." />
+		<error line="614" number="30452" message="Operator 'And' is not defined for types 'Single' and 'System.DBNull'." />
+		<error line="618" number="30038" message="Option Strict On prohibits operands of type Object for operator 'And'." />
+	</test>
+	<test id="2323" name="OperatorIntrinsic_And_DoubleError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Double_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicAnd.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="669" number="30452" message="Operator 'And' is not defined for types 'Double' and 'Char'." />
+		<error line="676" number="30452" message="Operator 'And' is not defined for types 'Double' and 'Date'." />
+		<error line="679" number="30452" message="Operator 'And' is not defined for types 'Double' and 'System.DBNull'." />
+	</test>
+	<test id="2324" name="OperatorIntrinsic_And_DoubleStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Double_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicAnd.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="622" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="622" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Long'." />
+		<error line="626" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="630" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="634" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="638" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="642" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="646" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="650" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="654" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="654" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Long'." />
+		<error line="658" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="658" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="662" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="662" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="666" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="666" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="669" number="30452" message="Operator 'And' is not defined for types 'Double' and 'Char'." />
+		<error line="673" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="673" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="676" number="30452" message="Operator 'And' is not defined for types 'Double' and 'Date'." />
+		<error line="679" number="30452" message="Operator 'And' is not defined for types 'Double' and 'System.DBNull'." />
+		<error line="683" number="30038" message="Option Strict On prohibits operands of type Object for operator 'And'." />
+	</test>
+	<test id="2325" name="OperatorIntrinsic_And_CharError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Char_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicAnd.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="686" number="30452" message="Operator 'And' is not defined for types 'Char' and 'Boolean'." />
+		<error line="689" number="30452" message="Operator 'And' is not defined for types 'Char' and 'Byte'." />
+		<error line="692" number="30452" message="Operator 'And' is not defined for types 'Char' and 'SByte'." />
+		<error line="695" number="30452" message="Operator 'And' is not defined for types 'Char' and 'Short'." />
+		<error line="698" number="30452" message="Operator 'And' is not defined for types 'Char' and 'UShort'." />
+		<error line="701" number="30452" message="Operator 'And' is not defined for types 'Char' and 'Integer'." />
+		<error line="704" number="30452" message="Operator 'And' is not defined for types 'Char' and 'UInteger'." />
+		<error line="707" number="30452" message="Operator 'And' is not defined for types 'Char' and 'Long'." />
+		<error line="710" number="30452" message="Operator 'And' is not defined for types 'Char' and 'ULong'." />
+		<error line="713" number="30452" message="Operator 'And' is not defined for types 'Char' and 'Decimal'." />
+		<error line="716" number="30452" message="Operator 'And' is not defined for types 'Char' and 'Single'." />
+		<error line="719" number="30452" message="Operator 'And' is not defined for types 'Char' and 'Double'." />
+		<error line="722" number="30452" message="Operator 'And' is not defined for types 'Char' and 'Char'." />
+		<error line="725" number="30452" message="Operator 'And' is not defined for types 'Char' and 'String'." />
+		<error line="728" number="30452" message="Operator 'And' is not defined for types 'Char' and 'Date'." />
+		<error line="731" number="30452" message="Operator 'And' is not defined for types 'Char' and 'System.DBNull'." />
+		<error line="734" number="30452" message="Operator 'And' is not defined for types 'Char' and 'Object'." />
+	</test>
+	<test id="2326" name="OperatorIntrinsic_And_CharStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Char_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicAnd.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="686" number="30452" message="Operator 'And' is not defined for types 'Char' and 'Boolean'." />
+		<error line="689" number="30452" message="Operator 'And' is not defined for types 'Char' and 'Byte'." />
+		<error line="692" number="30452" message="Operator 'And' is not defined for types 'Char' and 'SByte'." />
+		<error line="695" number="30452" message="Operator 'And' is not defined for types 'Char' and 'Short'." />
+		<error line="698" number="30452" message="Operator 'And' is not defined for types 'Char' and 'UShort'." />
+		<error line="701" number="30452" message="Operator 'And' is not defined for types 'Char' and 'Integer'." />
+		<error line="704" number="30452" message="Operator 'And' is not defined for types 'Char' and 'UInteger'." />
+		<error line="707" number="30452" message="Operator 'And' is not defined for types 'Char' and 'Long'." />
+		<error line="710" number="30452" message="Operator 'And' is not defined for types 'Char' and 'ULong'." />
+		<error line="713" number="30452" message="Operator 'And' is not defined for types 'Char' and 'Decimal'." />
+		<error line="716" number="30452" message="Operator 'And' is not defined for types 'Char' and 'Single'." />
+		<error line="719" number="30452" message="Operator 'And' is not defined for types 'Char' and 'Double'." />
+		<error line="722" number="30452" message="Operator 'And' is not defined for types 'Char' and 'Char'." />
+		<error line="725" number="30452" message="Operator 'And' is not defined for types 'Char' and 'String'." />
+		<error line="728" number="30452" message="Operator 'And' is not defined for types 'Char' and 'Date'." />
+		<error line="731" number="30452" message="Operator 'And' is not defined for types 'Char' and 'System.DBNull'." />
+		<error line="734" number="30452" message="Operator 'And' is not defined for types 'Char' and 'Object'." />
+	</test>
+	<test id="2327" name="OperatorIntrinsic_And_StringError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:String_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicAnd.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="785" number="30452" message="Operator 'And' is not defined for types 'String' and 'Char'." />
+		<error line="792" number="30452" message="Operator 'And' is not defined for types 'String' and 'Date'." />
+		<error line="795" number="30452" message="Operator 'And' is not defined for types 'String' and 'System.DBNull'." />
+	</test>
+	<test id="2328" name="OperatorIntrinsic_And_StringStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:String_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicAnd.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="738" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Boolean'." />
+		<error line="742" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="746" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="750" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="754" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="758" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="762" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="766" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="770" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="770" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Long'." />
+		<error line="774" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="774" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="778" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="778" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="782" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="782" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="785" number="30452" message="Operator 'And' is not defined for types 'String' and 'Char'." />
+		<error line="789" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="789" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="792" number="30452" message="Operator 'And' is not defined for types 'String' and 'Date'." />
+		<error line="795" number="30452" message="Operator 'And' is not defined for types 'String' and 'System.DBNull'." />
+		<error line="799" number="30038" message="Option Strict On prohibits operands of type Object for operator 'And'." />
+	</test>
+	<test id="2329" name="OperatorIntrinsic_And_DateTimeError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:DateTime_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicAnd.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="802" number="30452" message="Operator 'And' is not defined for types 'Date' and 'Boolean'." />
+		<error line="805" number="30452" message="Operator 'And' is not defined for types 'Date' and 'Byte'." />
+		<error line="808" number="30452" message="Operator 'And' is not defined for types 'Date' and 'SByte'." />
+		<error line="811" number="30452" message="Operator 'And' is not defined for types 'Date' and 'Short'." />
+		<error line="814" number="30452" message="Operator 'And' is not defined for types 'Date' and 'UShort'." />
+		<error line="817" number="30452" message="Operator 'And' is not defined for types 'Date' and 'Integer'." />
+		<error line="820" number="30452" message="Operator 'And' is not defined for types 'Date' and 'UInteger'." />
+		<error line="823" number="30452" message="Operator 'And' is not defined for types 'Date' and 'Long'." />
+		<error line="826" number="30452" message="Operator 'And' is not defined for types 'Date' and 'ULong'." />
+		<error line="829" number="30452" message="Operator 'And' is not defined for types 'Date' and 'Decimal'." />
+		<error line="832" number="30452" message="Operator 'And' is not defined for types 'Date' and 'Single'." />
+		<error line="835" number="30452" message="Operator 'And' is not defined for types 'Date' and 'Double'." />
+		<error line="838" number="30452" message="Operator 'And' is not defined for types 'Date' and 'Char'." />
+		<error line="841" number="30452" message="Operator 'And' is not defined for types 'Date' and 'String'." />
+		<error line="844" number="30452" message="Operator 'And' is not defined for types 'Date' and 'Date'." />
+		<error line="847" number="30452" message="Operator 'And' is not defined for types 'Date' and 'System.DBNull'." />
+		<error line="850" number="30452" message="Operator 'And' is not defined for types 'Date' and 'Object'." />
+	</test>
+	<test id="2330" name="OperatorIntrinsic_And_DateTimeStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:DateTime_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicAnd.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="802" number="30452" message="Operator 'And' is not defined for types 'Date' and 'Boolean'." />
+		<error line="805" number="30452" message="Operator 'And' is not defined for types 'Date' and 'Byte'." />
+		<error line="808" number="30452" message="Operator 'And' is not defined for types 'Date' and 'SByte'." />
+		<error line="811" number="30452" message="Operator 'And' is not defined for types 'Date' and 'Short'." />
+		<error line="814" number="30452" message="Operator 'And' is not defined for types 'Date' and 'UShort'." />
+		<error line="817" number="30452" message="Operator 'And' is not defined for types 'Date' and 'Integer'." />
+		<error line="820" number="30452" message="Operator 'And' is not defined for types 'Date' and 'UInteger'." />
+		<error line="823" number="30452" message="Operator 'And' is not defined for types 'Date' and 'Long'." />
+		<error line="826" number="30452" message="Operator 'And' is not defined for types 'Date' and 'ULong'." />
+		<error line="829" number="30452" message="Operator 'And' is not defined for types 'Date' and 'Decimal'." />
+		<error line="832" number="30452" message="Operator 'And' is not defined for types 'Date' and 'Single'." />
+		<error line="835" number="30452" message="Operator 'And' is not defined for types 'Date' and 'Double'." />
+		<error line="838" number="30452" message="Operator 'And' is not defined for types 'Date' and 'Char'." />
+		<error line="841" number="30452" message="Operator 'And' is not defined for types 'Date' and 'String'." />
+		<error line="844" number="30452" message="Operator 'And' is not defined for types 'Date' and 'Date'." />
+		<error line="847" number="30452" message="Operator 'And' is not defined for types 'Date' and 'System.DBNull'." />
+		<error line="850" number="30452" message="Operator 'And' is not defined for types 'Date' and 'Object'." />
+	</test>
+	<test id="2331" name="OperatorIntrinsic_And_DBNullError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:DBNull_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicAnd.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="853" number="30452" message="Operator 'And' is not defined for types 'System.DBNull' and 'Boolean'." />
+		<error line="856" number="30452" message="Operator 'And' is not defined for types 'System.DBNull' and 'Byte'." />
+		<error line="859" number="30452" message="Operator 'And' is not defined for types 'System.DBNull' and 'SByte'." />
+		<error line="862" number="30452" message="Operator 'And' is not defined for types 'System.DBNull' and 'Short'." />
+		<error line="865" number="30452" message="Operator 'And' is not defined for types 'System.DBNull' and 'UShort'." />
+		<error line="868" number="30452" message="Operator 'And' is not defined for types 'System.DBNull' and 'Integer'." />
+		<error line="871" number="30452" message="Operator 'And' is not defined for types 'System.DBNull' and 'UInteger'." />
+		<error line="874" number="30452" message="Operator 'And' is not defined for types 'System.DBNull' and 'Long'." />
+		<error line="877" number="30452" message="Operator 'And' is not defined for types 'System.DBNull' and 'ULong'." />
+		<error line="880" number="30452" message="Operator 'And' is not defined for types 'System.DBNull' and 'Decimal'." />
+		<error line="883" number="30452" message="Operator 'And' is not defined for types 'System.DBNull' and 'Single'." />
+		<error line="886" number="30452" message="Operator 'And' is not defined for types 'System.DBNull' and 'Double'." />
+		<error line="889" number="30452" message="Operator 'And' is not defined for types 'System.DBNull' and 'Char'." />
+		<error line="892" number="30452" message="Operator 'And' is not defined for types 'System.DBNull' and 'String'." />
+		<error line="895" number="30452" message="Operator 'And' is not defined for types 'System.DBNull' and 'Date'." />
+		<error line="898" number="30452" message="Operator 'And' is not defined for types 'System.DBNull' and 'System.DBNull'." />
+		<error line="901" number="30452" message="Operator 'And' is not defined for types 'System.DBNull' and 'Object'." />
+	</test>
+	<test id="2332" name="OperatorIntrinsic_And_DBNullStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:DBNull_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicAnd.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="853" number="30452" message="Operator 'And' is not defined for types 'System.DBNull' and 'Boolean'." />
+		<error line="856" number="30452" message="Operator 'And' is not defined for types 'System.DBNull' and 'Byte'." />
+		<error line="859" number="30452" message="Operator 'And' is not defined for types 'System.DBNull' and 'SByte'." />
+		<error line="862" number="30452" message="Operator 'And' is not defined for types 'System.DBNull' and 'Short'." />
+		<error line="865" number="30452" message="Operator 'And' is not defined for types 'System.DBNull' and 'UShort'." />
+		<error line="868" number="30452" message="Operator 'And' is not defined for types 'System.DBNull' and 'Integer'." />
+		<error line="871" number="30452" message="Operator 'And' is not defined for types 'System.DBNull' and 'UInteger'." />
+		<error line="874" number="30452" message="Operator 'And' is not defined for types 'System.DBNull' and 'Long'." />
+		<error line="877" number="30452" message="Operator 'And' is not defined for types 'System.DBNull' and 'ULong'." />
+		<error line="880" number="30452" message="Operator 'And' is not defined for types 'System.DBNull' and 'Decimal'." />
+		<error line="883" number="30452" message="Operator 'And' is not defined for types 'System.DBNull' and 'Single'." />
+		<error line="886" number="30452" message="Operator 'And' is not defined for types 'System.DBNull' and 'Double'." />
+		<error line="889" number="30452" message="Operator 'And' is not defined for types 'System.DBNull' and 'Char'." />
+		<error line="892" number="30452" message="Operator 'And' is not defined for types 'System.DBNull' and 'String'." />
+		<error line="895" number="30452" message="Operator 'And' is not defined for types 'System.DBNull' and 'Date'." />
+		<error line="898" number="30452" message="Operator 'And' is not defined for types 'System.DBNull' and 'System.DBNull'." />
+		<error line="901" number="30452" message="Operator 'And' is not defined for types 'System.DBNull' and 'Object'." />
+	</test>
+	<test id="2333" name="OperatorIntrinsic_And_ObjectError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Object_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicAnd.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="952" number="30452" message="Operator 'And' is not defined for types 'Object' and 'Char'." />
+		<error line="959" number="30452" message="Operator 'And' is not defined for types 'Object' and 'Date'." />
+		<error line="962" number="30452" message="Operator 'And' is not defined for types 'Object' and 'System.DBNull'." />
+	</test>
+	<test id="2334" name="OperatorIntrinsic_And_ObjectStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Object_ERRORS /define:STRICT /quiet</arguments>
+		<file>CompileTime2\OperatorIntrinsicAnd.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="905" number="30038" message="Option Strict On prohibits operands of type Object for operator 'And'." />
+		<error line="909" number="30038" message="Option Strict On prohibits operands of type Object for operator 'And'." />
+		<error line="913" number="30038" message="Option Strict On prohibits operands of type Object for operator 'And'." />
+		<error line="917" number="30038" message="Option Strict On prohibits operands of type Object for operator 'And'." />
+		<error line="921" number="30038" message="Option Strict On prohibits operands of type Object for operator 'And'." />
+		<error line="925" number="30038" message="Option Strict On prohibits operands of type Object for operator 'And'." />
+		<error line="929" number="30038" message="Option Strict On prohibits operands of type Object for operator 'And'." />
+		<error line="933" number="30038" message="Option Strict On prohibits operands of type Object for operator 'And'." />
+		<error line="937" number="30038" message="Option Strict On prohibits operands of type Object for operator 'And'." />
+		<error line="941" number="30038" message="Option Strict On prohibits operands of type Object for operator 'And'." />
+		<error line="945" number="30038" message="Option Strict On prohibits operands of type Object for operator 'And'." />
+		<error line="949" number="30038" message="Option Strict On prohibits operands of type Object for operator 'And'." />
+		<error line="952" number="30452" message="Operator 'And' is not defined for types 'Object' and 'Char'." />
+		<error line="956" number="30038" message="Option Strict On prohibits operands of type Object for operator 'And'." />
+		<error line="959" number="30452" message="Operator 'And' is not defined for types 'Object' and 'Date'." />
+		<error line="962" number="30452" message="Operator 'And' is not defined for types 'Object' and 'System.DBNull'." />
+		<error line="966" number="30038" message="Option Strict On prohibits operands of type Object for operator 'And'." />
+		<error line="966" number="30038" message="Option Strict On prohibits operands of type Object for operator 'And'." />
+	</test>
+	<test id="2335" name="OperatorIntrinsic_BinaryAdd_" target="exe" mytype="empty">
+		<file>CompileTime2\OperatorIntrinsicBinaryAdd.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+	</test>
+	<test id="2336" name="OperatorIntrinsic_BinaryAdd_Strict" mytype="empty">
+		<arguments>/optionstrict+ /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicBinaryAdd.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+	</test>
+	<test id="2337" name="OperatorIntrinsic_BinaryAdd_BooleanError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Boolean_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicBinaryAdd.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="54" number="30452" message="Operator '+' is not defined for types 'Boolean' and 'Char'." />
+		<error line="61" number="30452" message="Operator '+' is not defined for types 'Boolean' and 'Date'." />
+		<error line="64" number="30452" message="Operator '+' is not defined for types 'Boolean' and 'System.DBNull'." />
+	</test>
+	<test id="2338" name="OperatorIntrinsic_BinaryAdd_BooleanStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Boolean_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicBinaryAdd.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="7" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<error line="7" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<error line="11" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<error line="15" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'SByte'." />
+		<error line="19" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<error line="23" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Integer'." />
+		<error line="27" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Integer'." />
+		<error line="31" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Long'." />
+		<error line="35" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Long'." />
+		<error line="39" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Decimal'." />
+		<error line="43" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Decimal'." />
+		<error line="47" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Single'." />
+		<error line="51" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Double'." />
+		<error line="54" number="30452" message="Operator '+' is not defined for types 'Boolean' and 'Char'." />
+		<error line="58" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Double'." />
+		<error line="58" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="61" number="30452" message="Operator '+' is not defined for types 'Boolean' and 'Date'." />
+		<error line="64" number="30452" message="Operator '+' is not defined for types 'Boolean' and 'System.DBNull'." />
+		<error line="68" number="30038" message="Option Strict On prohibits operands of type Object for operator '+'." />
+	</test>
+	<test id="2339" name="OperatorIntrinsic_BinaryAdd_ByteError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Byte_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicBinaryAdd.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="97" number="30452" message="Operator '+' is not defined for types 'Byte' and 'Char'." />
+		<error line="104" number="30452" message="Operator '+' is not defined for types 'Byte' and 'Date'." />
+		<error line="107" number="30452" message="Operator '+' is not defined for types 'Byte' and 'System.DBNull'." />
+	</test>
+	<test id="2340" name="OperatorIntrinsic_BinaryAdd_ByteStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Byte_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicBinaryAdd.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="72" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<error line="97" number="30452" message="Operator '+' is not defined for types 'Byte' and 'Char'." />
+		<error line="101" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="104" number="30452" message="Operator '+' is not defined for types 'Byte' and 'Date'." />
+		<error line="107" number="30452" message="Operator '+' is not defined for types 'Byte' and 'System.DBNull'." />
+		<error line="111" number="30038" message="Option Strict On prohibits operands of type Object for operator '+'." />
+	</test>
+	<test id="2341" name="OperatorIntrinsic_BinaryAdd_SByteError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:SByte_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicBinaryAdd.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="140" number="30452" message="Operator '+' is not defined for types 'SByte' and 'Char'." />
+		<error line="147" number="30452" message="Operator '+' is not defined for types 'SByte' and 'Date'." />
+		<error line="150" number="30452" message="Operator '+' is not defined for types 'SByte' and 'System.DBNull'." />
+	</test>
+	<test id="2342" name="OperatorIntrinsic_BinaryAdd_SByteStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:SByte_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicBinaryAdd.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="115" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'SByte'." />
+		<error line="140" number="30452" message="Operator '+' is not defined for types 'SByte' and 'Char'." />
+		<error line="144" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="147" number="30452" message="Operator '+' is not defined for types 'SByte' and 'Date'." />
+		<error line="150" number="30452" message="Operator '+' is not defined for types 'SByte' and 'System.DBNull'." />
+		<error line="154" number="30038" message="Option Strict On prohibits operands of type Object for operator '+'." />
+	</test>
+	<test id="2343" name="OperatorIntrinsic_BinaryAdd_Int16Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Int16_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicBinaryAdd.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="183" number="30452" message="Operator '+' is not defined for types 'Short' and 'Char'." />
+		<error line="190" number="30452" message="Operator '+' is not defined for types 'Short' and 'Date'." />
+		<error line="193" number="30452" message="Operator '+' is not defined for types 'Short' and 'System.DBNull'." />
+	</test>
+	<test id="2344" name="OperatorIntrinsic_BinaryAdd_Int16StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Int16_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicBinaryAdd.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="158" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<error line="183" number="30452" message="Operator '+' is not defined for types 'Short' and 'Char'." />
+		<error line="187" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="190" number="30452" message="Operator '+' is not defined for types 'Short' and 'Date'." />
+		<error line="193" number="30452" message="Operator '+' is not defined for types 'Short' and 'System.DBNull'." />
+		<error line="197" number="30038" message="Option Strict On prohibits operands of type Object for operator '+'." />
+	</test>
+	<test id="2345" name="OperatorIntrinsic_BinaryAdd_UInt16Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:UInt16_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicBinaryAdd.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="226" number="30452" message="Operator '+' is not defined for types 'UShort' and 'Char'." />
+		<error line="233" number="30452" message="Operator '+' is not defined for types 'UShort' and 'Date'." />
+		<error line="236" number="30452" message="Operator '+' is not defined for types 'UShort' and 'System.DBNull'." />
+	</test>
+	<test id="2346" name="OperatorIntrinsic_BinaryAdd_UInt16StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:UInt16_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicBinaryAdd.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="201" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Integer'." />
+		<error line="226" number="30452" message="Operator '+' is not defined for types 'UShort' and 'Char'." />
+		<error line="230" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="233" number="30452" message="Operator '+' is not defined for types 'UShort' and 'Date'." />
+		<error line="236" number="30452" message="Operator '+' is not defined for types 'UShort' and 'System.DBNull'." />
+		<error line="240" number="30038" message="Option Strict On prohibits operands of type Object for operator '+'." />
+	</test>
+	<test id="2347" name="OperatorIntrinsic_BinaryAdd_Int32Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Int32_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicBinaryAdd.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="269" number="30452" message="Operator '+' is not defined for types 'Integer' and 'Char'." />
+		<error line="276" number="30452" message="Operator '+' is not defined for types 'Integer' and 'Date'." />
+		<error line="279" number="30452" message="Operator '+' is not defined for types 'Integer' and 'System.DBNull'." />
+	</test>
+	<test id="2348" name="OperatorIntrinsic_BinaryAdd_Int32StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Int32_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicBinaryAdd.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="244" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Integer'." />
+		<error line="269" number="30452" message="Operator '+' is not defined for types 'Integer' and 'Char'." />
+		<error line="273" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="276" number="30452" message="Operator '+' is not defined for types 'Integer' and 'Date'." />
+		<error line="279" number="30452" message="Operator '+' is not defined for types 'Integer' and 'System.DBNull'." />
+		<error line="283" number="30038" message="Option Strict On prohibits operands of type Object for operator '+'." />
+	</test>
+	<test id="2349" name="OperatorIntrinsic_BinaryAdd_UInt32Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:UInt32_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicBinaryAdd.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="312" number="30452" message="Operator '+' is not defined for types 'UInteger' and 'Char'." />
+		<error line="319" number="30452" message="Operator '+' is not defined for types 'UInteger' and 'Date'." />
+		<error line="322" number="30452" message="Operator '+' is not defined for types 'UInteger' and 'System.DBNull'." />
+	</test>
+	<test id="2350" name="OperatorIntrinsic_BinaryAdd_UInt32StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:UInt32_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicBinaryAdd.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="287" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Long'." />
+		<error line="312" number="30452" message="Operator '+' is not defined for types 'UInteger' and 'Char'." />
+		<error line="316" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="319" number="30452" message="Operator '+' is not defined for types 'UInteger' and 'Date'." />
+		<error line="322" number="30452" message="Operator '+' is not defined for types 'UInteger' and 'System.DBNull'." />
+		<error line="326" number="30038" message="Option Strict On prohibits operands of type Object for operator '+'." />
+	</test>
+	<test id="2351" name="OperatorIntrinsic_BinaryAdd_Int64Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Int64_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicBinaryAdd.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="355" number="30452" message="Operator '+' is not defined for types 'Long' and 'Char'." />
+		<error line="362" number="30452" message="Operator '+' is not defined for types 'Long' and 'Date'." />
+		<error line="365" number="30452" message="Operator '+' is not defined for types 'Long' and 'System.DBNull'." />
+	</test>
+	<test id="2352" name="OperatorIntrinsic_BinaryAdd_Int64StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Int64_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicBinaryAdd.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="330" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Long'." />
+		<error line="355" number="30452" message="Operator '+' is not defined for types 'Long' and 'Char'." />
+		<error line="359" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="362" number="30452" message="Operator '+' is not defined for types 'Long' and 'Date'." />
+		<error line="365" number="30452" message="Operator '+' is not defined for types 'Long' and 'System.DBNull'." />
+		<error line="369" number="30038" message="Option Strict On prohibits operands of type Object for operator '+'." />
+	</test>
+	<test id="2353" name="OperatorIntrinsic_BinaryAdd_UInt64Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:UInt64_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicBinaryAdd.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="398" number="30452" message="Operator '+' is not defined for types 'ULong' and 'Char'." />
+		<error line="405" number="30452" message="Operator '+' is not defined for types 'ULong' and 'Date'." />
+		<error line="408" number="30452" message="Operator '+' is not defined for types 'ULong' and 'System.DBNull'." />
+	</test>
+	<test id="2354" name="OperatorIntrinsic_BinaryAdd_UInt64StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:UInt64_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicBinaryAdd.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="373" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Decimal'." />
+		<error line="398" number="30452" message="Operator '+' is not defined for types 'ULong' and 'Char'." />
+		<error line="402" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="405" number="30452" message="Operator '+' is not defined for types 'ULong' and 'Date'." />
+		<error line="408" number="30452" message="Operator '+' is not defined for types 'ULong' and 'System.DBNull'." />
+		<error line="412" number="30038" message="Option Strict On prohibits operands of type Object for operator '+'." />
+	</test>
+	<test id="2355" name="OperatorIntrinsic_BinaryAdd_DecimalError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Decimal_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicBinaryAdd.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="441" number="30452" message="Operator '+' is not defined for types 'Decimal' and 'Char'." />
+		<error line="448" number="30452" message="Operator '+' is not defined for types 'Decimal' and 'Date'." />
+		<error line="451" number="30518" message="Overload resolution failed because no accessible '+' can be called with these arguments:" />
+	</test>
+	<test id="2356" name="OperatorIntrinsic_BinaryAdd_DecimalStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Decimal_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicBinaryAdd.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="416" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Decimal'." />
+		<error line="441" number="30452" message="Operator '+' is not defined for types 'Decimal' and 'Char'." />
+		<error line="445" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="448" number="30452" message="Operator '+' is not defined for types 'Decimal' and 'Date'." />
+		<error line="451" number="30518" message="Overload resolution failed because no accessible '+' can be called with these arguments:" />
+		<error line="455" number="30038" message="Option Strict On prohibits operands of type Object for operator '+'." />
+	</test>
+	<test id="2357" name="OperatorIntrinsic_BinaryAdd_SingleError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Single_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicBinaryAdd.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="484" number="30452" message="Operator '+' is not defined for types 'Single' and 'Char'." />
+		<error line="491" number="30452" message="Operator '+' is not defined for types 'Single' and 'Date'." />
+		<error line="494" number="30452" message="Operator '+' is not defined for types 'Single' and 'System.DBNull'." />
+	</test>
+	<test id="2358" name="OperatorIntrinsic_BinaryAdd_SingleStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Single_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicBinaryAdd.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="459" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Single'." />
+		<error line="484" number="30452" message="Operator '+' is not defined for types 'Single' and 'Char'." />
+		<error line="488" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="491" number="30452" message="Operator '+' is not defined for types 'Single' and 'Date'." />
+		<error line="494" number="30452" message="Operator '+' is not defined for types 'Single' and 'System.DBNull'." />
+		<error line="498" number="30038" message="Option Strict On prohibits operands of type Object for operator '+'." />
+	</test>
+	<test id="2359" name="OperatorIntrinsic_BinaryAdd_DoubleError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Double_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicBinaryAdd.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="527" number="30452" message="Operator '+' is not defined for types 'Double' and 'Char'." />
+		<error line="534" number="30452" message="Operator '+' is not defined for types 'Double' and 'Date'." />
+		<error line="537" number="30452" message="Operator '+' is not defined for types 'Double' and 'System.DBNull'." />
+	</test>
+	<test id="2360" name="OperatorIntrinsic_BinaryAdd_DoubleStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Double_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicBinaryAdd.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="502" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Double'." />
+		<error line="527" number="30452" message="Operator '+' is not defined for types 'Double' and 'Char'." />
+		<error line="531" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="534" number="30452" message="Operator '+' is not defined for types 'Double' and 'Date'." />
+		<error line="537" number="30452" message="Operator '+' is not defined for types 'Double' and 'System.DBNull'." />
+		<error line="541" number="30038" message="Option Strict On prohibits operands of type Object for operator '+'." />
+	</test>
+	<test id="2361" name="OperatorIntrinsic_BinaryAdd_CharError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Char_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicBinaryAdd.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="544" number="30452" message="Operator '+' is not defined for types 'Char' and 'Boolean'." />
+		<error line="547" number="30452" message="Operator '+' is not defined for types 'Char' and 'Byte'." />
+		<error line="550" number="30452" message="Operator '+' is not defined for types 'Char' and 'SByte'." />
+		<error line="553" number="30452" message="Operator '+' is not defined for types 'Char' and 'Short'." />
+		<error line="556" number="30452" message="Operator '+' is not defined for types 'Char' and 'UShort'." />
+		<error line="559" number="30452" message="Operator '+' is not defined for types 'Char' and 'Integer'." />
+		<error line="562" number="30452" message="Operator '+' is not defined for types 'Char' and 'UInteger'." />
+		<error line="565" number="30452" message="Operator '+' is not defined for types 'Char' and 'Long'." />
+		<error line="568" number="30452" message="Operator '+' is not defined for types 'Char' and 'ULong'." />
+		<error line="571" number="30452" message="Operator '+' is not defined for types 'Char' and 'Decimal'." />
+		<error line="574" number="30452" message="Operator '+' is not defined for types 'Char' and 'Single'." />
+		<error line="577" number="30452" message="Operator '+' is not defined for types 'Char' and 'Double'." />
+		<error line="587" number="30452" message="Operator '+' is not defined for types 'Char' and 'Date'." />
+		<error line="590" number="30452" message="Operator '+' is not defined for types 'Char' and 'System.DBNull'." />
+	</test>
+	<test id="2362" name="OperatorIntrinsic_BinaryAdd_CharStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Char_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicBinaryAdd.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="544" number="30452" message="Operator '+' is not defined for types 'Char' and 'Boolean'." />
+		<error line="547" number="30452" message="Operator '+' is not defined for types 'Char' and 'Byte'." />
+		<error line="550" number="30452" message="Operator '+' is not defined for types 'Char' and 'SByte'." />
+		<error line="553" number="30452" message="Operator '+' is not defined for types 'Char' and 'Short'." />
+		<error line="556" number="30452" message="Operator '+' is not defined for types 'Char' and 'UShort'." />
+		<error line="559" number="30452" message="Operator '+' is not defined for types 'Char' and 'Integer'." />
+		<error line="562" number="30452" message="Operator '+' is not defined for types 'Char' and 'UInteger'." />
+		<error line="565" number="30452" message="Operator '+' is not defined for types 'Char' and 'Long'." />
+		<error line="568" number="30452" message="Operator '+' is not defined for types 'Char' and 'ULong'." />
+		<error line="571" number="30452" message="Operator '+' is not defined for types 'Char' and 'Decimal'." />
+		<error line="574" number="30452" message="Operator '+' is not defined for types 'Char' and 'Single'." />
+		<error line="577" number="30452" message="Operator '+' is not defined for types 'Char' and 'Double'." />
+		<error line="587" number="30452" message="Operator '+' is not defined for types 'Char' and 'Date'." />
+		<error line="590" number="30452" message="Operator '+' is not defined for types 'Char' and 'System.DBNull'." />
+		<error line="594" number="30038" message="Option Strict On prohibits operands of type Object for operator '+'." />
+	</test>
+	<test id="2363" name="OperatorIntrinsic_BinaryAdd_StringError" mytype="empty">
+		<arguments>/define:String_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicBinaryAdd.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+	</test>
+	<test id="2364" name="OperatorIntrinsic_BinaryAdd_StringStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:String_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicBinaryAdd.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="598" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Double'." />
+		<error line="598" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="602" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="606" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="610" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="614" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="618" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="622" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="626" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="630" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="634" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="638" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="642" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="653" number="30512" message="Option Strict On disallows implicit conversions from 'Date' to 'String'." />
+		<error line="660" number="30038" message="Option Strict On prohibits operands of type Object for operator '+'." />
+	</test>
+	<test id="2365" name="OperatorIntrinsic_BinaryAdd_DateTimeError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:DateTime_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicBinaryAdd.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="663" number="30452" message="Operator '+' is not defined for types 'Date' and 'Boolean'." />
+		<error line="666" number="30452" message="Operator '+' is not defined for types 'Date' and 'Byte'." />
+		<error line="669" number="30452" message="Operator '+' is not defined for types 'Date' and 'SByte'." />
+		<error line="672" number="30452" message="Operator '+' is not defined for types 'Date' and 'Short'." />
+		<error line="675" number="30452" message="Operator '+' is not defined for types 'Date' and 'UShort'." />
+		<error line="678" number="30452" message="Operator '+' is not defined for types 'Date' and 'Integer'." />
+		<error line="681" number="30452" message="Operator '+' is not defined for types 'Date' and 'UInteger'." />
+		<error line="684" number="30452" message="Operator '+' is not defined for types 'Date' and 'Long'." />
+		<error line="687" number="30452" message="Operator '+' is not defined for types 'Date' and 'ULong'." />
+		<error line="690" number="30452" message="Operator '+' is not defined for types 'Date' and 'Decimal'." />
+		<error line="693" number="30452" message="Operator '+' is not defined for types 'Date' and 'Single'." />
+		<error line="696" number="30452" message="Operator '+' is not defined for types 'Date' and 'Double'." />
+		<error line="699" number="30452" message="Operator '+' is not defined for types 'Date' and 'Char'." />
+		<error line="709" number="30518" message="Overload resolution failed because no accessible '+' can be called with these arguments:" />
+	</test>
+	<test id="2366" name="OperatorIntrinsic_BinaryAdd_DateTimeStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:DateTime_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicBinaryAdd.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="663" number="30452" message="Operator '+' is not defined for types 'Date' and 'Boolean'." />
+		<error line="666" number="30452" message="Operator '+' is not defined for types 'Date' and 'Byte'." />
+		<error line="669" number="30452" message="Operator '+' is not defined for types 'Date' and 'SByte'." />
+		<error line="672" number="30452" message="Operator '+' is not defined for types 'Date' and 'Short'." />
+		<error line="675" number="30452" message="Operator '+' is not defined for types 'Date' and 'UShort'." />
+		<error line="678" number="30452" message="Operator '+' is not defined for types 'Date' and 'Integer'." />
+		<error line="681" number="30452" message="Operator '+' is not defined for types 'Date' and 'UInteger'." />
+		<error line="684" number="30452" message="Operator '+' is not defined for types 'Date' and 'Long'." />
+		<error line="687" number="30452" message="Operator '+' is not defined for types 'Date' and 'ULong'." />
+		<error line="690" number="30452" message="Operator '+' is not defined for types 'Date' and 'Decimal'." />
+		<error line="693" number="30452" message="Operator '+' is not defined for types 'Date' and 'Single'." />
+		<error line="696" number="30452" message="Operator '+' is not defined for types 'Date' and 'Double'." />
+		<error line="699" number="30452" message="Operator '+' is not defined for types 'Date' and 'Char'." />
+		<error line="703" number="30512" message="Option Strict On disallows implicit conversions from 'Date' to 'String'." />
+		<error line="706" number="30512" message="Option Strict On disallows implicit conversions from 'Date' to 'String'." />
+		<error line="706" number="30512" message="Option Strict On disallows implicit conversions from 'Date' to 'String'." />
+		<error line="709" number="30518" message="Overload resolution failed because no accessible '+' can be called with these arguments:" />
+		<error line="713" number="30038" message="Option Strict On prohibits operands of type Object for operator '+'." />
+	</test>
+	<test id="2367" name="OperatorIntrinsic_BinaryAdd_DBNullError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:DBNull_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicBinaryAdd.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="716" number="30452" message="Operator '+' is not defined for types 'System.DBNull' and 'Boolean'." />
+		<error line="719" number="30452" message="Operator '+' is not defined for types 'System.DBNull' and 'Byte'." />
+		<error line="722" number="30452" message="Operator '+' is not defined for types 'System.DBNull' and 'SByte'." />
+		<error line="725" number="30452" message="Operator '+' is not defined for types 'System.DBNull' and 'Short'." />
+		<error line="728" number="30452" message="Operator '+' is not defined for types 'System.DBNull' and 'UShort'." />
+		<error line="731" number="30452" message="Operator '+' is not defined for types 'System.DBNull' and 'Integer'." />
+		<error line="734" number="30452" message="Operator '+' is not defined for types 'System.DBNull' and 'UInteger'." />
+		<error line="737" number="30452" message="Operator '+' is not defined for types 'System.DBNull' and 'Long'." />
+		<error line="740" number="30452" message="Operator '+' is not defined for types 'System.DBNull' and 'ULong'." />
+		<error line="743" number="30518" message="Overload resolution failed because no accessible '+' can be called with these arguments:" />
+		<error line="746" number="30452" message="Operator '+' is not defined for types 'System.DBNull' and 'Single'." />
+		<error line="749" number="30452" message="Operator '+' is not defined for types 'System.DBNull' and 'Double'." />
+		<error line="752" number="30452" message="Operator '+' is not defined for types 'System.DBNull' and 'Char'." />
+		<error line="758" number="30518" message="Overload resolution failed because no accessible '+' can be called with these arguments:" />
+		<error line="761" number="30452" message="Operator '+' is not defined for types 'System.DBNull' and 'System.DBNull'." />
+		<error line="764" number="30452" message="Operator '+' is not defined for types 'System.DBNull' and 'Object'." />
+	</test>
+	<test id="2368" name="OperatorIntrinsic_BinaryAdd_DBNullStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:DBNull_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicBinaryAdd.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="716" number="30452" message="Operator '+' is not defined for types 'System.DBNull' and 'Boolean'." />
+		<error line="719" number="30452" message="Operator '+' is not defined for types 'System.DBNull' and 'Byte'." />
+		<error line="722" number="30452" message="Operator '+' is not defined for types 'System.DBNull' and 'SByte'." />
+		<error line="725" number="30452" message="Operator '+' is not defined for types 'System.DBNull' and 'Short'." />
+		<error line="728" number="30452" message="Operator '+' is not defined for types 'System.DBNull' and 'UShort'." />
+		<error line="731" number="30452" message="Operator '+' is not defined for types 'System.DBNull' and 'Integer'." />
+		<error line="734" number="30452" message="Operator '+' is not defined for types 'System.DBNull' and 'UInteger'." />
+		<error line="737" number="30452" message="Operator '+' is not defined for types 'System.DBNull' and 'Long'." />
+		<error line="740" number="30452" message="Operator '+' is not defined for types 'System.DBNull' and 'ULong'." />
+		<error line="743" number="30518" message="Overload resolution failed because no accessible '+' can be called with these arguments:" />
+		<error line="746" number="30452" message="Operator '+' is not defined for types 'System.DBNull' and 'Single'." />
+		<error line="749" number="30452" message="Operator '+' is not defined for types 'System.DBNull' and 'Double'." />
+		<error line="752" number="30452" message="Operator '+' is not defined for types 'System.DBNull' and 'Char'." />
+		<error line="758" number="30518" message="Overload resolution failed because no accessible '+' can be called with these arguments:" />
+		<error line="761" number="30452" message="Operator '+' is not defined for types 'System.DBNull' and 'System.DBNull'." />
+		<error line="764" number="30452" message="Operator '+' is not defined for types 'System.DBNull' and 'Object'." />
+	</test>
+	<test id="2369" name="OperatorIntrinsic_BinaryAdd_ObjectError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Object_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicBinaryAdd.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="827" number="30452" message="Operator '+' is not defined for types 'Object' and 'System.DBNull'." />
+	</test>
+	<test id="2370" name="OperatorIntrinsic_BinaryAdd_ObjectStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Object_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicBinaryAdd.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="768" number="30038" message="Option Strict On prohibits operands of type Object for operator '+'." />
+		<error line="772" number="30038" message="Option Strict On prohibits operands of type Object for operator '+'." />
+		<error line="776" number="30038" message="Option Strict On prohibits operands of type Object for operator '+'." />
+		<error line="780" number="30038" message="Option Strict On prohibits operands of type Object for operator '+'." />
+		<error line="784" number="30038" message="Option Strict On prohibits operands of type Object for operator '+'." />
+		<error line="788" number="30038" message="Option Strict On prohibits operands of type Object for operator '+'." />
+		<error line="792" number="30038" message="Option Strict On prohibits operands of type Object for operator '+'." />
+		<error line="796" number="30038" message="Option Strict On prohibits operands of type Object for operator '+'." />
+		<error line="800" number="30038" message="Option Strict On prohibits operands of type Object for operator '+'." />
+		<error line="804" number="30038" message="Option Strict On prohibits operands of type Object for operator '+'." />
+		<error line="808" number="30038" message="Option Strict On prohibits operands of type Object for operator '+'." />
+		<error line="812" number="30038" message="Option Strict On prohibits operands of type Object for operator '+'." />
+		<error line="816" number="30038" message="Option Strict On prohibits operands of type Object for operator '+'." />
+		<error line="820" number="30038" message="Option Strict On prohibits operands of type Object for operator '+'." />
+		<error line="824" number="30038" message="Option Strict On prohibits operands of type Object for operator '+'." />
+		<error line="827" number="30452" message="Operator '+' is not defined for types 'Object' and 'System.DBNull'." />
+		<error line="831" number="30038" message="Option Strict On prohibits operands of type Object for operator '+'." />
+		<error line="831" number="30038" message="Option Strict On prohibits operands of type Object for operator '+'." />
+	</test>
+	<test id="2371" name="OperatorIntrinsic_BinarySub_" target="exe" mytype="empty">
+		<file>CompileTime2\OperatorIntrinsicBinarySub.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+	</test>
+	<test id="2372" name="OperatorIntrinsic_BinarySub_Strict" mytype="empty">
+		<arguments>/optionstrict+ /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicBinarySub.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+	</test>
+	<test id="2373" name="OperatorIntrinsic_BinarySub_BooleanError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Boolean_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicBinarySub.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="54" number="30452" message="Operator '-' is not defined for types 'Boolean' and 'Char'." />
+		<error line="61" number="30452" message="Operator '-' is not defined for types 'Boolean' and 'Date'." />
+		<error line="64" number="30452" message="Operator '-' is not defined for types 'Boolean' and 'System.DBNull'." />
+	</test>
+	<test id="2374" name="OperatorIntrinsic_BinarySub_BooleanStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Boolean_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicBinarySub.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="7" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<error line="7" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<error line="11" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<error line="15" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'SByte'." />
+		<error line="19" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<error line="23" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Integer'." />
+		<error line="27" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Integer'." />
+		<error line="31" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Long'." />
+		<error line="35" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Long'." />
+		<error line="39" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Decimal'." />
+		<error line="43" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Decimal'." />
+		<error line="47" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Single'." />
+		<error line="51" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Double'." />
+		<error line="54" number="30452" message="Operator '-' is not defined for types 'Boolean' and 'Char'." />
+		<error line="58" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Double'." />
+		<error line="58" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="61" number="30452" message="Operator '-' is not defined for types 'Boolean' and 'Date'." />
+		<error line="64" number="30452" message="Operator '-' is not defined for types 'Boolean' and 'System.DBNull'." />
+		<error line="68" number="30038" message="Option Strict On prohibits operands of type Object for operator '-'." />
+	</test>
+	<test id="2375" name="OperatorIntrinsic_BinarySub_ByteError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Byte_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicBinarySub.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="97" number="30452" message="Operator '-' is not defined for types 'Byte' and 'Char'." />
+		<error line="104" number="30452" message="Operator '-' is not defined for types 'Byte' and 'Date'." />
+		<error line="107" number="30452" message="Operator '-' is not defined for types 'Byte' and 'System.DBNull'." />
+	</test>
+	<test id="2376" name="OperatorIntrinsic_BinarySub_ByteStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Byte_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicBinarySub.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="72" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<error line="97" number="30452" message="Operator '-' is not defined for types 'Byte' and 'Char'." />
+		<error line="101" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="104" number="30452" message="Operator '-' is not defined for types 'Byte' and 'Date'." />
+		<error line="107" number="30452" message="Operator '-' is not defined for types 'Byte' and 'System.DBNull'." />
+		<error line="111" number="30038" message="Option Strict On prohibits operands of type Object for operator '-'." />
+	</test>
+	<test id="2377" name="OperatorIntrinsic_BinarySub_SByteError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:SByte_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicBinarySub.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="140" number="30452" message="Operator '-' is not defined for types 'SByte' and 'Char'." />
+		<error line="147" number="30452" message="Operator '-' is not defined for types 'SByte' and 'Date'." />
+		<error line="150" number="30452" message="Operator '-' is not defined for types 'SByte' and 'System.DBNull'." />
+	</test>
+	<test id="2378" name="OperatorIntrinsic_BinarySub_SByteStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:SByte_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicBinarySub.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="115" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'SByte'." />
+		<error line="140" number="30452" message="Operator '-' is not defined for types 'SByte' and 'Char'." />
+		<error line="144" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="147" number="30452" message="Operator '-' is not defined for types 'SByte' and 'Date'." />
+		<error line="150" number="30452" message="Operator '-' is not defined for types 'SByte' and 'System.DBNull'." />
+		<error line="154" number="30038" message="Option Strict On prohibits operands of type Object for operator '-'." />
+	</test>
+	<test id="2379" name="OperatorIntrinsic_BinarySub_Int16Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Int16_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicBinarySub.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="183" number="30452" message="Operator '-' is not defined for types 'Short' and 'Char'." />
+		<error line="190" number="30452" message="Operator '-' is not defined for types 'Short' and 'Date'." />
+		<error line="193" number="30452" message="Operator '-' is not defined for types 'Short' and 'System.DBNull'." />
+	</test>
+	<test id="2380" name="OperatorIntrinsic_BinarySub_Int16StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Int16_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicBinarySub.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="158" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<error line="183" number="30452" message="Operator '-' is not defined for types 'Short' and 'Char'." />
+		<error line="187" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="190" number="30452" message="Operator '-' is not defined for types 'Short' and 'Date'." />
+		<error line="193" number="30452" message="Operator '-' is not defined for types 'Short' and 'System.DBNull'." />
+		<error line="197" number="30038" message="Option Strict On prohibits operands of type Object for operator '-'." />
+	</test>
+	<test id="2381" name="OperatorIntrinsic_BinarySub_UInt16Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:UInt16_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicBinarySub.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="226" number="30452" message="Operator '-' is not defined for types 'UShort' and 'Char'." />
+		<error line="233" number="30452" message="Operator '-' is not defined for types 'UShort' and 'Date'." />
+		<error line="236" number="30452" message="Operator '-' is not defined for types 'UShort' and 'System.DBNull'." />
+	</test>
+	<test id="2382" name="OperatorIntrinsic_BinarySub_UInt16StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:UInt16_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicBinarySub.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="201" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Integer'." />
+		<error line="226" number="30452" message="Operator '-' is not defined for types 'UShort' and 'Char'." />
+		<error line="230" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="233" number="30452" message="Operator '-' is not defined for types 'UShort' and 'Date'." />
+		<error line="236" number="30452" message="Operator '-' is not defined for types 'UShort' and 'System.DBNull'." />
+		<error line="240" number="30038" message="Option Strict On prohibits operands of type Object for operator '-'." />
+	</test>
+	<test id="2383" name="OperatorIntrinsic_BinarySub_Int32Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Int32_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicBinarySub.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="269" number="30452" message="Operator '-' is not defined for types 'Integer' and 'Char'." />
+		<error line="276" number="30452" message="Operator '-' is not defined for types 'Integer' and 'Date'." />
+		<error line="279" number="30452" message="Operator '-' is not defined for types 'Integer' and 'System.DBNull'." />
+	</test>
+	<test id="2384" name="OperatorIntrinsic_BinarySub_Int32StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Int32_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicBinarySub.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="244" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Integer'." />
+		<error line="269" number="30452" message="Operator '-' is not defined for types 'Integer' and 'Char'." />
+		<error line="273" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="276" number="30452" message="Operator '-' is not defined for types 'Integer' and 'Date'." />
+		<error line="279" number="30452" message="Operator '-' is not defined for types 'Integer' and 'System.DBNull'." />
+		<error line="283" number="30038" message="Option Strict On prohibits operands of type Object for operator '-'." />
+	</test>
+	<test id="2385" name="OperatorIntrinsic_BinarySub_UInt32Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:UInt32_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicBinarySub.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="312" number="30452" message="Operator '-' is not defined for types 'UInteger' and 'Char'." />
+		<error line="319" number="30452" message="Operator '-' is not defined for types 'UInteger' and 'Date'." />
+		<error line="322" number="30452" message="Operator '-' is not defined for types 'UInteger' and 'System.DBNull'." />
+	</test>
+	<test id="2386" name="OperatorIntrinsic_BinarySub_UInt32StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:UInt32_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicBinarySub.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="287" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Long'." />
+		<error line="312" number="30452" message="Operator '-' is not defined for types 'UInteger' and 'Char'." />
+		<error line="316" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="319" number="30452" message="Operator '-' is not defined for types 'UInteger' and 'Date'." />
+		<error line="322" number="30452" message="Operator '-' is not defined for types 'UInteger' and 'System.DBNull'." />
+		<error line="326" number="30038" message="Option Strict On prohibits operands of type Object for operator '-'." />
+	</test>
+	<test id="2387" name="OperatorIntrinsic_BinarySub_Int64Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Int64_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicBinarySub.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="355" number="30452" message="Operator '-' is not defined for types 'Long' and 'Char'." />
+		<error line="362" number="30452" message="Operator '-' is not defined for types 'Long' and 'Date'." />
+		<error line="365" number="30452" message="Operator '-' is not defined for types 'Long' and 'System.DBNull'." />
+	</test>
+	<test id="2388" name="OperatorIntrinsic_BinarySub_Int64StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Int64_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicBinarySub.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="330" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Long'." />
+		<error line="355" number="30452" message="Operator '-' is not defined for types 'Long' and 'Char'." />
+		<error line="359" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="362" number="30452" message="Operator '-' is not defined for types 'Long' and 'Date'." />
+		<error line="365" number="30452" message="Operator '-' is not defined for types 'Long' and 'System.DBNull'." />
+		<error line="369" number="30038" message="Option Strict On prohibits operands of type Object for operator '-'." />
+	</test>
+	<test id="2389" name="OperatorIntrinsic_BinarySub_UInt64Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:UInt64_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicBinarySub.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="398" number="30452" message="Operator '-' is not defined for types 'ULong' and 'Char'." />
+		<error line="405" number="30452" message="Operator '-' is not defined for types 'ULong' and 'Date'." />
+		<error line="408" number="30452" message="Operator '-' is not defined for types 'ULong' and 'System.DBNull'." />
+	</test>
+	<test id="2390" name="OperatorIntrinsic_BinarySub_UInt64StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:UInt64_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicBinarySub.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="373" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Decimal'." />
+		<error line="398" number="30452" message="Operator '-' is not defined for types 'ULong' and 'Char'." />
+		<error line="402" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="405" number="30452" message="Operator '-' is not defined for types 'ULong' and 'Date'." />
+		<error line="408" number="30452" message="Operator '-' is not defined for types 'ULong' and 'System.DBNull'." />
+		<error line="412" number="30038" message="Option Strict On prohibits operands of type Object for operator '-'." />
+	</test>
+	<test id="2391" name="OperatorIntrinsic_BinarySub_DecimalError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Decimal_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicBinarySub.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="441" number="30452" message="Operator '-' is not defined for types 'Decimal' and 'Char'." />
+		<error line="448" number="30452" message="Operator '-' is not defined for types 'Decimal' and 'Date'." />
+		<error line="451" number="30518" message="Overload resolution failed because no accessible '-' can be called with these arguments:" />
+	</test>
+	<test id="2392" name="OperatorIntrinsic_BinarySub_DecimalStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Decimal_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicBinarySub.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="416" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Decimal'." />
+		<error line="441" number="30452" message="Operator '-' is not defined for types 'Decimal' and 'Char'." />
+		<error line="445" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="448" number="30452" message="Operator '-' is not defined for types 'Decimal' and 'Date'." />
+		<error line="451" number="30518" message="Overload resolution failed because no accessible '-' can be called with these arguments:" />
+		<error line="455" number="30038" message="Option Strict On prohibits operands of type Object for operator '-'." />
+	</test>
+	<test id="2393" name="OperatorIntrinsic_BinarySub_SingleError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Single_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicBinarySub.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="484" number="30452" message="Operator '-' is not defined for types 'Single' and 'Char'." />
+		<error line="491" number="30452" message="Operator '-' is not defined for types 'Single' and 'Date'." />
+		<error line="494" number="30452" message="Operator '-' is not defined for types 'Single' and 'System.DBNull'." />
+	</test>
+	<test id="2394" name="OperatorIntrinsic_BinarySub_SingleStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Single_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicBinarySub.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="459" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Single'." />
+		<error line="484" number="30452" message="Operator '-' is not defined for types 'Single' and 'Char'." />
+		<error line="488" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="491" number="30452" message="Operator '-' is not defined for types 'Single' and 'Date'." />
+		<error line="494" number="30452" message="Operator '-' is not defined for types 'Single' and 'System.DBNull'." />
+		<error line="498" number="30038" message="Option Strict On prohibits operands of type Object for operator '-'." />
+	</test>
+	<test id="2395" name="OperatorIntrinsic_BinarySub_DoubleError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Double_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicBinarySub.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="527" number="30452" message="Operator '-' is not defined for types 'Double' and 'Char'." />
+		<error line="534" number="30452" message="Operator '-' is not defined for types 'Double' and 'Date'." />
+		<error line="537" number="30452" message="Operator '-' is not defined for types 'Double' and 'System.DBNull'." />
+	</test>
+	<test id="2396" name="OperatorIntrinsic_BinarySub_DoubleStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Double_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicBinarySub.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="502" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Double'." />
+		<error line="527" number="30452" message="Operator '-' is not defined for types 'Double' and 'Char'." />
+		<error line="531" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="534" number="30452" message="Operator '-' is not defined for types 'Double' and 'Date'." />
+		<error line="537" number="30452" message="Operator '-' is not defined for types 'Double' and 'System.DBNull'." />
+		<error line="541" number="30038" message="Option Strict On prohibits operands of type Object for operator '-'." />
+	</test>
+	<test id="2397" name="OperatorIntrinsic_BinarySub_CharError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Char_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicBinarySub.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="544" number="30452" message="Operator '-' is not defined for types 'Char' and 'Boolean'." />
+		<error line="547" number="30452" message="Operator '-' is not defined for types 'Char' and 'Byte'." />
+		<error line="550" number="30452" message="Operator '-' is not defined for types 'Char' and 'SByte'." />
+		<error line="553" number="30452" message="Operator '-' is not defined for types 'Char' and 'Short'." />
+		<error line="556" number="30452" message="Operator '-' is not defined for types 'Char' and 'UShort'." />
+		<error line="559" number="30452" message="Operator '-' is not defined for types 'Char' and 'Integer'." />
+		<error line="562" number="30452" message="Operator '-' is not defined for types 'Char' and 'UInteger'." />
+		<error line="565" number="30452" message="Operator '-' is not defined for types 'Char' and 'Long'." />
+		<error line="568" number="30452" message="Operator '-' is not defined for types 'Char' and 'ULong'." />
+		<error line="571" number="30452" message="Operator '-' is not defined for types 'Char' and 'Decimal'." />
+		<error line="574" number="30452" message="Operator '-' is not defined for types 'Char' and 'Single'." />
+		<error line="577" number="30452" message="Operator '-' is not defined for types 'Char' and 'Double'." />
+		<error line="580" number="30452" message="Operator '-' is not defined for types 'Char' and 'Char'." />
+		<error line="583" number="30452" message="Operator '-' is not defined for types 'Char' and 'String'." />
+		<error line="586" number="30452" message="Operator '-' is not defined for types 'Char' and 'Date'." />
+		<error line="589" number="30452" message="Operator '-' is not defined for types 'Char' and 'System.DBNull'." />
+		<error line="592" number="30452" message="Operator '-' is not defined for types 'Char' and 'Object'." />
+	</test>
+	<test id="2398" name="OperatorIntrinsic_BinarySub_CharStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Char_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicBinarySub.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="544" number="30452" message="Operator '-' is not defined for types 'Char' and 'Boolean'." />
+		<error line="547" number="30452" message="Operator '-' is not defined for types 'Char' and 'Byte'." />
+		<error line="550" number="30452" message="Operator '-' is not defined for types 'Char' and 'SByte'." />
+		<error line="553" number="30452" message="Operator '-' is not defined for types 'Char' and 'Short'." />
+		<error line="556" number="30452" message="Operator '-' is not defined for types 'Char' and 'UShort'." />
+		<error line="559" number="30452" message="Operator '-' is not defined for types 'Char' and 'Integer'." />
+		<error line="562" number="30452" message="Operator '-' is not defined for types 'Char' and 'UInteger'." />
+		<error line="565" number="30452" message="Operator '-' is not defined for types 'Char' and 'Long'." />
+		<error line="568" number="30452" message="Operator '-' is not defined for types 'Char' and 'ULong'." />
+		<error line="571" number="30452" message="Operator '-' is not defined for types 'Char' and 'Decimal'." />
+		<error line="574" number="30452" message="Operator '-' is not defined for types 'Char' and 'Single'." />
+		<error line="577" number="30452" message="Operator '-' is not defined for types 'Char' and 'Double'." />
+		<error line="580" number="30452" message="Operator '-' is not defined for types 'Char' and 'Char'." />
+		<error line="583" number="30452" message="Operator '-' is not defined for types 'Char' and 'String'." />
+		<error line="586" number="30452" message="Operator '-' is not defined for types 'Char' and 'Date'." />
+		<error line="589" number="30452" message="Operator '-' is not defined for types 'Char' and 'System.DBNull'." />
+		<error line="592" number="30452" message="Operator '-' is not defined for types 'Char' and 'Object'." />
+	</test>
+	<test id="2399" name="OperatorIntrinsic_BinarySub_StringError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:String_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicBinarySub.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="643" number="30452" message="Operator '-' is not defined for types 'String' and 'Char'." />
+		<error line="650" number="30452" message="Operator '-' is not defined for types 'String' and 'Date'." />
+		<error line="653" number="30452" message="Operator '-' is not defined for types 'String' and 'System.DBNull'." />
+	</test>
+	<test id="2400" name="OperatorIntrinsic_BinarySub_StringStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:String_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicBinarySub.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="596" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="596" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Double'." />
+		<error line="600" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="604" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="608" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="612" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="616" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="620" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="624" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="628" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="632" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="636" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="640" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="643" number="30452" message="Operator '-' is not defined for types 'String' and 'Char'." />
+		<error line="647" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="647" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="650" number="30452" message="Operator '-' is not defined for types 'String' and 'Date'." />
+		<error line="653" number="30452" message="Operator '-' is not defined for types 'String' and 'System.DBNull'." />
+		<error line="657" number="30038" message="Option Strict On prohibits operands of type Object for operator '-'." />
+	</test>
+	<test id="2401" name="OperatorIntrinsic_BinarySub_DateTimeError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:DateTime_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicBinarySub.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="660" number="30452" message="Operator '-' is not defined for types 'Date' and 'Boolean'." />
+		<error line="663" number="30452" message="Operator '-' is not defined for types 'Date' and 'Byte'." />
+		<error line="666" number="30452" message="Operator '-' is not defined for types 'Date' and 'SByte'." />
+		<error line="669" number="30452" message="Operator '-' is not defined for types 'Date' and 'Short'." />
+		<error line="672" number="30452" message="Operator '-' is not defined for types 'Date' and 'UShort'." />
+		<error line="675" number="30452" message="Operator '-' is not defined for types 'Date' and 'Integer'." />
+		<error line="678" number="30452" message="Operator '-' is not defined for types 'Date' and 'UInteger'." />
+		<error line="681" number="30452" message="Operator '-' is not defined for types 'Date' and 'Long'." />
+		<error line="684" number="30452" message="Operator '-' is not defined for types 'Date' and 'ULong'." />
+		<error line="687" number="30452" message="Operator '-' is not defined for types 'Date' and 'Decimal'." />
+		<error line="690" number="30452" message="Operator '-' is not defined for types 'Date' and 'Single'." />
+		<error line="693" number="30452" message="Operator '-' is not defined for types 'Date' and 'Double'." />
+		<error line="696" number="30452" message="Operator '-' is not defined for types 'Date' and 'Char'." />
+		<error line="699" number="30452" message="Operator '-' is not defined for types 'Date' and 'String'." />
+		<error line="705" number="30518" message="Overload resolution failed because no accessible '-' can be called with these arguments:" />
+		<error line="708" number="30452" message="Operator '-' is not defined for types 'Date' and 'Object'." />
+	</test>
+	<test id="2402" name="OperatorIntrinsic_BinarySub_DateTimeStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:DateTime_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicBinarySub.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="660" number="30452" message="Operator '-' is not defined for types 'Date' and 'Boolean'." />
+		<error line="663" number="30452" message="Operator '-' is not defined for types 'Date' and 'Byte'." />
+		<error line="666" number="30452" message="Operator '-' is not defined for types 'Date' and 'SByte'." />
+		<error line="669" number="30452" message="Operator '-' is not defined for types 'Date' and 'Short'." />
+		<error line="672" number="30452" message="Operator '-' is not defined for types 'Date' and 'UShort'." />
+		<error line="675" number="30452" message="Operator '-' is not defined for types 'Date' and 'Integer'." />
+		<error line="678" number="30452" message="Operator '-' is not defined for types 'Date' and 'UInteger'." />
+		<error line="681" number="30452" message="Operator '-' is not defined for types 'Date' and 'Long'." />
+		<error line="684" number="30452" message="Operator '-' is not defined for types 'Date' and 'ULong'." />
+		<error line="687" number="30452" message="Operator '-' is not defined for types 'Date' and 'Decimal'." />
+		<error line="690" number="30452" message="Operator '-' is not defined for types 'Date' and 'Single'." />
+		<error line="693" number="30452" message="Operator '-' is not defined for types 'Date' and 'Double'." />
+		<error line="696" number="30452" message="Operator '-' is not defined for types 'Date' and 'Char'." />
+		<error line="699" number="30452" message="Operator '-' is not defined for types 'Date' and 'String'." />
+		<error line="705" number="30518" message="Overload resolution failed because no accessible '-' can be called with these arguments:" />
+		<error line="708" number="30452" message="Operator '-' is not defined for types 'Date' and 'Object'." />
+	</test>
+	<test id="2403" name="OperatorIntrinsic_BinarySub_DBNullError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:DBNull_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicBinarySub.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="711" number="30452" message="Operator '-' is not defined for types 'System.DBNull' and 'Boolean'." />
+		<error line="714" number="30452" message="Operator '-' is not defined for types 'System.DBNull' and 'Byte'." />
+		<error line="717" number="30452" message="Operator '-' is not defined for types 'System.DBNull' and 'SByte'." />
+		<error line="720" number="30452" message="Operator '-' is not defined for types 'System.DBNull' and 'Short'." />
+		<error line="723" number="30452" message="Operator '-' is not defined for types 'System.DBNull' and 'UShort'." />
+		<error line="726" number="30452" message="Operator '-' is not defined for types 'System.DBNull' and 'Integer'." />
+		<error line="729" number="30452" message="Operator '-' is not defined for types 'System.DBNull' and 'UInteger'." />
+		<error line="732" number="30452" message="Operator '-' is not defined for types 'System.DBNull' and 'Long'." />
+		<error line="735" number="30452" message="Operator '-' is not defined for types 'System.DBNull' and 'ULong'." />
+		<error line="738" number="30518" message="Overload resolution failed because no accessible '-' can be called with these arguments:" />
+		<error line="741" number="30452" message="Operator '-' is not defined for types 'System.DBNull' and 'Single'." />
+		<error line="744" number="30452" message="Operator '-' is not defined for types 'System.DBNull' and 'Double'." />
+		<error line="747" number="30452" message="Operator '-' is not defined for types 'System.DBNull' and 'Char'." />
+		<error line="750" number="30452" message="Operator '-' is not defined for types 'System.DBNull' and 'String'." />
+		<error line="753" number="30518" message="Overload resolution failed because no accessible '-' can be called with these arguments:" />
+		<error line="756" number="30452" message="Operator '-' is not defined for types 'System.DBNull' and 'System.DBNull'." />
+		<error line="759" number="30452" message="Operator '-' is not defined for types 'System.DBNull' and 'Object'." />
+	</test>
+	<test id="2404" name="OperatorIntrinsic_BinarySub_DBNullStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:DBNull_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicBinarySub.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="711" number="30452" message="Operator '-' is not defined for types 'System.DBNull' and 'Boolean'." />
+		<error line="714" number="30452" message="Operator '-' is not defined for types 'System.DBNull' and 'Byte'." />
+		<error line="717" number="30452" message="Operator '-' is not defined for types 'System.DBNull' and 'SByte'." />
+		<error line="720" number="30452" message="Operator '-' is not defined for types 'System.DBNull' and 'Short'." />
+		<error line="723" number="30452" message="Operator '-' is not defined for types 'System.DBNull' and 'UShort'." />
+		<error line="726" number="30452" message="Operator '-' is not defined for types 'System.DBNull' and 'Integer'." />
+		<error line="729" number="30452" message="Operator '-' is not defined for types 'System.DBNull' and 'UInteger'." />
+		<error line="732" number="30452" message="Operator '-' is not defined for types 'System.DBNull' and 'Long'." />
+		<error line="735" number="30452" message="Operator '-' is not defined for types 'System.DBNull' and 'ULong'." />
+		<error line="738" number="30518" message="Overload resolution failed because no accessible '-' can be called with these arguments:" />
+		<error line="741" number="30452" message="Operator '-' is not defined for types 'System.DBNull' and 'Single'." />
+		<error line="744" number="30452" message="Operator '-' is not defined for types 'System.DBNull' and 'Double'." />
+		<error line="747" number="30452" message="Operator '-' is not defined for types 'System.DBNull' and 'Char'." />
+		<error line="750" number="30452" message="Operator '-' is not defined for types 'System.DBNull' and 'String'." />
+		<error line="753" number="30518" message="Overload resolution failed because no accessible '-' can be called with these arguments:" />
+		<error line="756" number="30452" message="Operator '-' is not defined for types 'System.DBNull' and 'System.DBNull'." />
+		<error line="759" number="30452" message="Operator '-' is not defined for types 'System.DBNull' and 'Object'." />
+	</test>
+	<test id="2405" name="OperatorIntrinsic_BinarySub_ObjectError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Object_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicBinarySub.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="810" number="30452" message="Operator '-' is not defined for types 'Object' and 'Char'." />
+		<error line="817" number="30452" message="Operator '-' is not defined for types 'Object' and 'Date'." />
+		<error line="820" number="30452" message="Operator '-' is not defined for types 'Object' and 'System.DBNull'." />
+	</test>
+	<test id="2406" name="OperatorIntrinsic_BinarySub_ObjectStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Object_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicBinarySub.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="763" number="30038" message="Option Strict On prohibits operands of type Object for operator '-'." />
+		<error line="767" number="30038" message="Option Strict On prohibits operands of type Object for operator '-'." />
+		<error line="771" number="30038" message="Option Strict On prohibits operands of type Object for operator '-'." />
+		<error line="775" number="30038" message="Option Strict On prohibits operands of type Object for operator '-'." />
+		<error line="779" number="30038" message="Option Strict On prohibits operands of type Object for operator '-'." />
+		<error line="783" number="30038" message="Option Strict On prohibits operands of type Object for operator '-'." />
+		<error line="787" number="30038" message="Option Strict On prohibits operands of type Object for operator '-'." />
+		<error line="791" number="30038" message="Option Strict On prohibits operands of type Object for operator '-'." />
+		<error line="795" number="30038" message="Option Strict On prohibits operands of type Object for operator '-'." />
+		<error line="799" number="30038" message="Option Strict On prohibits operands of type Object for operator '-'." />
+		<error line="803" number="30038" message="Option Strict On prohibits operands of type Object for operator '-'." />
+		<error line="807" number="30038" message="Option Strict On prohibits operands of type Object for operator '-'." />
+		<error line="810" number="30452" message="Operator '-' is not defined for types 'Object' and 'Char'." />
+		<error line="814" number="30038" message="Option Strict On prohibits operands of type Object for operator '-'." />
+		<error line="817" number="30452" message="Operator '-' is not defined for types 'Object' and 'Date'." />
+		<error line="820" number="30452" message="Operator '-' is not defined for types 'Object' and 'System.DBNull'." />
+		<error line="824" number="30038" message="Option Strict On prohibits operands of type Object for operator '-'." />
+		<error line="824" number="30038" message="Option Strict On prohibits operands of type Object for operator '-'." />
+	</test>
+	<test id="2407" name="OperatorIntrinsic_Concat_" target="exe" mytype="empty">
+		<file>CompileTime2\OperatorIntrinsicConcat.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+	</test>
+	<test id="2408" name="OperatorIntrinsic_Concat_Strict" mytype="empty">
+		<arguments>/optionstrict+ /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicConcat.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+	</test>
+	<test id="2409" name="OperatorIntrinsic_Concat_BooleanError" mytype="empty">
+		<arguments>/define:Boolean_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicConcat.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+	</test>
+	<test id="2410" name="OperatorIntrinsic_Concat_BooleanStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Boolean_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicConcat.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="40" number="30038" message="Option Strict On prohibits operands of type Object for operator '&'." />
+	</test>
+	<test id="2411" name="OperatorIntrinsic_Concat_ByteError" mytype="empty">
+		<arguments>/define:Byte_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicConcat.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+	</test>
+	<test id="2412" name="OperatorIntrinsic_Concat_ByteStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Byte_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicConcat.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="77" number="30038" message="Option Strict On prohibits operands of type Object for operator '&'." />
+	</test>
+	<test id="2413" name="OperatorIntrinsic_Concat_SByteError" mytype="empty">
+		<arguments>/define:SByte_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicConcat.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+	</test>
+	<test id="2414" name="OperatorIntrinsic_Concat_SByteStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:SByte_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicConcat.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="114" number="30038" message="Option Strict On prohibits operands of type Object for operator '&'." />
+	</test>
+	<test id="2415" name="OperatorIntrinsic_Concat_Int16Error" mytype="empty">
+		<arguments>/define:Int16_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicConcat.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+	</test>
+	<test id="2416" name="OperatorIntrinsic_Concat_Int16StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Int16_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicConcat.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="151" number="30038" message="Option Strict On prohibits operands of type Object for operator '&'." />
+	</test>
+	<test id="2417" name="OperatorIntrinsic_Concat_UInt16Error" mytype="empty">
+		<arguments>/define:UInt16_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicConcat.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+	</test>
+	<test id="2418" name="OperatorIntrinsic_Concat_UInt16StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:UInt16_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicConcat.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="188" number="30038" message="Option Strict On prohibits operands of type Object for operator '&'." />
+	</test>
+	<test id="2419" name="OperatorIntrinsic_Concat_Int32Error" mytype="empty">
+		<arguments>/define:Int32_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicConcat.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+	</test>
+	<test id="2420" name="OperatorIntrinsic_Concat_Int32StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Int32_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicConcat.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="225" number="30038" message="Option Strict On prohibits operands of type Object for operator '&'." />
+	</test>
+	<test id="2421" name="OperatorIntrinsic_Concat_UInt32Error" mytype="empty">
+		<arguments>/define:UInt32_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicConcat.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+	</test>
+	<test id="2422" name="OperatorIntrinsic_Concat_UInt32StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:UInt32_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicConcat.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="262" number="30038" message="Option Strict On prohibits operands of type Object for operator '&'." />
+	</test>
+	<test id="2423" name="OperatorIntrinsic_Concat_Int64Error" mytype="empty">
+		<arguments>/define:Int64_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicConcat.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+	</test>
+	<test id="2424" name="OperatorIntrinsic_Concat_Int64StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Int64_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicConcat.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="299" number="30038" message="Option Strict On prohibits operands of type Object for operator '&'." />
+	</test>
+	<test id="2425" name="OperatorIntrinsic_Concat_UInt64Error" mytype="empty">
+		<arguments>/define:UInt64_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicConcat.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+	</test>
+	<test id="2426" name="OperatorIntrinsic_Concat_UInt64StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:UInt64_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicConcat.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="336" number="30038" message="Option Strict On prohibits operands of type Object for operator '&'." />
+	</test>
+	<test id="2427" name="OperatorIntrinsic_Concat_DecimalError" mytype="empty">
+		<arguments>/define:Decimal_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicConcat.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+	</test>
+	<test id="2428" name="OperatorIntrinsic_Concat_DecimalStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Decimal_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicConcat.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="373" number="30038" message="Option Strict On prohibits operands of type Object for operator '&'." />
+	</test>
+	<test id="2429" name="OperatorIntrinsic_Concat_SingleError" mytype="empty">
+		<arguments>/define:Single_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicConcat.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+	</test>
+	<test id="2430" name="OperatorIntrinsic_Concat_SingleStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Single_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicConcat.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="410" number="30038" message="Option Strict On prohibits operands of type Object for operator '&'." />
+	</test>
+	<test id="2431" name="OperatorIntrinsic_Concat_DoubleError" mytype="empty">
+		<arguments>/define:Double_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicConcat.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+	</test>
+	<test id="2432" name="OperatorIntrinsic_Concat_DoubleStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Double_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicConcat.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="447" number="30038" message="Option Strict On prohibits operands of type Object for operator '&'." />
+	</test>
+	<test id="2433" name="OperatorIntrinsic_Concat_CharError" mytype="empty">
+		<arguments>/define:Char_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicConcat.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+	</test>
+	<test id="2434" name="OperatorIntrinsic_Concat_CharStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Char_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicConcat.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="484" number="30038" message="Option Strict On prohibits operands of type Object for operator '&'." />
+	</test>
+	<test id="2435" name="OperatorIntrinsic_Concat_StringError" mytype="empty">
+		<arguments>/define:String_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicConcat.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+	</test>
+	<test id="2436" name="OperatorIntrinsic_Concat_StringStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:String_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicConcat.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="521" number="30038" message="Option Strict On prohibits operands of type Object for operator '&'." />
+	</test>
+	<test id="2437" name="OperatorIntrinsic_Concat_DateTimeError" mytype="empty">
+		<arguments>/define:DateTime_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicConcat.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+	</test>
+	<test id="2438" name="OperatorIntrinsic_Concat_DateTimeStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:DateTime_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicConcat.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="558" number="30038" message="Option Strict On prohibits operands of type Object for operator '&'." />
+	</test>
+	<test id="2439" name="OperatorIntrinsic_Concat_DBNullError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:DBNull_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicConcat.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="606" number="30452" message="Operator '&' is not defined for types 'System.DBNull' and 'System.DBNull'." />
+	</test>
+	<test id="2440" name="OperatorIntrinsic_Concat_DBNullStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:DBNull_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicConcat.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="606" number="30452" message="Operator '&' is not defined for types 'System.DBNull' and 'System.DBNull'." />
+		<error line="609" number="30038" message="Option Strict On prohibits operands of type Object for operator '&'." />
+	</test>
+	<test id="2441" name="OperatorIntrinsic_Concat_ObjectError" mytype="empty">
+		<arguments>/define:Object_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicConcat.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+	</test>
+	<test id="2442" name="OperatorIntrinsic_Concat_ObjectStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Object_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicConcat.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="613" number="30038" message="Option Strict On prohibits operands of type Object for operator '&'." />
+		<error line="617" number="30038" message="Option Strict On prohibits operands of type Object for operator '&'." />
+		<error line="621" number="30038" message="Option Strict On prohibits operands of type Object for operator '&'." />
+		<error line="625" number="30038" message="Option Strict On prohibits operands of type Object for operator '&'." />
+		<error line="629" number="30038" message="Option Strict On prohibits operands of type Object for operator '&'." />
+		<error line="633" number="30038" message="Option Strict On prohibits operands of type Object for operator '&'." />
+		<error line="637" number="30038" message="Option Strict On prohibits operands of type Object for operator '&'." />
+		<error line="641" number="30038" message="Option Strict On prohibits operands of type Object for operator '&'." />
+		<error line="645" number="30038" message="Option Strict On prohibits operands of type Object for operator '&'." />
+		<error line="649" number="30038" message="Option Strict On prohibits operands of type Object for operator '&'." />
+		<error line="653" number="30038" message="Option Strict On prohibits operands of type Object for operator '&'." />
+		<error line="657" number="30038" message="Option Strict On prohibits operands of type Object for operator '&'." />
+		<error line="661" number="30038" message="Option Strict On prohibits operands of type Object for operator '&'." />
+		<error line="665" number="30038" message="Option Strict On prohibits operands of type Object for operator '&'." />
+		<error line="669" number="30038" message="Option Strict On prohibits operands of type Object for operator '&'." />
+		<error line="672" number="30038" message="Option Strict On prohibits operands of type Object for operator '&'." />
+		<error line="676" number="30038" message="Option Strict On prohibits operands of type Object for operator '&'." />
+		<error line="676" number="30038" message="Option Strict On prohibits operands of type Object for operator '&'." />
+	</test>
+	<test id="2443" name="OperatorIntrinsic_Equals_" target="exe" mytype="empty">
+		<file>CompileTime2\OperatorIntrinsicEquals.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+	</test>
+	<test id="2444" name="OperatorIntrinsic_Equals_Strict" mytype="empty">
+		<arguments>/optionstrict+ /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicEquals.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+	</test>
+	<test id="2445" name="OperatorIntrinsic_Equals_BooleanError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Boolean_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicEquals.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="42" number="30452" message="Operator '=' is not defined for types 'Boolean' and 'Char'." />
+		<error line="48" number="30452" message="Operator '=' is not defined for types 'Boolean' and 'Date'." />
+		<error line="51" number="30452" message="Operator '=' is not defined for types 'Boolean' and 'System.DBNull'." />
+	</test>
+	<test id="2446" name="OperatorIntrinsic_Equals_BooleanStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Boolean_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicEquals.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="9" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<error line="12" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'SByte'." />
+		<error line="15" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<error line="18" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Integer'." />
+		<error line="21" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Integer'." />
+		<error line="24" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Long'." />
+		<error line="27" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Long'." />
+		<error line="30" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Decimal'." />
+		<error line="33" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Decimal'." />
+		<error line="36" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Single'." />
+		<error line="39" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Double'." />
+		<error line="42" number="30452" message="Operator '=' is not defined for types 'Boolean' and 'Char'." />
+		<error line="45" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Boolean'." />
+		<error line="48" number="30452" message="Operator '=' is not defined for types 'Boolean' and 'Date'." />
+		<error line="51" number="30452" message="Operator '=' is not defined for types 'Boolean' and 'System.DBNull'." />
+		<error line="55" number="32013" message="Option Strict On disallows operands of type Object for operator '='. Use the 'Is' operator to test for object identity." />
+	</test>
+	<test id="2447" name="OperatorIntrinsic_Equals_ByteError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Byte_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicEquals.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="83" number="30452" message="Operator '=' is not defined for types 'Byte' and 'Char'." />
+		<error line="89" number="30452" message="Operator '=' is not defined for types 'Byte' and 'Date'." />
+		<error line="92" number="30452" message="Operator '=' is not defined for types 'Byte' and 'System.DBNull'." />
+	</test>
+	<test id="2448" name="OperatorIntrinsic_Equals_ByteStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Byte_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicEquals.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="58" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<error line="83" number="30452" message="Operator '=' is not defined for types 'Byte' and 'Char'." />
+		<error line="86" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="89" number="30452" message="Operator '=' is not defined for types 'Byte' and 'Date'." />
+		<error line="92" number="30452" message="Operator '=' is not defined for types 'Byte' and 'System.DBNull'." />
+		<error line="96" number="32013" message="Option Strict On disallows operands of type Object for operator '='. Use the 'Is' operator to test for object identity." />
+	</test>
+	<test id="2449" name="OperatorIntrinsic_Equals_SByteError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:SByte_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicEquals.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="124" number="30452" message="Operator '=' is not defined for types 'SByte' and 'Char'." />
+		<error line="130" number="30452" message="Operator '=' is not defined for types 'SByte' and 'Date'." />
+		<error line="133" number="30452" message="Operator '=' is not defined for types 'SByte' and 'System.DBNull'." />
+	</test>
+	<test id="2450" name="OperatorIntrinsic_Equals_SByteStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:SByte_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicEquals.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="99" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'SByte'." />
+		<error line="124" number="30452" message="Operator '=' is not defined for types 'SByte' and 'Char'." />
+		<error line="127" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="130" number="30452" message="Operator '=' is not defined for types 'SByte' and 'Date'." />
+		<error line="133" number="30452" message="Operator '=' is not defined for types 'SByte' and 'System.DBNull'." />
+		<error line="137" number="32013" message="Option Strict On disallows operands of type Object for operator '='. Use the 'Is' operator to test for object identity." />
+	</test>
+	<test id="2451" name="OperatorIntrinsic_Equals_Int16Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Int16_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicEquals.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="165" number="30452" message="Operator '=' is not defined for types 'Short' and 'Char'." />
+		<error line="171" number="30452" message="Operator '=' is not defined for types 'Short' and 'Date'." />
+		<error line="174" number="30452" message="Operator '=' is not defined for types 'Short' and 'System.DBNull'." />
+	</test>
+	<test id="2452" name="OperatorIntrinsic_Equals_Int16StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Int16_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicEquals.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="140" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<error line="165" number="30452" message="Operator '=' is not defined for types 'Short' and 'Char'." />
+		<error line="168" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="171" number="30452" message="Operator '=' is not defined for types 'Short' and 'Date'." />
+		<error line="174" number="30452" message="Operator '=' is not defined for types 'Short' and 'System.DBNull'." />
+		<error line="178" number="32013" message="Option Strict On disallows operands of type Object for operator '='. Use the 'Is' operator to test for object identity." />
+	</test>
+	<test id="2453" name="OperatorIntrinsic_Equals_UInt16Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:UInt16_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicEquals.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="206" number="30452" message="Operator '=' is not defined for types 'UShort' and 'Char'." />
+		<error line="212" number="30452" message="Operator '=' is not defined for types 'UShort' and 'Date'." />
+		<error line="215" number="30452" message="Operator '=' is not defined for types 'UShort' and 'System.DBNull'." />
+	</test>
+	<test id="2454" name="OperatorIntrinsic_Equals_UInt16StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:UInt16_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicEquals.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="181" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Integer'." />
+		<error line="206" number="30452" message="Operator '=' is not defined for types 'UShort' and 'Char'." />
+		<error line="209" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="212" number="30452" message="Operator '=' is not defined for types 'UShort' and 'Date'." />
+		<error line="215" number="30452" message="Operator '=' is not defined for types 'UShort' and 'System.DBNull'." />
+		<error line="219" number="32013" message="Option Strict On disallows operands of type Object for operator '='. Use the 'Is' operator to test for object identity." />
+	</test>
+	<test id="2455" name="OperatorIntrinsic_Equals_Int32Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Int32_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicEquals.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="247" number="30452" message="Operator '=' is not defined for types 'Integer' and 'Char'." />
+		<error line="253" number="30452" message="Operator '=' is not defined for types 'Integer' and 'Date'." />
+		<error line="256" number="30452" message="Operator '=' is not defined for types 'Integer' and 'System.DBNull'." />
+	</test>
+	<test id="2456" name="OperatorIntrinsic_Equals_Int32StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Int32_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicEquals.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="222" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Integer'." />
+		<error line="247" number="30452" message="Operator '=' is not defined for types 'Integer' and 'Char'." />
+		<error line="250" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="253" number="30452" message="Operator '=' is not defined for types 'Integer' and 'Date'." />
+		<error line="256" number="30452" message="Operator '=' is not defined for types 'Integer' and 'System.DBNull'." />
+		<error line="260" number="32013" message="Option Strict On disallows operands of type Object for operator '='. Use the 'Is' operator to test for object identity." />
+	</test>
+	<test id="2457" name="OperatorIntrinsic_Equals_UInt32Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:UInt32_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicEquals.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="288" number="30452" message="Operator '=' is not defined for types 'UInteger' and 'Char'." />
+		<error line="294" number="30452" message="Operator '=' is not defined for types 'UInteger' and 'Date'." />
+		<error line="297" number="30452" message="Operator '=' is not defined for types 'UInteger' and 'System.DBNull'." />
+	</test>
+	<test id="2458" name="OperatorIntrinsic_Equals_UInt32StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:UInt32_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicEquals.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="263" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Long'." />
+		<error line="288" number="30452" message="Operator '=' is not defined for types 'UInteger' and 'Char'." />
+		<error line="291" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="294" number="30452" message="Operator '=' is not defined for types 'UInteger' and 'Date'." />
+		<error line="297" number="30452" message="Operator '=' is not defined for types 'UInteger' and 'System.DBNull'." />
+		<error line="301" number="32013" message="Option Strict On disallows operands of type Object for operator '='. Use the 'Is' operator to test for object identity." />
+	</test>
+	<test id="2459" name="OperatorIntrinsic_Equals_Int64Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Int64_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicEquals.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="329" number="30452" message="Operator '=' is not defined for types 'Long' and 'Char'." />
+		<error line="335" number="30452" message="Operator '=' is not defined for types 'Long' and 'Date'." />
+		<error line="338" number="30452" message="Operator '=' is not defined for types 'Long' and 'System.DBNull'." />
+	</test>
+	<test id="2460" name="OperatorIntrinsic_Equals_Int64StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Int64_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicEquals.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="304" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Long'." />
+		<error line="329" number="30452" message="Operator '=' is not defined for types 'Long' and 'Char'." />
+		<error line="332" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="335" number="30452" message="Operator '=' is not defined for types 'Long' and 'Date'." />
+		<error line="338" number="30452" message="Operator '=' is not defined for types 'Long' and 'System.DBNull'." />
+		<error line="342" number="32013" message="Option Strict On disallows operands of type Object for operator '='. Use the 'Is' operator to test for object identity." />
+	</test>
+	<test id="2461" name="OperatorIntrinsic_Equals_UInt64Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:UInt64_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicEquals.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="370" number="30452" message="Operator '=' is not defined for types 'ULong' and 'Char'." />
+		<error line="376" number="30452" message="Operator '=' is not defined for types 'ULong' and 'Date'." />
+		<error line="379" number="30452" message="Operator '=' is not defined for types 'ULong' and 'System.DBNull'." />
+	</test>
+	<test id="2462" name="OperatorIntrinsic_Equals_UInt64StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:UInt64_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicEquals.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="345" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Decimal'." />
+		<error line="370" number="30452" message="Operator '=' is not defined for types 'ULong' and 'Char'." />
+		<error line="373" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="376" number="30452" message="Operator '=' is not defined for types 'ULong' and 'Date'." />
+		<error line="379" number="30452" message="Operator '=' is not defined for types 'ULong' and 'System.DBNull'." />
+		<error line="383" number="32013" message="Option Strict On disallows operands of type Object for operator '='. Use the 'Is' operator to test for object identity." />
+	</test>
+	<test id="2463" name="OperatorIntrinsic_Equals_DecimalError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Decimal_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicEquals.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="411" number="30452" message="Operator '=' is not defined for types 'Decimal' and 'Char'." />
+		<error line="417" number="30452" message="Operator '=' is not defined for types 'Decimal' and 'Date'." />
+		<error line="420" number="30518" message="Overload resolution failed because no accessible '=' can be called with these arguments:" />
+	</test>
+	<test id="2464" name="OperatorIntrinsic_Equals_DecimalStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Decimal_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicEquals.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="386" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Decimal'." />
+		<error line="411" number="30452" message="Operator '=' is not defined for types 'Decimal' and 'Char'." />
+		<error line="414" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="417" number="30452" message="Operator '=' is not defined for types 'Decimal' and 'Date'." />
+		<error line="420" number="30518" message="Overload resolution failed because no accessible '=' can be called with these arguments:" />
+		<error line="424" number="32013" message="Option Strict On disallows operands of type Object for operator '='. Use the 'Is' operator to test for object identity." />
+	</test>
+	<test id="2465" name="OperatorIntrinsic_Equals_SingleError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Single_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicEquals.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="452" number="30452" message="Operator '=' is not defined for types 'Single' and 'Char'." />
+		<error line="458" number="30452" message="Operator '=' is not defined for types 'Single' and 'Date'." />
+		<error line="461" number="30518" message="Overload resolution failed because no accessible '=' can be called with these arguments:" />
+	</test>
+	<test id="2466" name="OperatorIntrinsic_Equals_SingleStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Single_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicEquals.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="427" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Single'." />
+		<error line="452" number="30452" message="Operator '=' is not defined for types 'Single' and 'Char'." />
+		<error line="455" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="458" number="30452" message="Operator '=' is not defined for types 'Single' and 'Date'." />
+		<error line="461" number="30518" message="Overload resolution failed because no accessible '=' can be called with these arguments:" />
+		<error line="465" number="32013" message="Option Strict On disallows operands of type Object for operator '='. Use the 'Is' operator to test for object identity." />
+	</test>
+	<test id="2467" name="OperatorIntrinsic_Equals_DoubleError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Double_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicEquals.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="493" number="30452" message="Operator '=' is not defined for types 'Double' and 'Char'." />
+		<error line="499" number="30452" message="Operator '=' is not defined for types 'Double' and 'Date'." />
+		<error line="502" number="30518" message="Overload resolution failed because no accessible '=' can be called with these arguments:" />
+	</test>
+	<test id="2468" name="OperatorIntrinsic_Equals_DoubleStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Double_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicEquals.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="468" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Double'." />
+		<error line="493" number="30452" message="Operator '=' is not defined for types 'Double' and 'Char'." />
+		<error line="496" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="499" number="30452" message="Operator '=' is not defined for types 'Double' and 'Date'." />
+		<error line="502" number="30518" message="Overload resolution failed because no accessible '=' can be called with these arguments:" />
+		<error line="506" number="32013" message="Option Strict On disallows operands of type Object for operator '='. Use the 'Is' operator to test for object identity." />
+	</test>
+	<test id="2469" name="OperatorIntrinsic_Equals_CharError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Char_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicEquals.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="509" number="30452" message="Operator '=' is not defined for types 'Char' and 'Boolean'." />
+		<error line="512" number="30452" message="Operator '=' is not defined for types 'Char' and 'Byte'." />
+		<error line="515" number="30452" message="Operator '=' is not defined for types 'Char' and 'SByte'." />
+		<error line="518" number="30452" message="Operator '=' is not defined for types 'Char' and 'Short'." />
+		<error line="521" number="30452" message="Operator '=' is not defined for types 'Char' and 'UShort'." />
+		<error line="524" number="30452" message="Operator '=' is not defined for types 'Char' and 'Integer'." />
+		<error line="527" number="30452" message="Operator '=' is not defined for types 'Char' and 'UInteger'." />
+		<error line="530" number="30452" message="Operator '=' is not defined for types 'Char' and 'Long'." />
+		<error line="533" number="30452" message="Operator '=' is not defined for types 'Char' and 'ULong'." />
+		<error line="536" number="30452" message="Operator '=' is not defined for types 'Char' and 'Decimal'." />
+		<error line="539" number="30452" message="Operator '=' is not defined for types 'Char' and 'Single'." />
+		<error line="542" number="30452" message="Operator '=' is not defined for types 'Char' and 'Double'." />
+		<error line="551" number="30452" message="Operator '=' is not defined for types 'Char' and 'Date'." />
+		<error line="554" number="30452" message="Operator '=' is not defined for types 'Char' and 'System.DBNull'." />
+	</test>
+	<test id="2470" name="OperatorIntrinsic_Equals_CharStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Char_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicEquals.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="509" number="30452" message="Operator '=' is not defined for types 'Char' and 'Boolean'." />
+		<error line="512" number="30452" message="Operator '=' is not defined for types 'Char' and 'Byte'." />
+		<error line="515" number="30452" message="Operator '=' is not defined for types 'Char' and 'SByte'." />
+		<error line="518" number="30452" message="Operator '=' is not defined for types 'Char' and 'Short'." />
+		<error line="521" number="30452" message="Operator '=' is not defined for types 'Char' and 'UShort'." />
+		<error line="524" number="30452" message="Operator '=' is not defined for types 'Char' and 'Integer'." />
+		<error line="527" number="30452" message="Operator '=' is not defined for types 'Char' and 'UInteger'." />
+		<error line="530" number="30452" message="Operator '=' is not defined for types 'Char' and 'Long'." />
+		<error line="533" number="30452" message="Operator '=' is not defined for types 'Char' and 'ULong'." />
+		<error line="536" number="30452" message="Operator '=' is not defined for types 'Char' and 'Decimal'." />
+		<error line="539" number="30452" message="Operator '=' is not defined for types 'Char' and 'Single'." />
+		<error line="542" number="30452" message="Operator '=' is not defined for types 'Char' and 'Double'." />
+		<error line="551" number="30452" message="Operator '=' is not defined for types 'Char' and 'Date'." />
+		<error line="554" number="30452" message="Operator '=' is not defined for types 'Char' and 'System.DBNull'." />
+		<error line="557" number="32013" message="Option Strict On disallows operands of type Object for operator '='. Use the 'Is' operator to test for object identity." />
+	</test>
+	<test id="2471" name="OperatorIntrinsic_Equals_StringError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:String_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicEquals.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="604" number="30518" message="Overload resolution failed because no accessible '=' can be called with these arguments:" />
+	</test>
+	<test id="2472" name="OperatorIntrinsic_Equals_StringStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:String_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicEquals.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="560" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Boolean'." />
+		<error line="563" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="566" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="569" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="572" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="575" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="578" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="581" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="584" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="587" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="590" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="593" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="601" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Date'." />
+		<error line="604" number="30518" message="Overload resolution failed because no accessible '=' can be called with these arguments:" />
+		<error line="608" number="32013" message="Option Strict On disallows operands of type Object for operator '='. Use the 'Is' operator to test for object identity." />
+	</test>
+	<test id="2473" name="OperatorIntrinsic_Equals_DateTimeError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:DateTime_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicEquals.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="611" number="30452" message="Operator '=' is not defined for types 'Date' and 'Boolean'." />
+		<error line="614" number="30452" message="Operator '=' is not defined for types 'Date' and 'Byte'." />
+		<error line="617" number="30452" message="Operator '=' is not defined for types 'Date' and 'SByte'." />
+		<error line="620" number="30452" message="Operator '=' is not defined for types 'Date' and 'Short'." />
+		<error line="623" number="30452" message="Operator '=' is not defined for types 'Date' and 'UShort'." />
+		<error line="626" number="30452" message="Operator '=' is not defined for types 'Date' and 'Integer'." />
+		<error line="629" number="30452" message="Operator '=' is not defined for types 'Date' and 'UInteger'." />
+		<error line="632" number="30452" message="Operator '=' is not defined for types 'Date' and 'Long'." />
+		<error line="635" number="30452" message="Operator '=' is not defined for types 'Date' and 'ULong'." />
+		<error line="638" number="30452" message="Operator '=' is not defined for types 'Date' and 'Decimal'." />
+		<error line="641" number="30452" message="Operator '=' is not defined for types 'Date' and 'Single'." />
+		<error line="644" number="30452" message="Operator '=' is not defined for types 'Date' and 'Double'." />
+		<error line="647" number="30452" message="Operator '=' is not defined for types 'Date' and 'Char'." />
+		<error line="655" number="30518" message="Overload resolution failed because no accessible '=' can be called with these arguments:" />
+	</test>
+	<test id="2474" name="OperatorIntrinsic_Equals_DateTimeStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:DateTime_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicEquals.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="611" number="30452" message="Operator '=' is not defined for types 'Date' and 'Boolean'." />
+		<error line="614" number="30452" message="Operator '=' is not defined for types 'Date' and 'Byte'." />
+		<error line="617" number="30452" message="Operator '=' is not defined for types 'Date' and 'SByte'." />
+		<error line="620" number="30452" message="Operator '=' is not defined for types 'Date' and 'Short'." />
+		<error line="623" number="30452" message="Operator '=' is not defined for types 'Date' and 'UShort'." />
+		<error line="626" number="30452" message="Operator '=' is not defined for types 'Date' and 'Integer'." />
+		<error line="629" number="30452" message="Operator '=' is not defined for types 'Date' and 'UInteger'." />
+		<error line="632" number="30452" message="Operator '=' is not defined for types 'Date' and 'Long'." />
+		<error line="635" number="30452" message="Operator '=' is not defined for types 'Date' and 'ULong'." />
+		<error line="638" number="30452" message="Operator '=' is not defined for types 'Date' and 'Decimal'." />
+		<error line="641" number="30452" message="Operator '=' is not defined for types 'Date' and 'Single'." />
+		<error line="644" number="30452" message="Operator '=' is not defined for types 'Date' and 'Double'." />
+		<error line="647" number="30452" message="Operator '=' is not defined for types 'Date' and 'Char'." />
+		<error line="650" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Date'." />
+		<error line="655" number="30518" message="Overload resolution failed because no accessible '=' can be called with these arguments:" />
+		<error line="659" number="32013" message="Option Strict On disallows operands of type Object for operator '='. Use the 'Is' operator to test for object identity." />
+	</test>
+	<test id="2475" name="OperatorIntrinsic_Equals_DBNullError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:DBNull_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicEquals.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="662" number="30452" message="Operator '=' is not defined for types 'System.DBNull' and 'Boolean'." />
+		<error line="665" number="30452" message="Operator '=' is not defined for types 'System.DBNull' and 'Byte'." />
+		<error line="668" number="30452" message="Operator '=' is not defined for types 'System.DBNull' and 'SByte'." />
+		<error line="671" number="30452" message="Operator '=' is not defined for types 'System.DBNull' and 'Short'." />
+		<error line="674" number="30452" message="Operator '=' is not defined for types 'System.DBNull' and 'UShort'." />
+		<error line="677" number="30452" message="Operator '=' is not defined for types 'System.DBNull' and 'Integer'." />
+		<error line="680" number="30452" message="Operator '=' is not defined for types 'System.DBNull' and 'UInteger'." />
+		<error line="683" number="30452" message="Operator '=' is not defined for types 'System.DBNull' and 'Long'." />
+		<error line="686" number="30452" message="Operator '=' is not defined for types 'System.DBNull' and 'ULong'." />
+		<error line="689" number="30518" message="Overload resolution failed because no accessible '=' can be called with these arguments:" />
+		<error line="692" number="30518" message="Overload resolution failed because no accessible '=' can be called with these arguments:" />
+		<error line="695" number="30518" message="Overload resolution failed because no accessible '=' can be called with these arguments:" />
+		<error line="698" number="30452" message="Operator '=' is not defined for types 'System.DBNull' and 'Char'." />
+		<error line="701" number="30518" message="Overload resolution failed because no accessible '=' can be called with these arguments:" />
+		<error line="704" number="30518" message="Overload resolution failed because no accessible '=' can be called with these arguments:" />
+		<error line="707" number="30452" message="Operator '=' is not defined for types 'System.DBNull' and 'System.DBNull'." />
+		<error line="710" number="30452" message="Operator '=' is not defined for types 'System.DBNull' and 'Object'." />
+	</test>
+	<test id="2476" name="OperatorIntrinsic_Equals_DBNullStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:DBNull_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicEquals.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="662" number="30452" message="Operator '=' is not defined for types 'System.DBNull' and 'Boolean'." />
+		<error line="665" number="30452" message="Operator '=' is not defined for types 'System.DBNull' and 'Byte'." />
+		<error line="668" number="30452" message="Operator '=' is not defined for types 'System.DBNull' and 'SByte'." />
+		<error line="671" number="30452" message="Operator '=' is not defined for types 'System.DBNull' and 'Short'." />
+		<error line="674" number="30452" message="Operator '=' is not defined for types 'System.DBNull' and 'UShort'." />
+		<error line="677" number="30452" message="Operator '=' is not defined for types 'System.DBNull' and 'Integer'." />
+		<error line="680" number="30452" message="Operator '=' is not defined for types 'System.DBNull' and 'UInteger'." />
+		<error line="683" number="30452" message="Operator '=' is not defined for types 'System.DBNull' and 'Long'." />
+		<error line="686" number="30452" message="Operator '=' is not defined for types 'System.DBNull' and 'ULong'." />
+		<error line="689" number="30518" message="Overload resolution failed because no accessible '=' can be called with these arguments:" />
+		<error line="692" number="30518" message="Overload resolution failed because no accessible '=' can be called with these arguments:" />
+		<error line="695" number="30518" message="Overload resolution failed because no accessible '=' can be called with these arguments:" />
+		<error line="698" number="30452" message="Operator '=' is not defined for types 'System.DBNull' and 'Char'." />
+		<error line="701" number="30518" message="Overload resolution failed because no accessible '=' can be called with these arguments:" />
+		<error line="704" number="30518" message="Overload resolution failed because no accessible '=' can be called with these arguments:" />
+		<error line="707" number="30452" message="Operator '=' is not defined for types 'System.DBNull' and 'System.DBNull'." />
+		<error line="710" number="30452" message="Operator '=' is not defined for types 'System.DBNull' and 'Object'." />
+	</test>
+	<test id="2477" name="OperatorIntrinsic_Equals_ObjectError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Object_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicEquals.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="772" number="30452" message="Operator '=' is not defined for types 'Object' and 'System.DBNull'." />
+	</test>
+	<test id="2478" name="OperatorIntrinsic_Equals_ObjectStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Object_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicEquals.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="714" number="32013" message="Option Strict On disallows operands of type Object for operator '='. Use the 'Is' operator to test for object identity." />
+		<error line="718" number="32013" message="Option Strict On disallows operands of type Object for operator '='. Use the 'Is' operator to test for object identity." />
+		<error line="722" number="32013" message="Option Strict On disallows operands of type Object for operator '='. Use the 'Is' operator to test for object identity." />
+		<error line="726" number="32013" message="Option Strict On disallows operands of type Object for operator '='. Use the 'Is' operator to test for object identity." />
+		<error line="730" number="32013" message="Option Strict On disallows operands of type Object for operator '='. Use the 'Is' operator to test for object identity." />
+		<error line="734" number="32013" message="Option Strict On disallows operands of type Object for operator '='. Use the 'Is' operator to test for object identity." />
+		<error line="738" number="32013" message="Option Strict On disallows operands of type Object for operator '='. Use the 'Is' operator to test for object identity." />
+		<error line="742" number="32013" message="Option Strict On disallows operands of type Object for operator '='. Use the 'Is' operator to test for object identity." />
+		<error line="746" number="32013" message="Option Strict On disallows operands of type Object for operator '='. Use the 'Is' operator to test for object identity." />
+		<error line="750" number="32013" message="Option Strict On disallows operands of type Object for operator '='. Use the 'Is' operator to test for object identity." />
+		<error line="754" number="32013" message="Option Strict On disallows operands of type Object for operator '='. Use the 'Is' operator to test for object identity." />
+		<error line="758" number="32013" message="Option Strict On disallows operands of type Object for operator '='. Use the 'Is' operator to test for object identity." />
+		<error line="761" number="32013" message="Option Strict On disallows operands of type Object for operator '='. Use the 'Is' operator to test for object identity." />
+		<error line="765" number="32013" message="Option Strict On disallows operands of type Object for operator '='. Use the 'Is' operator to test for object identity." />
+		<error line="769" number="32013" message="Option Strict On disallows operands of type Object for operator '='. Use the 'Is' operator to test for object identity." />
+		<error line="772" number="30452" message="Operator '=' is not defined for types 'Object' and 'System.DBNull'." />
+		<error line="776" number="32013" message="Option Strict On disallows operands of type Object for operator '='. Use the 'Is' operator to test for object identity." />
+		<error line="776" number="32013" message="Option Strict On disallows operands of type Object for operator '='. Use the 'Is' operator to test for object identity." />
+	</test>
+	<test id="2479" name="OperatorIntrinsic_Exponent_" target="exe" mytype="empty">
+		<file>CompileTime2\OperatorIntrinsicExponent.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+	</test>
+	<test id="2480" name="OperatorIntrinsic_Exponent_Strict" mytype="empty">
+		<arguments>/optionstrict+ /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicExponent.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+	</test>
+	<test id="2481" name="OperatorIntrinsic_Exponent_BooleanError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Boolean_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicExponent.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="54" number="30452" message="Operator '^' is not defined for types 'Boolean' and 'Char'." />
+		<error line="60" number="30452" message="Operator '^' is not defined for types 'Boolean' and 'Date'." />
+		<error line="63" number="30452" message="Operator '^' is not defined for types 'Boolean' and 'System.DBNull'." />
+	</test>
+	<test id="2482" name="OperatorIntrinsic_Exponent_BooleanStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Boolean_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicExponent.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="7" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Double'." />
+		<error line="7" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Double'." />
+		<error line="11" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Double'." />
+		<error line="15" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Double'." />
+		<error line="19" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Double'." />
+		<error line="23" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Double'." />
+		<error line="27" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Double'." />
+		<error line="31" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Double'." />
+		<error line="35" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Double'." />
+		<error line="39" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Double'." />
+		<error line="43" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Double'." />
+		<error line="47" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Double'." />
+		<error line="51" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Double'." />
+		<error line="54" number="30452" message="Operator '^' is not defined for types 'Boolean' and 'Char'." />
+		<error line="57" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Double'." />
+		<error line="57" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="60" number="30452" message="Operator '^' is not defined for types 'Boolean' and 'Date'." />
+		<error line="63" number="30452" message="Operator '^' is not defined for types 'Boolean' and 'System.DBNull'." />
+		<error line="67" number="30038" message="Option Strict On prohibits operands of type Object for operator '^'." />
+	</test>
+	<test id="2483" name="OperatorIntrinsic_Exponent_ByteError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Byte_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicExponent.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="96" number="30452" message="Operator '^' is not defined for types 'Byte' and 'Char'." />
+		<error line="102" number="30452" message="Operator '^' is not defined for types 'Byte' and 'Date'." />
+		<error line="105" number="30452" message="Operator '^' is not defined for types 'Byte' and 'System.DBNull'." />
+	</test>
+	<test id="2484" name="OperatorIntrinsic_Exponent_ByteStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Byte_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicExponent.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="71" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Double'." />
+		<error line="96" number="30452" message="Operator '^' is not defined for types 'Byte' and 'Char'." />
+		<error line="99" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="102" number="30452" message="Operator '^' is not defined for types 'Byte' and 'Date'." />
+		<error line="105" number="30452" message="Operator '^' is not defined for types 'Byte' and 'System.DBNull'." />
+		<error line="109" number="30038" message="Option Strict On prohibits operands of type Object for operator '^'." />
+	</test>
+	<test id="2485" name="OperatorIntrinsic_Exponent_SByteError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:SByte_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicExponent.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="138" number="30452" message="Operator '^' is not defined for types 'SByte' and 'Char'." />
+		<error line="144" number="30452" message="Operator '^' is not defined for types 'SByte' and 'Date'." />
+		<error line="147" number="30452" message="Operator '^' is not defined for types 'SByte' and 'System.DBNull'." />
+	</test>
+	<test id="2486" name="OperatorIntrinsic_Exponent_SByteStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:SByte_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicExponent.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="113" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Double'." />
+		<error line="138" number="30452" message="Operator '^' is not defined for types 'SByte' and 'Char'." />
+		<error line="141" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="144" number="30452" message="Operator '^' is not defined for types 'SByte' and 'Date'." />
+		<error line="147" number="30452" message="Operator '^' is not defined for types 'SByte' and 'System.DBNull'." />
+		<error line="151" number="30038" message="Option Strict On prohibits operands of type Object for operator '^'." />
+	</test>
+	<test id="2487" name="OperatorIntrinsic_Exponent_Int16Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Int16_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicExponent.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="180" number="30452" message="Operator '^' is not defined for types 'Short' and 'Char'." />
+		<error line="186" number="30452" message="Operator '^' is not defined for types 'Short' and 'Date'." />
+		<error line="189" number="30452" message="Operator '^' is not defined for types 'Short' and 'System.DBNull'." />
+	</test>
+	<test id="2488" name="OperatorIntrinsic_Exponent_Int16StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Int16_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicExponent.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="155" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Double'." />
+		<error line="180" number="30452" message="Operator '^' is not defined for types 'Short' and 'Char'." />
+		<error line="183" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="186" number="30452" message="Operator '^' is not defined for types 'Short' and 'Date'." />
+		<error line="189" number="30452" message="Operator '^' is not defined for types 'Short' and 'System.DBNull'." />
+		<error line="193" number="30038" message="Option Strict On prohibits operands of type Object for operator '^'." />
+	</test>
+	<test id="2489" name="OperatorIntrinsic_Exponent_UInt16Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:UInt16_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicExponent.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="222" number="30452" message="Operator '^' is not defined for types 'UShort' and 'Char'." />
+		<error line="228" number="30452" message="Operator '^' is not defined for types 'UShort' and 'Date'." />
+		<error line="231" number="30452" message="Operator '^' is not defined for types 'UShort' and 'System.DBNull'." />
+	</test>
+	<test id="2490" name="OperatorIntrinsic_Exponent_UInt16StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:UInt16_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicExponent.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="197" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Double'." />
+		<error line="222" number="30452" message="Operator '^' is not defined for types 'UShort' and 'Char'." />
+		<error line="225" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="228" number="30452" message="Operator '^' is not defined for types 'UShort' and 'Date'." />
+		<error line="231" number="30452" message="Operator '^' is not defined for types 'UShort' and 'System.DBNull'." />
+		<error line="235" number="30038" message="Option Strict On prohibits operands of type Object for operator '^'." />
+	</test>
+	<test id="2491" name="OperatorIntrinsic_Exponent_Int32Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Int32_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicExponent.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="264" number="30452" message="Operator '^' is not defined for types 'Integer' and 'Char'." />
+		<error line="270" number="30452" message="Operator '^' is not defined for types 'Integer' and 'Date'." />
+		<error line="273" number="30452" message="Operator '^' is not defined for types 'Integer' and 'System.DBNull'." />
+	</test>
+	<test id="2492" name="OperatorIntrinsic_Exponent_Int32StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Int32_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicExponent.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="239" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Double'." />
+		<error line="264" number="30452" message="Operator '^' is not defined for types 'Integer' and 'Char'." />
+		<error line="267" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="270" number="30452" message="Operator '^' is not defined for types 'Integer' and 'Date'." />
+		<error line="273" number="30452" message="Operator '^' is not defined for types 'Integer' and 'System.DBNull'." />
+		<error line="277" number="30038" message="Option Strict On prohibits operands of type Object for operator '^'." />
+	</test>
+	<test id="2493" name="OperatorIntrinsic_Exponent_UInt32Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:UInt32_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicExponent.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="306" number="30452" message="Operator '^' is not defined for types 'UInteger' and 'Char'." />
+		<error line="312" number="30452" message="Operator '^' is not defined for types 'UInteger' and 'Date'." />
+		<error line="315" number="30452" message="Operator '^' is not defined for types 'UInteger' and 'System.DBNull'." />
+	</test>
+	<test id="2494" name="OperatorIntrinsic_Exponent_UInt32StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:UInt32_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicExponent.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="281" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Double'." />
+		<error line="306" number="30452" message="Operator '^' is not defined for types 'UInteger' and 'Char'." />
+		<error line="309" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="312" number="30452" message="Operator '^' is not defined for types 'UInteger' and 'Date'." />
+		<error line="315" number="30452" message="Operator '^' is not defined for types 'UInteger' and 'System.DBNull'." />
+		<error line="319" number="30038" message="Option Strict On prohibits operands of type Object for operator '^'." />
+	</test>
+	<test id="2495" name="OperatorIntrinsic_Exponent_Int64Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Int64_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicExponent.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="348" number="30452" message="Operator '^' is not defined for types 'Long' and 'Char'." />
+		<error line="354" number="30452" message="Operator '^' is not defined for types 'Long' and 'Date'." />
+		<error line="357" number="30452" message="Operator '^' is not defined for types 'Long' and 'System.DBNull'." />
+	</test>
+	<test id="2496" name="OperatorIntrinsic_Exponent_Int64StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Int64_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicExponent.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="323" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Double'." />
+		<error line="348" number="30452" message="Operator '^' is not defined for types 'Long' and 'Char'." />
+		<error line="351" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="354" number="30452" message="Operator '^' is not defined for types 'Long' and 'Date'." />
+		<error line="357" number="30452" message="Operator '^' is not defined for types 'Long' and 'System.DBNull'." />
+		<error line="361" number="30038" message="Option Strict On prohibits operands of type Object for operator '^'." />
+	</test>
+	<test id="2497" name="OperatorIntrinsic_Exponent_UInt64Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:UInt64_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicExponent.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="390" number="30452" message="Operator '^' is not defined for types 'ULong' and 'Char'." />
+		<error line="396" number="30452" message="Operator '^' is not defined for types 'ULong' and 'Date'." />
+		<error line="399" number="30452" message="Operator '^' is not defined for types 'ULong' and 'System.DBNull'." />
+	</test>
+	<test id="2498" name="OperatorIntrinsic_Exponent_UInt64StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:UInt64_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicExponent.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="365" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Double'." />
+		<error line="390" number="30452" message="Operator '^' is not defined for types 'ULong' and 'Char'." />
+		<error line="393" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="396" number="30452" message="Operator '^' is not defined for types 'ULong' and 'Date'." />
+		<error line="399" number="30452" message="Operator '^' is not defined for types 'ULong' and 'System.DBNull'." />
+		<error line="403" number="30038" message="Option Strict On prohibits operands of type Object for operator '^'." />
+	</test>
+	<test id="2499" name="OperatorIntrinsic_Exponent_DecimalError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Decimal_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicExponent.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="432" number="30452" message="Operator '^' is not defined for types 'Decimal' and 'Char'." />
+		<error line="438" number="30452" message="Operator '^' is not defined for types 'Decimal' and 'Date'." />
+		<error line="441" number="30452" message="Operator '^' is not defined for types 'Decimal' and 'System.DBNull'." />
+	</test>
+	<test id="2500" name="OperatorIntrinsic_Exponent_DecimalStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Decimal_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicExponent.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="407" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Double'." />
+		<error line="432" number="30452" message="Operator '^' is not defined for types 'Decimal' and 'Char'." />
+		<error line="435" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="438" number="30452" message="Operator '^' is not defined for types 'Decimal' and 'Date'." />
+		<error line="441" number="30452" message="Operator '^' is not defined for types 'Decimal' and 'System.DBNull'." />
+		<error line="445" number="30038" message="Option Strict On prohibits operands of type Object for operator '^'." />
+	</test>
+	<test id="2501" name="OperatorIntrinsic_Exponent_SingleError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Single_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicExponent.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="474" number="30452" message="Operator '^' is not defined for types 'Single' and 'Char'." />
+		<error line="480" number="30452" message="Operator '^' is not defined for types 'Single' and 'Date'." />
+		<error line="483" number="30452" message="Operator '^' is not defined for types 'Single' and 'System.DBNull'." />
+	</test>
+	<test id="2502" name="OperatorIntrinsic_Exponent_SingleStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Single_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicExponent.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="449" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Double'." />
+		<error line="474" number="30452" message="Operator '^' is not defined for types 'Single' and 'Char'." />
+		<error line="477" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="480" number="30452" message="Operator '^' is not defined for types 'Single' and 'Date'." />
+		<error line="483" number="30452" message="Operator '^' is not defined for types 'Single' and 'System.DBNull'." />
+		<error line="487" number="30038" message="Option Strict On prohibits operands of type Object for operator '^'." />
+	</test>
+	<test id="2503" name="OperatorIntrinsic_Exponent_DoubleError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Double_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicExponent.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="516" number="30452" message="Operator '^' is not defined for types 'Double' and 'Char'." />
+		<error line="522" number="30452" message="Operator '^' is not defined for types 'Double' and 'Date'." />
+		<error line="525" number="30452" message="Operator '^' is not defined for types 'Double' and 'System.DBNull'." />
+	</test>
+	<test id="2504" name="OperatorIntrinsic_Exponent_DoubleStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Double_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicExponent.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="491" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Double'." />
+		<error line="516" number="30452" message="Operator '^' is not defined for types 'Double' and 'Char'." />
+		<error line="519" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="522" number="30452" message="Operator '^' is not defined for types 'Double' and 'Date'." />
+		<error line="525" number="30452" message="Operator '^' is not defined for types 'Double' and 'System.DBNull'." />
+		<error line="529" number="30038" message="Option Strict On prohibits operands of type Object for operator '^'." />
+	</test>
+	<test id="2505" name="OperatorIntrinsic_Exponent_CharError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Char_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicExponent.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="532" number="30452" message="Operator '^' is not defined for types 'Char' and 'Boolean'." />
+		<error line="535" number="30452" message="Operator '^' is not defined for types 'Char' and 'Byte'." />
+		<error line="538" number="30452" message="Operator '^' is not defined for types 'Char' and 'SByte'." />
+		<error line="541" number="30452" message="Operator '^' is not defined for types 'Char' and 'Short'." />
+		<error line="544" number="30452" message="Operator '^' is not defined for types 'Char' and 'UShort'." />
+		<error line="547" number="30452" message="Operator '^' is not defined for types 'Char' and 'Integer'." />
+		<error line="550" number="30452" message="Operator '^' is not defined for types 'Char' and 'UInteger'." />
+		<error line="553" number="30452" message="Operator '^' is not defined for types 'Char' and 'Long'." />
+		<error line="556" number="30452" message="Operator '^' is not defined for types 'Char' and 'ULong'." />
+		<error line="559" number="30452" message="Operator '^' is not defined for types 'Char' and 'Decimal'." />
+		<error line="562" number="30452" message="Operator '^' is not defined for types 'Char' and 'Single'." />
+		<error line="565" number="30452" message="Operator '^' is not defined for types 'Char' and 'Double'." />
+		<error line="568" number="30452" message="Operator '^' is not defined for types 'Char' and 'Char'." />
+		<error line="571" number="30452" message="Operator '^' is not defined for types 'Char' and 'String'." />
+		<error line="574" number="30452" message="Operator '^' is not defined for types 'Char' and 'Date'." />
+		<error line="577" number="30452" message="Operator '^' is not defined for types 'Char' and 'System.DBNull'." />
+		<error line="580" number="30452" message="Operator '^' is not defined for types 'Char' and 'Object'." />
+	</test>
+	<test id="2506" name="OperatorIntrinsic_Exponent_CharStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Char_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicExponent.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="532" number="30452" message="Operator '^' is not defined for types 'Char' and 'Boolean'." />
+		<error line="535" number="30452" message="Operator '^' is not defined for types 'Char' and 'Byte'." />
+		<error line="538" number="30452" message="Operator '^' is not defined for types 'Char' and 'SByte'." />
+		<error line="541" number="30452" message="Operator '^' is not defined for types 'Char' and 'Short'." />
+		<error line="544" number="30452" message="Operator '^' is not defined for types 'Char' and 'UShort'." />
+		<error line="547" number="30452" message="Operator '^' is not defined for types 'Char' and 'Integer'." />
+		<error line="550" number="30452" message="Operator '^' is not defined for types 'Char' and 'UInteger'." />
+		<error line="553" number="30452" message="Operator '^' is not defined for types 'Char' and 'Long'." />
+		<error line="556" number="30452" message="Operator '^' is not defined for types 'Char' and 'ULong'." />
+		<error line="559" number="30452" message="Operator '^' is not defined for types 'Char' and 'Decimal'." />
+		<error line="562" number="30452" message="Operator '^' is not defined for types 'Char' and 'Single'." />
+		<error line="565" number="30452" message="Operator '^' is not defined for types 'Char' and 'Double'." />
+		<error line="568" number="30452" message="Operator '^' is not defined for types 'Char' and 'Char'." />
+		<error line="571" number="30452" message="Operator '^' is not defined for types 'Char' and 'String'." />
+		<error line="574" number="30452" message="Operator '^' is not defined for types 'Char' and 'Date'." />
+		<error line="577" number="30452" message="Operator '^' is not defined for types 'Char' and 'System.DBNull'." />
+		<error line="580" number="30452" message="Operator '^' is not defined for types 'Char' and 'Object'." />
+	</test>
+	<test id="2507" name="OperatorIntrinsic_Exponent_StringError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:String_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicExponent.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="619" number="30452" message="Operator '^' is not defined for types 'String' and 'Char'." />
+		<error line="625" number="30452" message="Operator '^' is not defined for types 'String' and 'Date'." />
+		<error line="628" number="30452" message="Operator '^' is not defined for types 'String' and 'System.DBNull'." />
+	</test>
+	<test id="2508" name="OperatorIntrinsic_Exponent_StringStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:String_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicExponent.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="583" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="583" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Double'." />
+		<error line="586" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="589" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="592" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="595" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="598" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="601" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="604" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="607" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="610" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="613" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="616" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="619" number="30452" message="Operator '^' is not defined for types 'String' and 'Char'." />
+		<error line="622" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="622" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="625" number="30452" message="Operator '^' is not defined for types 'String' and 'Date'." />
+		<error line="628" number="30452" message="Operator '^' is not defined for types 'String' and 'System.DBNull'." />
+		<error line="631" number="30038" message="Option Strict On prohibits operands of type Object for operator '^'." />
+	</test>
+	<test id="2509" name="OperatorIntrinsic_Exponent_DateTimeError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:DateTime_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicExponent.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="634" number="30452" message="Operator '^' is not defined for types 'Date' and 'Boolean'." />
+		<error line="637" number="30452" message="Operator '^' is not defined for types 'Date' and 'Byte'." />
+		<error line="640" number="30452" message="Operator '^' is not defined for types 'Date' and 'SByte'." />
+		<error line="643" number="30452" message="Operator '^' is not defined for types 'Date' and 'Short'." />
+		<error line="646" number="30452" message="Operator '^' is not defined for types 'Date' and 'UShort'." />
+		<error line="649" number="30452" message="Operator '^' is not defined for types 'Date' and 'Integer'." />
+		<error line="652" number="30452" message="Operator '^' is not defined for types 'Date' and 'UInteger'." />
+		<error line="655" number="30452" message="Operator '^' is not defined for types 'Date' and 'Long'." />
+		<error line="658" number="30452" message="Operator '^' is not defined for types 'Date' and 'ULong'." />
+		<error line="661" number="30452" message="Operator '^' is not defined for types 'Date' and 'Decimal'." />
+		<error line="664" number="30452" message="Operator '^' is not defined for types 'Date' and 'Single'." />
+		<error line="667" number="30452" message="Operator '^' is not defined for types 'Date' and 'Double'." />
+		<error line="670" number="30452" message="Operator '^' is not defined for types 'Date' and 'Char'." />
+		<error line="673" number="30452" message="Operator '^' is not defined for types 'Date' and 'String'." />
+		<error line="676" number="30452" message="Operator '^' is not defined for types 'Date' and 'Date'." />
+		<error line="679" number="30452" message="Operator '^' is not defined for types 'Date' and 'System.DBNull'." />
+		<error line="682" number="30452" message="Operator '^' is not defined for types 'Date' and 'Object'." />
+	</test>
+	<test id="2510" name="OperatorIntrinsic_Exponent_DateTimeStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:DateTime_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicExponent.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="634" number="30452" message="Operator '^' is not defined for types 'Date' and 'Boolean'." />
+		<error line="637" number="30452" message="Operator '^' is not defined for types 'Date' and 'Byte'." />
+		<error line="640" number="30452" message="Operator '^' is not defined for types 'Date' and 'SByte'." />
+		<error line="643" number="30452" message="Operator '^' is not defined for types 'Date' and 'Short'." />
+		<error line="646" number="30452" message="Operator '^' is not defined for types 'Date' and 'UShort'." />
+		<error line="649" number="30452" message="Operator '^' is not defined for types 'Date' and 'Integer'." />
+		<error line="652" number="30452" message="Operator '^' is not defined for types 'Date' and 'UInteger'." />
+		<error line="655" number="30452" message="Operator '^' is not defined for types 'Date' and 'Long'." />
+		<error line="658" number="30452" message="Operator '^' is not defined for types 'Date' and 'ULong'." />
+		<error line="661" number="30452" message="Operator '^' is not defined for types 'Date' and 'Decimal'." />
+		<error line="664" number="30452" message="Operator '^' is not defined for types 'Date' and 'Single'." />
+		<error line="667" number="30452" message="Operator '^' is not defined for types 'Date' and 'Double'." />
+		<error line="670" number="30452" message="Operator '^' is not defined for types 'Date' and 'Char'." />
+		<error line="673" number="30452" message="Operator '^' is not defined for types 'Date' and 'String'." />
+		<error line="676" number="30452" message="Operator '^' is not defined for types 'Date' and 'Date'." />
+		<error line="679" number="30452" message="Operator '^' is not defined for types 'Date' and 'System.DBNull'." />
+		<error line="682" number="30452" message="Operator '^' is not defined for types 'Date' and 'Object'." />
+	</test>
+	<test id="2511" name="OperatorIntrinsic_Exponent_DBNullError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:DBNull_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicExponent.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="685" number="30452" message="Operator '^' is not defined for types 'System.DBNull' and 'Boolean'." />
+		<error line="688" number="30452" message="Operator '^' is not defined for types 'System.DBNull' and 'Byte'." />
+		<error line="691" number="30452" message="Operator '^' is not defined for types 'System.DBNull' and 'SByte'." />
+		<error line="694" number="30452" message="Operator '^' is not defined for types 'System.DBNull' and 'Short'." />
+		<error line="697" number="30452" message="Operator '^' is not defined for types 'System.DBNull' and 'UShort'." />
+		<error line="700" number="30452" message="Operator '^' is not defined for types 'System.DBNull' and 'Integer'." />
+		<error line="703" number="30452" message="Operator '^' is not defined for types 'System.DBNull' and 'UInteger'." />
+		<error line="706" number="30452" message="Operator '^' is not defined for types 'System.DBNull' and 'Long'." />
+		<error line="709" number="30452" message="Operator '^' is not defined for types 'System.DBNull' and 'ULong'." />
+		<error line="712" number="30452" message="Operator '^' is not defined for types 'System.DBNull' and 'Decimal'." />
+		<error line="715" number="30452" message="Operator '^' is not defined for types 'System.DBNull' and 'Single'." />
+		<error line="718" number="30452" message="Operator '^' is not defined for types 'System.DBNull' and 'Double'." />
+		<error line="721" number="30452" message="Operator '^' is not defined for types 'System.DBNull' and 'Char'." />
+		<error line="724" number="30452" message="Operator '^' is not defined for types 'System.DBNull' and 'String'." />
+		<error line="727" number="30452" message="Operator '^' is not defined for types 'System.DBNull' and 'Date'." />
+		<error line="730" number="30452" message="Operator '^' is not defined for types 'System.DBNull' and 'System.DBNull'." />
+		<error line="733" number="30452" message="Operator '^' is not defined for types 'System.DBNull' and 'Object'." />
+	</test>
+	<test id="2512" name="OperatorIntrinsic_Exponent_DBNullStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:DBNull_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicExponent.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="685" number="30452" message="Operator '^' is not defined for types 'System.DBNull' and 'Boolean'." />
+		<error line="688" number="30452" message="Operator '^' is not defined for types 'System.DBNull' and 'Byte'." />
+		<error line="691" number="30452" message="Operator '^' is not defined for types 'System.DBNull' and 'SByte'." />
+		<error line="694" number="30452" message="Operator '^' is not defined for types 'System.DBNull' and 'Short'." />
+		<error line="697" number="30452" message="Operator '^' is not defined for types 'System.DBNull' and 'UShort'." />
+		<error line="700" number="30452" message="Operator '^' is not defined for types 'System.DBNull' and 'Integer'." />
+		<error line="703" number="30452" message="Operator '^' is not defined for types 'System.DBNull' and 'UInteger'." />
+		<error line="706" number="30452" message="Operator '^' is not defined for types 'System.DBNull' and 'Long'." />
+		<error line="709" number="30452" message="Operator '^' is not defined for types 'System.DBNull' and 'ULong'." />
+		<error line="712" number="30452" message="Operator '^' is not defined for types 'System.DBNull' and 'Decimal'." />
+		<error line="715" number="30452" message="Operator '^' is not defined for types 'System.DBNull' and 'Single'." />
+		<error line="718" number="30452" message="Operator '^' is not defined for types 'System.DBNull' and 'Double'." />
+		<error line="721" number="30452" message="Operator '^' is not defined for types 'System.DBNull' and 'Char'." />
+		<error line="724" number="30452" message="Operator '^' is not defined for types 'System.DBNull' and 'String'." />
+		<error line="727" number="30452" message="Operator '^' is not defined for types 'System.DBNull' and 'Date'." />
+		<error line="730" number="30452" message="Operator '^' is not defined for types 'System.DBNull' and 'System.DBNull'." />
+		<error line="733" number="30452" message="Operator '^' is not defined for types 'System.DBNull' and 'Object'." />
+	</test>
+	<test id="2513" name="OperatorIntrinsic_Exponent_ObjectError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Object_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicExponent.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="784" number="30452" message="Operator '^' is not defined for types 'Object' and 'Char'." />
+		<error line="790" number="30452" message="Operator '^' is not defined for types 'Object' and 'Date'." />
+		<error line="793" number="30452" message="Operator '^' is not defined for types 'Object' and 'System.DBNull'." />
+	</test>
+	<test id="2514" name="OperatorIntrinsic_Exponent_ObjectStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Object_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicExponent.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="737" number="30038" message="Option Strict On prohibits operands of type Object for operator '^'." />
+		<error line="741" number="30038" message="Option Strict On prohibits operands of type Object for operator '^'." />
+		<error line="745" number="30038" message="Option Strict On prohibits operands of type Object for operator '^'." />
+		<error line="749" number="30038" message="Option Strict On prohibits operands of type Object for operator '^'." />
+		<error line="753" number="30038" message="Option Strict On prohibits operands of type Object for operator '^'." />
+		<error line="757" number="30038" message="Option Strict On prohibits operands of type Object for operator '^'." />
+		<error line="761" number="30038" message="Option Strict On prohibits operands of type Object for operator '^'." />
+		<error line="765" number="30038" message="Option Strict On prohibits operands of type Object for operator '^'." />
+		<error line="769" number="30038" message="Option Strict On prohibits operands of type Object for operator '^'." />
+		<error line="773" number="30038" message="Option Strict On prohibits operands of type Object for operator '^'." />
+		<error line="777" number="30038" message="Option Strict On prohibits operands of type Object for operator '^'." />
+		<error line="781" number="30038" message="Option Strict On prohibits operands of type Object for operator '^'." />
+		<error line="784" number="30452" message="Operator '^' is not defined for types 'Object' and 'Char'." />
+		<error line="787" number="30038" message="Option Strict On prohibits operands of type Object for operator '^'." />
+		<error line="790" number="30452" message="Operator '^' is not defined for types 'Object' and 'Date'." />
+		<error line="793" number="30452" message="Operator '^' is not defined for types 'Object' and 'System.DBNull'." />
+		<error line="797" number="30038" message="Option Strict On prohibits operands of type Object for operator '^'." />
+		<error line="797" number="30038" message="Option Strict On prohibits operands of type Object for operator '^'." />
+	</test>
+	<test id="2515" name="OperatorIntrinsic_GE_" target="exe" mytype="empty">
+		<file>CompileTime2\OperatorIntrinsicGE.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+	</test>
+	<test id="2516" name="OperatorIntrinsic_GE_Strict" mytype="empty">
+		<arguments>/optionstrict+ /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicGE.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+	</test>
+	<test id="2517" name="OperatorIntrinsic_GE_BooleanError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Boolean_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicGE.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="42" number="30452" message="Operator '>=' is not defined for types 'Boolean' and 'Char'." />
+		<error line="48" number="30452" message="Operator '>=' is not defined for types 'Boolean' and 'Date'." />
+		<error line="51" number="30452" message="Operator '>=' is not defined for types 'Boolean' and 'System.DBNull'." />
+	</test>
+	<test id="2518" name="OperatorIntrinsic_GE_BooleanStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Boolean_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicGE.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="9" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<error line="12" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'SByte'." />
+		<error line="15" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<error line="18" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Integer'." />
+		<error line="21" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Integer'." />
+		<error line="24" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Long'." />
+		<error line="27" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Long'." />
+		<error line="30" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Decimal'." />
+		<error line="33" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Decimal'." />
+		<error line="36" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Single'." />
+		<error line="39" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Double'." />
+		<error line="42" number="30452" message="Operator '>=' is not defined for types 'Boolean' and 'Char'." />
+		<error line="45" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Boolean'." />
+		<error line="48" number="30452" message="Operator '>=' is not defined for types 'Boolean' and 'Date'." />
+		<error line="51" number="30452" message="Operator '>=' is not defined for types 'Boolean' and 'System.DBNull'." />
+		<error line="55" number="30038" message="Option Strict On prohibits operands of type Object for operator '>='." />
+	</test>
+	<test id="2519" name="OperatorIntrinsic_GE_ByteError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Byte_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicGE.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="83" number="30452" message="Operator '>=' is not defined for types 'Byte' and 'Char'." />
+		<error line="89" number="30452" message="Operator '>=' is not defined for types 'Byte' and 'Date'." />
+		<error line="92" number="30452" message="Operator '>=' is not defined for types 'Byte' and 'System.DBNull'." />
+	</test>
+	<test id="2520" name="OperatorIntrinsic_GE_ByteStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Byte_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicGE.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="58" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<error line="83" number="30452" message="Operator '>=' is not defined for types 'Byte' and 'Char'." />
+		<error line="86" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="89" number="30452" message="Operator '>=' is not defined for types 'Byte' and 'Date'." />
+		<error line="92" number="30452" message="Operator '>=' is not defined for types 'Byte' and 'System.DBNull'." />
+		<error line="96" number="30038" message="Option Strict On prohibits operands of type Object for operator '>='." />
+	</test>
+	<test id="2521" name="OperatorIntrinsic_GE_SByteError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:SByte_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicGE.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="124" number="30452" message="Operator '>=' is not defined for types 'SByte' and 'Char'." />
+		<error line="130" number="30452" message="Operator '>=' is not defined for types 'SByte' and 'Date'." />
+		<error line="133" number="30452" message="Operator '>=' is not defined for types 'SByte' and 'System.DBNull'." />
+	</test>
+	<test id="2522" name="OperatorIntrinsic_GE_SByteStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:SByte_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicGE.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="99" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'SByte'." />
+		<error line="124" number="30452" message="Operator '>=' is not defined for types 'SByte' and 'Char'." />
+		<error line="127" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="130" number="30452" message="Operator '>=' is not defined for types 'SByte' and 'Date'." />
+		<error line="133" number="30452" message="Operator '>=' is not defined for types 'SByte' and 'System.DBNull'." />
+		<error line="137" number="30038" message="Option Strict On prohibits operands of type Object for operator '>='." />
+	</test>
+	<test id="2523" name="OperatorIntrinsic_GE_Int16Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Int16_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicGE.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="165" number="30452" message="Operator '>=' is not defined for types 'Short' and 'Char'." />
+		<error line="171" number="30452" message="Operator '>=' is not defined for types 'Short' and 'Date'." />
+		<error line="174" number="30452" message="Operator '>=' is not defined for types 'Short' and 'System.DBNull'." />
+	</test>
+	<test id="2524" name="OperatorIntrinsic_GE_Int16StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Int16_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicGE.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="140" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<error line="165" number="30452" message="Operator '>=' is not defined for types 'Short' and 'Char'." />
+		<error line="168" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="171" number="30452" message="Operator '>=' is not defined for types 'Short' and 'Date'." />
+		<error line="174" number="30452" message="Operator '>=' is not defined for types 'Short' and 'System.DBNull'." />
+		<error line="178" number="30038" message="Option Strict On prohibits operands of type Object for operator '>='." />
+	</test>
+	<test id="2525" name="OperatorIntrinsic_GE_UInt16Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:UInt16_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicGE.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="206" number="30452" message="Operator '>=' is not defined for types 'UShort' and 'Char'." />
+		<error line="212" number="30452" message="Operator '>=' is not defined for types 'UShort' and 'Date'." />
+		<error line="215" number="30452" message="Operator '>=' is not defined for types 'UShort' and 'System.DBNull'." />
+	</test>
+	<test id="2526" name="OperatorIntrinsic_GE_UInt16StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:UInt16_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicGE.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="181" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Integer'." />
+		<error line="206" number="30452" message="Operator '>=' is not defined for types 'UShort' and 'Char'." />
+		<error line="209" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="212" number="30452" message="Operator '>=' is not defined for types 'UShort' and 'Date'." />
+		<error line="215" number="30452" message="Operator '>=' is not defined for types 'UShort' and 'System.DBNull'." />
+		<error line="219" number="30038" message="Option Strict On prohibits operands of type Object for operator '>='." />
+	</test>
+	<test id="2527" name="OperatorIntrinsic_GE_Int32Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Int32_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicGE.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="247" number="30452" message="Operator '>=' is not defined for types 'Integer' and 'Char'." />
+		<error line="253" number="30452" message="Operator '>=' is not defined for types 'Integer' and 'Date'." />
+		<error line="256" number="30452" message="Operator '>=' is not defined for types 'Integer' and 'System.DBNull'." />
+	</test>
+	<test id="2528" name="OperatorIntrinsic_GE_Int32StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Int32_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicGE.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="222" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Integer'." />
+		<error line="247" number="30452" message="Operator '>=' is not defined for types 'Integer' and 'Char'." />
+		<error line="250" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="253" number="30452" message="Operator '>=' is not defined for types 'Integer' and 'Date'." />
+		<error line="256" number="30452" message="Operator '>=' is not defined for types 'Integer' and 'System.DBNull'." />
+		<error line="260" number="30038" message="Option Strict On prohibits operands of type Object for operator '>='." />
+	</test>
+	<test id="2529" name="OperatorIntrinsic_GE_UInt32Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:UInt32_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicGE.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="288" number="30452" message="Operator '>=' is not defined for types 'UInteger' and 'Char'." />
+		<error line="294" number="30452" message="Operator '>=' is not defined for types 'UInteger' and 'Date'." />
+		<error line="297" number="30452" message="Operator '>=' is not defined for types 'UInteger' and 'System.DBNull'." />
+	</test>
+	<test id="2530" name="OperatorIntrinsic_GE_UInt32StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:UInt32_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicGE.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="263" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Long'." />
+		<error line="288" number="30452" message="Operator '>=' is not defined for types 'UInteger' and 'Char'." />
+		<error line="291" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="294" number="30452" message="Operator '>=' is not defined for types 'UInteger' and 'Date'." />
+		<error line="297" number="30452" message="Operator '>=' is not defined for types 'UInteger' and 'System.DBNull'." />
+		<error line="301" number="30038" message="Option Strict On prohibits operands of type Object for operator '>='." />
+	</test>
+	<test id="2531" name="OperatorIntrinsic_GE_Int64Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Int64_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicGE.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="329" number="30452" message="Operator '>=' is not defined for types 'Long' and 'Char'." />
+		<error line="335" number="30452" message="Operator '>=' is not defined for types 'Long' and 'Date'." />
+		<error line="338" number="30452" message="Operator '>=' is not defined for types 'Long' and 'System.DBNull'." />
+	</test>
+	<test id="2532" name="OperatorIntrinsic_GE_Int64StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Int64_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicGE.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="304" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Long'." />
+		<error line="329" number="30452" message="Operator '>=' is not defined for types 'Long' and 'Char'." />
+		<error line="332" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="335" number="30452" message="Operator '>=' is not defined for types 'Long' and 'Date'." />
+		<error line="338" number="30452" message="Operator '>=' is not defined for types 'Long' and 'System.DBNull'." />
+		<error line="342" number="30038" message="Option Strict On prohibits operands of type Object for operator '>='." />
+	</test>
+	<test id="2533" name="OperatorIntrinsic_GE_UInt64Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:UInt64_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicGE.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="370" number="30452" message="Operator '>=' is not defined for types 'ULong' and 'Char'." />
+		<error line="376" number="30452" message="Operator '>=' is not defined for types 'ULong' and 'Date'." />
+		<error line="379" number="30452" message="Operator '>=' is not defined for types 'ULong' and 'System.DBNull'." />
+	</test>
+	<test id="2534" name="OperatorIntrinsic_GE_UInt64StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:UInt64_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicGE.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="345" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Decimal'." />
+		<error line="370" number="30452" message="Operator '>=' is not defined for types 'ULong' and 'Char'." />
+		<error line="373" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="376" number="30452" message="Operator '>=' is not defined for types 'ULong' and 'Date'." />
+		<error line="379" number="30452" message="Operator '>=' is not defined for types 'ULong' and 'System.DBNull'." />
+		<error line="383" number="30038" message="Option Strict On prohibits operands of type Object for operator '>='." />
+	</test>
+	<test id="2535" name="OperatorIntrinsic_GE_DecimalError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Decimal_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicGE.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="411" number="30452" message="Operator '>=' is not defined for types 'Decimal' and 'Char'." />
+		<error line="417" number="30452" message="Operator '>=' is not defined for types 'Decimal' and 'Date'." />
+		<error line="420" number="30518" message="Overload resolution failed because no accessible '>=' can be called with these arguments:" />
+	</test>
+	<test id="2536" name="OperatorIntrinsic_GE_DecimalStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Decimal_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicGE.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="386" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Decimal'." />
+		<error line="411" number="30452" message="Operator '>=' is not defined for types 'Decimal' and 'Char'." />
+		<error line="414" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="417" number="30452" message="Operator '>=' is not defined for types 'Decimal' and 'Date'." />
+		<error line="420" number="30518" message="Overload resolution failed because no accessible '>=' can be called with these arguments:" />
+		<error line="424" number="30038" message="Option Strict On prohibits operands of type Object for operator '>='." />
+	</test>
+	<test id="2537" name="OperatorIntrinsic_GE_SingleError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Single_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicGE.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="452" number="30452" message="Operator '>=' is not defined for types 'Single' and 'Char'." />
+		<error line="458" number="30452" message="Operator '>=' is not defined for types 'Single' and 'Date'." />
+		<error line="461" number="30518" message="Overload resolution failed because no accessible '>=' can be called with these arguments:" />
+	</test>
+	<test id="2538" name="OperatorIntrinsic_GE_SingleStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Single_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicGE.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="427" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Single'." />
+		<error line="452" number="30452" message="Operator '>=' is not defined for types 'Single' and 'Char'." />
+		<error line="455" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="458" number="30452" message="Operator '>=' is not defined for types 'Single' and 'Date'." />
+		<error line="461" number="30518" message="Overload resolution failed because no accessible '>=' can be called with these arguments:" />
+		<error line="465" number="30038" message="Option Strict On prohibits operands of type Object for operator '>='." />
+	</test>
+	<test id="2539" name="OperatorIntrinsic_GE_DoubleError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Double_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicGE.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="493" number="30452" message="Operator '>=' is not defined for types 'Double' and 'Char'." />
+		<error line="499" number="30452" message="Operator '>=' is not defined for types 'Double' and 'Date'." />
+		<error line="502" number="30518" message="Overload resolution failed because no accessible '>=' can be called with these arguments:" />
+	</test>
+	<test id="2540" name="OperatorIntrinsic_GE_DoubleStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Double_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicGE.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="468" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Double'." />
+		<error line="493" number="30452" message="Operator '>=' is not defined for types 'Double' and 'Char'." />
+		<error line="496" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="499" number="30452" message="Operator '>=' is not defined for types 'Double' and 'Date'." />
+		<error line="502" number="30518" message="Overload resolution failed because no accessible '>=' can be called with these arguments:" />
+		<error line="506" number="30038" message="Option Strict On prohibits operands of type Object for operator '>='." />
+	</test>
+	<test id="2541" name="OperatorIntrinsic_GE_CharError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Char_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicGE.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="509" number="30452" message="Operator '>=' is not defined for types 'Char' and 'Boolean'." />
+		<error line="512" number="30452" message="Operator '>=' is not defined for types 'Char' and 'Byte'." />
+		<error line="515" number="30452" message="Operator '>=' is not defined for types 'Char' and 'SByte'." />
+		<error line="518" number="30452" message="Operator '>=' is not defined for types 'Char' and 'Short'." />
+		<error line="521" number="30452" message="Operator '>=' is not defined for types 'Char' and 'UShort'." />
+		<error line="524" number="30452" message="Operator '>=' is not defined for types 'Char' and 'Integer'." />
+		<error line="527" number="30452" message="Operator '>=' is not defined for types 'Char' and 'UInteger'." />
+		<error line="530" number="30452" message="Operator '>=' is not defined for types 'Char' and 'Long'." />
+		<error line="533" number="30452" message="Operator '>=' is not defined for types 'Char' and 'ULong'." />
+		<error line="536" number="30452" message="Operator '>=' is not defined for types 'Char' and 'Decimal'." />
+		<error line="539" number="30452" message="Operator '>=' is not defined for types 'Char' and 'Single'." />
+		<error line="542" number="30452" message="Operator '>=' is not defined for types 'Char' and 'Double'." />
+		<error line="551" number="30452" message="Operator '>=' is not defined for types 'Char' and 'Date'." />
+		<error line="554" number="30452" message="Operator '>=' is not defined for types 'Char' and 'System.DBNull'." />
+	</test>
+	<test id="2542" name="OperatorIntrinsic_GE_CharStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Char_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicGE.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="509" number="30452" message="Operator '>=' is not defined for types 'Char' and 'Boolean'." />
+		<error line="512" number="30452" message="Operator '>=' is not defined for types 'Char' and 'Byte'." />
+		<error line="515" number="30452" message="Operator '>=' is not defined for types 'Char' and 'SByte'." />
+		<error line="518" number="30452" message="Operator '>=' is not defined for types 'Char' and 'Short'." />
+		<error line="521" number="30452" message="Operator '>=' is not defined for types 'Char' and 'UShort'." />
+		<error line="524" number="30452" message="Operator '>=' is not defined for types 'Char' and 'Integer'." />
+		<error line="527" number="30452" message="Operator '>=' is not defined for types 'Char' and 'UInteger'." />
+		<error line="530" number="30452" message="Operator '>=' is not defined for types 'Char' and 'Long'." />
+		<error line="533" number="30452" message="Operator '>=' is not defined for types 'Char' and 'ULong'." />
+		<error line="536" number="30452" message="Operator '>=' is not defined for types 'Char' and 'Decimal'." />
+		<error line="539" number="30452" message="Operator '>=' is not defined for types 'Char' and 'Single'." />
+		<error line="542" number="30452" message="Operator '>=' is not defined for types 'Char' and 'Double'." />
+		<error line="551" number="30452" message="Operator '>=' is not defined for types 'Char' and 'Date'." />
+		<error line="554" number="30452" message="Operator '>=' is not defined for types 'Char' and 'System.DBNull'." />
+		<error line="557" number="30038" message="Option Strict On prohibits operands of type Object for operator '>='." />
+	</test>
+	<test id="2543" name="OperatorIntrinsic_GE_StringError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:String_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicGE.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="604" number="30452" message="Operator '>=' is not defined for types 'String' and 'System.DBNull'." />
+	</test>
+	<test id="2544" name="OperatorIntrinsic_GE_StringStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:String_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicGE.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="560" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Boolean'." />
+		<error line="563" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="566" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="569" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="572" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="575" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="578" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="581" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="584" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="587" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="590" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="593" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="601" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Date'." />
+		<error line="604" number="30452" message="Operator '>=' is not defined for types 'String' and 'System.DBNull'." />
+		<error line="608" number="30038" message="Option Strict On prohibits operands of type Object for operator '>='." />
+	</test>
+	<test id="2545" name="OperatorIntrinsic_GE_DateTimeError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:DateTime_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicGE.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="611" number="30452" message="Operator '>=' is not defined for types 'Date' and 'Boolean'." />
+		<error line="614" number="30452" message="Operator '>=' is not defined for types 'Date' and 'Byte'." />
+		<error line="617" number="30452" message="Operator '>=' is not defined for types 'Date' and 'SByte'." />
+		<error line="620" number="30452" message="Operator '>=' is not defined for types 'Date' and 'Short'." />
+		<error line="623" number="30452" message="Operator '>=' is not defined for types 'Date' and 'UShort'." />
+		<error line="626" number="30452" message="Operator '>=' is not defined for types 'Date' and 'Integer'." />
+		<error line="629" number="30452" message="Operator '>=' is not defined for types 'Date' and 'UInteger'." />
+		<error line="632" number="30452" message="Operator '>=' is not defined for types 'Date' and 'Long'." />
+		<error line="635" number="30452" message="Operator '>=' is not defined for types 'Date' and 'ULong'." />
+		<error line="638" number="30452" message="Operator '>=' is not defined for types 'Date' and 'Decimal'." />
+		<error line="641" number="30452" message="Operator '>=' is not defined for types 'Date' and 'Single'." />
+		<error line="644" number="30452" message="Operator '>=' is not defined for types 'Date' and 'Double'." />
+		<error line="647" number="30452" message="Operator '>=' is not defined for types 'Date' and 'Char'." />
+		<error line="655" number="30518" message="Overload resolution failed because no accessible '>=' can be called with these arguments:" />
+	</test>
+	<test id="2546" name="OperatorIntrinsic_GE_DateTimeStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:DateTime_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicGE.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="611" number="30452" message="Operator '>=' is not defined for types 'Date' and 'Boolean'." />
+		<error line="614" number="30452" message="Operator '>=' is not defined for types 'Date' and 'Byte'." />
+		<error line="617" number="30452" message="Operator '>=' is not defined for types 'Date' and 'SByte'." />
+		<error line="620" number="30452" message="Operator '>=' is not defined for types 'Date' and 'Short'." />
+		<error line="623" number="30452" message="Operator '>=' is not defined for types 'Date' and 'UShort'." />
+		<error line="626" number="30452" message="Operator '>=' is not defined for types 'Date' and 'Integer'." />
+		<error line="629" number="30452" message="Operator '>=' is not defined for types 'Date' and 'UInteger'." />
+		<error line="632" number="30452" message="Operator '>=' is not defined for types 'Date' and 'Long'." />
+		<error line="635" number="30452" message="Operator '>=' is not defined for types 'Date' and 'ULong'." />
+		<error line="638" number="30452" message="Operator '>=' is not defined for types 'Date' and 'Decimal'." />
+		<error line="641" number="30452" message="Operator '>=' is not defined for types 'Date' and 'Single'." />
+		<error line="644" number="30452" message="Operator '>=' is not defined for types 'Date' and 'Double'." />
+		<error line="647" number="30452" message="Operator '>=' is not defined for types 'Date' and 'Char'." />
+		<error line="650" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Date'." />
+		<error line="655" number="30518" message="Overload resolution failed because no accessible '>=' can be called with these arguments:" />
+		<error line="659" number="30038" message="Option Strict On prohibits operands of type Object for operator '>='." />
+	</test>
+	<test id="2547" name="OperatorIntrinsic_GE_DBNullError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:DBNull_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicGE.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="662" number="30452" message="Operator '>=' is not defined for types 'System.DBNull' and 'Boolean'." />
+		<error line="665" number="30452" message="Operator '>=' is not defined for types 'System.DBNull' and 'Byte'." />
+		<error line="668" number="30452" message="Operator '>=' is not defined for types 'System.DBNull' and 'SByte'." />
+		<error line="671" number="30452" message="Operator '>=' is not defined for types 'System.DBNull' and 'Short'." />
+		<error line="674" number="30452" message="Operator '>=' is not defined for types 'System.DBNull' and 'UShort'." />
+		<error line="677" number="30452" message="Operator '>=' is not defined for types 'System.DBNull' and 'Integer'." />
+		<error line="680" number="30452" message="Operator '>=' is not defined for types 'System.DBNull' and 'UInteger'." />
+		<error line="683" number="30452" message="Operator '>=' is not defined for types 'System.DBNull' and 'Long'." />
+		<error line="686" number="30452" message="Operator '>=' is not defined for types 'System.DBNull' and 'ULong'." />
+		<error line="689" number="30518" message="Overload resolution failed because no accessible '>=' can be called with these arguments:" />
+		<error line="692" number="30518" message="Overload resolution failed because no accessible '>=' can be called with these arguments:" />
+		<error line="695" number="30518" message="Overload resolution failed because no accessible '>=' can be called with these arguments:" />
+		<error line="698" number="30452" message="Operator '>=' is not defined for types 'System.DBNull' and 'Char'." />
+		<error line="701" number="30452" message="Operator '>=' is not defined for types 'System.DBNull' and 'String'." />
+		<error line="704" number="30518" message="Overload resolution failed because no accessible '>=' can be called with these arguments:" />
+		<error line="707" number="30452" message="Operator '>=' is not defined for types 'System.DBNull' and 'System.DBNull'." />
+		<error line="710" number="30452" message="Operator '>=' is not defined for types 'System.DBNull' and 'Object'." />
+	</test>
+	<test id="2548" name="OperatorIntrinsic_GE_DBNullStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:DBNull_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicGE.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="662" number="30452" message="Operator '>=' is not defined for types 'System.DBNull' and 'Boolean'." />
+		<error line="665" number="30452" message="Operator '>=' is not defined for types 'System.DBNull' and 'Byte'." />
+		<error line="668" number="30452" message="Operator '>=' is not defined for types 'System.DBNull' and 'SByte'." />
+		<error line="671" number="30452" message="Operator '>=' is not defined for types 'System.DBNull' and 'Short'." />
+		<error line="674" number="30452" message="Operator '>=' is not defined for types 'System.DBNull' and 'UShort'." />
+		<error line="677" number="30452" message="Operator '>=' is not defined for types 'System.DBNull' and 'Integer'." />
+		<error line="680" number="30452" message="Operator '>=' is not defined for types 'System.DBNull' and 'UInteger'." />
+		<error line="683" number="30452" message="Operator '>=' is not defined for types 'System.DBNull' and 'Long'." />
+		<error line="686" number="30452" message="Operator '>=' is not defined for types 'System.DBNull' and 'ULong'." />
+		<error line="689" number="30518" message="Overload resolution failed because no accessible '>=' can be called with these arguments:" />
+		<error line="692" number="30518" message="Overload resolution failed because no accessible '>=' can be called with these arguments:" />
+		<error line="695" number="30518" message="Overload resolution failed because no accessible '>=' can be called with these arguments:" />
+		<error line="698" number="30452" message="Operator '>=' is not defined for types 'System.DBNull' and 'Char'." />
+		<error line="701" number="30452" message="Operator '>=' is not defined for types 'System.DBNull' and 'String'." />
+		<error line="704" number="30518" message="Overload resolution failed because no accessible '>=' can be called with these arguments:" />
+		<error line="707" number="30452" message="Operator '>=' is not defined for types 'System.DBNull' and 'System.DBNull'." />
+		<error line="710" number="30452" message="Operator '>=' is not defined for types 'System.DBNull' and 'Object'." />
+	</test>
+	<test id="2549" name="OperatorIntrinsic_GE_ObjectError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Object_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicGE.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="772" number="30452" message="Operator '>=' is not defined for types 'Object' and 'System.DBNull'." />
+	</test>
+	<test id="2550" name="OperatorIntrinsic_GE_ObjectStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Object_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicGE.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="714" number="30038" message="Option Strict On prohibits operands of type Object for operator '>='." />
+		<error line="718" number="30038" message="Option Strict On prohibits operands of type Object for operator '>='." />
+		<error line="722" number="30038" message="Option Strict On prohibits operands of type Object for operator '>='." />
+		<error line="726" number="30038" message="Option Strict On prohibits operands of type Object for operator '>='." />
+		<error line="730" number="30038" message="Option Strict On prohibits operands of type Object for operator '>='." />
+		<error line="734" number="30038" message="Option Strict On prohibits operands of type Object for operator '>='." />
+		<error line="738" number="30038" message="Option Strict On prohibits operands of type Object for operator '>='." />
+		<error line="742" number="30038" message="Option Strict On prohibits operands of type Object for operator '>='." />
+		<error line="746" number="30038" message="Option Strict On prohibits operands of type Object for operator '>='." />
+		<error line="750" number="30038" message="Option Strict On prohibits operands of type Object for operator '>='." />
+		<error line="754" number="30038" message="Option Strict On prohibits operands of type Object for operator '>='." />
+		<error line="758" number="30038" message="Option Strict On prohibits operands of type Object for operator '>='." />
+		<error line="761" number="30038" message="Option Strict On prohibits operands of type Object for operator '>='." />
+		<error line="765" number="30038" message="Option Strict On prohibits operands of type Object for operator '>='." />
+		<error line="769" number="30038" message="Option Strict On prohibits operands of type Object for operator '>='." />
+		<error line="772" number="30452" message="Operator '>=' is not defined for types 'Object' and 'System.DBNull'." />
+		<error line="776" number="30038" message="Option Strict On prohibits operands of type Object for operator '>='." />
+		<error line="776" number="30038" message="Option Strict On prohibits operands of type Object for operator '>='." />
+	</test>
+	<test id="2551" name="OperatorIntrinsic_GT_" target="exe" mytype="empty">
+		<file>CompileTime2\OperatorIntrinsicGT.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+	</test>
+	<test id="2552" name="OperatorIntrinsic_GT_Strict" mytype="empty">
+		<arguments>/optionstrict+ /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicGT.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+	</test>
+	<test id="2553" name="OperatorIntrinsic_GT_BooleanError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Boolean_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicGT.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="42" number="30452" message="Operator '>' is not defined for types 'Boolean' and 'Char'." />
+		<error line="48" number="30452" message="Operator '>' is not defined for types 'Boolean' and 'Date'." />
+		<error line="51" number="30452" message="Operator '>' is not defined for types 'Boolean' and 'System.DBNull'." />
+	</test>
+	<test id="2554" name="OperatorIntrinsic_GT_BooleanStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Boolean_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicGT.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="9" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<error line="12" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'SByte'." />
+		<error line="15" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<error line="18" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Integer'." />
+		<error line="21" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Integer'." />
+		<error line="24" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Long'." />
+		<error line="27" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Long'." />
+		<error line="30" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Decimal'." />
+		<error line="33" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Decimal'." />
+		<error line="36" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Single'." />
+		<error line="39" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Double'." />
+		<error line="42" number="30452" message="Operator '>' is not defined for types 'Boolean' and 'Char'." />
+		<error line="45" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Boolean'." />
+		<error line="48" number="30452" message="Operator '>' is not defined for types 'Boolean' and 'Date'." />
+		<error line="51" number="30452" message="Operator '>' is not defined for types 'Boolean' and 'System.DBNull'." />
+		<error line="55" number="30038" message="Option Strict On prohibits operands of type Object for operator '>'." />
+	</test>
+	<test id="2555" name="OperatorIntrinsic_GT_ByteError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Byte_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicGT.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="83" number="30452" message="Operator '>' is not defined for types 'Byte' and 'Char'." />
+		<error line="89" number="30452" message="Operator '>' is not defined for types 'Byte' and 'Date'." />
+		<error line="92" number="30452" message="Operator '>' is not defined for types 'Byte' and 'System.DBNull'." />
+	</test>
+	<test id="2556" name="OperatorIntrinsic_GT_ByteStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Byte_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicGT.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="58" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<error line="83" number="30452" message="Operator '>' is not defined for types 'Byte' and 'Char'." />
+		<error line="86" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="89" number="30452" message="Operator '>' is not defined for types 'Byte' and 'Date'." />
+		<error line="92" number="30452" message="Operator '>' is not defined for types 'Byte' and 'System.DBNull'." />
+		<error line="96" number="30038" message="Option Strict On prohibits operands of type Object for operator '>'." />
+	</test>
+	<test id="2557" name="OperatorIntrinsic_GT_SByteError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:SByte_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicGT.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="124" number="30452" message="Operator '>' is not defined for types 'SByte' and 'Char'." />
+		<error line="130" number="30452" message="Operator '>' is not defined for types 'SByte' and 'Date'." />
+		<error line="133" number="30452" message="Operator '>' is not defined for types 'SByte' and 'System.DBNull'." />
+	</test>
+	<test id="2558" name="OperatorIntrinsic_GT_SByteStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:SByte_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicGT.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="99" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'SByte'." />
+		<error line="124" number="30452" message="Operator '>' is not defined for types 'SByte' and 'Char'." />
+		<error line="127" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="130" number="30452" message="Operator '>' is not defined for types 'SByte' and 'Date'." />
+		<error line="133" number="30452" message="Operator '>' is not defined for types 'SByte' and 'System.DBNull'." />
+		<error line="137" number="30038" message="Option Strict On prohibits operands of type Object for operator '>'." />
+	</test>
+	<test id="2559" name="OperatorIntrinsic_GT_Int16Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Int16_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicGT.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="165" number="30452" message="Operator '>' is not defined for types 'Short' and 'Char'." />
+		<error line="171" number="30452" message="Operator '>' is not defined for types 'Short' and 'Date'." />
+		<error line="174" number="30452" message="Operator '>' is not defined for types 'Short' and 'System.DBNull'." />
+	</test>
+	<test id="2560" name="OperatorIntrinsic_GT_Int16StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Int16_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicGT.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="140" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<error line="165" number="30452" message="Operator '>' is not defined for types 'Short' and 'Char'." />
+		<error line="168" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="171" number="30452" message="Operator '>' is not defined for types 'Short' and 'Date'." />
+		<error line="174" number="30452" message="Operator '>' is not defined for types 'Short' and 'System.DBNull'." />
+		<error line="178" number="30038" message="Option Strict On prohibits operands of type Object for operator '>'." />
+	</test>
+	<test id="2561" name="OperatorIntrinsic_GT_UInt16Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:UInt16_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicGT.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="206" number="30452" message="Operator '>' is not defined for types 'UShort' and 'Char'." />
+		<error line="212" number="30452" message="Operator '>' is not defined for types 'UShort' and 'Date'." />
+		<error line="215" number="30452" message="Operator '>' is not defined for types 'UShort' and 'System.DBNull'." />
+	</test>
+	<test id="2562" name="OperatorIntrinsic_GT_UInt16StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:UInt16_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicGT.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="181" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Integer'." />
+		<error line="206" number="30452" message="Operator '>' is not defined for types 'UShort' and 'Char'." />
+		<error line="209" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="212" number="30452" message="Operator '>' is not defined for types 'UShort' and 'Date'." />
+		<error line="215" number="30452" message="Operator '>' is not defined for types 'UShort' and 'System.DBNull'." />
+		<error line="219" number="30038" message="Option Strict On prohibits operands of type Object for operator '>'." />
+	</test>
+	<test id="2563" name="OperatorIntrinsic_GT_Int32Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Int32_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicGT.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="247" number="30452" message="Operator '>' is not defined for types 'Integer' and 'Char'." />
+		<error line="253" number="30452" message="Operator '>' is not defined for types 'Integer' and 'Date'." />
+		<error line="256" number="30452" message="Operator '>' is not defined for types 'Integer' and 'System.DBNull'." />
+	</test>
+	<test id="2564" name="OperatorIntrinsic_GT_Int32StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Int32_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicGT.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="222" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Integer'." />
+		<error line="247" number="30452" message="Operator '>' is not defined for types 'Integer' and 'Char'." />
+		<error line="250" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="253" number="30452" message="Operator '>' is not defined for types 'Integer' and 'Date'." />
+		<error line="256" number="30452" message="Operator '>' is not defined for types 'Integer' and 'System.DBNull'." />
+		<error line="260" number="30038" message="Option Strict On prohibits operands of type Object for operator '>'." />
+	</test>
+	<test id="2565" name="OperatorIntrinsic_GT_UInt32Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:UInt32_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicGT.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="288" number="30452" message="Operator '>' is not defined for types 'UInteger' and 'Char'." />
+		<error line="294" number="30452" message="Operator '>' is not defined for types 'UInteger' and 'Date'." />
+		<error line="297" number="30452" message="Operator '>' is not defined for types 'UInteger' and 'System.DBNull'." />
+	</test>
+	<test id="2566" name="OperatorIntrinsic_GT_UInt32StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:UInt32_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicGT.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="263" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Long'." />
+		<error line="288" number="30452" message="Operator '>' is not defined for types 'UInteger' and 'Char'." />
+		<error line="291" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="294" number="30452" message="Operator '>' is not defined for types 'UInteger' and 'Date'." />
+		<error line="297" number="30452" message="Operator '>' is not defined for types 'UInteger' and 'System.DBNull'." />
+		<error line="301" number="30038" message="Option Strict On prohibits operands of type Object for operator '>'." />
+	</test>
+	<test id="2567" name="OperatorIntrinsic_GT_Int64Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Int64_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicGT.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="329" number="30452" message="Operator '>' is not defined for types 'Long' and 'Char'." />
+		<error line="335" number="30452" message="Operator '>' is not defined for types 'Long' and 'Date'." />
+		<error line="338" number="30452" message="Operator '>' is not defined for types 'Long' and 'System.DBNull'." />
+	</test>
+	<test id="2568" name="OperatorIntrinsic_GT_Int64StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Int64_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicGT.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="304" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Long'." />
+		<error line="329" number="30452" message="Operator '>' is not defined for types 'Long' and 'Char'." />
+		<error line="332" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="335" number="30452" message="Operator '>' is not defined for types 'Long' and 'Date'." />
+		<error line="338" number="30452" message="Operator '>' is not defined for types 'Long' and 'System.DBNull'." />
+		<error line="342" number="30038" message="Option Strict On prohibits operands of type Object for operator '>'." />
+	</test>
+	<test id="2569" name="OperatorIntrinsic_GT_UInt64Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:UInt64_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicGT.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="370" number="30452" message="Operator '>' is not defined for types 'ULong' and 'Char'." />
+		<error line="376" number="30452" message="Operator '>' is not defined for types 'ULong' and 'Date'." />
+		<error line="379" number="30452" message="Operator '>' is not defined for types 'ULong' and 'System.DBNull'." />
+	</test>
+	<test id="2570" name="OperatorIntrinsic_GT_UInt64StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:UInt64_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicGT.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="345" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Decimal'." />
+		<error line="370" number="30452" message="Operator '>' is not defined for types 'ULong' and 'Char'." />
+		<error line="373" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="376" number="30452" message="Operator '>' is not defined for types 'ULong' and 'Date'." />
+		<error line="379" number="30452" message="Operator '>' is not defined for types 'ULong' and 'System.DBNull'." />
+		<error line="383" number="30038" message="Option Strict On prohibits operands of type Object for operator '>'." />
+	</test>
+	<test id="2571" name="OperatorIntrinsic_GT_DecimalError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Decimal_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicGT.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="411" number="30452" message="Operator '>' is not defined for types 'Decimal' and 'Char'." />
+		<error line="417" number="30452" message="Operator '>' is not defined for types 'Decimal' and 'Date'." />
+		<error line="420" number="30518" message="Overload resolution failed because no accessible '>' can be called with these arguments:" />
+	</test>
+	<test id="2572" name="OperatorIntrinsic_GT_DecimalStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Decimal_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicGT.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="386" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Decimal'." />
+		<error line="411" number="30452" message="Operator '>' is not defined for types 'Decimal' and 'Char'." />
+		<error line="414" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="417" number="30452" message="Operator '>' is not defined for types 'Decimal' and 'Date'." />
+		<error line="420" number="30518" message="Overload resolution failed because no accessible '>' can be called with these arguments:" />
+		<error line="424" number="30038" message="Option Strict On prohibits operands of type Object for operator '>'." />
+	</test>
+	<test id="2573" name="OperatorIntrinsic_GT_SingleError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Single_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicGT.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="452" number="30452" message="Operator '>' is not defined for types 'Single' and 'Char'." />
+		<error line="458" number="30452" message="Operator '>' is not defined for types 'Single' and 'Date'." />
+		<error line="461" number="30518" message="Overload resolution failed because no accessible '>' can be called with these arguments:" />
+	</test>
+	<test id="2574" name="OperatorIntrinsic_GT_SingleStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Single_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicGT.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="427" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Single'." />
+		<error line="452" number="30452" message="Operator '>' is not defined for types 'Single' and 'Char'." />
+		<error line="455" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="458" number="30452" message="Operator '>' is not defined for types 'Single' and 'Date'." />
+		<error line="461" number="30518" message="Overload resolution failed because no accessible '>' can be called with these arguments:" />
+		<error line="465" number="30038" message="Option Strict On prohibits operands of type Object for operator '>'." />
+	</test>
+	<test id="2575" name="OperatorIntrinsic_GT_DoubleError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Double_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicGT.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="493" number="30452" message="Operator '>' is not defined for types 'Double' and 'Char'." />
+		<error line="499" number="30452" message="Operator '>' is not defined for types 'Double' and 'Date'." />
+		<error line="502" number="30518" message="Overload resolution failed because no accessible '>' can be called with these arguments:" />
+	</test>
+	<test id="2576" name="OperatorIntrinsic_GT_DoubleStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Double_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicGT.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="468" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Double'." />
+		<error line="493" number="30452" message="Operator '>' is not defined for types 'Double' and 'Char'." />
+		<error line="496" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="499" number="30452" message="Operator '>' is not defined for types 'Double' and 'Date'." />
+		<error line="502" number="30518" message="Overload resolution failed because no accessible '>' can be called with these arguments:" />
+		<error line="506" number="30038" message="Option Strict On prohibits operands of type Object for operator '>'." />
+	</test>
+	<test id="2577" name="OperatorIntrinsic_GT_CharError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Char_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicGT.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="509" number="30452" message="Operator '>' is not defined for types 'Char' and 'Boolean'." />
+		<error line="512" number="30452" message="Operator '>' is not defined for types 'Char' and 'Byte'." />
+		<error line="515" number="30452" message="Operator '>' is not defined for types 'Char' and 'SByte'." />
+		<error line="518" number="30452" message="Operator '>' is not defined for types 'Char' and 'Short'." />
+		<error line="521" number="30452" message="Operator '>' is not defined for types 'Char' and 'UShort'." />
+		<error line="524" number="30452" message="Operator '>' is not defined for types 'Char' and 'Integer'." />
+		<error line="527" number="30452" message="Operator '>' is not defined for types 'Char' and 'UInteger'." />
+		<error line="530" number="30452" message="Operator '>' is not defined for types 'Char' and 'Long'." />
+		<error line="533" number="30452" message="Operator '>' is not defined for types 'Char' and 'ULong'." />
+		<error line="536" number="30452" message="Operator '>' is not defined for types 'Char' and 'Decimal'." />
+		<error line="539" number="30452" message="Operator '>' is not defined for types 'Char' and 'Single'." />
+		<error line="542" number="30452" message="Operator '>' is not defined for types 'Char' and 'Double'." />
+		<error line="551" number="30452" message="Operator '>' is not defined for types 'Char' and 'Date'." />
+		<error line="554" number="30452" message="Operator '>' is not defined for types 'Char' and 'System.DBNull'." />
+	</test>
+	<test id="2578" name="OperatorIntrinsic_GT_CharStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Char_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicGT.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="509" number="30452" message="Operator '>' is not defined for types 'Char' and 'Boolean'." />
+		<error line="512" number="30452" message="Operator '>' is not defined for types 'Char' and 'Byte'." />
+		<error line="515" number="30452" message="Operator '>' is not defined for types 'Char' and 'SByte'." />
+		<error line="518" number="30452" message="Operator '>' is not defined for types 'Char' and 'Short'." />
+		<error line="521" number="30452" message="Operator '>' is not defined for types 'Char' and 'UShort'." />
+		<error line="524" number="30452" message="Operator '>' is not defined for types 'Char' and 'Integer'." />
+		<error line="527" number="30452" message="Operator '>' is not defined for types 'Char' and 'UInteger'." />
+		<error line="530" number="30452" message="Operator '>' is not defined for types 'Char' and 'Long'." />
+		<error line="533" number="30452" message="Operator '>' is not defined for types 'Char' and 'ULong'." />
+		<error line="536" number="30452" message="Operator '>' is not defined for types 'Char' and 'Decimal'." />
+		<error line="539" number="30452" message="Operator '>' is not defined for types 'Char' and 'Single'." />
+		<error line="542" number="30452" message="Operator '>' is not defined for types 'Char' and 'Double'." />
+		<error line="551" number="30452" message="Operator '>' is not defined for types 'Char' and 'Date'." />
+		<error line="554" number="30452" message="Operator '>' is not defined for types 'Char' and 'System.DBNull'." />
+		<error line="557" number="30038" message="Option Strict On prohibits operands of type Object for operator '>'." />
+	</test>
+	<test id="2579" name="OperatorIntrinsic_GT_StringError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:String_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicGT.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="604" number="30452" message="Operator '>' is not defined for types 'String' and 'System.DBNull'." />
+	</test>
+	<test id="2580" name="OperatorIntrinsic_GT_StringStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:String_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicGT.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="560" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Boolean'." />
+		<error line="563" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="566" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="569" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="572" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="575" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="578" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="581" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="584" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="587" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="590" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="593" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="601" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Date'." />
+		<error line="604" number="30452" message="Operator '>' is not defined for types 'String' and 'System.DBNull'." />
+		<error line="608" number="30038" message="Option Strict On prohibits operands of type Object for operator '>'." />
+	</test>
+	<test id="2581" name="OperatorIntrinsic_GT_DateTimeError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:DateTime_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicGT.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="611" number="30452" message="Operator '>' is not defined for types 'Date' and 'Boolean'." />
+		<error line="614" number="30452" message="Operator '>' is not defined for types 'Date' and 'Byte'." />
+		<error line="617" number="30452" message="Operator '>' is not defined for types 'Date' and 'SByte'." />
+		<error line="620" number="30452" message="Operator '>' is not defined for types 'Date' and 'Short'." />
+		<error line="623" number="30452" message="Operator '>' is not defined for types 'Date' and 'UShort'." />
+		<error line="626" number="30452" message="Operator '>' is not defined for types 'Date' and 'Integer'." />
+		<error line="629" number="30452" message="Operator '>' is not defined for types 'Date' and 'UInteger'." />
+		<error line="632" number="30452" message="Operator '>' is not defined for types 'Date' and 'Long'." />
+		<error line="635" number="30452" message="Operator '>' is not defined for types 'Date' and 'ULong'." />
+		<error line="638" number="30452" message="Operator '>' is not defined for types 'Date' and 'Decimal'." />
+		<error line="641" number="30452" message="Operator '>' is not defined for types 'Date' and 'Single'." />
+		<error line="644" number="30452" message="Operator '>' is not defined for types 'Date' and 'Double'." />
+		<error line="647" number="30452" message="Operator '>' is not defined for types 'Date' and 'Char'." />
+		<error line="655" number="30518" message="Overload resolution failed because no accessible '>' can be called with these arguments:" />
+	</test>
+	<test id="2582" name="OperatorIntrinsic_GT_DateTimeStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:DateTime_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicGT.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="611" number="30452" message="Operator '>' is not defined for types 'Date' and 'Boolean'." />
+		<error line="614" number="30452" message="Operator '>' is not defined for types 'Date' and 'Byte'." />
+		<error line="617" number="30452" message="Operator '>' is not defined for types 'Date' and 'SByte'." />
+		<error line="620" number="30452" message="Operator '>' is not defined for types 'Date' and 'Short'." />
+		<error line="623" number="30452" message="Operator '>' is not defined for types 'Date' and 'UShort'." />
+		<error line="626" number="30452" message="Operator '>' is not defined for types 'Date' and 'Integer'." />
+		<error line="629" number="30452" message="Operator '>' is not defined for types 'Date' and 'UInteger'." />
+		<error line="632" number="30452" message="Operator '>' is not defined for types 'Date' and 'Long'." />
+		<error line="635" number="30452" message="Operator '>' is not defined for types 'Date' and 'ULong'." />
+		<error line="638" number="30452" message="Operator '>' is not defined for types 'Date' and 'Decimal'." />
+		<error line="641" number="30452" message="Operator '>' is not defined for types 'Date' and 'Single'." />
+		<error line="644" number="30452" message="Operator '>' is not defined for types 'Date' and 'Double'." />
+		<error line="647" number="30452" message="Operator '>' is not defined for types 'Date' and 'Char'." />
+		<error line="650" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Date'." />
+		<error line="655" number="30518" message="Overload resolution failed because no accessible '>' can be called with these arguments:" />
+		<error line="659" number="30038" message="Option Strict On prohibits operands of type Object for operator '>'." />
+	</test>
+	<test id="2583" name="OperatorIntrinsic_GT_DBNullError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:DBNull_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicGT.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="662" number="30452" message="Operator '>' is not defined for types 'System.DBNull' and 'Boolean'." />
+		<error line="665" number="30452" message="Operator '>' is not defined for types 'System.DBNull' and 'Byte'." />
+		<error line="668" number="30452" message="Operator '>' is not defined for types 'System.DBNull' and 'SByte'." />
+		<error line="671" number="30452" message="Operator '>' is not defined for types 'System.DBNull' and 'Short'." />
+		<error line="674" number="30452" message="Operator '>' is not defined for types 'System.DBNull' and 'UShort'." />
+		<error line="677" number="30452" message="Operator '>' is not defined for types 'System.DBNull' and 'Integer'." />
+		<error line="680" number="30452" message="Operator '>' is not defined for types 'System.DBNull' and 'UInteger'." />
+		<error line="683" number="30452" message="Operator '>' is not defined for types 'System.DBNull' and 'Long'." />
+		<error line="686" number="30452" message="Operator '>' is not defined for types 'System.DBNull' and 'ULong'." />
+		<error line="689" number="30518" message="Overload resolution failed because no accessible '>' can be called with these arguments:" />
+		<error line="692" number="30518" message="Overload resolution failed because no accessible '>' can be called with these arguments:" />
+		<error line="695" number="30518" message="Overload resolution failed because no accessible '>' can be called with these arguments:" />
+		<error line="698" number="30452" message="Operator '>' is not defined for types 'System.DBNull' and 'Char'." />
+		<error line="701" number="30452" message="Operator '>' is not defined for types 'System.DBNull' and 'String'." />
+		<error line="704" number="30518" message="Overload resolution failed because no accessible '>' can be called with these arguments:" />
+		<error line="707" number="30452" message="Operator '>' is not defined for types 'System.DBNull' and 'System.DBNull'." />
+		<error line="710" number="30452" message="Operator '>' is not defined for types 'System.DBNull' and 'Object'." />
+	</test>
+	<test id="2584" name="OperatorIntrinsic_GT_DBNullStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:DBNull_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicGT.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="662" number="30452" message="Operator '>' is not defined for types 'System.DBNull' and 'Boolean'." />
+		<error line="665" number="30452" message="Operator '>' is not defined for types 'System.DBNull' and 'Byte'." />
+		<error line="668" number="30452" message="Operator '>' is not defined for types 'System.DBNull' and 'SByte'." />
+		<error line="671" number="30452" message="Operator '>' is not defined for types 'System.DBNull' and 'Short'." />
+		<error line="674" number="30452" message="Operator '>' is not defined for types 'System.DBNull' and 'UShort'." />
+		<error line="677" number="30452" message="Operator '>' is not defined for types 'System.DBNull' and 'Integer'." />
+		<error line="680" number="30452" message="Operator '>' is not defined for types 'System.DBNull' and 'UInteger'." />
+		<error line="683" number="30452" message="Operator '>' is not defined for types 'System.DBNull' and 'Long'." />
+		<error line="686" number="30452" message="Operator '>' is not defined for types 'System.DBNull' and 'ULong'." />
+		<error line="689" number="30518" message="Overload resolution failed because no accessible '>' can be called with these arguments:" />
+		<error line="692" number="30518" message="Overload resolution failed because no accessible '>' can be called with these arguments:" />
+		<error line="695" number="30518" message="Overload resolution failed because no accessible '>' can be called with these arguments:" />
+		<error line="698" number="30452" message="Operator '>' is not defined for types 'System.DBNull' and 'Char'." />
+		<error line="701" number="30452" message="Operator '>' is not defined for types 'System.DBNull' and 'String'." />
+		<error line="704" number="30518" message="Overload resolution failed because no accessible '>' can be called with these arguments:" />
+		<error line="707" number="30452" message="Operator '>' is not defined for types 'System.DBNull' and 'System.DBNull'." />
+		<error line="710" number="30452" message="Operator '>' is not defined for types 'System.DBNull' and 'Object'." />
+	</test>
+	<test id="2585" name="OperatorIntrinsic_GT_ObjectError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Object_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicGT.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="772" number="30452" message="Operator '>' is not defined for types 'Object' and 'System.DBNull'." />
+	</test>
+	<test id="2586" name="OperatorIntrinsic_GT_ObjectStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Object_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicGT.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="714" number="30038" message="Option Strict On prohibits operands of type Object for operator '>'." />
+		<error line="718" number="30038" message="Option Strict On prohibits operands of type Object for operator '>'." />
+		<error line="722" number="30038" message="Option Strict On prohibits operands of type Object for operator '>'." />
+		<error line="726" number="30038" message="Option Strict On prohibits operands of type Object for operator '>'." />
+		<error line="730" number="30038" message="Option Strict On prohibits operands of type Object for operator '>'." />
+		<error line="734" number="30038" message="Option Strict On prohibits operands of type Object for operator '>'." />
+		<error line="738" number="30038" message="Option Strict On prohibits operands of type Object for operator '>'." />
+		<error line="742" number="30038" message="Option Strict On prohibits operands of type Object for operator '>'." />
+		<error line="746" number="30038" message="Option Strict On prohibits operands of type Object for operator '>'." />
+		<error line="750" number="30038" message="Option Strict On prohibits operands of type Object for operator '>'." />
+		<error line="754" number="30038" message="Option Strict On prohibits operands of type Object for operator '>'." />
+		<error line="758" number="30038" message="Option Strict On prohibits operands of type Object for operator '>'." />
+		<error line="761" number="30038" message="Option Strict On prohibits operands of type Object for operator '>'." />
+		<error line="765" number="30038" message="Option Strict On prohibits operands of type Object for operator '>'." />
+		<error line="769" number="30038" message="Option Strict On prohibits operands of type Object for operator '>'." />
+		<error line="772" number="30452" message="Operator '>' is not defined for types 'Object' and 'System.DBNull'." />
+		<error line="776" number="30038" message="Option Strict On prohibits operands of type Object for operator '>'." />
+		<error line="776" number="30038" message="Option Strict On prohibits operands of type Object for operator '>'." />
+	</test>
+	<test id="2587" name="OperatorIntrinsic_IntDivision_" target="exe" mytype="empty">
+		<file>CompileTime2\OperatorIntrinsicIntDivision.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+	</test>
+	<test id="2588" name="OperatorIntrinsic_IntDivision_Strict" mytype="empty">
+		<arguments>/optionstrict+ /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicIntDivision.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+	</test>
+	<test id="2589" name="OperatorIntrinsic_IntDivision_BooleanError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Boolean_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicIntDivision.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="55" number="30452" message="Operator '\' is not defined for types 'Boolean' and 'Char'." />
+		<error line="62" number="30452" message="Operator '\' is not defined for types 'Boolean' and 'Date'." />
+		<error line="65" number="30452" message="Operator '\' is not defined for types 'Boolean' and 'System.DBNull'." />
+	</test>
+	<test id="2590" name="OperatorIntrinsic_IntDivision_BooleanStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Boolean_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicIntDivision.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="8" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<error line="8" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<error line="12" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<error line="16" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'SByte'." />
+		<error line="20" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<error line="24" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Integer'." />
+		<error line="28" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Integer'." />
+		<error line="32" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Long'." />
+		<error line="36" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Long'." />
+		<error line="40" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Long'." />
+		<error line="40" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Long'." />
+		<error line="44" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Long'." />
+		<error line="44" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="48" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Long'." />
+		<error line="48" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="52" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Long'." />
+		<error line="52" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="55" number="30452" message="Operator '\' is not defined for types 'Boolean' and 'Char'." />
+		<error line="59" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Long'." />
+		<error line="59" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="62" number="30452" message="Operator '\' is not defined for types 'Boolean' and 'Date'." />
+		<error line="65" number="30452" message="Operator '\' is not defined for types 'Boolean' and 'System.DBNull'." />
+		<error line="69" number="30038" message="Option Strict On prohibits operands of type Object for operator '\'." />
+	</test>
+	<test id="2591" name="OperatorIntrinsic_IntDivision_ByteError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Byte_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicIntDivision.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="104" number="30452" message="Operator '\' is not defined for types 'Byte' and 'Char'." />
+		<error line="111" number="30452" message="Operator '\' is not defined for types 'Byte' and 'Date'." />
+		<error line="114" number="30452" message="Operator '\' is not defined for types 'Byte' and 'System.DBNull'." />
+	</test>
+	<test id="2592" name="OperatorIntrinsic_IntDivision_ByteStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Byte_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicIntDivision.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="73" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<error line="93" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="97" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="101" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="104" number="30452" message="Operator '\' is not defined for types 'Byte' and 'Char'." />
+		<error line="108" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="111" number="30452" message="Operator '\' is not defined for types 'Byte' and 'Date'." />
+		<error line="114" number="30452" message="Operator '\' is not defined for types 'Byte' and 'System.DBNull'." />
+		<error line="118" number="30038" message="Option Strict On prohibits operands of type Object for operator '\'." />
+	</test>
+	<test id="2593" name="OperatorIntrinsic_IntDivision_SByteError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:SByte_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicIntDivision.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="155" number="30452" message="Operator '\' is not defined for types 'SByte' and 'Char'." />
+		<error line="162" number="30452" message="Operator '\' is not defined for types 'SByte' and 'Date'." />
+		<error line="165" number="30452" message="Operator '\' is not defined for types 'SByte' and 'System.DBNull'." />
+	</test>
+	<test id="2594" name="OperatorIntrinsic_IntDivision_SByteStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:SByte_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicIntDivision.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="122" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'SByte'." />
+		<error line="140" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Long'." />
+		<error line="144" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="148" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="152" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="155" number="30452" message="Operator '\' is not defined for types 'SByte' and 'Char'." />
+		<error line="159" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="162" number="30452" message="Operator '\' is not defined for types 'SByte' and 'Date'." />
+		<error line="165" number="30452" message="Operator '\' is not defined for types 'SByte' and 'System.DBNull'." />
+		<error line="169" number="30038" message="Option Strict On prohibits operands of type Object for operator '\'." />
+	</test>
+	<test id="2595" name="OperatorIntrinsic_IntDivision_Int16Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Int16_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicIntDivision.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="206" number="30452" message="Operator '\' is not defined for types 'Short' and 'Char'." />
+		<error line="213" number="30452" message="Operator '\' is not defined for types 'Short' and 'Date'." />
+		<error line="216" number="30452" message="Operator '\' is not defined for types 'Short' and 'System.DBNull'." />
+	</test>
+	<test id="2596" name="OperatorIntrinsic_IntDivision_Int16StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Int16_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicIntDivision.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="173" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<error line="191" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Long'." />
+		<error line="195" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="199" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="203" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="206" number="30452" message="Operator '\' is not defined for types 'Short' and 'Char'." />
+		<error line="210" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="213" number="30452" message="Operator '\' is not defined for types 'Short' and 'Date'." />
+		<error line="216" number="30452" message="Operator '\' is not defined for types 'Short' and 'System.DBNull'." />
+		<error line="220" number="30038" message="Option Strict On prohibits operands of type Object for operator '\'." />
+	</test>
+	<test id="2597" name="OperatorIntrinsic_IntDivision_UInt16Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:UInt16_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicIntDivision.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="255" number="30452" message="Operator '\' is not defined for types 'UShort' and 'Char'." />
+		<error line="262" number="30452" message="Operator '\' is not defined for types 'UShort' and 'Date'." />
+		<error line="265" number="30452" message="Operator '\' is not defined for types 'UShort' and 'System.DBNull'." />
+	</test>
+	<test id="2598" name="OperatorIntrinsic_IntDivision_UInt16StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:UInt16_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicIntDivision.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="224" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Integer'." />
+		<error line="244" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="248" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="252" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="255" number="30452" message="Operator '\' is not defined for types 'UShort' and 'Char'." />
+		<error line="259" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="262" number="30452" message="Operator '\' is not defined for types 'UShort' and 'Date'." />
+		<error line="265" number="30452" message="Operator '\' is not defined for types 'UShort' and 'System.DBNull'." />
+		<error line="269" number="30038" message="Option Strict On prohibits operands of type Object for operator '\'." />
+	</test>
+	<test id="2599" name="OperatorIntrinsic_IntDivision_Int32Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Int32_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicIntDivision.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="306" number="30452" message="Operator '\' is not defined for types 'Integer' and 'Char'." />
+		<error line="313" number="30452" message="Operator '\' is not defined for types 'Integer' and 'Date'." />
+		<error line="316" number="30452" message="Operator '\' is not defined for types 'Integer' and 'System.DBNull'." />
+	</test>
+	<test id="2600" name="OperatorIntrinsic_IntDivision_Int32StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Int32_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicIntDivision.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="273" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Integer'." />
+		<error line="291" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Long'." />
+		<error line="295" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="299" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="303" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="306" number="30452" message="Operator '\' is not defined for types 'Integer' and 'Char'." />
+		<error line="310" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="313" number="30452" message="Operator '\' is not defined for types 'Integer' and 'Date'." />
+		<error line="316" number="30452" message="Operator '\' is not defined for types 'Integer' and 'System.DBNull'." />
+		<error line="320" number="30038" message="Option Strict On prohibits operands of type Object for operator '\'." />
+	</test>
+	<test id="2601" name="OperatorIntrinsic_IntDivision_UInt32Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:UInt32_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicIntDivision.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="355" number="30452" message="Operator '\' is not defined for types 'UInteger' and 'Char'." />
+		<error line="362" number="30452" message="Operator '\' is not defined for types 'UInteger' and 'Date'." />
+		<error line="365" number="30452" message="Operator '\' is not defined for types 'UInteger' and 'System.DBNull'." />
+	</test>
+	<test id="2602" name="OperatorIntrinsic_IntDivision_UInt32StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:UInt32_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicIntDivision.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="324" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Long'." />
+		<error line="344" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="348" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="352" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="355" number="30452" message="Operator '\' is not defined for types 'UInteger' and 'Char'." />
+		<error line="359" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="362" number="30452" message="Operator '\' is not defined for types 'UInteger' and 'Date'." />
+		<error line="365" number="30452" message="Operator '\' is not defined for types 'UInteger' and 'System.DBNull'." />
+		<error line="369" number="30038" message="Option Strict On prohibits operands of type Object for operator '\'." />
+	</test>
+	<test id="2603" name="OperatorIntrinsic_IntDivision_Int64Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Int64_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicIntDivision.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="406" number="30452" message="Operator '\' is not defined for types 'Long' and 'Char'." />
+		<error line="413" number="30452" message="Operator '\' is not defined for types 'Long' and 'Date'." />
+		<error line="416" number="30452" message="Operator '\' is not defined for types 'Long' and 'System.DBNull'." />
+	</test>
+	<test id="2604" name="OperatorIntrinsic_IntDivision_Int64StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Int64_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicIntDivision.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="373" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Long'." />
+		<error line="391" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Long'." />
+		<error line="395" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="399" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="403" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="406" number="30452" message="Operator '\' is not defined for types 'Long' and 'Char'." />
+		<error line="410" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="413" number="30452" message="Operator '\' is not defined for types 'Long' and 'Date'." />
+		<error line="416" number="30452" message="Operator '\' is not defined for types 'Long' and 'System.DBNull'." />
+		<error line="420" number="30038" message="Option Strict On prohibits operands of type Object for operator '\'." />
+	</test>
+	<test id="2605" name="OperatorIntrinsic_IntDivision_UInt64Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:UInt64_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicIntDivision.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="463" number="30452" message="Operator '\' is not defined for types 'ULong' and 'Char'." />
+		<error line="470" number="30452" message="Operator '\' is not defined for types 'ULong' and 'Date'." />
+		<error line="473" number="30452" message="Operator '\' is not defined for types 'ULong' and 'System.DBNull'." />
+	</test>
+	<test id="2606" name="OperatorIntrinsic_IntDivision_UInt64StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:UInt64_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicIntDivision.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="424" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Long'." />
+		<error line="424" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Long'." />
+		<error line="430" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Long'." />
+		<error line="434" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Long'." />
+		<error line="440" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Long'." />
+		<error line="446" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Long'." />
+		<error line="452" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Long'." />
+		<error line="452" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="456" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Long'." />
+		<error line="456" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="460" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Long'." />
+		<error line="460" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="463" number="30452" message="Operator '\' is not defined for types 'ULong' and 'Char'." />
+		<error line="467" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Long'." />
+		<error line="467" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="470" number="30452" message="Operator '\' is not defined for types 'ULong' and 'Date'." />
+		<error line="473" number="30452" message="Operator '\' is not defined for types 'ULong' and 'System.DBNull'." />
+		<error line="477" number="30038" message="Option Strict On prohibits operands of type Object for operator '\'." />
+	</test>
+	<test id="2607" name="OperatorIntrinsic_IntDivision_DecimalError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Decimal_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicIntDivision.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="528" number="30452" message="Operator '\' is not defined for types 'Decimal' and 'Char'." />
+		<error line="535" number="30452" message="Operator '\' is not defined for types 'Decimal' and 'Date'." />
+		<error line="538" number="30452" message="Operator '\' is not defined for types 'Decimal' and 'System.DBNull'." />
+	</test>
+	<test id="2608" name="OperatorIntrinsic_IntDivision_DecimalStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Decimal_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicIntDivision.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="481" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="481" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Long'." />
+		<error line="485" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="489" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="493" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="497" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="501" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="505" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="509" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="513" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="513" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Long'." />
+		<error line="517" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="517" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="521" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="521" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="525" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="525" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="528" number="30452" message="Operator '\' is not defined for types 'Decimal' and 'Char'." />
+		<error line="532" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="532" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="535" number="30452" message="Operator '\' is not defined for types 'Decimal' and 'Date'." />
+		<error line="538" number="30452" message="Operator '\' is not defined for types 'Decimal' and 'System.DBNull'." />
+		<error line="542" number="30038" message="Option Strict On prohibits operands of type Object for operator '\'." />
+	</test>
+	<test id="2609" name="OperatorIntrinsic_IntDivision_SingleError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Single_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicIntDivision.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="593" number="30452" message="Operator '\' is not defined for types 'Single' and 'Char'." />
+		<error line="600" number="30452" message="Operator '\' is not defined for types 'Single' and 'Date'." />
+		<error line="603" number="30452" message="Operator '\' is not defined for types 'Single' and 'System.DBNull'." />
+	</test>
+	<test id="2610" name="OperatorIntrinsic_IntDivision_SingleStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Single_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicIntDivision.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="546" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="546" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Long'." />
+		<error line="550" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="554" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="558" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="562" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="566" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="570" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="574" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="578" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="578" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Long'." />
+		<error line="582" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="582" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="586" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="586" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="590" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="590" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="593" number="30452" message="Operator '\' is not defined for types 'Single' and 'Char'." />
+		<error line="597" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="597" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="600" number="30452" message="Operator '\' is not defined for types 'Single' and 'Date'." />
+		<error line="603" number="30452" message="Operator '\' is not defined for types 'Single' and 'System.DBNull'." />
+		<error line="607" number="30038" message="Option Strict On prohibits operands of type Object for operator '\'." />
+	</test>
+	<test id="2611" name="OperatorIntrinsic_IntDivision_DoubleError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Double_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicIntDivision.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="658" number="30452" message="Operator '\' is not defined for types 'Double' and 'Char'." />
+		<error line="665" number="30452" message="Operator '\' is not defined for types 'Double' and 'Date'." />
+		<error line="668" number="30452" message="Operator '\' is not defined for types 'Double' and 'System.DBNull'." />
+	</test>
+	<test id="2612" name="OperatorIntrinsic_IntDivision_DoubleStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Double_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicIntDivision.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="611" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="611" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Long'." />
+		<error line="615" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="619" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="623" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="627" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="631" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="635" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="639" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="643" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="643" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Long'." />
+		<error line="647" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="647" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="651" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="651" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="655" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="655" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="658" number="30452" message="Operator '\' is not defined for types 'Double' and 'Char'." />
+		<error line="662" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="662" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="665" number="30452" message="Operator '\' is not defined for types 'Double' and 'Date'." />
+		<error line="668" number="30452" message="Operator '\' is not defined for types 'Double' and 'System.DBNull'." />
+		<error line="672" number="30038" message="Option Strict On prohibits operands of type Object for operator '\'." />
+	</test>
+	<test id="2613" name="OperatorIntrinsic_IntDivision_CharError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Char_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicIntDivision.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="675" number="30452" message="Operator '\' is not defined for types 'Char' and 'Boolean'." />
+		<error line="678" number="30452" message="Operator '\' is not defined for types 'Char' and 'Byte'." />
+		<error line="681" number="30452" message="Operator '\' is not defined for types 'Char' and 'SByte'." />
+		<error line="684" number="30452" message="Operator '\' is not defined for types 'Char' and 'Short'." />
+		<error line="687" number="30452" message="Operator '\' is not defined for types 'Char' and 'UShort'." />
+		<error line="690" number="30452" message="Operator '\' is not defined for types 'Char' and 'Integer'." />
+		<error line="693" number="30452" message="Operator '\' is not defined for types 'Char' and 'UInteger'." />
+		<error line="696" number="30452" message="Operator '\' is not defined for types 'Char' and 'Long'." />
+		<error line="699" number="30452" message="Operator '\' is not defined for types 'Char' and 'ULong'." />
+		<error line="702" number="30452" message="Operator '\' is not defined for types 'Char' and 'Decimal'." />
+		<error line="705" number="30452" message="Operator '\' is not defined for types 'Char' and 'Single'." />
+		<error line="708" number="30452" message="Operator '\' is not defined for types 'Char' and 'Double'." />
+		<error line="711" number="30452" message="Operator '\' is not defined for types 'Char' and 'Char'." />
+		<error line="714" number="30452" message="Operator '\' is not defined for types 'Char' and 'String'." />
+		<error line="717" number="30452" message="Operator '\' is not defined for types 'Char' and 'Date'." />
+		<error line="720" number="30452" message="Operator '\' is not defined for types 'Char' and 'System.DBNull'." />
+		<error line="723" number="30452" message="Operator '\' is not defined for types 'Char' and 'Object'." />
+	</test>
+	<test id="2614" name="OperatorIntrinsic_IntDivision_CharStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Char_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicIntDivision.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="675" number="30452" message="Operator '\' is not defined for types 'Char' and 'Boolean'." />
+		<error line="678" number="30452" message="Operator '\' is not defined for types 'Char' and 'Byte'." />
+		<error line="681" number="30452" message="Operator '\' is not defined for types 'Char' and 'SByte'." />
+		<error line="684" number="30452" message="Operator '\' is not defined for types 'Char' and 'Short'." />
+		<error line="687" number="30452" message="Operator '\' is not defined for types 'Char' and 'UShort'." />
+		<error line="690" number="30452" message="Operator '\' is not defined for types 'Char' and 'Integer'." />
+		<error line="693" number="30452" message="Operator '\' is not defined for types 'Char' and 'UInteger'." />
+		<error line="696" number="30452" message="Operator '\' is not defined for types 'Char' and 'Long'." />
+		<error line="699" number="30452" message="Operator '\' is not defined for types 'Char' and 'ULong'." />
+		<error line="702" number="30452" message="Operator '\' is not defined for types 'Char' and 'Decimal'." />
+		<error line="705" number="30452" message="Operator '\' is not defined for types 'Char' and 'Single'." />
+		<error line="708" number="30452" message="Operator '\' is not defined for types 'Char' and 'Double'." />
+		<error line="711" number="30452" message="Operator '\' is not defined for types 'Char' and 'Char'." />
+		<error line="714" number="30452" message="Operator '\' is not defined for types 'Char' and 'String'." />
+		<error line="717" number="30452" message="Operator '\' is not defined for types 'Char' and 'Date'." />
+		<error line="720" number="30452" message="Operator '\' is not defined for types 'Char' and 'System.DBNull'." />
+		<error line="723" number="30452" message="Operator '\' is not defined for types 'Char' and 'Object'." />
+	</test>
+	<test id="2615" name="OperatorIntrinsic_IntDivision_StringError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:String_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicIntDivision.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="774" number="30452" message="Operator '\' is not defined for types 'String' and 'Char'." />
+		<error line="781" number="30452" message="Operator '\' is not defined for types 'String' and 'Date'." />
+		<error line="784" number="30452" message="Operator '\' is not defined for types 'String' and 'System.DBNull'." />
+	</test>
+	<test id="2616" name="OperatorIntrinsic_IntDivision_StringStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:String_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicIntDivision.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="727" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="727" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Long'." />
+		<error line="731" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="735" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="739" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="743" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="747" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="751" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="755" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="759" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="759" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Long'." />
+		<error line="763" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="763" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="767" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="767" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="771" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="771" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="774" number="30452" message="Operator '\' is not defined for types 'String' and 'Char'." />
+		<error line="778" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="778" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="781" number="30452" message="Operator '\' is not defined for types 'String' and 'Date'." />
+		<error line="784" number="30452" message="Operator '\' is not defined for types 'String' and 'System.DBNull'." />
+		<error line="788" number="30038" message="Option Strict On prohibits operands of type Object for operator '\'." />
+	</test>
+	<test id="2617" name="OperatorIntrinsic_IntDivision_DateTimeError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:DateTime_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicIntDivision.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="791" number="30452" message="Operator '\' is not defined for types 'Date' and 'Boolean'." />
+		<error line="794" number="30452" message="Operator '\' is not defined for types 'Date' and 'Byte'." />
+		<error line="797" number="30452" message="Operator '\' is not defined for types 'Date' and 'SByte'." />
+		<error line="800" number="30452" message="Operator '\' is not defined for types 'Date' and 'Short'." />
+		<error line="803" number="30452" message="Operator '\' is not defined for types 'Date' and 'UShort'." />
+		<error line="806" number="30452" message="Operator '\' is not defined for types 'Date' and 'Integer'." />
+		<error line="809" number="30452" message="Operator '\' is not defined for types 'Date' and 'UInteger'." />
+		<error line="812" number="30452" message="Operator '\' is not defined for types 'Date' and 'Long'." />
+		<error line="815" number="30452" message="Operator '\' is not defined for types 'Date' and 'ULong'." />
+		<error line="818" number="30452" message="Operator '\' is not defined for types 'Date' and 'Decimal'." />
+		<error line="821" number="30452" message="Operator '\' is not defined for types 'Date' and 'Single'." />
+		<error line="824" number="30452" message="Operator '\' is not defined for types 'Date' and 'Double'." />
+		<error line="827" number="30452" message="Operator '\' is not defined for types 'Date' and 'Char'." />
+		<error line="830" number="30452" message="Operator '\' is not defined for types 'Date' and 'String'." />
+		<error line="833" number="30452" message="Operator '\' is not defined for types 'Date' and 'Date'." />
+		<error line="836" number="30452" message="Operator '\' is not defined for types 'Date' and 'System.DBNull'." />
+		<error line="839" number="30452" message="Operator '\' is not defined for types 'Date' and 'Object'." />
+	</test>
+	<test id="2618" name="OperatorIntrinsic_IntDivision_DateTimeStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:DateTime_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicIntDivision.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="791" number="30452" message="Operator '\' is not defined for types 'Date' and 'Boolean'." />
+		<error line="794" number="30452" message="Operator '\' is not defined for types 'Date' and 'Byte'." />
+		<error line="797" number="30452" message="Operator '\' is not defined for types 'Date' and 'SByte'." />
+		<error line="800" number="30452" message="Operator '\' is not defined for types 'Date' and 'Short'." />
+		<error line="803" number="30452" message="Operator '\' is not defined for types 'Date' and 'UShort'." />
+		<error line="806" number="30452" message="Operator '\' is not defined for types 'Date' and 'Integer'." />
+		<error line="809" number="30452" message="Operator '\' is not defined for types 'Date' and 'UInteger'." />
+		<error line="812" number="30452" message="Operator '\' is not defined for types 'Date' and 'Long'." />
+		<error line="815" number="30452" message="Operator '\' is not defined for types 'Date' and 'ULong'." />
+		<error line="818" number="30452" message="Operator '\' is not defined for types 'Date' and 'Decimal'." />
+		<error line="821" number="30452" message="Operator '\' is not defined for types 'Date' and 'Single'." />
+		<error line="824" number="30452" message="Operator '\' is not defined for types 'Date' and 'Double'." />
+		<error line="827" number="30452" message="Operator '\' is not defined for types 'Date' and 'Char'." />
+		<error line="830" number="30452" message="Operator '\' is not defined for types 'Date' and 'String'." />
+		<error line="833" number="30452" message="Operator '\' is not defined for types 'Date' and 'Date'." />
+		<error line="836" number="30452" message="Operator '\' is not defined for types 'Date' and 'System.DBNull'." />
+		<error line="839" number="30452" message="Operator '\' is not defined for types 'Date' and 'Object'." />
+	</test>
+	<test id="2619" name="OperatorIntrinsic_IntDivision_DBNullError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:DBNull_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicIntDivision.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="842" number="30452" message="Operator '\' is not defined for types 'System.DBNull' and 'Boolean'." />
+		<error line="845" number="30452" message="Operator '\' is not defined for types 'System.DBNull' and 'Byte'." />
+		<error line="848" number="30452" message="Operator '\' is not defined for types 'System.DBNull' and 'SByte'." />
+		<error line="851" number="30452" message="Operator '\' is not defined for types 'System.DBNull' and 'Short'." />
+		<error line="854" number="30452" message="Operator '\' is not defined for types 'System.DBNull' and 'UShort'." />
+		<error line="857" number="30452" message="Operator '\' is not defined for types 'System.DBNull' and 'Integer'." />
+		<error line="860" number="30452" message="Operator '\' is not defined for types 'System.DBNull' and 'UInteger'." />
+		<error line="863" number="30452" message="Operator '\' is not defined for types 'System.DBNull' and 'Long'." />
+		<error line="866" number="30452" message="Operator '\' is not defined for types 'System.DBNull' and 'ULong'." />
+		<error line="869" number="30452" message="Operator '\' is not defined for types 'System.DBNull' and 'Decimal'." />
+		<error line="872" number="30452" message="Operator '\' is not defined for types 'System.DBNull' and 'Single'." />
+		<error line="875" number="30452" message="Operator '\' is not defined for types 'System.DBNull' and 'Double'." />
+		<error line="878" number="30452" message="Operator '\' is not defined for types 'System.DBNull' and 'Char'." />
+		<error line="881" number="30452" message="Operator '\' is not defined for types 'System.DBNull' and 'String'." />
+		<error line="884" number="30452" message="Operator '\' is not defined for types 'System.DBNull' and 'Date'." />
+		<error line="887" number="30452" message="Operator '\' is not defined for types 'System.DBNull' and 'System.DBNull'." />
+		<error line="890" number="30452" message="Operator '\' is not defined for types 'System.DBNull' and 'Object'." />
+	</test>
+	<test id="2620" name="OperatorIntrinsic_IntDivision_DBNullStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:DBNull_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicIntDivision.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="842" number="30452" message="Operator '\' is not defined for types 'System.DBNull' and 'Boolean'." />
+		<error line="845" number="30452" message="Operator '\' is not defined for types 'System.DBNull' and 'Byte'." />
+		<error line="848" number="30452" message="Operator '\' is not defined for types 'System.DBNull' and 'SByte'." />
+		<error line="851" number="30452" message="Operator '\' is not defined for types 'System.DBNull' and 'Short'." />
+		<error line="854" number="30452" message="Operator '\' is not defined for types 'System.DBNull' and 'UShort'." />
+		<error line="857" number="30452" message="Operator '\' is not defined for types 'System.DBNull' and 'Integer'." />
+		<error line="860" number="30452" message="Operator '\' is not defined for types 'System.DBNull' and 'UInteger'." />
+		<error line="863" number="30452" message="Operator '\' is not defined for types 'System.DBNull' and 'Long'." />
+		<error line="866" number="30452" message="Operator '\' is not defined for types 'System.DBNull' and 'ULong'." />
+		<error line="869" number="30452" message="Operator '\' is not defined for types 'System.DBNull' and 'Decimal'." />
+		<error line="872" number="30452" message="Operator '\' is not defined for types 'System.DBNull' and 'Single'." />
+		<error line="875" number="30452" message="Operator '\' is not defined for types 'System.DBNull' and 'Double'." />
+		<error line="878" number="30452" message="Operator '\' is not defined for types 'System.DBNull' and 'Char'." />
+		<error line="881" number="30452" message="Operator '\' is not defined for types 'System.DBNull' and 'String'." />
+		<error line="884" number="30452" message="Operator '\' is not defined for types 'System.DBNull' and 'Date'." />
+		<error line="887" number="30452" message="Operator '\' is not defined for types 'System.DBNull' and 'System.DBNull'." />
+		<error line="890" number="30452" message="Operator '\' is not defined for types 'System.DBNull' and 'Object'." />
+	</test>
+	<test id="2621" name="OperatorIntrinsic_IntDivision_ObjectError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Object_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicIntDivision.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="941" number="30452" message="Operator '\' is not defined for types 'Object' and 'Char'." />
+		<error line="948" number="30452" message="Operator '\' is not defined for types 'Object' and 'Date'." />
+		<error line="951" number="30452" message="Operator '\' is not defined for types 'Object' and 'System.DBNull'." />
+	</test>
+	<test id="2622" name="OperatorIntrinsic_IntDivision_ObjectStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Object_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicIntDivision.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="894" number="30038" message="Option Strict On prohibits operands of type Object for operator '\'." />
+		<error line="898" number="30038" message="Option Strict On prohibits operands of type Object for operator '\'." />
+		<error line="902" number="30038" message="Option Strict On prohibits operands of type Object for operator '\'." />
+		<error line="906" number="30038" message="Option Strict On prohibits operands of type Object for operator '\'." />
+		<error line="910" number="30038" message="Option Strict On prohibits operands of type Object for operator '\'." />
+		<error line="914" number="30038" message="Option Strict On prohibits operands of type Object for operator '\'." />
+		<error line="918" number="30038" message="Option Strict On prohibits operands of type Object for operator '\'." />
+		<error line="922" number="30038" message="Option Strict On prohibits operands of type Object for operator '\'." />
+		<error line="926" number="30038" message="Option Strict On prohibits operands of type Object for operator '\'." />
+		<error line="930" number="30038" message="Option Strict On prohibits operands of type Object for operator '\'." />
+		<error line="934" number="30038" message="Option Strict On prohibits operands of type Object for operator '\'." />
+		<error line="938" number="30038" message="Option Strict On prohibits operands of type Object for operator '\'." />
+		<error line="941" number="30452" message="Operator '\' is not defined for types 'Object' and 'Char'." />
+		<error line="945" number="30038" message="Option Strict On prohibits operands of type Object for operator '\'." />
+		<error line="948" number="30452" message="Operator '\' is not defined for types 'Object' and 'Date'." />
+		<error line="951" number="30452" message="Operator '\' is not defined for types 'Object' and 'System.DBNull'." />
+		<error line="955" number="30038" message="Option Strict On prohibits operands of type Object for operator '\'." />
+		<error line="955" number="30038" message="Option Strict On prohibits operands of type Object for operator '\'." />
+	</test>
+	<test id="2623" name="OperatorIntrinsic_Is_" target="exe" mytype="empty">
+		<file>CompileTime2\OperatorIntrinsicIs.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+	</test>
+	<test id="2624" name="OperatorIntrinsic_Is_Strict" mytype="empty">
+		<arguments>/optionstrict+ /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicIs.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+	</test>
+	<test id="2625" name="OperatorIntrinsic_Is_BooleanError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Boolean_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicIs.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="6" number="30020" message="'Is' operator does not accept operands of type 'Boolean'. Operands must be reference or nullable types." />
+		<error line="6" number="30020" message="'Is' operator does not accept operands of type 'Boolean'. Operands must be reference or nullable types." />
+		<error line="9" number="30020" message="'Is' operator does not accept operands of type 'Byte'. Operands must be reference or nullable types." />
+		<error line="9" number="30020" message="'Is' operator does not accept operands of type 'Boolean'. Operands must be reference or nullable types." />
+		<error line="12" number="30020" message="'Is' operator does not accept operands of type 'SByte'. Operands must be reference or nullable types." />
+		<error line="12" number="30020" message="'Is' operator does not accept operands of type 'Boolean'. Operands must be reference or nullable types." />
+		<error line="15" number="30020" message="'Is' operator does not accept operands of type 'Short'. Operands must be reference or nullable types." />
+		<error line="15" number="30020" message="'Is' operator does not accept operands of type 'Boolean'. Operands must be reference or nullable types." />
+		<error line="18" number="30020" message="'Is' operator does not accept operands of type 'UShort'. Operands must be reference or nullable types." />
+		<error line="18" number="30020" message="'Is' operator does not accept operands of type 'Boolean'. Operands must be reference or nullable types." />
+		<error line="21" number="30020" message="'Is' operator does not accept operands of type 'Integer'. Operands must be reference or nullable types." />
+		<error line="21" number="30020" message="'Is' operator does not accept operands of type 'Boolean'. Operands must be reference or nullable types." />
+		<error line="24" number="30020" message="'Is' operator does not accept operands of type 'UInteger'. Operands must be reference or nullable types." />
+		<error line="24" number="30020" message="'Is' operator does not accept operands of type 'Boolean'. Operands must be reference or nullable types." />
+		<error line="27" number="30020" message="'Is' operator does not accept operands of type 'Long'. Operands must be reference or nullable types." />
+		<error line="27" number="30020" message="'Is' operator does not accept operands of type 'Boolean'. Operands must be reference or nullable types." />
+		<error line="30" number="30020" message="'Is' operator does not accept operands of type 'ULong'. Operands must be reference or nullable types." />
+		<error line="30" number="30020" message="'Is' operator does not accept operands of type 'Boolean'. Operands must be reference or nullable types." />
+		<error line="33" number="30020" message="'Is' operator does not accept operands of type 'Decimal'. Operands must be reference or nullable types." />
+		<error line="33" number="30020" message="'Is' operator does not accept operands of type 'Boolean'. Operands must be reference or nullable types." />
+		<error line="36" number="30020" message="'Is' operator does not accept operands of type 'Single'. Operands must be reference or nullable types." />
+		<error line="36" number="30020" message="'Is' operator does not accept operands of type 'Boolean'. Operands must be reference or nullable types." />
+		<error line="39" number="30020" message="'Is' operator does not accept operands of type 'Double'. Operands must be reference or nullable types." />
+		<error line="39" number="30020" message="'Is' operator does not accept operands of type 'Boolean'. Operands must be reference or nullable types." />
+		<error line="42" number="30020" message="'Is' operator does not accept operands of type 'Char'. Operands must be reference or nullable types." />
+		<error line="42" number="30020" message="'Is' operator does not accept operands of type 'Boolean'. Operands must be reference or nullable types." />
+		<error line="45" number="30020" message="'Is' operator does not accept operands of type 'Boolean'. Operands must be reference or nullable types." />
+		<error line="48" number="30020" message="'Is' operator does not accept operands of type 'Date'. Operands must be reference or nullable types." />
+		<error line="48" number="30020" message="'Is' operator does not accept operands of type 'Boolean'. Operands must be reference or nullable types." />
+		<error line="51" number="30020" message="'Is' operator does not accept operands of type 'Boolean'. Operands must be reference or nullable types." />
+		<error line="54" number="30020" message="'Is' operator does not accept operands of type 'Boolean'. Operands must be reference or nullable types." />
+	</test>
+	<test id="2626" name="OperatorIntrinsic_Is_BooleanStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Boolean_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicIs.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="6" number="30020" message="'Is' operator does not accept operands of type 'Boolean'. Operands must be reference or nullable types." />
+		<error line="6" number="30020" message="'Is' operator does not accept operands of type 'Boolean'. Operands must be reference or nullable types." />
+		<error line="9" number="30020" message="'Is' operator does not accept operands of type 'Byte'. Operands must be reference or nullable types." />
+		<error line="9" number="30020" message="'Is' operator does not accept operands of type 'Boolean'. Operands must be reference or nullable types." />
+		<error line="12" number="30020" message="'Is' operator does not accept operands of type 'SByte'. Operands must be reference or nullable types." />
+		<error line="12" number="30020" message="'Is' operator does not accept operands of type 'Boolean'. Operands must be reference or nullable types." />
+		<error line="15" number="30020" message="'Is' operator does not accept operands of type 'Short'. Operands must be reference or nullable types." />
+		<error line="15" number="30020" message="'Is' operator does not accept operands of type 'Boolean'. Operands must be reference or nullable types." />
+		<error line="18" number="30020" message="'Is' operator does not accept operands of type 'UShort'. Operands must be reference or nullable types." />
+		<error line="18" number="30020" message="'Is' operator does not accept operands of type 'Boolean'. Operands must be reference or nullable types." />
+		<error line="21" number="30020" message="'Is' operator does not accept operands of type 'Integer'. Operands must be reference or nullable types." />
+		<error line="21" number="30020" message="'Is' operator does not accept operands of type 'Boolean'. Operands must be reference or nullable types." />
+		<error line="24" number="30020" message="'Is' operator does not accept operands of type 'UInteger'. Operands must be reference or nullable types." />
+		<error line="24" number="30020" message="'Is' operator does not accept operands of type 'Boolean'. Operands must be reference or nullable types." />
+		<error line="27" number="30020" message="'Is' operator does not accept operands of type 'Long'. Operands must be reference or nullable types." />
+		<error line="27" number="30020" message="'Is' operator does not accept operands of type 'Boolean'. Operands must be reference or nullable types." />
+		<error line="30" number="30020" message="'Is' operator does not accept operands of type 'ULong'. Operands must be reference or nullable types." />
+		<error line="30" number="30020" message="'Is' operator does not accept operands of type 'Boolean'. Operands must be reference or nullable types." />
+		<error line="33" number="30020" message="'Is' operator does not accept operands of type 'Decimal'. Operands must be reference or nullable types." />
+		<error line="33" number="30020" message="'Is' operator does not accept operands of type 'Boolean'. Operands must be reference or nullable types." />
+		<error line="36" number="30020" message="'Is' operator does not accept operands of type 'Single'. Operands must be reference or nullable types." />
+		<error line="36" number="30020" message="'Is' operator does not accept operands of type 'Boolean'. Operands must be reference or nullable types." />
+		<error line="39" number="30020" message="'Is' operator does not accept operands of type 'Double'. Operands must be reference or nullable types." />
+		<error line="39" number="30020" message="'Is' operator does not accept operands of type 'Boolean'. Operands must be reference or nullable types." />
+		<error line="42" number="30020" message="'Is' operator does not accept operands of type 'Char'. Operands must be reference or nullable types." />
+		<error line="42" number="30020" message="'Is' operator does not accept operands of type 'Boolean'. Operands must be reference or nullable types." />
+		<error line="45" number="30020" message="'Is' operator does not accept operands of type 'Boolean'. Operands must be reference or nullable types." />
+		<error line="48" number="30020" message="'Is' operator does not accept operands of type 'Date'. Operands must be reference or nullable types." />
+		<error line="48" number="30020" message="'Is' operator does not accept operands of type 'Boolean'. Operands must be reference or nullable types." />
+		<error line="51" number="30020" message="'Is' operator does not accept operands of type 'Boolean'. Operands must be reference or nullable types." />
+		<error line="54" number="30020" message="'Is' operator does not accept operands of type 'Boolean'. Operands must be reference or nullable types." />
+	</test>
+	<test id="2627" name="OperatorIntrinsic_Is_ByteError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Byte_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicIs.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="57" number="30020" message="'Is' operator does not accept operands of type 'Boolean'. Operands must be reference or nullable types." />
+		<error line="57" number="30020" message="'Is' operator does not accept operands of type 'Byte'. Operands must be reference or nullable types." />
+		<error line="60" number="30020" message="'Is' operator does not accept operands of type 'Byte'. Operands must be reference or nullable types." />
+		<error line="60" number="30020" message="'Is' operator does not accept operands of type 'Byte'. Operands must be reference or nullable types." />
+		<error line="63" number="30020" message="'Is' operator does not accept operands of type 'SByte'. Operands must be reference or nullable types." />
+		<error line="63" number="30020" message="'Is' operator does not accept operands of type 'Byte'. Operands must be reference or nullable types." />
+		<error line="66" number="30020" message="'Is' operator does not accept operands of type 'Short'. Operands must be reference or nullable types." />
+		<error line="66" number="30020" message="'Is' operator does not accept operands of type 'Byte'. Operands must be reference or nullable types." />
+		<error line="69" number="30020" message="'Is' operator does not accept operands of type 'UShort'. Operands must be reference or nullable types." />
+		<error line="69" number="30020" message="'Is' operator does not accept operands of type 'Byte'. Operands must be reference or nullable types." />
+		<error line="72" number="30020" message="'Is' operator does not accept operands of type 'Integer'. Operands must be reference or nullable types." />
+		<error line="72" number="30020" message="'Is' operator does not accept operands of type 'Byte'. Operands must be reference or nullable types." />
+		<error line="75" number="30020" message="'Is' operator does not accept operands of type 'UInteger'. Operands must be reference or nullable types." />
+		<error line="75" number="30020" message="'Is' operator does not accept operands of type 'Byte'. Operands must be reference or nullable types." />
+		<error line="78" number="30020" message="'Is' operator does not accept operands of type 'Long'. Operands must be reference or nullable types." />
+		<error line="78" number="30020" message="'Is' operator does not accept operands of type 'Byte'. Operands must be reference or nullable types." />
+		<error line="81" number="30020" message="'Is' operator does not accept operands of type 'ULong'. Operands must be reference or nullable types." />
+		<error line="81" number="30020" message="'Is' operator does not accept operands of type 'Byte'. Operands must be reference or nullable types." />
+		<error line="84" number="30020" message="'Is' operator does not accept operands of type 'Decimal'. Operands must be reference or nullable types." />
+		<error line="84" number="30020" message="'Is' operator does not accept operands of type 'Byte'. Operands must be reference or nullable types." />
+		<error line="87" number="30020" message="'Is' operator does not accept operands of type 'Single'. Operands must be reference or nullable types." />
+		<error line="87" number="30020" message="'Is' operator does not accept operands of type 'Byte'. Operands must be reference or nullable types." />
+		<error line="90" number="30020" message="'Is' operator does not accept operands of type 'Double'. Operands must be reference or nullable types." />
+		<error line="90" number="30020" message="'Is' operator does not accept operands of type 'Byte'. Operands must be reference or nullable types." />
+		<error line="93" number="30020" message="'Is' operator does not accept operands of type 'Char'. Operands must be reference or nullable types." />
+		<error line="93" number="30020" message="'Is' operator does not accept operands of type 'Byte'. Operands must be reference or nullable types." />
+		<error line="96" number="30020" message="'Is' operator does not accept operands of type 'Byte'. Operands must be reference or nullable types." />
+		<error line="99" number="30020" message="'Is' operator does not accept operands of type 'Date'. Operands must be reference or nullable types." />
+		<error line="99" number="30020" message="'Is' operator does not accept operands of type 'Byte'. Operands must be reference or nullable types." />
+		<error line="102" number="30020" message="'Is' operator does not accept operands of type 'Byte'. Operands must be reference or nullable types." />
+		<error line="105" number="30020" message="'Is' operator does not accept operands of type 'Byte'. Operands must be reference or nullable types." />
+	</test>
+	<test id="2628" name="OperatorIntrinsic_Is_ByteStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Byte_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicIs.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="57" number="30020" message="'Is' operator does not accept operands of type 'Boolean'. Operands must be reference or nullable types." />
+		<error line="57" number="30020" message="'Is' operator does not accept operands of type 'Byte'. Operands must be reference or nullable types." />
+		<error line="60" number="30020" message="'Is' operator does not accept operands of type 'Byte'. Operands must be reference or nullable types." />
+		<error line="60" number="30020" message="'Is' operator does not accept operands of type 'Byte'. Operands must be reference or nullable types." />
+		<error line="63" number="30020" message="'Is' operator does not accept operands of type 'SByte'. Operands must be reference or nullable types." />
+		<error line="63" number="30020" message="'Is' operator does not accept operands of type 'Byte'. Operands must be reference or nullable types." />
+		<error line="66" number="30020" message="'Is' operator does not accept operands of type 'Short'. Operands must be reference or nullable types." />
+		<error line="66" number="30020" message="'Is' operator does not accept operands of type 'Byte'. Operands must be reference or nullable types." />
+		<error line="69" number="30020" message="'Is' operator does not accept operands of type 'UShort'. Operands must be reference or nullable types." />
+		<error line="69" number="30020" message="'Is' operator does not accept operands of type 'Byte'. Operands must be reference or nullable types." />
+		<error line="72" number="30020" message="'Is' operator does not accept operands of type 'Integer'. Operands must be reference or nullable types." />
+		<error line="72" number="30020" message="'Is' operator does not accept operands of type 'Byte'. Operands must be reference or nullable types." />
+		<error line="75" number="30020" message="'Is' operator does not accept operands of type 'UInteger'. Operands must be reference or nullable types." />
+		<error line="75" number="30020" message="'Is' operator does not accept operands of type 'Byte'. Operands must be reference or nullable types." />
+		<error line="78" number="30020" message="'Is' operator does not accept operands of type 'Long'. Operands must be reference or nullable types." />
+		<error line="78" number="30020" message="'Is' operator does not accept operands of type 'Byte'. Operands must be reference or nullable types." />
+		<error line="81" number="30020" message="'Is' operator does not accept operands of type 'ULong'. Operands must be reference or nullable types." />
+		<error line="81" number="30020" message="'Is' operator does not accept operands of type 'Byte'. Operands must be reference or nullable types." />
+		<error line="84" number="30020" message="'Is' operator does not accept operands of type 'Decimal'. Operands must be reference or nullable types." />
+		<error line="84" number="30020" message="'Is' operator does not accept operands of type 'Byte'. Operands must be reference or nullable types." />
+		<error line="87" number="30020" message="'Is' operator does not accept operands of type 'Single'. Operands must be reference or nullable types." />
+		<error line="87" number="30020" message="'Is' operator does not accept operands of type 'Byte'. Operands must be reference or nullable types." />
+		<error line="90" number="30020" message="'Is' operator does not accept operands of type 'Double'. Operands must be reference or nullable types." />
+		<error line="90" number="30020" message="'Is' operator does not accept operands of type 'Byte'. Operands must be reference or nullable types." />
+		<error line="93" number="30020" message="'Is' operator does not accept operands of type 'Char'. Operands must be reference or nullable types." />
+		<error line="93" number="30020" message="'Is' operator does not accept operands of type 'Byte'. Operands must be reference or nullable types." />
+		<error line="96" number="30020" message="'Is' operator does not accept operands of type 'Byte'. Operands must be reference or nullable types." />
+		<error line="99" number="30020" message="'Is' operator does not accept operands of type 'Date'. Operands must be reference or nullable types." />
+		<error line="99" number="30020" message="'Is' operator does not accept operands of type 'Byte'. Operands must be reference or nullable types." />
+		<error line="102" number="30020" message="'Is' operator does not accept operands of type 'Byte'. Operands must be reference or nullable types." />
+		<error line="105" number="30020" message="'Is' operator does not accept operands of type 'Byte'. Operands must be reference or nullable types." />
+	</test>
+	<test id="2629" name="OperatorIntrinsic_Is_SByteError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:SByte_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicIs.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="108" number="30020" message="'Is' operator does not accept operands of type 'Boolean'. Operands must be reference or nullable types." />
+		<error line="108" number="30020" message="'Is' operator does not accept operands of type 'SByte'. Operands must be reference or nullable types." />
+		<error line="111" number="30020" message="'Is' operator does not accept operands of type 'Byte'. Operands must be reference or nullable types." />
+		<error line="111" number="30020" message="'Is' operator does not accept operands of type 'SByte'. Operands must be reference or nullable types." />
+		<error line="114" number="30020" message="'Is' operator does not accept operands of type 'SByte'. Operands must be reference or nullable types." />
+		<error line="114" number="30020" message="'Is' operator does not accept operands of type 'SByte'. Operands must be reference or nullable types." />
+		<error line="117" number="30020" message="'Is' operator does not accept operands of type 'Short'. Operands must be reference or nullable types." />
+		<error line="117" number="30020" message="'Is' operator does not accept operands of type 'SByte'. Operands must be reference or nullable types." />
+		<error line="120" number="30020" message="'Is' operator does not accept operands of type 'UShort'. Operands must be reference or nullable types." />
+		<error line="120" number="30020" message="'Is' operator does not accept operands of type 'SByte'. Operands must be reference or nullable types." />
+		<error line="123" number="30020" message="'Is' operator does not accept operands of type 'Integer'. Operands must be reference or nullable types." />
+		<error line="123" number="30020" message="'Is' operator does not accept operands of type 'SByte'. Operands must be reference or nullable types." />
+		<error line="126" number="30020" message="'Is' operator does not accept operands of type 'UInteger'. Operands must be reference or nullable types." />
+		<error line="126" number="30020" message="'Is' operator does not accept operands of type 'SByte'. Operands must be reference or nullable types." />
+		<error line="129" number="30020" message="'Is' operator does not accept operands of type 'Long'. Operands must be reference or nullable types." />
+		<error line="129" number="30020" message="'Is' operator does not accept operands of type 'SByte'. Operands must be reference or nullable types." />
+		<error line="132" number="30020" message="'Is' operator does not accept operands of type 'ULong'. Operands must be reference or nullable types." />
+		<error line="132" number="30020" message="'Is' operator does not accept operands of type 'SByte'. Operands must be reference or nullable types." />
+		<error line="135" number="30020" message="'Is' operator does not accept operands of type 'Decimal'. Operands must be reference or nullable types." />
+		<error line="135" number="30020" message="'Is' operator does not accept operands of type 'SByte'. Operands must be reference or nullable types." />
+		<error line="138" number="30020" message="'Is' operator does not accept operands of type 'Single'. Operands must be reference or nullable types." />
+		<error line="138" number="30020" message="'Is' operator does not accept operands of type 'SByte'. Operands must be reference or nullable types." />
+		<error line="141" number="30020" message="'Is' operator does not accept operands of type 'Double'. Operands must be reference or nullable types." />
+		<error line="141" number="30020" message="'Is' operator does not accept operands of type 'SByte'. Operands must be reference or nullable types." />
+		<error line="144" number="30020" message="'Is' operator does not accept operands of type 'Char'. Operands must be reference or nullable types." />
+		<error line="144" number="30020" message="'Is' operator does not accept operands of type 'SByte'. Operands must be reference or nullable types." />
+		<error line="147" number="30020" message="'Is' operator does not accept operands of type 'SByte'. Operands must be reference or nullable types." />
+		<error line="150" number="30020" message="'Is' operator does not accept operands of type 'Date'. Operands must be reference or nullable types." />
+		<error line="150" number="30020" message="'Is' operator does not accept operands of type 'SByte'. Operands must be reference or nullable types." />
+		<error line="153" number="30020" message="'Is' operator does not accept operands of type 'SByte'. Operands must be reference or nullable types." />
+		<error line="156" number="30020" message="'Is' operator does not accept operands of type 'SByte'. Operands must be reference or nullable types." />
+	</test>
+	<test id="2630" name="OperatorIntrinsic_Is_SByteStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:SByte_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicIs.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="108" number="30020" message="'Is' operator does not accept operands of type 'Boolean'. Operands must be reference or nullable types." />
+		<error line="108" number="30020" message="'Is' operator does not accept operands of type 'SByte'. Operands must be reference or nullable types." />
+		<error line="111" number="30020" message="'Is' operator does not accept operands of type 'Byte'. Operands must be reference or nullable types." />
+		<error line="111" number="30020" message="'Is' operator does not accept operands of type 'SByte'. Operands must be reference or nullable types." />
+		<error line="114" number="30020" message="'Is' operator does not accept operands of type 'SByte'. Operands must be reference or nullable types." />
+		<error line="114" number="30020" message="'Is' operator does not accept operands of type 'SByte'. Operands must be reference or nullable types." />
+		<error line="117" number="30020" message="'Is' operator does not accept operands of type 'Short'. Operands must be reference or nullable types." />
+		<error line="117" number="30020" message="'Is' operator does not accept operands of type 'SByte'. Operands must be reference or nullable types." />
+		<error line="120" number="30020" message="'Is' operator does not accept operands of type 'UShort'. Operands must be reference or nullable types." />
+		<error line="120" number="30020" message="'Is' operator does not accept operands of type 'SByte'. Operands must be reference or nullable types." />
+		<error line="123" number="30020" message="'Is' operator does not accept operands of type 'Integer'. Operands must be reference or nullable types." />
+		<error line="123" number="30020" message="'Is' operator does not accept operands of type 'SByte'. Operands must be reference or nullable types." />
+		<error line="126" number="30020" message="'Is' operator does not accept operands of type 'UInteger'. Operands must be reference or nullable types." />
+		<error line="126" number="30020" message="'Is' operator does not accept operands of type 'SByte'. Operands must be reference or nullable types." />
+		<error line="129" number="30020" message="'Is' operator does not accept operands of type 'Long'. Operands must be reference or nullable types." />
+		<error line="129" number="30020" message="'Is' operator does not accept operands of type 'SByte'. Operands must be reference or nullable types." />
+		<error line="132" number="30020" message="'Is' operator does not accept operands of type 'ULong'. Operands must be reference or nullable types." />
+		<error line="132" number="30020" message="'Is' operator does not accept operands of type 'SByte'. Operands must be reference or nullable types." />
+		<error line="135" number="30020" message="'Is' operator does not accept operands of type 'Decimal'. Operands must be reference or nullable types." />
+		<error line="135" number="30020" message="'Is' operator does not accept operands of type 'SByte'. Operands must be reference or nullable types." />
+		<error line="138" number="30020" message="'Is' operator does not accept operands of type 'Single'. Operands must be reference or nullable types." />
+		<error line="138" number="30020" message="'Is' operator does not accept operands of type 'SByte'. Operands must be reference or nullable types." />
+		<error line="141" number="30020" message="'Is' operator does not accept operands of type 'Double'. Operands must be reference or nullable types." />
+		<error line="141" number="30020" message="'Is' operator does not accept operands of type 'SByte'. Operands must be reference or nullable types." />
+		<error line="144" number="30020" message="'Is' operator does not accept operands of type 'Char'. Operands must be reference or nullable types." />
+		<error line="144" number="30020" message="'Is' operator does not accept operands of type 'SByte'. Operands must be reference or nullable types." />
+		<error line="147" number="30020" message="'Is' operator does not accept operands of type 'SByte'. Operands must be reference or nullable types." />
+		<error line="150" number="30020" message="'Is' operator does not accept operands of type 'Date'. Operands must be reference or nullable types." />
+		<error line="150" number="30020" message="'Is' operator does not accept operands of type 'SByte'. Operands must be reference or nullable types." />
+		<error line="153" number="30020" message="'Is' operator does not accept operands of type 'SByte'. Operands must be reference or nullable types." />
+		<error line="156" number="30020" message="'Is' operator does not accept operands of type 'SByte'. Operands must be reference or nullable types." />
+	</test>
+	<test id="2631" name="OperatorIntrinsic_Is_Int16Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Int16_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicIs.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="159" number="30020" message="'Is' operator does not accept operands of type 'Boolean'. Operands must be reference or nullable types." />
+		<error line="159" number="30020" message="'Is' operator does not accept operands of type 'Short'. Operands must be reference or nullable types." />
+		<error line="162" number="30020" message="'Is' operator does not accept operands of type 'Byte'. Operands must be reference or nullable types." />
+		<error line="162" number="30020" message="'Is' operator does not accept operands of type 'Short'. Operands must be reference or nullable types." />
+		<error line="165" number="30020" message="'Is' operator does not accept operands of type 'SByte'. Operands must be reference or nullable types." />
+		<error line="165" number="30020" message="'Is' operator does not accept operands of type 'Short'. Operands must be reference or nullable types." />
+		<error line="168" number="30020" message="'Is' operator does not accept operands of type 'Short'. Operands must be reference or nullable types." />
+		<error line="168" number="30020" message="'Is' operator does not accept operands of type 'Short'. Operands must be reference or nullable types." />
+		<error line="171" number="30020" message="'Is' operator does not accept operands of type 'UShort'. Operands must be reference or nullable types." />
+		<error line="171" number="30020" message="'Is' operator does not accept operands of type 'Short'. Operands must be reference or nullable types." />
+		<error line="174" number="30020" message="'Is' operator does not accept operands of type 'Integer'. Operands must be reference or nullable types." />
+		<error line="174" number="30020" message="'Is' operator does not accept operands of type 'Short'. Operands must be reference or nullable types." />
+		<error line="177" number="30020" message="'Is' operator does not accept operands of type 'UInteger'. Operands must be reference or nullable types." />
+		<error line="177" number="30020" message="'Is' operator does not accept operands of type 'Short'. Operands must be reference or nullable types." />
+		<error line="180" number="30020" message="'Is' operator does not accept operands of type 'Long'. Operands must be reference or nullable types." />
+		<error line="180" number="30020" message="'Is' operator does not accept operands of type 'Short'. Operands must be reference or nullable types." />
+		<error line="183" number="30020" message="'Is' operator does not accept operands of type 'ULong'. Operands must be reference or nullable types." />
+		<error line="183" number="30020" message="'Is' operator does not accept operands of type 'Short'. Operands must be reference or nullable types." />
+		<error line="186" number="30020" message="'Is' operator does not accept operands of type 'Decimal'. Operands must be reference or nullable types." />
+		<error line="186" number="30020" message="'Is' operator does not accept operands of type 'Short'. Operands must be reference or nullable types." />
+		<error line="189" number="30020" message="'Is' operator does not accept operands of type 'Single'. Operands must be reference or nullable types." />
+		<error line="189" number="30020" message="'Is' operator does not accept operands of type 'Short'. Operands must be reference or nullable types." />
+		<error line="192" number="30020" message="'Is' operator does not accept operands of type 'Double'. Operands must be reference or nullable types." />
+		<error line="192" number="30020" message="'Is' operator does not accept operands of type 'Short'. Operands must be reference or nullable types." />
+		<error line="195" number="30020" message="'Is' operator does not accept operands of type 'Char'. Operands must be reference or nullable types." />
+		<error line="195" number="30020" message="'Is' operator does not accept operands of type 'Short'. Operands must be reference or nullable types." />
+		<error line="198" number="30020" message="'Is' operator does not accept operands of type 'Short'. Operands must be reference or nullable types." />
+		<error line="201" number="30020" message="'Is' operator does not accept operands of type 'Date'. Operands must be reference or nullable types." />
+		<error line="201" number="30020" message="'Is' operator does not accept operands of type 'Short'. Operands must be reference or nullable types." />
+		<error line="204" number="30020" message="'Is' operator does not accept operands of type 'Short'. Operands must be reference or nullable types." />
+		<error line="207" number="30020" message="'Is' operator does not accept operands of type 'Short'. Operands must be reference or nullable types." />
+	</test>
+	<test id="2632" name="OperatorIntrinsic_Is_Int16StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Int16_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicIs.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="159" number="30020" message="'Is' operator does not accept operands of type 'Boolean'. Operands must be reference or nullable types." />
+		<error line="159" number="30020" message="'Is' operator does not accept operands of type 'Short'. Operands must be reference or nullable types." />
+		<error line="162" number="30020" message="'Is' operator does not accept operands of type 'Byte'. Operands must be reference or nullable types." />
+		<error line="162" number="30020" message="'Is' operator does not accept operands of type 'Short'. Operands must be reference or nullable types." />
+		<error line="165" number="30020" message="'Is' operator does not accept operands of type 'SByte'. Operands must be reference or nullable types." />
+		<error line="165" number="30020" message="'Is' operator does not accept operands of type 'Short'. Operands must be reference or nullable types." />
+		<error line="168" number="30020" message="'Is' operator does not accept operands of type 'Short'. Operands must be reference or nullable types." />
+		<error line="168" number="30020" message="'Is' operator does not accept operands of type 'Short'. Operands must be reference or nullable types." />
+		<error line="171" number="30020" message="'Is' operator does not accept operands of type 'UShort'. Operands must be reference or nullable types." />
+		<error line="171" number="30020" message="'Is' operator does not accept operands of type 'Short'. Operands must be reference or nullable types." />
+		<error line="174" number="30020" message="'Is' operator does not accept operands of type 'Integer'. Operands must be reference or nullable types." />
+		<error line="174" number="30020" message="'Is' operator does not accept operands of type 'Short'. Operands must be reference or nullable types." />
+		<error line="177" number="30020" message="'Is' operator does not accept operands of type 'UInteger'. Operands must be reference or nullable types." />
+		<error line="177" number="30020" message="'Is' operator does not accept operands of type 'Short'. Operands must be reference or nullable types." />
+		<error line="180" number="30020" message="'Is' operator does not accept operands of type 'Long'. Operands must be reference or nullable types." />
+		<error line="180" number="30020" message="'Is' operator does not accept operands of type 'Short'. Operands must be reference or nullable types." />
+		<error line="183" number="30020" message="'Is' operator does not accept operands of type 'ULong'. Operands must be reference or nullable types." />
+		<error line="183" number="30020" message="'Is' operator does not accept operands of type 'Short'. Operands must be reference or nullable types." />
+		<error line="186" number="30020" message="'Is' operator does not accept operands of type 'Decimal'. Operands must be reference or nullable types." />
+		<error line="186" number="30020" message="'Is' operator does not accept operands of type 'Short'. Operands must be reference or nullable types." />
+		<error line="189" number="30020" message="'Is' operator does not accept operands of type 'Single'. Operands must be reference or nullable types." />
+		<error line="189" number="30020" message="'Is' operator does not accept operands of type 'Short'. Operands must be reference or nullable types." />
+		<error line="192" number="30020" message="'Is' operator does not accept operands of type 'Double'. Operands must be reference or nullable types." />
+		<error line="192" number="30020" message="'Is' operator does not accept operands of type 'Short'. Operands must be reference or nullable types." />
+		<error line="195" number="30020" message="'Is' operator does not accept operands of type 'Char'. Operands must be reference or nullable types." />
+		<error line="195" number="30020" message="'Is' operator does not accept operands of type 'Short'. Operands must be reference or nullable types." />
+		<error line="198" number="30020" message="'Is' operator does not accept operands of type 'Short'. Operands must be reference or nullable types." />
+		<error line="201" number="30020" message="'Is' operator does not accept operands of type 'Date'. Operands must be reference or nullable types." />
+		<error line="201" number="30020" message="'Is' operator does not accept operands of type 'Short'. Operands must be reference or nullable types." />
+		<error line="204" number="30020" message="'Is' operator does not accept operands of type 'Short'. Operands must be reference or nullable types." />
+		<error line="207" number="30020" message="'Is' operator does not accept operands of type 'Short'. Operands must be reference or nullable types." />
+	</test>
+	<test id="2633" name="OperatorIntrinsic_Is_UInt16Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:UInt16_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicIs.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="210" number="30020" message="'Is' operator does not accept operands of type 'Boolean'. Operands must be reference or nullable types." />
+		<error line="210" number="30020" message="'Is' operator does not accept operands of type 'UShort'. Operands must be reference or nullable types." />
+		<error line="213" number="30020" message="'Is' operator does not accept operands of type 'Byte'. Operands must be reference or nullable types." />
+		<error line="213" number="30020" message="'Is' operator does not accept operands of type 'UShort'. Operands must be reference or nullable types." />
+		<error line="216" number="30020" message="'Is' operator does not accept operands of type 'SByte'. Operands must be reference or nullable types." />
+		<error line="216" number="30020" message="'Is' operator does not accept operands of type 'UShort'. Operands must be reference or nullable types." />
+		<error line="219" number="30020" message="'Is' operator does not accept operands of type 'Short'. Operands must be reference or nullable types." />
+		<error line="219" number="30020" message="'Is' operator does not accept operands of type 'UShort'. Operands must be reference or nullable types." />
+		<error line="222" number="30020" message="'Is' operator does not accept operands of type 'UShort'. Operands must be reference or nullable types." />
+		<error line="222" number="30020" message="'Is' operator does not accept operands of type 'UShort'. Operands must be reference or nullable types." />
+		<error line="225" number="30020" message="'Is' operator does not accept operands of type 'Integer'. Operands must be reference or nullable types." />
+		<error line="225" number="30020" message="'Is' operator does not accept operands of type 'UShort'. Operands must be reference or nullable types." />
+		<error line="228" number="30020" message="'Is' operator does not accept operands of type 'UInteger'. Operands must be reference or nullable types." />
+		<error line="228" number="30020" message="'Is' operator does not accept operands of type 'UShort'. Operands must be reference or nullable types." />
+		<error line="231" number="30020" message="'Is' operator does not accept operands of type 'Long'. Operands must be reference or nullable types." />
+		<error line="231" number="30020" message="'Is' operator does not accept operands of type 'UShort'. Operands must be reference or nullable types." />
+		<error line="234" number="30020" message="'Is' operator does not accept operands of type 'ULong'. Operands must be reference or nullable types." />
+		<error line="234" number="30020" message="'Is' operator does not accept operands of type 'UShort'. Operands must be reference or nullable types." />
+		<error line="237" number="30020" message="'Is' operator does not accept operands of type 'Decimal'. Operands must be reference or nullable types." />
+		<error line="237" number="30020" message="'Is' operator does not accept operands of type 'UShort'. Operands must be reference or nullable types." />
+		<error line="240" number="30020" message="'Is' operator does not accept operands of type 'Single'. Operands must be reference or nullable types." />
+		<error line="240" number="30020" message="'Is' operator does not accept operands of type 'UShort'. Operands must be reference or nullable types." />
+		<error line="243" number="30020" message="'Is' operator does not accept operands of type 'Double'. Operands must be reference or nullable types." />
+		<error line="243" number="30020" message="'Is' operator does not accept operands of type 'UShort'. Operands must be reference or nullable types." />
+		<error line="246" number="30020" message="'Is' operator does not accept operands of type 'Char'. Operands must be reference or nullable types." />
+		<error line="246" number="30020" message="'Is' operator does not accept operands of type 'UShort'. Operands must be reference or nullable types." />
+		<error line="249" number="30020" message="'Is' operator does not accept operands of type 'UShort'. Operands must be reference or nullable types." />
+		<error line="252" number="30020" message="'Is' operator does not accept operands of type 'Date'. Operands must be reference or nullable types." />
+		<error line="252" number="30020" message="'Is' operator does not accept operands of type 'UShort'. Operands must be reference or nullable types." />
+		<error line="255" number="30020" message="'Is' operator does not accept operands of type 'UShort'. Operands must be reference or nullable types." />
+		<error line="258" number="30020" message="'Is' operator does not accept operands of type 'UShort'. Operands must be reference or nullable types." />
+	</test>
+	<test id="2634" name="OperatorIntrinsic_Is_UInt16StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:UInt16_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicIs.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="210" number="30020" message="'Is' operator does not accept operands of type 'Boolean'. Operands must be reference or nullable types." />
+		<error line="210" number="30020" message="'Is' operator does not accept operands of type 'UShort'. Operands must be reference or nullable types." />
+		<error line="213" number="30020" message="'Is' operator does not accept operands of type 'Byte'. Operands must be reference or nullable types." />
+		<error line="213" number="30020" message="'Is' operator does not accept operands of type 'UShort'. Operands must be reference or nullable types." />
+		<error line="216" number="30020" message="'Is' operator does not accept operands of type 'SByte'. Operands must be reference or nullable types." />
+		<error line="216" number="30020" message="'Is' operator does not accept operands of type 'UShort'. Operands must be reference or nullable types." />
+		<error line="219" number="30020" message="'Is' operator does not accept operands of type 'Short'. Operands must be reference or nullable types." />
+		<error line="219" number="30020" message="'Is' operator does not accept operands of type 'UShort'. Operands must be reference or nullable types." />
+		<error line="222" number="30020" message="'Is' operator does not accept operands of type 'UShort'. Operands must be reference or nullable types." />
+		<error line="222" number="30020" message="'Is' operator does not accept operands of type 'UShort'. Operands must be reference or nullable types." />
+		<error line="225" number="30020" message="'Is' operator does not accept operands of type 'Integer'. Operands must be reference or nullable types." />
+		<error line="225" number="30020" message="'Is' operator does not accept operands of type 'UShort'. Operands must be reference or nullable types." />
+		<error line="228" number="30020" message="'Is' operator does not accept operands of type 'UInteger'. Operands must be reference or nullable types." />
+		<error line="228" number="30020" message="'Is' operator does not accept operands of type 'UShort'. Operands must be reference or nullable types." />
+		<error line="231" number="30020" message="'Is' operator does not accept operands of type 'Long'. Operands must be reference or nullable types." />
+		<error line="231" number="30020" message="'Is' operator does not accept operands of type 'UShort'. Operands must be reference or nullable types." />
+		<error line="234" number="30020" message="'Is' operator does not accept operands of type 'ULong'. Operands must be reference or nullable types." />
+		<error line="234" number="30020" message="'Is' operator does not accept operands of type 'UShort'. Operands must be reference or nullable types." />
+		<error line="237" number="30020" message="'Is' operator does not accept operands of type 'Decimal'. Operands must be reference or nullable types." />
+		<error line="237" number="30020" message="'Is' operator does not accept operands of type 'UShort'. Operands must be reference or nullable types." />
+		<error line="240" number="30020" message="'Is' operator does not accept operands of type 'Single'. Operands must be reference or nullable types." />
+		<error line="240" number="30020" message="'Is' operator does not accept operands of type 'UShort'. Operands must be reference or nullable types." />
+		<error line="243" number="30020" message="'Is' operator does not accept operands of type 'Double'. Operands must be reference or nullable types." />
+		<error line="243" number="30020" message="'Is' operator does not accept operands of type 'UShort'. Operands must be reference or nullable types." />
+		<error line="246" number="30020" message="'Is' operator does not accept operands of type 'Char'. Operands must be reference or nullable types." />
+		<error line="246" number="30020" message="'Is' operator does not accept operands of type 'UShort'. Operands must be reference or nullable types." />
+		<error line="249" number="30020" message="'Is' operator does not accept operands of type 'UShort'. Operands must be reference or nullable types." />
+		<error line="252" number="30020" message="'Is' operator does not accept operands of type 'Date'. Operands must be reference or nullable types." />
+		<error line="252" number="30020" message="'Is' operator does not accept operands of type 'UShort'. Operands must be reference or nullable types." />
+		<error line="255" number="30020" message="'Is' operator does not accept operands of type 'UShort'. Operands must be reference or nullable types." />
+		<error line="258" number="30020" message="'Is' operator does not accept operands of type 'UShort'. Operands must be reference or nullable types." />
+	</test>
+	<test id="2635" name="OperatorIntrinsic_Is_Int32Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Int32_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicIs.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="261" number="30020" message="'Is' operator does not accept operands of type 'Boolean'. Operands must be reference or nullable types." />
+		<error line="261" number="30020" message="'Is' operator does not accept operands of type 'Integer'. Operands must be reference or nullable types." />
+		<error line="264" number="30020" message="'Is' operator does not accept operands of type 'Byte'. Operands must be reference or nullable types." />
+		<error line="264" number="30020" message="'Is' operator does not accept operands of type 'Integer'. Operands must be reference or nullable types." />
+		<error line="267" number="30020" message="'Is' operator does not accept operands of type 'SByte'. Operands must be reference or nullable types." />
+		<error line="267" number="30020" message="'Is' operator does not accept operands of type 'Integer'. Operands must be reference or nullable types." />
+		<error line="270" number="30020" message="'Is' operator does not accept operands of type 'Short'. Operands must be reference or nullable types." />
+		<error line="270" number="30020" message="'Is' operator does not accept operands of type 'Integer'. Operands must be reference or nullable types." />
+		<error line="273" number="30020" message="'Is' operator does not accept operands of type 'UShort'. Operands must be reference or nullable types." />
+		<error line="273" number="30020" message="'Is' operator does not accept operands of type 'Integer'. Operands must be reference or nullable types." />
+		<error line="276" number="30020" message="'Is' operator does not accept operands of type 'Integer'. Operands must be reference or nullable types." />
+		<error line="276" number="30020" message="'Is' operator does not accept operands of type 'Integer'. Operands must be reference or nullable types." />
+		<error line="279" number="30020" message="'Is' operator does not accept operands of type 'UInteger'. Operands must be reference or nullable types." />
+		<error line="279" number="30020" message="'Is' operator does not accept operands of type 'Integer'. Operands must be reference or nullable types." />
+		<error line="282" number="30020" message="'Is' operator does not accept operands of type 'Long'. Operands must be reference or nullable types." />
+		<error line="282" number="30020" message="'Is' operator does not accept operands of type 'Integer'. Operands must be reference or nullable types." />
+		<error line="285" number="30020" message="'Is' operator does not accept operands of type 'ULong'. Operands must be reference or nullable types." />
+		<error line="285" number="30020" message="'Is' operator does not accept operands of type 'Integer'. Operands must be reference or nullable types." />
+		<error line="288" number="30020" message="'Is' operator does not accept operands of type 'Decimal'. Operands must be reference or nullable types." />
+		<error line="288" number="30020" message="'Is' operator does not accept operands of type 'Integer'. Operands must be reference or nullable types." />
+		<error line="291" number="30020" message="'Is' operator does not accept operands of type 'Single'. Operands must be reference or nullable types." />
+		<error line="291" number="30020" message="'Is' operator does not accept operands of type 'Integer'. Operands must be reference or nullable types." />
+		<error line="294" number="30020" message="'Is' operator does not accept operands of type 'Double'. Operands must be reference or nullable types." />
+		<error line="294" number="30020" message="'Is' operator does not accept operands of type 'Integer'. Operands must be reference or nullable types." />
+		<error line="297" number="30020" message="'Is' operator does not accept operands of type 'Char'. Operands must be reference or nullable types." />
+		<error line="297" number="30020" message="'Is' operator does not accept operands of type 'Integer'. Operands must be reference or nullable types." />
+		<error line="300" number="30020" message="'Is' operator does not accept operands of type 'Integer'. Operands must be reference or nullable types." />
+		<error line="303" number="30020" message="'Is' operator does not accept operands of type 'Date'. Operands must be reference or nullable types." />
+		<error line="303" number="30020" message="'Is' operator does not accept operands of type 'Integer'. Operands must be reference or nullable types." />
+		<error line="306" number="30020" message="'Is' operator does not accept operands of type 'Integer'. Operands must be reference or nullable types." />
+		<error line="309" number="30020" message="'Is' operator does not accept operands of type 'Integer'. Operands must be reference or nullable types." />
+	</test>
+	<test id="2636" name="OperatorIntrinsic_Is_Int32StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Int32_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicIs.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="261" number="30020" message="'Is' operator does not accept operands of type 'Boolean'. Operands must be reference or nullable types." />
+		<error line="261" number="30020" message="'Is' operator does not accept operands of type 'Integer'. Operands must be reference or nullable types." />
+		<error line="264" number="30020" message="'Is' operator does not accept operands of type 'Byte'. Operands must be reference or nullable types." />
+		<error line="264" number="30020" message="'Is' operator does not accept operands of type 'Integer'. Operands must be reference or nullable types." />
+		<error line="267" number="30020" message="'Is' operator does not accept operands of type 'SByte'. Operands must be reference or nullable types." />
+		<error line="267" number="30020" message="'Is' operator does not accept operands of type 'Integer'. Operands must be reference or nullable types." />
+		<error line="270" number="30020" message="'Is' operator does not accept operands of type 'Short'. Operands must be reference or nullable types." />
+		<error line="270" number="30020" message="'Is' operator does not accept operands of type 'Integer'. Operands must be reference or nullable types." />
+		<error line="273" number="30020" message="'Is' operator does not accept operands of type 'UShort'. Operands must be reference or nullable types." />
+		<error line="273" number="30020" message="'Is' operator does not accept operands of type 'Integer'. Operands must be reference or nullable types." />
+		<error line="276" number="30020" message="'Is' operator does not accept operands of type 'Integer'. Operands must be reference or nullable types." />
+		<error line="276" number="30020" message="'Is' operator does not accept operands of type 'Integer'. Operands must be reference or nullable types." />
+		<error line="279" number="30020" message="'Is' operator does not accept operands of type 'UInteger'. Operands must be reference or nullable types." />
+		<error line="279" number="30020" message="'Is' operator does not accept operands of type 'Integer'. Operands must be reference or nullable types." />
+		<error line="282" number="30020" message="'Is' operator does not accept operands of type 'Long'. Operands must be reference or nullable types." />
+		<error line="282" number="30020" message="'Is' operator does not accept operands of type 'Integer'. Operands must be reference or nullable types." />
+		<error line="285" number="30020" message="'Is' operator does not accept operands of type 'ULong'. Operands must be reference or nullable types." />
+		<error line="285" number="30020" message="'Is' operator does not accept operands of type 'Integer'. Operands must be reference or nullable types." />
+		<error line="288" number="30020" message="'Is' operator does not accept operands of type 'Decimal'. Operands must be reference or nullable types." />
+		<error line="288" number="30020" message="'Is' operator does not accept operands of type 'Integer'. Operands must be reference or nullable types." />
+		<error line="291" number="30020" message="'Is' operator does not accept operands of type 'Single'. Operands must be reference or nullable types." />
+		<error line="291" number="30020" message="'Is' operator does not accept operands of type 'Integer'. Operands must be reference or nullable types." />
+		<error line="294" number="30020" message="'Is' operator does not accept operands of type 'Double'. Operands must be reference or nullable types." />
+		<error line="294" number="30020" message="'Is' operator does not accept operands of type 'Integer'. Operands must be reference or nullable types." />
+		<error line="297" number="30020" message="'Is' operator does not accept operands of type 'Char'. Operands must be reference or nullable types." />
+		<error line="297" number="30020" message="'Is' operator does not accept operands of type 'Integer'. Operands must be reference or nullable types." />
+		<error line="300" number="30020" message="'Is' operator does not accept operands of type 'Integer'. Operands must be reference or nullable types." />
+		<error line="303" number="30020" message="'Is' operator does not accept operands of type 'Date'. Operands must be reference or nullable types." />
+		<error line="303" number="30020" message="'Is' operator does not accept operands of type 'Integer'. Operands must be reference or nullable types." />
+		<error line="306" number="30020" message="'Is' operator does not accept operands of type 'Integer'. Operands must be reference or nullable types." />
+		<error line="309" number="30020" message="'Is' operator does not accept operands of type 'Integer'. Operands must be reference or nullable types." />
+	</test>
+	<test id="2637" name="OperatorIntrinsic_Is_UInt32Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:UInt32_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicIs.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="312" number="30020" message="'Is' operator does not accept operands of type 'Boolean'. Operands must be reference or nullable types." />
+		<error line="312" number="30020" message="'Is' operator does not accept operands of type 'UInteger'. Operands must be reference or nullable types." />
+		<error line="315" number="30020" message="'Is' operator does not accept operands of type 'Byte'. Operands must be reference or nullable types." />
+		<error line="315" number="30020" message="'Is' operator does not accept operands of type 'UInteger'. Operands must be reference or nullable types." />
+		<error line="318" number="30020" message="'Is' operator does not accept operands of type 'SByte'. Operands must be reference or nullable types." />
+		<error line="318" number="30020" message="'Is' operator does not accept operands of type 'UInteger'. Operands must be reference or nullable types." />
+		<error line="321" number="30020" message="'Is' operator does not accept operands of type 'Short'. Operands must be reference or nullable types." />
+		<error line="321" number="30020" message="'Is' operator does not accept operands of type 'UInteger'. Operands must be reference or nullable types." />
+		<error line="324" number="30020" message="'Is' operator does not accept operands of type 'UShort'. Operands must be reference or nullable types." />
+		<error line="324" number="30020" message="'Is' operator does not accept operands of type 'UInteger'. Operands must be reference or nullable types." />
+		<error line="327" number="30020" message="'Is' operator does not accept operands of type 'Integer'. Operands must be reference or nullable types." />
+		<error line="327" number="30020" message="'Is' operator does not accept operands of type 'UInteger'. Operands must be reference or nullable types." />
+		<error line="330" number="30020" message="'Is' operator does not accept operands of type 'UInteger'. Operands must be reference or nullable types." />
+		<error line="330" number="30020" message="'Is' operator does not accept operands of type 'UInteger'. Operands must be reference or nullable types." />
+		<error line="333" number="30020" message="'Is' operator does not accept operands of type 'Long'. Operands must be reference or nullable types." />
+		<error line="333" number="30020" message="'Is' operator does not accept operands of type 'UInteger'. Operands must be reference or nullable types." />
+		<error line="336" number="30020" message="'Is' operator does not accept operands of type 'ULong'. Operands must be reference or nullable types." />
+		<error line="336" number="30020" message="'Is' operator does not accept operands of type 'UInteger'. Operands must be reference or nullable types." />
+		<error line="339" number="30020" message="'Is' operator does not accept operands of type 'Decimal'. Operands must be reference or nullable types." />
+		<error line="339" number="30020" message="'Is' operator does not accept operands of type 'UInteger'. Operands must be reference or nullable types." />
+		<error line="342" number="30020" message="'Is' operator does not accept operands of type 'Single'. Operands must be reference or nullable types." />
+		<error line="342" number="30020" message="'Is' operator does not accept operands of type 'UInteger'. Operands must be reference or nullable types." />
+		<error line="345" number="30020" message="'Is' operator does not accept operands of type 'Double'. Operands must be reference or nullable types." />
+		<error line="345" number="30020" message="'Is' operator does not accept operands of type 'UInteger'. Operands must be reference or nullable types." />
+		<error line="348" number="30020" message="'Is' operator does not accept operands of type 'Char'. Operands must be reference or nullable types." />
+		<error line="348" number="30020" message="'Is' operator does not accept operands of type 'UInteger'. Operands must be reference or nullable types." />
+		<error line="351" number="30020" message="'Is' operator does not accept operands of type 'UInteger'. Operands must be reference or nullable types." />
+		<error line="354" number="30020" message="'Is' operator does not accept operands of type 'Date'. Operands must be reference or nullable types." />
+		<error line="354" number="30020" message="'Is' operator does not accept operands of type 'UInteger'. Operands must be reference or nullable types." />
+		<error line="357" number="30020" message="'Is' operator does not accept operands of type 'UInteger'. Operands must be reference or nullable types." />
+		<error line="360" number="30020" message="'Is' operator does not accept operands of type 'UInteger'. Operands must be reference or nullable types." />
+	</test>
+	<test id="2638" name="OperatorIntrinsic_Is_UInt32StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:UInt32_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicIs.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="312" number="30020" message="'Is' operator does not accept operands of type 'Boolean'. Operands must be reference or nullable types." />
+		<error line="312" number="30020" message="'Is' operator does not accept operands of type 'UInteger'. Operands must be reference or nullable types." />
+		<error line="315" number="30020" message="'Is' operator does not accept operands of type 'Byte'. Operands must be reference or nullable types." />
+		<error line="315" number="30020" message="'Is' operator does not accept operands of type 'UInteger'. Operands must be reference or nullable types." />
+		<error line="318" number="30020" message="'Is' operator does not accept operands of type 'SByte'. Operands must be reference or nullable types." />
+		<error line="318" number="30020" message="'Is' operator does not accept operands of type 'UInteger'. Operands must be reference or nullable types." />
+		<error line="321" number="30020" message="'Is' operator does not accept operands of type 'Short'. Operands must be reference or nullable types." />
+		<error line="321" number="30020" message="'Is' operator does not accept operands of type 'UInteger'. Operands must be reference or nullable types." />
+		<error line="324" number="30020" message="'Is' operator does not accept operands of type 'UShort'. Operands must be reference or nullable types." />
+		<error line="324" number="30020" message="'Is' operator does not accept operands of type 'UInteger'. Operands must be reference or nullable types." />
+		<error line="327" number="30020" message="'Is' operator does not accept operands of type 'Integer'. Operands must be reference or nullable types." />
+		<error line="327" number="30020" message="'Is' operator does not accept operands of type 'UInteger'. Operands must be reference or nullable types." />
+		<error line="330" number="30020" message="'Is' operator does not accept operands of type 'UInteger'. Operands must be reference or nullable types." />
+		<error line="330" number="30020" message="'Is' operator does not accept operands of type 'UInteger'. Operands must be reference or nullable types." />
+		<error line="333" number="30020" message="'Is' operator does not accept operands of type 'Long'. Operands must be reference or nullable types." />
+		<error line="333" number="30020" message="'Is' operator does not accept operands of type 'UInteger'. Operands must be reference or nullable types." />
+		<error line="336" number="30020" message="'Is' operator does not accept operands of type 'ULong'. Operands must be reference or nullable types." />
+		<error line="336" number="30020" message="'Is' operator does not accept operands of type 'UInteger'. Operands must be reference or nullable types." />
+		<error line="339" number="30020" message="'Is' operator does not accept operands of type 'Decimal'. Operands must be reference or nullable types." />
+		<error line="339" number="30020" message="'Is' operator does not accept operands of type 'UInteger'. Operands must be reference or nullable types." />
+		<error line="342" number="30020" message="'Is' operator does not accept operands of type 'Single'. Operands must be reference or nullable types." />
+		<error line="342" number="30020" message="'Is' operator does not accept operands of type 'UInteger'. Operands must be reference or nullable types." />
+		<error line="345" number="30020" message="'Is' operator does not accept operands of type 'Double'. Operands must be reference or nullable types." />
+		<error line="345" number="30020" message="'Is' operator does not accept operands of type 'UInteger'. Operands must be reference or nullable types." />
+		<error line="348" number="30020" message="'Is' operator does not accept operands of type 'Char'. Operands must be reference or nullable types." />
+		<error line="348" number="30020" message="'Is' operator does not accept operands of type 'UInteger'. Operands must be reference or nullable types." />
+		<error line="351" number="30020" message="'Is' operator does not accept operands of type 'UInteger'. Operands must be reference or nullable types." />
+		<error line="354" number="30020" message="'Is' operator does not accept operands of type 'Date'. Operands must be reference or nullable types." />
+		<error line="354" number="30020" message="'Is' operator does not accept operands of type 'UInteger'. Operands must be reference or nullable types." />
+		<error line="357" number="30020" message="'Is' operator does not accept operands of type 'UInteger'. Operands must be reference or nullable types." />
+		<error line="360" number="30020" message="'Is' operator does not accept operands of type 'UInteger'. Operands must be reference or nullable types." />
+	</test>
+	<test id="2639" name="OperatorIntrinsic_Is_Int64Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Int64_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicIs.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="363" number="30020" message="'Is' operator does not accept operands of type 'Boolean'. Operands must be reference or nullable types." />
+		<error line="363" number="30020" message="'Is' operator does not accept operands of type 'Long'. Operands must be reference or nullable types." />
+		<error line="366" number="30020" message="'Is' operator does not accept operands of type 'Byte'. Operands must be reference or nullable types." />
+		<error line="366" number="30020" message="'Is' operator does not accept operands of type 'Long'. Operands must be reference or nullable types." />
+		<error line="369" number="30020" message="'Is' operator does not accept operands of type 'SByte'. Operands must be reference or nullable types." />
+		<error line="369" number="30020" message="'Is' operator does not accept operands of type 'Long'. Operands must be reference or nullable types." />
+		<error line="372" number="30020" message="'Is' operator does not accept operands of type 'Short'. Operands must be reference or nullable types." />
+		<error line="372" number="30020" message="'Is' operator does not accept operands of type 'Long'. Operands must be reference or nullable types." />
+		<error line="375" number="30020" message="'Is' operator does not accept operands of type 'UShort'. Operands must be reference or nullable types." />
+		<error line="375" number="30020" message="'Is' operator does not accept operands of type 'Long'. Operands must be reference or nullable types." />
+		<error line="378" number="30020" message="'Is' operator does not accept operands of type 'Integer'. Operands must be reference or nullable types." />
+		<error line="378" number="30020" message="'Is' operator does not accept operands of type 'Long'. Operands must be reference or nullable types." />
+		<error line="381" number="30020" message="'Is' operator does not accept operands of type 'UInteger'. Operands must be reference or nullable types." />
+		<error line="381" number="30020" message="'Is' operator does not accept operands of type 'Long'. Operands must be reference or nullable types." />
+		<error line="384" number="30020" message="'Is' operator does not accept operands of type 'Long'. Operands must be reference or nullable types." />
+		<error line="384" number="30020" message="'Is' operator does not accept operands of type 'Long'. Operands must be reference or nullable types." />
+		<error line="387" number="30020" message="'Is' operator does not accept operands of type 'ULong'. Operands must be reference or nullable types." />
+		<error line="387" number="30020" message="'Is' operator does not accept operands of type 'Long'. Operands must be reference or nullable types." />
+		<error line="390" number="30020" message="'Is' operator does not accept operands of type 'Decimal'. Operands must be reference or nullable types." />
+		<error line="390" number="30020" message="'Is' operator does not accept operands of type 'Long'. Operands must be reference or nullable types." />
+		<error line="393" number="30020" message="'Is' operator does not accept operands of type 'Single'. Operands must be reference or nullable types." />
+		<error line="393" number="30020" message="'Is' operator does not accept operands of type 'Long'. Operands must be reference or nullable types." />
+		<error line="396" number="30020" message="'Is' operator does not accept operands of type 'Double'. Operands must be reference or nullable types." />
+		<error line="396" number="30020" message="'Is' operator does not accept operands of type 'Long'. Operands must be reference or nullable types." />
+		<error line="399" number="30020" message="'Is' operator does not accept operands of type 'Char'. Operands must be reference or nullable types." />
+		<error line="399" number="30020" message="'Is' operator does not accept operands of type 'Long'. Operands must be reference or nullable types." />
+		<error line="402" number="30020" message="'Is' operator does not accept operands of type 'Long'. Operands must be reference or nullable types." />
+		<error line="405" number="30020" message="'Is' operator does not accept operands of type 'Date'. Operands must be reference or nullable types." />
+		<error line="405" number="30020" message="'Is' operator does not accept operands of type 'Long'. Operands must be reference or nullable types." />
+		<error line="408" number="30020" message="'Is' operator does not accept operands of type 'Long'. Operands must be reference or nullable types." />
+		<error line="411" number="30020" message="'Is' operator does not accept operands of type 'Long'. Operands must be reference or nullable types." />
+	</test>
+	<test id="2640" name="OperatorIntrinsic_Is_Int64StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Int64_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicIs.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="363" number="30020" message="'Is' operator does not accept operands of type 'Boolean'. Operands must be reference or nullable types." />
+		<error line="363" number="30020" message="'Is' operator does not accept operands of type 'Long'. Operands must be reference or nullable types." />
+		<error line="366" number="30020" message="'Is' operator does not accept operands of type 'Byte'. Operands must be reference or nullable types." />
+		<error line="366" number="30020" message="'Is' operator does not accept operands of type 'Long'. Operands must be reference or nullable types." />
+		<error line="369" number="30020" message="'Is' operator does not accept operands of type 'SByte'. Operands must be reference or nullable types." />
+		<error line="369" number="30020" message="'Is' operator does not accept operands of type 'Long'. Operands must be reference or nullable types." />
+		<error line="372" number="30020" message="'Is' operator does not accept operands of type 'Short'. Operands must be reference or nullable types." />
+		<error line="372" number="30020" message="'Is' operator does not accept operands of type 'Long'. Operands must be reference or nullable types." />
+		<error line="375" number="30020" message="'Is' operator does not accept operands of type 'UShort'. Operands must be reference or nullable types." />
+		<error line="375" number="30020" message="'Is' operator does not accept operands of type 'Long'. Operands must be reference or nullable types." />
+		<error line="378" number="30020" message="'Is' operator does not accept operands of type 'Integer'. Operands must be reference or nullable types." />
+		<error line="378" number="30020" message="'Is' operator does not accept operands of type 'Long'. Operands must be reference or nullable types." />
+		<error line="381" number="30020" message="'Is' operator does not accept operands of type 'UInteger'. Operands must be reference or nullable types." />
+		<error line="381" number="30020" message="'Is' operator does not accept operands of type 'Long'. Operands must be reference or nullable types." />
+		<error line="384" number="30020" message="'Is' operator does not accept operands of type 'Long'. Operands must be reference or nullable types." />
+		<error line="384" number="30020" message="'Is' operator does not accept operands of type 'Long'. Operands must be reference or nullable types." />
+		<error line="387" number="30020" message="'Is' operator does not accept operands of type 'ULong'. Operands must be reference or nullable types." />
+		<error line="387" number="30020" message="'Is' operator does not accept operands of type 'Long'. Operands must be reference or nullable types." />
+		<error line="390" number="30020" message="'Is' operator does not accept operands of type 'Decimal'. Operands must be reference or nullable types." />
+		<error line="390" number="30020" message="'Is' operator does not accept operands of type 'Long'. Operands must be reference or nullable types." />
+		<error line="393" number="30020" message="'Is' operator does not accept operands of type 'Single'. Operands must be reference or nullable types." />
+		<error line="393" number="30020" message="'Is' operator does not accept operands of type 'Long'. Operands must be reference or nullable types." />
+		<error line="396" number="30020" message="'Is' operator does not accept operands of type 'Double'. Operands must be reference or nullable types." />
+		<error line="396" number="30020" message="'Is' operator does not accept operands of type 'Long'. Operands must be reference or nullable types." />
+		<error line="399" number="30020" message="'Is' operator does not accept operands of type 'Char'. Operands must be reference or nullable types." />
+		<error line="399" number="30020" message="'Is' operator does not accept operands of type 'Long'. Operands must be reference or nullable types." />
+		<error line="402" number="30020" message="'Is' operator does not accept operands of type 'Long'. Operands must be reference or nullable types." />
+		<error line="405" number="30020" message="'Is' operator does not accept operands of type 'Date'. Operands must be reference or nullable types." />
+		<error line="405" number="30020" message="'Is' operator does not accept operands of type 'Long'. Operands must be reference or nullable types." />
+		<error line="408" number="30020" message="'Is' operator does not accept operands of type 'Long'. Operands must be reference or nullable types." />
+		<error line="411" number="30020" message="'Is' operator does not accept operands of type 'Long'. Operands must be reference or nullable types." />
+	</test>
+	<test id="2641" name="OperatorIntrinsic_Is_UInt64Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:UInt64_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicIs.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="414" number="30020" message="'Is' operator does not accept operands of type 'Boolean'. Operands must be reference or nullable types." />
+		<error line="414" number="30020" message="'Is' operator does not accept operands of type 'ULong'. Operands must be reference or nullable types." />
+		<error line="417" number="30020" message="'Is' operator does not accept operands of type 'Byte'. Operands must be reference or nullable types." />
+		<error line="417" number="30020" message="'Is' operator does not accept operands of type 'ULong'. Operands must be reference or nullable types." />
+		<error line="420" number="30020" message="'Is' operator does not accept operands of type 'SByte'. Operands must be reference or nullable types." />
+		<error line="420" number="30020" message="'Is' operator does not accept operands of type 'ULong'. Operands must be reference or nullable types." />
+		<error line="423" number="30020" message="'Is' operator does not accept operands of type 'Short'. Operands must be reference or nullable types." />
+		<error line="423" number="30020" message="'Is' operator does not accept operands of type 'ULong'. Operands must be reference or nullable types." />
+		<error line="426" number="30020" message="'Is' operator does not accept operands of type 'UShort'. Operands must be reference or nullable types." />
+		<error line="426" number="30020" message="'Is' operator does not accept operands of type 'ULong'. Operands must be reference or nullable types." />
+		<error line="429" number="30020" message="'Is' operator does not accept operands of type 'Integer'. Operands must be reference or nullable types." />
+		<error line="429" number="30020" message="'Is' operator does not accept operands of type 'ULong'. Operands must be reference or nullable types." />
+		<error line="432" number="30020" message="'Is' operator does not accept operands of type 'UInteger'. Operands must be reference or nullable types." />
+		<error line="432" number="30020" message="'Is' operator does not accept operands of type 'ULong'. Operands must be reference or nullable types." />
+		<error line="435" number="30020" message="'Is' operator does not accept operands of type 'Long'. Operands must be reference or nullable types." />
+		<error line="435" number="30020" message="'Is' operator does not accept operands of type 'ULong'. Operands must be reference or nullable types." />
+		<error line="438" number="30020" message="'Is' operator does not accept operands of type 'ULong'. Operands must be reference or nullable types." />
+		<error line="438" number="30020" message="'Is' operator does not accept operands of type 'ULong'. Operands must be reference or nullable types." />
+		<error line="441" number="30020" message="'Is' operator does not accept operands of type 'Decimal'. Operands must be reference or nullable types." />
+		<error line="441" number="30020" message="'Is' operator does not accept operands of type 'ULong'. Operands must be reference or nullable types." />
+		<error line="444" number="30020" message="'Is' operator does not accept operands of type 'Single'. Operands must be reference or nullable types." />
+		<error line="444" number="30020" message="'Is' operator does not accept operands of type 'ULong'. Operands must be reference or nullable types." />
+		<error line="447" number="30020" message="'Is' operator does not accept operands of type 'Double'. Operands must be reference or nullable types." />
+		<error line="447" number="30020" message="'Is' operator does not accept operands of type 'ULong'. Operands must be reference or nullable types." />
+		<error line="450" number="30020" message="'Is' operator does not accept operands of type 'Char'. Operands must be reference or nullable types." />
+		<error line="450" number="30020" message="'Is' operator does not accept operands of type 'ULong'. Operands must be reference or nullable types." />
+		<error line="453" number="30020" message="'Is' operator does not accept operands of type 'ULong'. Operands must be reference or nullable types." />
+		<error line="456" number="30020" message="'Is' operator does not accept operands of type 'Date'. Operands must be reference or nullable types." />
+		<error line="456" number="30020" message="'Is' operator does not accept operands of type 'ULong'. Operands must be reference or nullable types." />
+		<error line="459" number="30020" message="'Is' operator does not accept operands of type 'ULong'. Operands must be reference or nullable types." />
+		<error line="462" number="30020" message="'Is' operator does not accept operands of type 'ULong'. Operands must be reference or nullable types." />
+	</test>
+	<test id="2642" name="OperatorIntrinsic_Is_UInt64StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:UInt64_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicIs.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="414" number="30020" message="'Is' operator does not accept operands of type 'Boolean'. Operands must be reference or nullable types." />
+		<error line="414" number="30020" message="'Is' operator does not accept operands of type 'ULong'. Operands must be reference or nullable types." />
+		<error line="417" number="30020" message="'Is' operator does not accept operands of type 'Byte'. Operands must be reference or nullable types." />
+		<error line="417" number="30020" message="'Is' operator does not accept operands of type 'ULong'. Operands must be reference or nullable types." />
+		<error line="420" number="30020" message="'Is' operator does not accept operands of type 'SByte'. Operands must be reference or nullable types." />
+		<error line="420" number="30020" message="'Is' operator does not accept operands of type 'ULong'. Operands must be reference or nullable types." />
+		<error line="423" number="30020" message="'Is' operator does not accept operands of type 'Short'. Operands must be reference or nullable types." />
+		<error line="423" number="30020" message="'Is' operator does not accept operands of type 'ULong'. Operands must be reference or nullable types." />
+		<error line="426" number="30020" message="'Is' operator does not accept operands of type 'UShort'. Operands must be reference or nullable types." />
+		<error line="426" number="30020" message="'Is' operator does not accept operands of type 'ULong'. Operands must be reference or nullable types." />
+		<error line="429" number="30020" message="'Is' operator does not accept operands of type 'Integer'. Operands must be reference or nullable types." />
+		<error line="429" number="30020" message="'Is' operator does not accept operands of type 'ULong'. Operands must be reference or nullable types." />
+		<error line="432" number="30020" message="'Is' operator does not accept operands of type 'UInteger'. Operands must be reference or nullable types." />
+		<error line="432" number="30020" message="'Is' operator does not accept operands of type 'ULong'. Operands must be reference or nullable types." />
+		<error line="435" number="30020" message="'Is' operator does not accept operands of type 'Long'. Operands must be reference or nullable types." />
+		<error line="435" number="30020" message="'Is' operator does not accept operands of type 'ULong'. Operands must be reference or nullable types." />
+		<error line="438" number="30020" message="'Is' operator does not accept operands of type 'ULong'. Operands must be reference or nullable types." />
+		<error line="438" number="30020" message="'Is' operator does not accept operands of type 'ULong'. Operands must be reference or nullable types." />
+		<error line="441" number="30020" message="'Is' operator does not accept operands of type 'Decimal'. Operands must be reference or nullable types." />
+		<error line="441" number="30020" message="'Is' operator does not accept operands of type 'ULong'. Operands must be reference or nullable types." />
+		<error line="444" number="30020" message="'Is' operator does not accept operands of type 'Single'. Operands must be reference or nullable types." />
+		<error line="444" number="30020" message="'Is' operator does not accept operands of type 'ULong'. Operands must be reference or nullable types." />
+		<error line="447" number="30020" message="'Is' operator does not accept operands of type 'Double'. Operands must be reference or nullable types." />
+		<error line="447" number="30020" message="'Is' operator does not accept operands of type 'ULong'. Operands must be reference or nullable types." />
+		<error line="450" number="30020" message="'Is' operator does not accept operands of type 'Char'. Operands must be reference or nullable types." />
+		<error line="450" number="30020" message="'Is' operator does not accept operands of type 'ULong'. Operands must be reference or nullable types." />
+		<error line="453" number="30020" message="'Is' operator does not accept operands of type 'ULong'. Operands must be reference or nullable types." />
+		<error line="456" number="30020" message="'Is' operator does not accept operands of type 'Date'. Operands must be reference or nullable types." />
+		<error line="456" number="30020" message="'Is' operator does not accept operands of type 'ULong'. Operands must be reference or nullable types." />
+		<error line="459" number="30020" message="'Is' operator does not accept operands of type 'ULong'. Operands must be reference or nullable types." />
+		<error line="462" number="30020" message="'Is' operator does not accept operands of type 'ULong'. Operands must be reference or nullable types." />
+	</test>
+	<test id="2643" name="OperatorIntrinsic_Is_DecimalError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Decimal_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicIs.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="465" number="30020" message="'Is' operator does not accept operands of type 'Boolean'. Operands must be reference or nullable types." />
+		<error line="465" number="30020" message="'Is' operator does not accept operands of type 'Decimal'. Operands must be reference or nullable types." />
+		<error line="468" number="30020" message="'Is' operator does not accept operands of type 'Byte'. Operands must be reference or nullable types." />
+		<error line="468" number="30020" message="'Is' operator does not accept operands of type 'Decimal'. Operands must be reference or nullable types." />
+		<error line="471" number="30020" message="'Is' operator does not accept operands of type 'SByte'. Operands must be reference or nullable types." />
+		<error line="471" number="30020" message="'Is' operator does not accept operands of type 'Decimal'. Operands must be reference or nullable types." />
+		<error line="474" number="30020" message="'Is' operator does not accept operands of type 'Short'. Operands must be reference or nullable types." />
+		<error line="474" number="30020" message="'Is' operator does not accept operands of type 'Decimal'. Operands must be reference or nullable types." />
+		<error line="477" number="30020" message="'Is' operator does not accept operands of type 'UShort'. Operands must be reference or nullable types." />
+		<error line="477" number="30020" message="'Is' operator does not accept operands of type 'Decimal'. Operands must be reference or nullable types." />
+		<error line="480" number="30020" message="'Is' operator does not accept operands of type 'Integer'. Operands must be reference or nullable types." />
+		<error line="480" number="30020" message="'Is' operator does not accept operands of type 'Decimal'. Operands must be reference or nullable types." />
+		<error line="483" number="30020" message="'Is' operator does not accept operands of type 'UInteger'. Operands must be reference or nullable types." />
+		<error line="483" number="30020" message="'Is' operator does not accept operands of type 'Decimal'. Operands must be reference or nullable types." />
+		<error line="486" number="30020" message="'Is' operator does not accept operands of type 'Long'. Operands must be reference or nullable types." />
+		<error line="486" number="30020" message="'Is' operator does not accept operands of type 'Decimal'. Operands must be reference or nullable types." />
+		<error line="489" number="30020" message="'Is' operator does not accept operands of type 'ULong'. Operands must be reference or nullable types." />
+		<error line="489" number="30020" message="'Is' operator does not accept operands of type 'Decimal'. Operands must be reference or nullable types." />
+		<error line="492" number="30020" message="'Is' operator does not accept operands of type 'Decimal'. Operands must be reference or nullable types." />
+		<error line="492" number="30020" message="'Is' operator does not accept operands of type 'Decimal'. Operands must be reference or nullable types." />
+		<error line="495" number="30020" message="'Is' operator does not accept operands of type 'Single'. Operands must be reference or nullable types." />
+		<error line="495" number="30020" message="'Is' operator does not accept operands of type 'Decimal'. Operands must be reference or nullable types." />
+		<error line="498" number="30020" message="'Is' operator does not accept operands of type 'Double'. Operands must be reference or nullable types." />
+		<error line="498" number="30020" message="'Is' operator does not accept operands of type 'Decimal'. Operands must be reference or nullable types." />
+		<error line="501" number="30020" message="'Is' operator does not accept operands of type 'Char'. Operands must be reference or nullable types." />
+		<error line="501" number="30020" message="'Is' operator does not accept operands of type 'Decimal'. Operands must be reference or nullable types." />
+		<error line="504" number="30020" message="'Is' operator does not accept operands of type 'Decimal'. Operands must be reference or nullable types." />
+		<error line="507" number="30020" message="'Is' operator does not accept operands of type 'Date'. Operands must be reference or nullable types." />
+		<error line="507" number="30020" message="'Is' operator does not accept operands of type 'Decimal'. Operands must be reference or nullable types." />
+		<error line="510" number="30020" message="'Is' operator does not accept operands of type 'Decimal'. Operands must be reference or nullable types." />
+		<error line="513" number="30020" message="'Is' operator does not accept operands of type 'Decimal'. Operands must be reference or nullable types." />
+	</test>
+	<test id="2644" name="OperatorIntrinsic_Is_DecimalStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Decimal_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicIs.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="465" number="30020" message="'Is' operator does not accept operands of type 'Boolean'. Operands must be reference or nullable types." />
+		<error line="465" number="30020" message="'Is' operator does not accept operands of type 'Decimal'. Operands must be reference or nullable types." />
+		<error line="468" number="30020" message="'Is' operator does not accept operands of type 'Byte'. Operands must be reference or nullable types." />
+		<error line="468" number="30020" message="'Is' operator does not accept operands of type 'Decimal'. Operands must be reference or nullable types." />
+		<error line="471" number="30020" message="'Is' operator does not accept operands of type 'SByte'. Operands must be reference or nullable types." />
+		<error line="471" number="30020" message="'Is' operator does not accept operands of type 'Decimal'. Operands must be reference or nullable types." />
+		<error line="474" number="30020" message="'Is' operator does not accept operands of type 'Short'. Operands must be reference or nullable types." />
+		<error line="474" number="30020" message="'Is' operator does not accept operands of type 'Decimal'. Operands must be reference or nullable types." />
+		<error line="477" number="30020" message="'Is' operator does not accept operands of type 'UShort'. Operands must be reference or nullable types." />
+		<error line="477" number="30020" message="'Is' operator does not accept operands of type 'Decimal'. Operands must be reference or nullable types." />
+		<error line="480" number="30020" message="'Is' operator does not accept operands of type 'Integer'. Operands must be reference or nullable types." />
+		<error line="480" number="30020" message="'Is' operator does not accept operands of type 'Decimal'. Operands must be reference or nullable types." />
+		<error line="483" number="30020" message="'Is' operator does not accept operands of type 'UInteger'. Operands must be reference or nullable types." />
+		<error line="483" number="30020" message="'Is' operator does not accept operands of type 'Decimal'. Operands must be reference or nullable types." />
+		<error line="486" number="30020" message="'Is' operator does not accept operands of type 'Long'. Operands must be reference or nullable types." />
+		<error line="486" number="30020" message="'Is' operator does not accept operands of type 'Decimal'. Operands must be reference or nullable types." />
+		<error line="489" number="30020" message="'Is' operator does not accept operands of type 'ULong'. Operands must be reference or nullable types." />
+		<error line="489" number="30020" message="'Is' operator does not accept operands of type 'Decimal'. Operands must be reference or nullable types." />
+		<error line="492" number="30020" message="'Is' operator does not accept operands of type 'Decimal'. Operands must be reference or nullable types." />
+		<error line="492" number="30020" message="'Is' operator does not accept operands of type 'Decimal'. Operands must be reference or nullable types." />
+		<error line="495" number="30020" message="'Is' operator does not accept operands of type 'Single'. Operands must be reference or nullable types." />
+		<error line="495" number="30020" message="'Is' operator does not accept operands of type 'Decimal'. Operands must be reference or nullable types." />
+		<error line="498" number="30020" message="'Is' operator does not accept operands of type 'Double'. Operands must be reference or nullable types." />
+		<error line="498" number="30020" message="'Is' operator does not accept operands of type 'Decimal'. Operands must be reference or nullable types." />
+		<error line="501" number="30020" message="'Is' operator does not accept operands of type 'Char'. Operands must be reference or nullable types." />
+		<error line="501" number="30020" message="'Is' operator does not accept operands of type 'Decimal'. Operands must be reference or nullable types." />
+		<error line="504" number="30020" message="'Is' operator does not accept operands of type 'Decimal'. Operands must be reference or nullable types." />
+		<error line="507" number="30020" message="'Is' operator does not accept operands of type 'Date'. Operands must be reference or nullable types." />
+		<error line="507" number="30020" message="'Is' operator does not accept operands of type 'Decimal'. Operands must be reference or nullable types." />
+		<error line="510" number="30020" message="'Is' operator does not accept operands of type 'Decimal'. Operands must be reference or nullable types." />
+		<error line="513" number="30020" message="'Is' operator does not accept operands of type 'Decimal'. Operands must be reference or nullable types." />
+	</test>
+	<test id="2645" name="OperatorIntrinsic_Is_SingleError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Single_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicIs.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="516" number="30020" message="'Is' operator does not accept operands of type 'Boolean'. Operands must be reference or nullable types." />
+		<error line="516" number="30020" message="'Is' operator does not accept operands of type 'Single'. Operands must be reference or nullable types." />
+		<error line="519" number="30020" message="'Is' operator does not accept operands of type 'Byte'. Operands must be reference or nullable types." />
+		<error line="519" number="30020" message="'Is' operator does not accept operands of type 'Single'. Operands must be reference or nullable types." />
+		<error line="522" number="30020" message="'Is' operator does not accept operands of type 'SByte'. Operands must be reference or nullable types." />
+		<error line="522" number="30020" message="'Is' operator does not accept operands of type 'Single'. Operands must be reference or nullable types." />
+		<error line="525" number="30020" message="'Is' operator does not accept operands of type 'Short'. Operands must be reference or nullable types." />
+		<error line="525" number="30020" message="'Is' operator does not accept operands of type 'Single'. Operands must be reference or nullable types." />
+		<error line="528" number="30020" message="'Is' operator does not accept operands of type 'UShort'. Operands must be reference or nullable types." />
+		<error line="528" number="30020" message="'Is' operator does not accept operands of type 'Single'. Operands must be reference or nullable types." />
+		<error line="531" number="30020" message="'Is' operator does not accept operands of type 'Integer'. Operands must be reference or nullable types." />
+		<error line="531" number="30020" message="'Is' operator does not accept operands of type 'Single'. Operands must be reference or nullable types." />
+		<error line="534" number="30020" message="'Is' operator does not accept operands of type 'UInteger'. Operands must be reference or nullable types." />
+		<error line="534" number="30020" message="'Is' operator does not accept operands of type 'Single'. Operands must be reference or nullable types." />
+		<error line="537" number="30020" message="'Is' operator does not accept operands of type 'Long'. Operands must be reference or nullable types." />
+		<error line="537" number="30020" message="'Is' operator does not accept operands of type 'Single'. Operands must be reference or nullable types." />
+		<error line="540" number="30020" message="'Is' operator does not accept operands of type 'ULong'. Operands must be reference or nullable types." />
+		<error line="540" number="30020" message="'Is' operator does not accept operands of type 'Single'. Operands must be reference or nullable types." />
+		<error line="543" number="30020" message="'Is' operator does not accept operands of type 'Decimal'. Operands must be reference or nullable types." />
+		<error line="543" number="30020" message="'Is' operator does not accept operands of type 'Single'. Operands must be reference or nullable types." />
+		<error line="546" number="30020" message="'Is' operator does not accept operands of type 'Single'. Operands must be reference or nullable types." />
+		<error line="546" number="30020" message="'Is' operator does not accept operands of type 'Single'. Operands must be reference or nullable types." />
+		<error line="549" number="30020" message="'Is' operator does not accept operands of type 'Double'. Operands must be reference or nullable types." />
+		<error line="549" number="30020" message="'Is' operator does not accept operands of type 'Single'. Operands must be reference or nullable types." />
+		<error line="552" number="30020" message="'Is' operator does not accept operands of type 'Char'. Operands must be reference or nullable types." />
+		<error line="552" number="30020" message="'Is' operator does not accept operands of type 'Single'. Operands must be reference or nullable types." />
+		<error line="555" number="30020" message="'Is' operator does not accept operands of type 'Single'. Operands must be reference or nullable types." />
+		<error line="558" number="30020" message="'Is' operator does not accept operands of type 'Date'. Operands must be reference or nullable types." />
+		<error line="558" number="30020" message="'Is' operator does not accept operands of type 'Single'. Operands must be reference or nullable types." />
+		<error line="561" number="30020" message="'Is' operator does not accept operands of type 'Single'. Operands must be reference or nullable types." />
+		<error line="564" number="30020" message="'Is' operator does not accept operands of type 'Single'. Operands must be reference or nullable types." />
+	</test>
+	<test id="2646" name="OperatorIntrinsic_Is_SingleStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Single_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicIs.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="516" number="30020" message="'Is' operator does not accept operands of type 'Boolean'. Operands must be reference or nullable types." />
+		<error line="516" number="30020" message="'Is' operator does not accept operands of type 'Single'. Operands must be reference or nullable types." />
+		<error line="519" number="30020" message="'Is' operator does not accept operands of type 'Byte'. Operands must be reference or nullable types." />
+		<error line="519" number="30020" message="'Is' operator does not accept operands of type 'Single'. Operands must be reference or nullable types." />
+		<error line="522" number="30020" message="'Is' operator does not accept operands of type 'SByte'. Operands must be reference or nullable types." />
+		<error line="522" number="30020" message="'Is' operator does not accept operands of type 'Single'. Operands must be reference or nullable types." />
+		<error line="525" number="30020" message="'Is' operator does not accept operands of type 'Short'. Operands must be reference or nullable types." />
+		<error line="525" number="30020" message="'Is' operator does not accept operands of type 'Single'. Operands must be reference or nullable types." />
+		<error line="528" number="30020" message="'Is' operator does not accept operands of type 'UShort'. Operands must be reference or nullable types." />
+		<error line="528" number="30020" message="'Is' operator does not accept operands of type 'Single'. Operands must be reference or nullable types." />
+		<error line="531" number="30020" message="'Is' operator does not accept operands of type 'Integer'. Operands must be reference or nullable types." />
+		<error line="531" number="30020" message="'Is' operator does not accept operands of type 'Single'. Operands must be reference or nullable types." />
+		<error line="534" number="30020" message="'Is' operator does not accept operands of type 'UInteger'. Operands must be reference or nullable types." />
+		<error line="534" number="30020" message="'Is' operator does not accept operands of type 'Single'. Operands must be reference or nullable types." />
+		<error line="537" number="30020" message="'Is' operator does not accept operands of type 'Long'. Operands must be reference or nullable types." />
+		<error line="537" number="30020" message="'Is' operator does not accept operands of type 'Single'. Operands must be reference or nullable types." />
+		<error line="540" number="30020" message="'Is' operator does not accept operands of type 'ULong'. Operands must be reference or nullable types." />
+		<error line="540" number="30020" message="'Is' operator does not accept operands of type 'Single'. Operands must be reference or nullable types." />
+		<error line="543" number="30020" message="'Is' operator does not accept operands of type 'Decimal'. Operands must be reference or nullable types." />
+		<error line="543" number="30020" message="'Is' operator does not accept operands of type 'Single'. Operands must be reference or nullable types." />
+		<error line="546" number="30020" message="'Is' operator does not accept operands of type 'Single'. Operands must be reference or nullable types." />
+		<error line="546" number="30020" message="'Is' operator does not accept operands of type 'Single'. Operands must be reference or nullable types." />
+		<error line="549" number="30020" message="'Is' operator does not accept operands of type 'Double'. Operands must be reference or nullable types." />
+		<error line="549" number="30020" message="'Is' operator does not accept operands of type 'Single'. Operands must be reference or nullable types." />
+		<error line="552" number="30020" message="'Is' operator does not accept operands of type 'Char'. Operands must be reference or nullable types." />
+		<error line="552" number="30020" message="'Is' operator does not accept operands of type 'Single'. Operands must be reference or nullable types." />
+		<error line="555" number="30020" message="'Is' operator does not accept operands of type 'Single'. Operands must be reference or nullable types." />
+		<error line="558" number="30020" message="'Is' operator does not accept operands of type 'Date'. Operands must be reference or nullable types." />
+		<error line="558" number="30020" message="'Is' operator does not accept operands of type 'Single'. Operands must be reference or nullable types." />
+		<error line="561" number="30020" message="'Is' operator does not accept operands of type 'Single'. Operands must be reference or nullable types." />
+		<error line="564" number="30020" message="'Is' operator does not accept operands of type 'Single'. Operands must be reference or nullable types." />
+	</test>
+	<test id="2647" name="OperatorIntrinsic_Is_DoubleError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Double_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicIs.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="567" number="30020" message="'Is' operator does not accept operands of type 'Boolean'. Operands must be reference or nullable types." />
+		<error line="567" number="30020" message="'Is' operator does not accept operands of type 'Double'. Operands must be reference or nullable types." />
+		<error line="570" number="30020" message="'Is' operator does not accept operands of type 'Byte'. Operands must be reference or nullable types." />
+		<error line="570" number="30020" message="'Is' operator does not accept operands of type 'Double'. Operands must be reference or nullable types." />
+		<error line="573" number="30020" message="'Is' operator does not accept operands of type 'SByte'. Operands must be reference or nullable types." />
+		<error line="573" number="30020" message="'Is' operator does not accept operands of type 'Double'. Operands must be reference or nullable types." />
+		<error line="576" number="30020" message="'Is' operator does not accept operands of type 'Short'. Operands must be reference or nullable types." />
+		<error line="576" number="30020" message="'Is' operator does not accept operands of type 'Double'. Operands must be reference or nullable types." />
+		<error line="579" number="30020" message="'Is' operator does not accept operands of type 'UShort'. Operands must be reference or nullable types." />
+		<error line="579" number="30020" message="'Is' operator does not accept operands of type 'Double'. Operands must be reference or nullable types." />
+		<error line="582" number="30020" message="'Is' operator does not accept operands of type 'Integer'. Operands must be reference or nullable types." />
+		<error line="582" number="30020" message="'Is' operator does not accept operands of type 'Double'. Operands must be reference or nullable types." />
+		<error line="585" number="30020" message="'Is' operator does not accept operands of type 'UInteger'. Operands must be reference or nullable types." />
+		<error line="585" number="30020" message="'Is' operator does not accept operands of type 'Double'. Operands must be reference or nullable types." />
+		<error line="588" number="30020" message="'Is' operator does not accept operands of type 'Long'. Operands must be reference or nullable types." />
+		<error line="588" number="30020" message="'Is' operator does not accept operands of type 'Double'. Operands must be reference or nullable types." />
+		<error line="591" number="30020" message="'Is' operator does not accept operands of type 'ULong'. Operands must be reference or nullable types." />
+		<error line="591" number="30020" message="'Is' operator does not accept operands of type 'Double'. Operands must be reference or nullable types." />
+		<error line="594" number="30020" message="'Is' operator does not accept operands of type 'Decimal'. Operands must be reference or nullable types." />
+		<error line="594" number="30020" message="'Is' operator does not accept operands of type 'Double'. Operands must be reference or nullable types." />
+		<error line="597" number="30020" message="'Is' operator does not accept operands of type 'Single'. Operands must be reference or nullable types." />
+		<error line="597" number="30020" message="'Is' operator does not accept operands of type 'Double'. Operands must be reference or nullable types." />
+		<error line="600" number="30020" message="'Is' operator does not accept operands of type 'Double'. Operands must be reference or nullable types." />
+		<error line="600" number="30020" message="'Is' operator does not accept operands of type 'Double'. Operands must be reference or nullable types." />
+		<error line="603" number="30020" message="'Is' operator does not accept operands of type 'Char'. Operands must be reference or nullable types." />
+		<error line="603" number="30020" message="'Is' operator does not accept operands of type 'Double'. Operands must be reference or nullable types." />
+		<error line="606" number="30020" message="'Is' operator does not accept operands of type 'Double'. Operands must be reference or nullable types." />
+		<error line="609" number="30020" message="'Is' operator does not accept operands of type 'Date'. Operands must be reference or nullable types." />
+		<error line="609" number="30020" message="'Is' operator does not accept operands of type 'Double'. Operands must be reference or nullable types." />
+		<error line="612" number="30020" message="'Is' operator does not accept operands of type 'Double'. Operands must be reference or nullable types." />
+		<error line="615" number="30020" message="'Is' operator does not accept operands of type 'Double'. Operands must be reference or nullable types." />
+	</test>
+	<test id="2648" name="OperatorIntrinsic_Is_DoubleStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Double_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicIs.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="567" number="30020" message="'Is' operator does not accept operands of type 'Boolean'. Operands must be reference or nullable types." />
+		<error line="567" number="30020" message="'Is' operator does not accept operands of type 'Double'. Operands must be reference or nullable types." />
+		<error line="570" number="30020" message="'Is' operator does not accept operands of type 'Byte'. Operands must be reference or nullable types." />
+		<error line="570" number="30020" message="'Is' operator does not accept operands of type 'Double'. Operands must be reference or nullable types." />
+		<error line="573" number="30020" message="'Is' operator does not accept operands of type 'SByte'. Operands must be reference or nullable types." />
+		<error line="573" number="30020" message="'Is' operator does not accept operands of type 'Double'. Operands must be reference or nullable types." />
+		<error line="576" number="30020" message="'Is' operator does not accept operands of type 'Short'. Operands must be reference or nullable types." />
+		<error line="576" number="30020" message="'Is' operator does not accept operands of type 'Double'. Operands must be reference or nullable types." />
+		<error line="579" number="30020" message="'Is' operator does not accept operands of type 'UShort'. Operands must be reference or nullable types." />
+		<error line="579" number="30020" message="'Is' operator does not accept operands of type 'Double'. Operands must be reference or nullable types." />
+		<error line="582" number="30020" message="'Is' operator does not accept operands of type 'Integer'. Operands must be reference or nullable types." />
+		<error line="582" number="30020" message="'Is' operator does not accept operands of type 'Double'. Operands must be reference or nullable types." />
+		<error line="585" number="30020" message="'Is' operator does not accept operands of type 'UInteger'. Operands must be reference or nullable types." />
+		<error line="585" number="30020" message="'Is' operator does not accept operands of type 'Double'. Operands must be reference or nullable types." />
+		<error line="588" number="30020" message="'Is' operator does not accept operands of type 'Long'. Operands must be reference or nullable types." />
+		<error line="588" number="30020" message="'Is' operator does not accept operands of type 'Double'. Operands must be reference or nullable types." />
+		<error line="591" number="30020" message="'Is' operator does not accept operands of type 'ULong'. Operands must be reference or nullable types." />
+		<error line="591" number="30020" message="'Is' operator does not accept operands of type 'Double'. Operands must be reference or nullable types." />
+		<error line="594" number="30020" message="'Is' operator does not accept operands of type 'Decimal'. Operands must be reference or nullable types." />
+		<error line="594" number="30020" message="'Is' operator does not accept operands of type 'Double'. Operands must be reference or nullable types." />
+		<error line="597" number="30020" message="'Is' operator does not accept operands of type 'Single'. Operands must be reference or nullable types." />
+		<error line="597" number="30020" message="'Is' operator does not accept operands of type 'Double'. Operands must be reference or nullable types." />
+		<error line="600" number="30020" message="'Is' operator does not accept operands of type 'Double'. Operands must be reference or nullable types." />
+		<error line="600" number="30020" message="'Is' operator does not accept operands of type 'Double'. Operands must be reference or nullable types." />
+		<error line="603" number="30020" message="'Is' operator does not accept operands of type 'Char'. Operands must be reference or nullable types." />
+		<error line="603" number="30020" message="'Is' operator does not accept operands of type 'Double'. Operands must be reference or nullable types." />
+		<error line="606" number="30020" message="'Is' operator does not accept operands of type 'Double'. Operands must be reference or nullable types." />
+		<error line="609" number="30020" message="'Is' operator does not accept operands of type 'Date'. Operands must be reference or nullable types." />
+		<error line="609" number="30020" message="'Is' operator does not accept operands of type 'Double'. Operands must be reference or nullable types." />
+		<error line="612" number="30020" message="'Is' operator does not accept operands of type 'Double'. Operands must be reference or nullable types." />
+		<error line="615" number="30020" message="'Is' operator does not accept operands of type 'Double'. Operands must be reference or nullable types." />
+	</test>
+	<test id="2649" name="OperatorIntrinsic_Is_CharError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Char_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicIs.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="618" number="30020" message="'Is' operator does not accept operands of type 'Boolean'. Operands must be reference or nullable types." />
+		<error line="618" number="30020" message="'Is' operator does not accept operands of type 'Char'. Operands must be reference or nullable types." />
+		<error line="621" number="30020" message="'Is' operator does not accept operands of type 'Byte'. Operands must be reference or nullable types." />
+		<error line="621" number="30020" message="'Is' operator does not accept operands of type 'Char'. Operands must be reference or nullable types." />
+		<error line="624" number="30020" message="'Is' operator does not accept operands of type 'SByte'. Operands must be reference or nullable types." />
+		<error line="624" number="30020" message="'Is' operator does not accept operands of type 'Char'. Operands must be reference or nullable types." />
+		<error line="627" number="30020" message="'Is' operator does not accept operands of type 'Short'. Operands must be reference or nullable types." />
+		<error line="627" number="30020" message="'Is' operator does not accept operands of type 'Char'. Operands must be reference or nullable types." />
+		<error line="630" number="30020" message="'Is' operator does not accept operands of type 'UShort'. Operands must be reference or nullable types." />
+		<error line="630" number="30020" message="'Is' operator does not accept operands of type 'Char'. Operands must be reference or nullable types." />
+		<error line="633" number="30020" message="'Is' operator does not accept operands of type 'Integer'. Operands must be reference or nullable types." />
+		<error line="633" number="30020" message="'Is' operator does not accept operands of type 'Char'. Operands must be reference or nullable types." />
+		<error line="636" number="30020" message="'Is' operator does not accept operands of type 'UInteger'. Operands must be reference or nullable types." />
+		<error line="636" number="30020" message="'Is' operator does not accept operands of type 'Char'. Operands must be reference or nullable types." />
+		<error line="639" number="30020" message="'Is' operator does not accept operands of type 'Long'. Operands must be reference or nullable types." />
+		<error line="639" number="30020" message="'Is' operator does not accept operands of type 'Char'. Operands must be reference or nullable types." />
+		<error line="642" number="30020" message="'Is' operator does not accept operands of type 'ULong'. Operands must be reference or nullable types." />
+		<error line="642" number="30020" message="'Is' operator does not accept operands of type 'Char'. Operands must be reference or nullable types." />
+		<error line="645" number="30020" message="'Is' operator does not accept operands of type 'Decimal'. Operands must be reference or nullable types." />
+		<error line="645" number="30020" message="'Is' operator does not accept operands of type 'Char'. Operands must be reference or nullable types." />
+		<error line="648" number="30020" message="'Is' operator does not accept operands of type 'Single'. Operands must be reference or nullable types." />
+		<error line="648" number="30020" message="'Is' operator does not accept operands of type 'Char'. Operands must be reference or nullable types." />
+		<error line="651" number="30020" message="'Is' operator does not accept operands of type 'Double'. Operands must be reference or nullable types." />
+		<error line="651" number="30020" message="'Is' operator does not accept operands of type 'Char'. Operands must be reference or nullable types." />
+		<error line="654" number="30020" message="'Is' operator does not accept operands of type 'Char'. Operands must be reference or nullable types." />
+		<error line="654" number="30020" message="'Is' operator does not accept operands of type 'Char'. Operands must be reference or nullable types." />
+		<error line="657" number="30020" message="'Is' operator does not accept operands of type 'Char'. Operands must be reference or nullable types." />
+		<error line="660" number="30020" message="'Is' operator does not accept operands of type 'Date'. Operands must be reference or nullable types." />
+		<error line="660" number="30020" message="'Is' operator does not accept operands of type 'Char'. Operands must be reference or nullable types." />
+		<error line="663" number="30020" message="'Is' operator does not accept operands of type 'Char'. Operands must be reference or nullable types." />
+		<error line="666" number="30020" message="'Is' operator does not accept operands of type 'Char'. Operands must be reference or nullable types." />
+	</test>
+	<test id="2650" name="OperatorIntrinsic_Is_CharStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Char_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicIs.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="618" number="30020" message="'Is' operator does not accept operands of type 'Boolean'. Operands must be reference or nullable types." />
+		<error line="618" number="30020" message="'Is' operator does not accept operands of type 'Char'. Operands must be reference or nullable types." />
+		<error line="621" number="30020" message="'Is' operator does not accept operands of type 'Byte'. Operands must be reference or nullable types." />
+		<error line="621" number="30020" message="'Is' operator does not accept operands of type 'Char'. Operands must be reference or nullable types." />
+		<error line="624" number="30020" message="'Is' operator does not accept operands of type 'SByte'. Operands must be reference or nullable types." />
+		<error line="624" number="30020" message="'Is' operator does not accept operands of type 'Char'. Operands must be reference or nullable types." />
+		<error line="627" number="30020" message="'Is' operator does not accept operands of type 'Short'. Operands must be reference or nullable types." />
+		<error line="627" number="30020" message="'Is' operator does not accept operands of type 'Char'. Operands must be reference or nullable types." />
+		<error line="630" number="30020" message="'Is' operator does not accept operands of type 'UShort'. Operands must be reference or nullable types." />
+		<error line="630" number="30020" message="'Is' operator does not accept operands of type 'Char'. Operands must be reference or nullable types." />
+		<error line="633" number="30020" message="'Is' operator does not accept operands of type 'Integer'. Operands must be reference or nullable types." />
+		<error line="633" number="30020" message="'Is' operator does not accept operands of type 'Char'. Operands must be reference or nullable types." />
+		<error line="636" number="30020" message="'Is' operator does not accept operands of type 'UInteger'. Operands must be reference or nullable types." />
+		<error line="636" number="30020" message="'Is' operator does not accept operands of type 'Char'. Operands must be reference or nullable types." />
+		<error line="639" number="30020" message="'Is' operator does not accept operands of type 'Long'. Operands must be reference or nullable types." />
+		<error line="639" number="30020" message="'Is' operator does not accept operands of type 'Char'. Operands must be reference or nullable types." />
+		<error line="642" number="30020" message="'Is' operator does not accept operands of type 'ULong'. Operands must be reference or nullable types." />
+		<error line="642" number="30020" message="'Is' operator does not accept operands of type 'Char'. Operands must be reference or nullable types." />
+		<error line="645" number="30020" message="'Is' operator does not accept operands of type 'Decimal'. Operands must be reference or nullable types." />
+		<error line="645" number="30020" message="'Is' operator does not accept operands of type 'Char'. Operands must be reference or nullable types." />
+		<error line="648" number="30020" message="'Is' operator does not accept operands of type 'Single'. Operands must be reference or nullable types." />
+		<error line="648" number="30020" message="'Is' operator does not accept operands of type 'Char'. Operands must be reference or nullable types." />
+		<error line="651" number="30020" message="'Is' operator does not accept operands of type 'Double'. Operands must be reference or nullable types." />
+		<error line="651" number="30020" message="'Is' operator does not accept operands of type 'Char'. Operands must be reference or nullable types." />
+		<error line="654" number="30020" message="'Is' operator does not accept operands of type 'Char'. Operands must be reference or nullable types." />
+		<error line="654" number="30020" message="'Is' operator does not accept operands of type 'Char'. Operands must be reference or nullable types." />
+		<error line="657" number="30020" message="'Is' operator does not accept operands of type 'Char'. Operands must be reference or nullable types." />
+		<error line="660" number="30020" message="'Is' operator does not accept operands of type 'Date'. Operands must be reference or nullable types." />
+		<error line="660" number="30020" message="'Is' operator does not accept operands of type 'Char'. Operands must be reference or nullable types." />
+		<error line="663" number="30020" message="'Is' operator does not accept operands of type 'Char'. Operands must be reference or nullable types." />
+		<error line="666" number="30020" message="'Is' operator does not accept operands of type 'Char'. Operands must be reference or nullable types." />
+	</test>
+	<test id="2651" name="OperatorIntrinsic_Is_StringError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:String_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicIs.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="669" number="30020" message="'Is' operator does not accept operands of type 'Boolean'. Operands must be reference or nullable types." />
+		<error line="672" number="30020" message="'Is' operator does not accept operands of type 'Byte'. Operands must be reference or nullable types." />
+		<error line="675" number="30020" message="'Is' operator does not accept operands of type 'SByte'. Operands must be reference or nullable types." />
+		<error line="678" number="30020" message="'Is' operator does not accept operands of type 'Short'. Operands must be reference or nullable types." />
+		<error line="681" number="30020" message="'Is' operator does not accept operands of type 'UShort'. Operands must be reference or nullable types." />
+		<error line="684" number="30020" message="'Is' operator does not accept operands of type 'Integer'. Operands must be reference or nullable types." />
+		<error line="687" number="30020" message="'Is' operator does not accept operands of type 'UInteger'. Operands must be reference or nullable types." />
+		<error line="690" number="30020" message="'Is' operator does not accept operands of type 'Long'. Operands must be reference or nullable types." />
+		<error line="693" number="30020" message="'Is' operator does not accept operands of type 'ULong'. Operands must be reference or nullable types." />
+		<error line="696" number="30020" message="'Is' operator does not accept operands of type 'Decimal'. Operands must be reference or nullable types." />
+		<error line="699" number="30020" message="'Is' operator does not accept operands of type 'Single'. Operands must be reference or nullable types." />
+		<error line="702" number="30020" message="'Is' operator does not accept operands of type 'Double'. Operands must be reference or nullable types." />
+		<error line="705" number="30020" message="'Is' operator does not accept operands of type 'Char'. Operands must be reference or nullable types." />
+		<error line="710" number="30020" message="'Is' operator does not accept operands of type 'Date'. Operands must be reference or nullable types." />
+	</test>
+	<test id="2652" name="OperatorIntrinsic_Is_StringStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:String_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicIs.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="669" number="30020" message="'Is' operator does not accept operands of type 'Boolean'. Operands must be reference or nullable types." />
+		<error line="672" number="30020" message="'Is' operator does not accept operands of type 'Byte'. Operands must be reference or nullable types." />
+		<error line="675" number="30020" message="'Is' operator does not accept operands of type 'SByte'. Operands must be reference or nullable types." />
+		<error line="678" number="30020" message="'Is' operator does not accept operands of type 'Short'. Operands must be reference or nullable types." />
+		<error line="681" number="30020" message="'Is' operator does not accept operands of type 'UShort'. Operands must be reference or nullable types." />
+		<error line="684" number="30020" message="'Is' operator does not accept operands of type 'Integer'. Operands must be reference or nullable types." />
+		<error line="687" number="30020" message="'Is' operator does not accept operands of type 'UInteger'. Operands must be reference or nullable types." />
+		<error line="690" number="30020" message="'Is' operator does not accept operands of type 'Long'. Operands must be reference or nullable types." />
+		<error line="693" number="30020" message="'Is' operator does not accept operands of type 'ULong'. Operands must be reference or nullable types." />
+		<error line="696" number="30020" message="'Is' operator does not accept operands of type 'Decimal'. Operands must be reference or nullable types." />
+		<error line="699" number="30020" message="'Is' operator does not accept operands of type 'Single'. Operands must be reference or nullable types." />
+		<error line="702" number="30020" message="'Is' operator does not accept operands of type 'Double'. Operands must be reference or nullable types." />
+		<error line="705" number="30020" message="'Is' operator does not accept operands of type 'Char'. Operands must be reference or nullable types." />
+		<error line="710" number="30020" message="'Is' operator does not accept operands of type 'Date'. Operands must be reference or nullable types." />
+	</test>
+	<test id="2653" name="OperatorIntrinsic_Is_DateTimeError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:DateTime_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicIs.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="718" number="30020" message="'Is' operator does not accept operands of type 'Boolean'. Operands must be reference or nullable types." />
+		<error line="718" number="30020" message="'Is' operator does not accept operands of type 'Date'. Operands must be reference or nullable types." />
+		<error line="721" number="30020" message="'Is' operator does not accept operands of type 'Byte'. Operands must be reference or nullable types." />
+		<error line="721" number="30020" message="'Is' operator does not accept operands of type 'Date'. Operands must be reference or nullable types." />
+		<error line="724" number="30020" message="'Is' operator does not accept operands of type 'SByte'. Operands must be reference or nullable types." />
+		<error line="724" number="30020" message="'Is' operator does not accept operands of type 'Date'. Operands must be reference or nullable types." />
+		<error line="727" number="30020" message="'Is' operator does not accept operands of type 'Short'. Operands must be reference or nullable types." />
+		<error line="727" number="30020" message="'Is' operator does not accept operands of type 'Date'. Operands must be reference or nullable types." />
+		<error line="730" number="30020" message="'Is' operator does not accept operands of type 'UShort'. Operands must be reference or nullable types." />
+		<error line="730" number="30020" message="'Is' operator does not accept operands of type 'Date'. Operands must be reference or nullable types." />
+		<error line="733" number="30020" message="'Is' operator does not accept operands of type 'Integer'. Operands must be reference or nullable types." />
+		<error line="733" number="30020" message="'Is' operator does not accept operands of type 'Date'. Operands must be reference or nullable types." />
+		<error line="736" number="30020" message="'Is' operator does not accept operands of type 'UInteger'. Operands must be reference or nullable types." />
+		<error line="736" number="30020" message="'Is' operator does not accept operands of type 'Date'. Operands must be reference or nullable types." />
+		<error line="739" number="30020" message="'Is' operator does not accept operands of type 'Long'. Operands must be reference or nullable types." />
+		<error line="739" number="30020" message="'Is' operator does not accept operands of type 'Date'. Operands must be reference or nullable types." />
+		<error line="742" number="30020" message="'Is' operator does not accept operands of type 'ULong'. Operands must be reference or nullable types." />
+		<error line="742" number="30020" message="'Is' operator does not accept operands of type 'Date'. Operands must be reference or nullable types." />
+		<error line="745" number="30020" message="'Is' operator does not accept operands of type 'Decimal'. Operands must be reference or nullable types." />
+		<error line="745" number="30020" message="'Is' operator does not accept operands of type 'Date'. Operands must be reference or nullable types." />
+		<error line="748" number="30020" message="'Is' operator does not accept operands of type 'Single'. Operands must be reference or nullable types." />
+		<error line="748" number="30020" message="'Is' operator does not accept operands of type 'Date'. Operands must be reference or nullable types." />
+		<error line="751" number="30020" message="'Is' operator does not accept operands of type 'Double'. Operands must be reference or nullable types." />
+		<error line="751" number="30020" message="'Is' operator does not accept operands of type 'Date'. Operands must be reference or nullable types." />
+		<error line="754" number="30020" message="'Is' operator does not accept operands of type 'Char'. Operands must be reference or nullable types." />
+		<error line="754" number="30020" message="'Is' operator does not accept operands of type 'Date'. Operands must be reference or nullable types." />
+		<error line="757" number="30020" message="'Is' operator does not accept operands of type 'Date'. Operands must be reference or nullable types." />
+		<error line="760" number="30020" message="'Is' operator does not accept operands of type 'Date'. Operands must be reference or nullable types." />
+		<error line="760" number="30020" message="'Is' operator does not accept operands of type 'Date'. Operands must be reference or nullable types." />
+		<error line="763" number="30020" message="'Is' operator does not accept operands of type 'Date'. Operands must be reference or nullable types." />
+		<error line="766" number="30020" message="'Is' operator does not accept operands of type 'Date'. Operands must be reference or nullable types." />
+	</test>
+	<test id="2654" name="OperatorIntrinsic_Is_DateTimeStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:DateTime_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicIs.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="718" number="30020" message="'Is' operator does not accept operands of type 'Boolean'. Operands must be reference or nullable types." />
+		<error line="718" number="30020" message="'Is' operator does not accept operands of type 'Date'. Operands must be reference or nullable types." />
+		<error line="721" number="30020" message="'Is' operator does not accept operands of type 'Byte'. Operands must be reference or nullable types." />
+		<error line="721" number="30020" message="'Is' operator does not accept operands of type 'Date'. Operands must be reference or nullable types." />
+		<error line="724" number="30020" message="'Is' operator does not accept operands of type 'SByte'. Operands must be reference or nullable types." />
+		<error line="724" number="30020" message="'Is' operator does not accept operands of type 'Date'. Operands must be reference or nullable types." />
+		<error line="727" number="30020" message="'Is' operator does not accept operands of type 'Short'. Operands must be reference or nullable types." />
+		<error line="727" number="30020" message="'Is' operator does not accept operands of type 'Date'. Operands must be reference or nullable types." />
+		<error line="730" number="30020" message="'Is' operator does not accept operands of type 'UShort'. Operands must be reference or nullable types." />
+		<error line="730" number="30020" message="'Is' operator does not accept operands of type 'Date'. Operands must be reference or nullable types." />
+		<error line="733" number="30020" message="'Is' operator does not accept operands of type 'Integer'. Operands must be reference or nullable types." />
+		<error line="733" number="30020" message="'Is' operator does not accept operands of type 'Date'. Operands must be reference or nullable types." />
+		<error line="736" number="30020" message="'Is' operator does not accept operands of type 'UInteger'. Operands must be reference or nullable types." />
+		<error line="736" number="30020" message="'Is' operator does not accept operands of type 'Date'. Operands must be reference or nullable types." />
+		<error line="739" number="30020" message="'Is' operator does not accept operands of type 'Long'. Operands must be reference or nullable types." />
+		<error line="739" number="30020" message="'Is' operator does not accept operands of type 'Date'. Operands must be reference or nullable types." />
+		<error line="742" number="30020" message="'Is' operator does not accept operands of type 'ULong'. Operands must be reference or nullable types." />
+		<error line="742" number="30020" message="'Is' operator does not accept operands of type 'Date'. Operands must be reference or nullable types." />
+		<error line="745" number="30020" message="'Is' operator does not accept operands of type 'Decimal'. Operands must be reference or nullable types." />
+		<error line="745" number="30020" message="'Is' operator does not accept operands of type 'Date'. Operands must be reference or nullable types." />
+		<error line="748" number="30020" message="'Is' operator does not accept operands of type 'Single'. Operands must be reference or nullable types." />
+		<error line="748" number="30020" message="'Is' operator does not accept operands of type 'Date'. Operands must be reference or nullable types." />
+		<error line="751" number="30020" message="'Is' operator does not accept operands of type 'Double'. Operands must be reference or nullable types." />
+		<error line="751" number="30020" message="'Is' operator does not accept operands of type 'Date'. Operands must be reference or nullable types." />
+		<error line="754" number="30020" message="'Is' operator does not accept operands of type 'Char'. Operands must be reference or nullable types." />
+		<error line="754" number="30020" message="'Is' operator does not accept operands of type 'Date'. Operands must be reference or nullable types." />
+		<error line="757" number="30020" message="'Is' operator does not accept operands of type 'Date'. Operands must be reference or nullable types." />
+		<error line="760" number="30020" message="'Is' operator does not accept operands of type 'Date'. Operands must be reference or nullable types." />
+		<error line="760" number="30020" message="'Is' operator does not accept operands of type 'Date'. Operands must be reference or nullable types." />
+		<error line="763" number="30020" message="'Is' operator does not accept operands of type 'Date'. Operands must be reference or nullable types." />
+		<error line="766" number="30020" message="'Is' operator does not accept operands of type 'Date'. Operands must be reference or nullable types." />
+	</test>
+	<test id="2655" name="OperatorIntrinsic_Is_DBNullError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:DBNull_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicIs.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="769" number="30020" message="'Is' operator does not accept operands of type 'Boolean'. Operands must be reference or nullable types." />
+		<error line="772" number="30020" message="'Is' operator does not accept operands of type 'Byte'. Operands must be reference or nullable types." />
+		<error line="775" number="30020" message="'Is' operator does not accept operands of type 'SByte'. Operands must be reference or nullable types." />
+		<error line="778" number="30020" message="'Is' operator does not accept operands of type 'Short'. Operands must be reference or nullable types." />
+		<error line="781" number="30020" message="'Is' operator does not accept operands of type 'UShort'. Operands must be reference or nullable types." />
+		<error line="784" number="30020" message="'Is' operator does not accept operands of type 'Integer'. Operands must be reference or nullable types." />
+		<error line="787" number="30020" message="'Is' operator does not accept operands of type 'UInteger'. Operands must be reference or nullable types." />
+		<error line="790" number="30020" message="'Is' operator does not accept operands of type 'Long'. Operands must be reference or nullable types." />
+		<error line="793" number="30020" message="'Is' operator does not accept operands of type 'ULong'. Operands must be reference or nullable types." />
+		<error line="796" number="30020" message="'Is' operator does not accept operands of type 'Decimal'. Operands must be reference or nullable types." />
+		<error line="799" number="30020" message="'Is' operator does not accept operands of type 'Single'. Operands must be reference or nullable types." />
+		<error line="802" number="30020" message="'Is' operator does not accept operands of type 'Double'. Operands must be reference or nullable types." />
+		<error line="805" number="30020" message="'Is' operator does not accept operands of type 'Char'. Operands must be reference or nullable types." />
+		<error line="811" number="30020" message="'Is' operator does not accept operands of type 'Date'. Operands must be reference or nullable types." />
+	</test>
+	<test id="2656" name="OperatorIntrinsic_Is_DBNullStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:DBNull_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicIs.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="769" number="30020" message="'Is' operator does not accept operands of type 'Boolean'. Operands must be reference or nullable types." />
+		<error line="772" number="30020" message="'Is' operator does not accept operands of type 'Byte'. Operands must be reference or nullable types." />
+		<error line="775" number="30020" message="'Is' operator does not accept operands of type 'SByte'. Operands must be reference or nullable types." />
+		<error line="778" number="30020" message="'Is' operator does not accept operands of type 'Short'. Operands must be reference or nullable types." />
+		<error line="781" number="30020" message="'Is' operator does not accept operands of type 'UShort'. Operands must be reference or nullable types." />
+		<error line="784" number="30020" message="'Is' operator does not accept operands of type 'Integer'. Operands must be reference or nullable types." />
+		<error line="787" number="30020" message="'Is' operator does not accept operands of type 'UInteger'. Operands must be reference or nullable types." />
+		<error line="790" number="30020" message="'Is' operator does not accept operands of type 'Long'. Operands must be reference or nullable types." />
+		<error line="793" number="30020" message="'Is' operator does not accept operands of type 'ULong'. Operands must be reference or nullable types." />
+		<error line="796" number="30020" message="'Is' operator does not accept operands of type 'Decimal'. Operands must be reference or nullable types." />
+		<error line="799" number="30020" message="'Is' operator does not accept operands of type 'Single'. Operands must be reference or nullable types." />
+		<error line="802" number="30020" message="'Is' operator does not accept operands of type 'Double'. Operands must be reference or nullable types." />
+		<error line="805" number="30020" message="'Is' operator does not accept operands of type 'Char'. Operands must be reference or nullable types." />
+		<error line="811" number="30020" message="'Is' operator does not accept operands of type 'Date'. Operands must be reference or nullable types." />
+	</test>
+	<test id="2657" name="OperatorIntrinsic_Is_ObjectError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Object_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicIs.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="820" number="30020" message="'Is' operator does not accept operands of type 'Boolean'. Operands must be reference or nullable types." />
+		<error line="823" number="30020" message="'Is' operator does not accept operands of type 'Byte'. Operands must be reference or nullable types." />
+		<error line="826" number="30020" message="'Is' operator does not accept operands of type 'SByte'. Operands must be reference or nullable types." />
+		<error line="829" number="30020" message="'Is' operator does not accept operands of type 'Short'. Operands must be reference or nullable types." />
+		<error line="832" number="30020" message="'Is' operator does not accept operands of type 'UShort'. Operands must be reference or nullable types." />
+		<error line="835" number="30020" message="'Is' operator does not accept operands of type 'Integer'. Operands must be reference or nullable types." />
+		<error line="838" number="30020" message="'Is' operator does not accept operands of type 'UInteger'. Operands must be reference or nullable types." />
+		<error line="841" number="30020" message="'Is' operator does not accept operands of type 'Long'. Operands must be reference or nullable types." />
+		<error line="844" number="30020" message="'Is' operator does not accept operands of type 'ULong'. Operands must be reference or nullable types." />
+		<error line="847" number="30020" message="'Is' operator does not accept operands of type 'Decimal'. Operands must be reference or nullable types." />
+		<error line="850" number="30020" message="'Is' operator does not accept operands of type 'Single'. Operands must be reference or nullable types." />
+		<error line="853" number="30020" message="'Is' operator does not accept operands of type 'Double'. Operands must be reference or nullable types." />
+		<error line="856" number="30020" message="'Is' operator does not accept operands of type 'Char'. Operands must be reference or nullable types." />
+		<error line="861" number="30020" message="'Is' operator does not accept operands of type 'Date'. Operands must be reference or nullable types." />
+	</test>
+	<test id="2658" name="OperatorIntrinsic_Is_ObjectStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Object_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicIs.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="820" number="30020" message="'Is' operator does not accept operands of type 'Boolean'. Operands must be reference or nullable types." />
+		<error line="823" number="30020" message="'Is' operator does not accept operands of type 'Byte'. Operands must be reference or nullable types." />
+		<error line="826" number="30020" message="'Is' operator does not accept operands of type 'SByte'. Operands must be reference or nullable types." />
+		<error line="829" number="30020" message="'Is' operator does not accept operands of type 'Short'. Operands must be reference or nullable types." />
+		<error line="832" number="30020" message="'Is' operator does not accept operands of type 'UShort'. Operands must be reference or nullable types." />
+		<error line="835" number="30020" message="'Is' operator does not accept operands of type 'Integer'. Operands must be reference or nullable types." />
+		<error line="838" number="30020" message="'Is' operator does not accept operands of type 'UInteger'. Operands must be reference or nullable types." />
+		<error line="841" number="30020" message="'Is' operator does not accept operands of type 'Long'. Operands must be reference or nullable types." />
+		<error line="844" number="30020" message="'Is' operator does not accept operands of type 'ULong'. Operands must be reference or nullable types." />
+		<error line="847" number="30020" message="'Is' operator does not accept operands of type 'Decimal'. Operands must be reference or nullable types." />
+		<error line="850" number="30020" message="'Is' operator does not accept operands of type 'Single'. Operands must be reference or nullable types." />
+		<error line="853" number="30020" message="'Is' operator does not accept operands of type 'Double'. Operands must be reference or nullable types." />
+		<error line="856" number="30020" message="'Is' operator does not accept operands of type 'Char'. Operands must be reference or nullable types." />
+		<error line="861" number="30020" message="'Is' operator does not accept operands of type 'Date'. Operands must be reference or nullable types." />
+	</test>
+	<test id="2659" name="OperatorIntrinsic_IsNot_" target="exe" mytype="empty">
+		<file>CompileTime2\OperatorIntrinsicIsNot.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+	</test>
+	<test id="2660" name="OperatorIntrinsic_IsNot_Strict" mytype="empty">
+		<arguments>/optionstrict+ /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicIsNot.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+	</test>
+	<test id="2661" name="OperatorIntrinsic_IsNot_BooleanError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Boolean_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicIsNot.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="6" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Boolean'." />
+		<error line="6" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Boolean'." />
+		<error line="9" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Byte'." />
+		<error line="9" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Boolean'." />
+		<error line="12" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'SByte'." />
+		<error line="12" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Boolean'." />
+		<error line="15" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Short'." />
+		<error line="15" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Boolean'." />
+		<error line="18" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UShort'." />
+		<error line="18" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Boolean'." />
+		<error line="21" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Integer'." />
+		<error line="21" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Boolean'." />
+		<error line="24" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UInteger'." />
+		<error line="24" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Boolean'." />
+		<error line="27" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Long'." />
+		<error line="27" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Boolean'." />
+		<error line="30" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'ULong'." />
+		<error line="30" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Boolean'." />
+		<error line="33" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Decimal'." />
+		<error line="33" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Boolean'." />
+		<error line="36" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Single'." />
+		<error line="36" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Boolean'." />
+		<error line="39" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Double'." />
+		<error line="39" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Boolean'." />
+		<error line="42" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Char'." />
+		<error line="42" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Boolean'." />
+		<error line="45" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Boolean'." />
+		<error line="48" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Date'." />
+		<error line="48" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Boolean'." />
+		<error line="51" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Boolean'." />
+		<error line="54" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Boolean'." />
+	</test>
+	<test id="2662" name="OperatorIntrinsic_IsNot_BooleanStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Boolean_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicIsNot.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="6" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Boolean'." />
+		<error line="6" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Boolean'." />
+		<error line="9" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Byte'." />
+		<error line="9" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Boolean'." />
+		<error line="12" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'SByte'." />
+		<error line="12" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Boolean'." />
+		<error line="15" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Short'." />
+		<error line="15" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Boolean'." />
+		<error line="18" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UShort'." />
+		<error line="18" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Boolean'." />
+		<error line="21" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Integer'." />
+		<error line="21" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Boolean'." />
+		<error line="24" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UInteger'." />
+		<error line="24" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Boolean'." />
+		<error line="27" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Long'." />
+		<error line="27" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Boolean'." />
+		<error line="30" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'ULong'." />
+		<error line="30" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Boolean'." />
+		<error line="33" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Decimal'." />
+		<error line="33" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Boolean'." />
+		<error line="36" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Single'." />
+		<error line="36" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Boolean'." />
+		<error line="39" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Double'." />
+		<error line="39" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Boolean'." />
+		<error line="42" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Char'." />
+		<error line="42" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Boolean'." />
+		<error line="45" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Boolean'." />
+		<error line="48" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Date'." />
+		<error line="48" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Boolean'." />
+		<error line="51" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Boolean'." />
+		<error line="54" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Boolean'." />
+	</test>
+	<test id="2663" name="OperatorIntrinsic_IsNot_ByteError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Byte_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicIsNot.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="57" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Boolean'." />
+		<error line="57" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Byte'." />
+		<error line="60" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Byte'." />
+		<error line="60" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Byte'." />
+		<error line="63" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'SByte'." />
+		<error line="63" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Byte'." />
+		<error line="66" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Short'." />
+		<error line="66" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Byte'." />
+		<error line="69" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UShort'." />
+		<error line="69" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Byte'." />
+		<error line="72" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Integer'." />
+		<error line="72" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Byte'." />
+		<error line="75" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UInteger'." />
+		<error line="75" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Byte'." />
+		<error line="78" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Long'." />
+		<error line="78" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Byte'." />
+		<error line="81" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'ULong'." />
+		<error line="81" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Byte'." />
+		<error line="84" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Decimal'." />
+		<error line="84" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Byte'." />
+		<error line="87" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Single'." />
+		<error line="87" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Byte'." />
+		<error line="90" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Double'." />
+		<error line="90" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Byte'." />
+		<error line="93" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Char'." />
+		<error line="93" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Byte'." />
+		<error line="96" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Byte'." />
+		<error line="99" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Date'." />
+		<error line="99" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Byte'." />
+		<error line="102" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Byte'." />
+		<error line="105" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Byte'." />
+	</test>
+	<test id="2664" name="OperatorIntrinsic_IsNot_ByteStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Byte_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicIsNot.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="57" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Boolean'." />
+		<error line="57" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Byte'." />
+		<error line="60" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Byte'." />
+		<error line="60" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Byte'." />
+		<error line="63" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'SByte'." />
+		<error line="63" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Byte'." />
+		<error line="66" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Short'." />
+		<error line="66" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Byte'." />
+		<error line="69" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UShort'." />
+		<error line="69" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Byte'." />
+		<error line="72" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Integer'." />
+		<error line="72" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Byte'." />
+		<error line="75" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UInteger'." />
+		<error line="75" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Byte'." />
+		<error line="78" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Long'." />
+		<error line="78" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Byte'." />
+		<error line="81" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'ULong'." />
+		<error line="81" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Byte'." />
+		<error line="84" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Decimal'." />
+		<error line="84" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Byte'." />
+		<error line="87" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Single'." />
+		<error line="87" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Byte'." />
+		<error line="90" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Double'." />
+		<error line="90" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Byte'." />
+		<error line="93" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Char'." />
+		<error line="93" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Byte'." />
+		<error line="96" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Byte'." />
+		<error line="99" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Date'." />
+		<error line="99" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Byte'." />
+		<error line="102" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Byte'." />
+		<error line="105" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Byte'." />
+	</test>
+	<test id="2665" name="OperatorIntrinsic_IsNot_SByteError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:SByte_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicIsNot.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="108" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Boolean'." />
+		<error line="108" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'SByte'." />
+		<error line="111" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Byte'." />
+		<error line="111" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'SByte'." />
+		<error line="114" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'SByte'." />
+		<error line="114" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'SByte'." />
+		<error line="117" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Short'." />
+		<error line="117" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'SByte'." />
+		<error line="120" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UShort'." />
+		<error line="120" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'SByte'." />
+		<error line="123" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Integer'." />
+		<error line="123" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'SByte'." />
+		<error line="126" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UInteger'." />
+		<error line="126" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'SByte'." />
+		<error line="129" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Long'." />
+		<error line="129" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'SByte'." />
+		<error line="132" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'ULong'." />
+		<error line="132" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'SByte'." />
+		<error line="135" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Decimal'." />
+		<error line="135" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'SByte'." />
+		<error line="138" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Single'." />
+		<error line="138" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'SByte'." />
+		<error line="141" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Double'." />
+		<error line="141" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'SByte'." />
+		<error line="144" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Char'." />
+		<error line="144" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'SByte'." />
+		<error line="147" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'SByte'." />
+		<error line="150" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Date'." />
+		<error line="150" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'SByte'." />
+		<error line="153" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'SByte'." />
+		<error line="156" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'SByte'." />
+	</test>
+	<test id="2666" name="OperatorIntrinsic_IsNot_SByteStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:SByte_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicIsNot.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="108" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Boolean'." />
+		<error line="108" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'SByte'." />
+		<error line="111" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Byte'." />
+		<error line="111" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'SByte'." />
+		<error line="114" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'SByte'." />
+		<error line="114" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'SByte'." />
+		<error line="117" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Short'." />
+		<error line="117" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'SByte'." />
+		<error line="120" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UShort'." />
+		<error line="120" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'SByte'." />
+		<error line="123" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Integer'." />
+		<error line="123" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'SByte'." />
+		<error line="126" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UInteger'." />
+		<error line="126" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'SByte'." />
+		<error line="129" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Long'." />
+		<error line="129" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'SByte'." />
+		<error line="132" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'ULong'." />
+		<error line="132" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'SByte'." />
+		<error line="135" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Decimal'." />
+		<error line="135" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'SByte'." />
+		<error line="138" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Single'." />
+		<error line="138" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'SByte'." />
+		<error line="141" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Double'." />
+		<error line="141" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'SByte'." />
+		<error line="144" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Char'." />
+		<error line="144" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'SByte'." />
+		<error line="147" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'SByte'." />
+		<error line="150" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Date'." />
+		<error line="150" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'SByte'." />
+		<error line="153" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'SByte'." />
+		<error line="156" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'SByte'." />
+	</test>
+	<test id="2667" name="OperatorIntrinsic_IsNot_Int16Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Int16_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicIsNot.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="159" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Boolean'." />
+		<error line="159" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Short'." />
+		<error line="162" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Byte'." />
+		<error line="162" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Short'." />
+		<error line="165" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'SByte'." />
+		<error line="165" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Short'." />
+		<error line="168" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Short'." />
+		<error line="168" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Short'." />
+		<error line="171" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UShort'." />
+		<error line="171" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Short'." />
+		<error line="174" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Integer'." />
+		<error line="174" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Short'." />
+		<error line="177" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UInteger'." />
+		<error line="177" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Short'." />
+		<error line="180" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Long'." />
+		<error line="180" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Short'." />
+		<error line="183" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'ULong'." />
+		<error line="183" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Short'." />
+		<error line="186" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Decimal'." />
+		<error line="186" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Short'." />
+		<error line="189" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Single'." />
+		<error line="189" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Short'." />
+		<error line="192" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Double'." />
+		<error line="192" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Short'." />
+		<error line="195" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Char'." />
+		<error line="195" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Short'." />
+		<error line="198" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Short'." />
+		<error line="201" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Date'." />
+		<error line="201" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Short'." />
+		<error line="204" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Short'." />
+		<error line="207" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Short'." />
+	</test>
+	<test id="2668" name="OperatorIntrinsic_IsNot_Int16StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Int16_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicIsNot.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="159" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Boolean'." />
+		<error line="159" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Short'." />
+		<error line="162" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Byte'." />
+		<error line="162" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Short'." />
+		<error line="165" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'SByte'." />
+		<error line="165" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Short'." />
+		<error line="168" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Short'." />
+		<error line="168" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Short'." />
+		<error line="171" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UShort'." />
+		<error line="171" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Short'." />
+		<error line="174" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Integer'." />
+		<error line="174" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Short'." />
+		<error line="177" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UInteger'." />
+		<error line="177" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Short'." />
+		<error line="180" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Long'." />
+		<error line="180" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Short'." />
+		<error line="183" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'ULong'." />
+		<error line="183" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Short'." />
+		<error line="186" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Decimal'." />
+		<error line="186" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Short'." />
+		<error line="189" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Single'." />
+		<error line="189" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Short'." />
+		<error line="192" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Double'." />
+		<error line="192" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Short'." />
+		<error line="195" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Char'." />
+		<error line="195" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Short'." />
+		<error line="198" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Short'." />
+		<error line="201" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Date'." />
+		<error line="201" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Short'." />
+		<error line="204" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Short'." />
+		<error line="207" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Short'." />
+	</test>
+	<test id="2669" name="OperatorIntrinsic_IsNot_UInt16Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:UInt16_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicIsNot.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="210" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Boolean'." />
+		<error line="210" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UShort'." />
+		<error line="213" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Byte'." />
+		<error line="213" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UShort'." />
+		<error line="216" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'SByte'." />
+		<error line="216" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UShort'." />
+		<error line="219" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Short'." />
+		<error line="219" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UShort'." />
+		<error line="222" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UShort'." />
+		<error line="222" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UShort'." />
+		<error line="225" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Integer'." />
+		<error line="225" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UShort'." />
+		<error line="228" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UInteger'." />
+		<error line="228" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UShort'." />
+		<error line="231" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Long'." />
+		<error line="231" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UShort'." />
+		<error line="234" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'ULong'." />
+		<error line="234" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UShort'." />
+		<error line="237" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Decimal'." />
+		<error line="237" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UShort'." />
+		<error line="240" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Single'." />
+		<error line="240" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UShort'." />
+		<error line="243" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Double'." />
+		<error line="243" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UShort'." />
+		<error line="246" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Char'." />
+		<error line="246" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UShort'." />
+		<error line="249" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UShort'." />
+		<error line="252" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Date'." />
+		<error line="252" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UShort'." />
+		<error line="255" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UShort'." />
+		<error line="258" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UShort'." />
+	</test>
+	<test id="2670" name="OperatorIntrinsic_IsNot_UInt16StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:UInt16_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicIsNot.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="210" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Boolean'." />
+		<error line="210" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UShort'." />
+		<error line="213" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Byte'." />
+		<error line="213" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UShort'." />
+		<error line="216" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'SByte'." />
+		<error line="216" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UShort'." />
+		<error line="219" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Short'." />
+		<error line="219" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UShort'." />
+		<error line="222" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UShort'." />
+		<error line="222" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UShort'." />
+		<error line="225" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Integer'." />
+		<error line="225" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UShort'." />
+		<error line="228" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UInteger'." />
+		<error line="228" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UShort'." />
+		<error line="231" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Long'." />
+		<error line="231" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UShort'." />
+		<error line="234" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'ULong'." />
+		<error line="234" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UShort'." />
+		<error line="237" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Decimal'." />
+		<error line="237" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UShort'." />
+		<error line="240" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Single'." />
+		<error line="240" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UShort'." />
+		<error line="243" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Double'." />
+		<error line="243" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UShort'." />
+		<error line="246" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Char'." />
+		<error line="246" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UShort'." />
+		<error line="249" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UShort'." />
+		<error line="252" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Date'." />
+		<error line="252" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UShort'." />
+		<error line="255" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UShort'." />
+		<error line="258" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UShort'." />
+	</test>
+	<test id="2671" name="OperatorIntrinsic_IsNot_Int32Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Int32_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicIsNot.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="261" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Boolean'." />
+		<error line="261" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Integer'." />
+		<error line="264" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Byte'." />
+		<error line="264" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Integer'." />
+		<error line="267" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'SByte'." />
+		<error line="267" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Integer'." />
+		<error line="270" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Short'." />
+		<error line="270" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Integer'." />
+		<error line="273" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UShort'." />
+		<error line="273" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Integer'." />
+		<error line="276" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Integer'." />
+		<error line="276" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Integer'." />
+		<error line="279" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UInteger'." />
+		<error line="279" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Integer'." />
+		<error line="282" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Long'." />
+		<error line="282" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Integer'." />
+		<error line="285" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'ULong'." />
+		<error line="285" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Integer'." />
+		<error line="288" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Decimal'." />
+		<error line="288" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Integer'." />
+		<error line="291" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Single'." />
+		<error line="291" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Integer'." />
+		<error line="294" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Double'." />
+		<error line="294" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Integer'." />
+		<error line="297" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Char'." />
+		<error line="297" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Integer'." />
+		<error line="300" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Integer'." />
+		<error line="303" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Date'." />
+		<error line="303" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Integer'." />
+		<error line="306" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Integer'." />
+		<error line="309" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Integer'." />
+	</test>
+	<test id="2672" name="OperatorIntrinsic_IsNot_Int32StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Int32_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicIsNot.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="261" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Boolean'." />
+		<error line="261" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Integer'." />
+		<error line="264" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Byte'." />
+		<error line="264" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Integer'." />
+		<error line="267" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'SByte'." />
+		<error line="267" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Integer'." />
+		<error line="270" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Short'." />
+		<error line="270" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Integer'." />
+		<error line="273" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UShort'." />
+		<error line="273" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Integer'." />
+		<error line="276" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Integer'." />
+		<error line="276" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Integer'." />
+		<error line="279" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UInteger'." />
+		<error line="279" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Integer'." />
+		<error line="282" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Long'." />
+		<error line="282" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Integer'." />
+		<error line="285" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'ULong'." />
+		<error line="285" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Integer'." />
+		<error line="288" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Decimal'." />
+		<error line="288" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Integer'." />
+		<error line="291" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Single'." />
+		<error line="291" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Integer'." />
+		<error line="294" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Double'." />
+		<error line="294" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Integer'." />
+		<error line="297" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Char'." />
+		<error line="297" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Integer'." />
+		<error line="300" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Integer'." />
+		<error line="303" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Date'." />
+		<error line="303" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Integer'." />
+		<error line="306" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Integer'." />
+		<error line="309" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Integer'." />
+	</test>
+	<test id="2673" name="OperatorIntrinsic_IsNot_UInt32Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:UInt32_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicIsNot.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="312" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Boolean'." />
+		<error line="312" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UInteger'." />
+		<error line="315" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Byte'." />
+		<error line="315" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UInteger'." />
+		<error line="318" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'SByte'." />
+		<error line="318" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UInteger'." />
+		<error line="321" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Short'." />
+		<error line="321" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UInteger'." />
+		<error line="324" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UShort'." />
+		<error line="324" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UInteger'." />
+		<error line="327" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Integer'." />
+		<error line="327" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UInteger'." />
+		<error line="330" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UInteger'." />
+		<error line="330" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UInteger'." />
+		<error line="333" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Long'." />
+		<error line="333" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UInteger'." />
+		<error line="336" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'ULong'." />
+		<error line="336" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UInteger'." />
+		<error line="339" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Decimal'." />
+		<error line="339" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UInteger'." />
+		<error line="342" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Single'." />
+		<error line="342" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UInteger'." />
+		<error line="345" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Double'." />
+		<error line="345" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UInteger'." />
+		<error line="348" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Char'." />
+		<error line="348" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UInteger'." />
+		<error line="351" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UInteger'." />
+		<error line="354" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Date'." />
+		<error line="354" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UInteger'." />
+		<error line="357" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UInteger'." />
+		<error line="360" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UInteger'." />
+	</test>
+	<test id="2674" name="OperatorIntrinsic_IsNot_UInt32StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:UInt32_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicIsNot.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="312" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Boolean'." />
+		<error line="312" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UInteger'." />
+		<error line="315" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Byte'." />
+		<error line="315" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UInteger'." />
+		<error line="318" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'SByte'." />
+		<error line="318" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UInteger'." />
+		<error line="321" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Short'." />
+		<error line="321" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UInteger'." />
+		<error line="324" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UShort'." />
+		<error line="324" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UInteger'." />
+		<error line="327" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Integer'." />
+		<error line="327" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UInteger'." />
+		<error line="330" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UInteger'." />
+		<error line="330" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UInteger'." />
+		<error line="333" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Long'." />
+		<error line="333" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UInteger'." />
+		<error line="336" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'ULong'." />
+		<error line="336" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UInteger'." />
+		<error line="339" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Decimal'." />
+		<error line="339" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UInteger'." />
+		<error line="342" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Single'." />
+		<error line="342" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UInteger'." />
+		<error line="345" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Double'." />
+		<error line="345" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UInteger'." />
+		<error line="348" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Char'." />
+		<error line="348" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UInteger'." />
+		<error line="351" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UInteger'." />
+		<error line="354" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Date'." />
+		<error line="354" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UInteger'." />
+		<error line="357" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UInteger'." />
+		<error line="360" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UInteger'." />
+	</test>
+	<test id="2675" name="OperatorIntrinsic_IsNot_Int64Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Int64_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicIsNot.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="363" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Boolean'." />
+		<error line="363" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Long'." />
+		<error line="366" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Byte'." />
+		<error line="366" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Long'." />
+		<error line="369" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'SByte'." />
+		<error line="369" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Long'." />
+		<error line="372" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Short'." />
+		<error line="372" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Long'." />
+		<error line="375" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UShort'." />
+		<error line="375" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Long'." />
+		<error line="378" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Integer'." />
+		<error line="378" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Long'." />
+		<error line="381" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UInteger'." />
+		<error line="381" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Long'." />
+		<error line="384" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Long'." />
+		<error line="384" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Long'." />
+		<error line="387" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'ULong'." />
+		<error line="387" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Long'." />
+		<error line="390" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Decimal'." />
+		<error line="390" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Long'." />
+		<error line="393" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Single'." />
+		<error line="393" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Long'." />
+		<error line="396" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Double'." />
+		<error line="396" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Long'." />
+		<error line="399" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Char'." />
+		<error line="399" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Long'." />
+		<error line="402" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Long'." />
+		<error line="405" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Date'." />
+		<error line="405" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Long'." />
+		<error line="408" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Long'." />
+		<error line="411" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Long'." />
+	</test>
+	<test id="2676" name="OperatorIntrinsic_IsNot_Int64StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Int64_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicIsNot.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="363" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Boolean'." />
+		<error line="363" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Long'." />
+		<error line="366" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Byte'." />
+		<error line="366" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Long'." />
+		<error line="369" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'SByte'." />
+		<error line="369" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Long'." />
+		<error line="372" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Short'." />
+		<error line="372" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Long'." />
+		<error line="375" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UShort'." />
+		<error line="375" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Long'." />
+		<error line="378" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Integer'." />
+		<error line="378" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Long'." />
+		<error line="381" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UInteger'." />
+		<error line="381" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Long'." />
+		<error line="384" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Long'." />
+		<error line="384" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Long'." />
+		<error line="387" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'ULong'." />
+		<error line="387" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Long'." />
+		<error line="390" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Decimal'." />
+		<error line="390" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Long'." />
+		<error line="393" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Single'." />
+		<error line="393" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Long'." />
+		<error line="396" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Double'." />
+		<error line="396" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Long'." />
+		<error line="399" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Char'." />
+		<error line="399" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Long'." />
+		<error line="402" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Long'." />
+		<error line="405" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Date'." />
+		<error line="405" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Long'." />
+		<error line="408" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Long'." />
+		<error line="411" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Long'." />
+	</test>
+	<test id="2677" name="OperatorIntrinsic_IsNot_UInt64Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:UInt64_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicIsNot.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="414" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Boolean'." />
+		<error line="414" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'ULong'." />
+		<error line="417" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Byte'." />
+		<error line="417" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'ULong'." />
+		<error line="420" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'SByte'." />
+		<error line="420" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'ULong'." />
+		<error line="423" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Short'." />
+		<error line="423" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'ULong'." />
+		<error line="426" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UShort'." />
+		<error line="426" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'ULong'." />
+		<error line="429" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Integer'." />
+		<error line="429" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'ULong'." />
+		<error line="432" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UInteger'." />
+		<error line="432" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'ULong'." />
+		<error line="435" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Long'." />
+		<error line="435" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'ULong'." />
+		<error line="438" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'ULong'." />
+		<error line="438" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'ULong'." />
+		<error line="441" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Decimal'." />
+		<error line="441" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'ULong'." />
+		<error line="444" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Single'." />
+		<error line="444" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'ULong'." />
+		<error line="447" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Double'." />
+		<error line="447" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'ULong'." />
+		<error line="450" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Char'." />
+		<error line="450" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'ULong'." />
+		<error line="453" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'ULong'." />
+		<error line="456" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Date'." />
+		<error line="456" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'ULong'." />
+		<error line="459" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'ULong'." />
+		<error line="462" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'ULong'." />
+	</test>
+	<test id="2678" name="OperatorIntrinsic_IsNot_UInt64StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:UInt64_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicIsNot.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="414" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Boolean'." />
+		<error line="414" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'ULong'." />
+		<error line="417" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Byte'." />
+		<error line="417" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'ULong'." />
+		<error line="420" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'SByte'." />
+		<error line="420" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'ULong'." />
+		<error line="423" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Short'." />
+		<error line="423" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'ULong'." />
+		<error line="426" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UShort'." />
+		<error line="426" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'ULong'." />
+		<error line="429" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Integer'." />
+		<error line="429" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'ULong'." />
+		<error line="432" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UInteger'." />
+		<error line="432" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'ULong'." />
+		<error line="435" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Long'." />
+		<error line="435" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'ULong'." />
+		<error line="438" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'ULong'." />
+		<error line="438" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'ULong'." />
+		<error line="441" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Decimal'." />
+		<error line="441" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'ULong'." />
+		<error line="444" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Single'." />
+		<error line="444" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'ULong'." />
+		<error line="447" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Double'." />
+		<error line="447" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'ULong'." />
+		<error line="450" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Char'." />
+		<error line="450" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'ULong'." />
+		<error line="453" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'ULong'." />
+		<error line="456" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Date'." />
+		<error line="456" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'ULong'." />
+		<error line="459" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'ULong'." />
+		<error line="462" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'ULong'." />
+	</test>
+	<test id="2679" name="OperatorIntrinsic_IsNot_DecimalError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Decimal_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicIsNot.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="465" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Boolean'." />
+		<error line="465" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Decimal'." />
+		<error line="468" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Byte'." />
+		<error line="468" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Decimal'." />
+		<error line="471" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'SByte'." />
+		<error line="471" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Decimal'." />
+		<error line="474" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Short'." />
+		<error line="474" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Decimal'." />
+		<error line="477" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UShort'." />
+		<error line="477" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Decimal'." />
+		<error line="480" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Integer'." />
+		<error line="480" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Decimal'." />
+		<error line="483" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UInteger'." />
+		<error line="483" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Decimal'." />
+		<error line="486" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Long'." />
+		<error line="486" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Decimal'." />
+		<error line="489" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'ULong'." />
+		<error line="489" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Decimal'." />
+		<error line="492" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Decimal'." />
+		<error line="492" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Decimal'." />
+		<error line="495" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Single'." />
+		<error line="495" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Decimal'." />
+		<error line="498" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Double'." />
+		<error line="498" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Decimal'." />
+		<error line="501" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Char'." />
+		<error line="501" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Decimal'." />
+		<error line="504" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Decimal'." />
+		<error line="507" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Date'." />
+		<error line="507" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Decimal'." />
+		<error line="510" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Decimal'." />
+		<error line="513" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Decimal'." />
+	</test>
+	<test id="2680" name="OperatorIntrinsic_IsNot_DecimalStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Decimal_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicIsNot.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="465" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Boolean'." />
+		<error line="465" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Decimal'." />
+		<error line="468" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Byte'." />
+		<error line="468" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Decimal'." />
+		<error line="471" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'SByte'." />
+		<error line="471" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Decimal'." />
+		<error line="474" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Short'." />
+		<error line="474" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Decimal'." />
+		<error line="477" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UShort'." />
+		<error line="477" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Decimal'." />
+		<error line="480" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Integer'." />
+		<error line="480" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Decimal'." />
+		<error line="483" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UInteger'." />
+		<error line="483" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Decimal'." />
+		<error line="486" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Long'." />
+		<error line="486" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Decimal'." />
+		<error line="489" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'ULong'." />
+		<error line="489" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Decimal'." />
+		<error line="492" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Decimal'." />
+		<error line="492" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Decimal'." />
+		<error line="495" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Single'." />
+		<error line="495" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Decimal'." />
+		<error line="498" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Double'." />
+		<error line="498" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Decimal'." />
+		<error line="501" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Char'." />
+		<error line="501" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Decimal'." />
+		<error line="504" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Decimal'." />
+		<error line="507" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Date'." />
+		<error line="507" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Decimal'." />
+		<error line="510" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Decimal'." />
+		<error line="513" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Decimal'." />
+	</test>
+	<test id="2681" name="OperatorIntrinsic_IsNot_SingleError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Single_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicIsNot.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="516" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Boolean'." />
+		<error line="516" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Single'." />
+		<error line="519" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Byte'." />
+		<error line="519" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Single'." />
+		<error line="522" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'SByte'." />
+		<error line="522" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Single'." />
+		<error line="525" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Short'." />
+		<error line="525" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Single'." />
+		<error line="528" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UShort'." />
+		<error line="528" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Single'." />
+		<error line="531" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Integer'." />
+		<error line="531" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Single'." />
+		<error line="534" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UInteger'." />
+		<error line="534" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Single'." />
+		<error line="537" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Long'." />
+		<error line="537" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Single'." />
+		<error line="540" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'ULong'." />
+		<error line="540" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Single'." />
+		<error line="543" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Decimal'." />
+		<error line="543" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Single'." />
+		<error line="546" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Single'." />
+		<error line="546" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Single'." />
+		<error line="549" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Double'." />
+		<error line="549" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Single'." />
+		<error line="552" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Char'." />
+		<error line="552" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Single'." />
+		<error line="555" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Single'." />
+		<error line="558" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Date'." />
+		<error line="558" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Single'." />
+		<error line="561" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Single'." />
+		<error line="564" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Single'." />
+	</test>
+	<test id="2682" name="OperatorIntrinsic_IsNot_SingleStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Single_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicIsNot.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="516" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Boolean'." />
+		<error line="516" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Single'." />
+		<error line="519" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Byte'." />
+		<error line="519" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Single'." />
+		<error line="522" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'SByte'." />
+		<error line="522" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Single'." />
+		<error line="525" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Short'." />
+		<error line="525" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Single'." />
+		<error line="528" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UShort'." />
+		<error line="528" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Single'." />
+		<error line="531" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Integer'." />
+		<error line="531" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Single'." />
+		<error line="534" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UInteger'." />
+		<error line="534" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Single'." />
+		<error line="537" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Long'." />
+		<error line="537" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Single'." />
+		<error line="540" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'ULong'." />
+		<error line="540" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Single'." />
+		<error line="543" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Decimal'." />
+		<error line="543" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Single'." />
+		<error line="546" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Single'." />
+		<error line="546" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Single'." />
+		<error line="549" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Double'." />
+		<error line="549" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Single'." />
+		<error line="552" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Char'." />
+		<error line="552" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Single'." />
+		<error line="555" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Single'." />
+		<error line="558" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Date'." />
+		<error line="558" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Single'." />
+		<error line="561" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Single'." />
+		<error line="564" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Single'." />
+	</test>
+	<test id="2683" name="OperatorIntrinsic_IsNot_DoubleError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Double_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicIsNot.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="567" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Boolean'." />
+		<error line="567" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Double'." />
+		<error line="570" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Byte'." />
+		<error line="570" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Double'." />
+		<error line="573" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'SByte'." />
+		<error line="573" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Double'." />
+		<error line="576" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Short'." />
+		<error line="576" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Double'." />
+		<error line="579" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UShort'." />
+		<error line="579" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Double'." />
+		<error line="582" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Integer'." />
+		<error line="582" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Double'." />
+		<error line="585" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UInteger'." />
+		<error line="585" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Double'." />
+		<error line="588" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Long'." />
+		<error line="588" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Double'." />
+		<error line="591" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'ULong'." />
+		<error line="591" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Double'." />
+		<error line="594" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Decimal'." />
+		<error line="594" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Double'." />
+		<error line="597" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Single'." />
+		<error line="597" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Double'." />
+		<error line="600" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Double'." />
+		<error line="600" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Double'." />
+		<error line="603" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Char'." />
+		<error line="603" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Double'." />
+		<error line="606" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Double'." />
+		<error line="609" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Date'." />
+		<error line="609" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Double'." />
+		<error line="612" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Double'." />
+		<error line="615" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Double'." />
+	</test>
+	<test id="2684" name="OperatorIntrinsic_IsNot_DoubleStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Double_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicIsNot.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="567" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Boolean'." />
+		<error line="567" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Double'." />
+		<error line="570" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Byte'." />
+		<error line="570" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Double'." />
+		<error line="573" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'SByte'." />
+		<error line="573" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Double'." />
+		<error line="576" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Short'." />
+		<error line="576" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Double'." />
+		<error line="579" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UShort'." />
+		<error line="579" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Double'." />
+		<error line="582" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Integer'." />
+		<error line="582" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Double'." />
+		<error line="585" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UInteger'." />
+		<error line="585" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Double'." />
+		<error line="588" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Long'." />
+		<error line="588" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Double'." />
+		<error line="591" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'ULong'." />
+		<error line="591" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Double'." />
+		<error line="594" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Decimal'." />
+		<error line="594" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Double'." />
+		<error line="597" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Single'." />
+		<error line="597" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Double'." />
+		<error line="600" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Double'." />
+		<error line="600" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Double'." />
+		<error line="603" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Char'." />
+		<error line="603" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Double'." />
+		<error line="606" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Double'." />
+		<error line="609" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Date'." />
+		<error line="609" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Double'." />
+		<error line="612" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Double'." />
+		<error line="615" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Double'." />
+	</test>
+	<test id="2685" name="OperatorIntrinsic_IsNot_CharError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Char_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicIsNot.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="618" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Boolean'." />
+		<error line="618" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Char'." />
+		<error line="621" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Byte'." />
+		<error line="621" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Char'." />
+		<error line="624" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'SByte'." />
+		<error line="624" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Char'." />
+		<error line="627" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Short'." />
+		<error line="627" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Char'." />
+		<error line="630" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UShort'." />
+		<error line="630" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Char'." />
+		<error line="633" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Integer'." />
+		<error line="633" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Char'." />
+		<error line="636" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UInteger'." />
+		<error line="636" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Char'." />
+		<error line="639" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Long'." />
+		<error line="639" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Char'." />
+		<error line="642" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'ULong'." />
+		<error line="642" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Char'." />
+		<error line="645" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Decimal'." />
+		<error line="645" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Char'." />
+		<error line="648" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Single'." />
+		<error line="648" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Char'." />
+		<error line="651" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Double'." />
+		<error line="651" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Char'." />
+		<error line="654" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Char'." />
+		<error line="654" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Char'." />
+		<error line="657" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Char'." />
+		<error line="660" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Date'." />
+		<error line="660" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Char'." />
+		<error line="663" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Char'." />
+		<error line="666" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Char'." />
+	</test>
+	<test id="2686" name="OperatorIntrinsic_IsNot_CharStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Char_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicIsNot.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="618" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Boolean'." />
+		<error line="618" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Char'." />
+		<error line="621" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Byte'." />
+		<error line="621" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Char'." />
+		<error line="624" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'SByte'." />
+		<error line="624" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Char'." />
+		<error line="627" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Short'." />
+		<error line="627" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Char'." />
+		<error line="630" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UShort'." />
+		<error line="630" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Char'." />
+		<error line="633" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Integer'." />
+		<error line="633" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Char'." />
+		<error line="636" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UInteger'." />
+		<error line="636" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Char'." />
+		<error line="639" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Long'." />
+		<error line="639" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Char'." />
+		<error line="642" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'ULong'." />
+		<error line="642" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Char'." />
+		<error line="645" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Decimal'." />
+		<error line="645" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Char'." />
+		<error line="648" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Single'." />
+		<error line="648" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Char'." />
+		<error line="651" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Double'." />
+		<error line="651" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Char'." />
+		<error line="654" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Char'." />
+		<error line="654" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Char'." />
+		<error line="657" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Char'." />
+		<error line="660" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Date'." />
+		<error line="660" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Char'." />
+		<error line="663" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Char'." />
+		<error line="666" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Char'." />
+	</test>
+	<test id="2687" name="OperatorIntrinsic_IsNot_StringError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:String_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicIsNot.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="669" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Boolean'." />
+		<error line="672" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Byte'." />
+		<error line="675" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'SByte'." />
+		<error line="678" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Short'." />
+		<error line="681" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UShort'." />
+		<error line="684" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Integer'." />
+		<error line="687" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UInteger'." />
+		<error line="690" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Long'." />
+		<error line="693" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'ULong'." />
+		<error line="696" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Decimal'." />
+		<error line="699" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Single'." />
+		<error line="702" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Double'." />
+		<error line="705" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Char'." />
+		<error line="710" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Date'." />
+	</test>
+	<test id="2688" name="OperatorIntrinsic_IsNot_StringStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:String_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicIsNot.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="669" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Boolean'." />
+		<error line="672" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Byte'." />
+		<error line="675" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'SByte'." />
+		<error line="678" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Short'." />
+		<error line="681" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UShort'." />
+		<error line="684" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Integer'." />
+		<error line="687" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UInteger'." />
+		<error line="690" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Long'." />
+		<error line="693" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'ULong'." />
+		<error line="696" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Decimal'." />
+		<error line="699" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Single'." />
+		<error line="702" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Double'." />
+		<error line="705" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Char'." />
+		<error line="710" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Date'." />
+	</test>
+	<test id="2689" name="OperatorIntrinsic_IsNot_DateTimeError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:DateTime_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicIsNot.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="718" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Boolean'." />
+		<error line="718" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Date'." />
+		<error line="721" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Byte'." />
+		<error line="721" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Date'." />
+		<error line="724" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'SByte'." />
+		<error line="724" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Date'." />
+		<error line="727" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Short'." />
+		<error line="727" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Date'." />
+		<error line="730" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UShort'." />
+		<error line="730" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Date'." />
+		<error line="733" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Integer'." />
+		<error line="733" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Date'." />
+		<error line="736" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UInteger'." />
+		<error line="736" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Date'." />
+		<error line="739" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Long'." />
+		<error line="739" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Date'." />
+		<error line="742" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'ULong'." />
+		<error line="742" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Date'." />
+		<error line="745" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Decimal'." />
+		<error line="745" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Date'." />
+		<error line="748" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Single'." />
+		<error line="748" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Date'." />
+		<error line="751" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Double'." />
+		<error line="751" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Date'." />
+		<error line="754" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Char'." />
+		<error line="754" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Date'." />
+		<error line="757" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Date'." />
+		<error line="760" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Date'." />
+		<error line="760" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Date'." />
+		<error line="763" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Date'." />
+		<error line="766" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Date'." />
+	</test>
+	<test id="2690" name="OperatorIntrinsic_IsNot_DateTimeStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:DateTime_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicIsNot.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="718" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Boolean'." />
+		<error line="718" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Date'." />
+		<error line="721" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Byte'." />
+		<error line="721" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Date'." />
+		<error line="724" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'SByte'." />
+		<error line="724" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Date'." />
+		<error line="727" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Short'." />
+		<error line="727" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Date'." />
+		<error line="730" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UShort'." />
+		<error line="730" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Date'." />
+		<error line="733" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Integer'." />
+		<error line="733" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Date'." />
+		<error line="736" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UInteger'." />
+		<error line="736" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Date'." />
+		<error line="739" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Long'." />
+		<error line="739" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Date'." />
+		<error line="742" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'ULong'." />
+		<error line="742" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Date'." />
+		<error line="745" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Decimal'." />
+		<error line="745" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Date'." />
+		<error line="748" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Single'." />
+		<error line="748" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Date'." />
+		<error line="751" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Double'." />
+		<error line="751" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Date'." />
+		<error line="754" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Char'." />
+		<error line="754" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Date'." />
+		<error line="757" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Date'." />
+		<error line="760" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Date'." />
+		<error line="760" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Date'." />
+		<error line="763" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Date'." />
+		<error line="766" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Date'." />
+	</test>
+	<test id="2691" name="OperatorIntrinsic_IsNot_DBNullError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:DBNull_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicIsNot.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="769" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Boolean'." />
+		<error line="772" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Byte'." />
+		<error line="775" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'SByte'." />
+		<error line="778" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Short'." />
+		<error line="781" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UShort'." />
+		<error line="784" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Integer'." />
+		<error line="787" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UInteger'." />
+		<error line="790" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Long'." />
+		<error line="793" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'ULong'." />
+		<error line="796" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Decimal'." />
+		<error line="799" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Single'." />
+		<error line="802" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Double'." />
+		<error line="805" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Char'." />
+		<error line="811" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Date'." />
+	</test>
+	<test id="2692" name="OperatorIntrinsic_IsNot_DBNullStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:DBNull_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicIsNot.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="769" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Boolean'." />
+		<error line="772" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Byte'." />
+		<error line="775" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'SByte'." />
+		<error line="778" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Short'." />
+		<error line="781" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UShort'." />
+		<error line="784" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Integer'." />
+		<error line="787" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UInteger'." />
+		<error line="790" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Long'." />
+		<error line="793" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'ULong'." />
+		<error line="796" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Decimal'." />
+		<error line="799" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Single'." />
+		<error line="802" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Double'." />
+		<error line="805" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Char'." />
+		<error line="811" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Date'." />
+	</test>
+	<test id="2693" name="OperatorIntrinsic_IsNot_ObjectError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Object_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicIsNot.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="820" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Boolean'." />
+		<error line="823" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Byte'." />
+		<error line="826" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'SByte'." />
+		<error line="829" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Short'." />
+		<error line="832" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UShort'." />
+		<error line="835" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Integer'." />
+		<error line="838" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UInteger'." />
+		<error line="841" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Long'." />
+		<error line="844" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'ULong'." />
+		<error line="847" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Decimal'." />
+		<error line="850" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Single'." />
+		<error line="853" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Double'." />
+		<error line="856" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Char'." />
+		<error line="861" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Date'." />
+	</test>
+	<test id="2694" name="OperatorIntrinsic_IsNot_ObjectStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Object_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicIsNot.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="820" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Boolean'." />
+		<error line="823" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Byte'." />
+		<error line="826" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'SByte'." />
+		<error line="829" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Short'." />
+		<error line="832" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UShort'." />
+		<error line="835" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Integer'." />
+		<error line="838" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'UInteger'." />
+		<error line="841" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Long'." />
+		<error line="844" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'ULong'." />
+		<error line="847" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Decimal'." />
+		<error line="850" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Single'." />
+		<error line="853" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Double'." />
+		<error line="856" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Char'." />
+		<error line="861" number="31419" message="'IsNot' requires operands that have reference types, but this operand has the value type 'Date'." />
+	</test>
+	<test id="2695" name="OperatorIntrinsic_LE_" target="exe" mytype="empty">
+		<file>CompileTime2\OperatorIntrinsicLE.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+	</test>
+	<test id="2696" name="OperatorIntrinsic_LE_Strict" mytype="empty">
+		<arguments>/optionstrict+ /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicLE.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+	</test>
+	<test id="2697" name="OperatorIntrinsic_LE_BooleanError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Boolean_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicLE.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="42" number="30452" message="Operator '<=' is not defined for types 'Boolean' and 'Char'." />
+		<error line="48" number="30452" message="Operator '<=' is not defined for types 'Boolean' and 'Date'." />
+		<error line="51" number="30452" message="Operator '<=' is not defined for types 'Boolean' and 'System.DBNull'." />
+	</test>
+	<test id="2698" name="OperatorIntrinsic_LE_BooleanStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Boolean_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicLE.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="9" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<error line="12" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'SByte'." />
+		<error line="15" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<error line="18" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Integer'." />
+		<error line="21" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Integer'." />
+		<error line="24" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Long'." />
+		<error line="27" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Long'." />
+		<error line="30" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Decimal'." />
+		<error line="33" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Decimal'." />
+		<error line="36" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Single'." />
+		<error line="39" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Double'." />
+		<error line="42" number="30452" message="Operator '<=' is not defined for types 'Boolean' and 'Char'." />
+		<error line="45" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Boolean'." />
+		<error line="48" number="30452" message="Operator '<=' is not defined for types 'Boolean' and 'Date'." />
+		<error line="51" number="30452" message="Operator '<=' is not defined for types 'Boolean' and 'System.DBNull'." />
+		<error line="55" number="30038" message="Option Strict On prohibits operands of type Object for operator '<='." />
+	</test>
+	<test id="2699" name="OperatorIntrinsic_LE_ByteError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Byte_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicLE.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="83" number="30452" message="Operator '<=' is not defined for types 'Byte' and 'Char'." />
+		<error line="89" number="30452" message="Operator '<=' is not defined for types 'Byte' and 'Date'." />
+		<error line="92" number="30452" message="Operator '<=' is not defined for types 'Byte' and 'System.DBNull'." />
+	</test>
+	<test id="2700" name="OperatorIntrinsic_LE_ByteStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Byte_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicLE.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="58" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<error line="83" number="30452" message="Operator '<=' is not defined for types 'Byte' and 'Char'." />
+		<error line="86" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="89" number="30452" message="Operator '<=' is not defined for types 'Byte' and 'Date'." />
+		<error line="92" number="30452" message="Operator '<=' is not defined for types 'Byte' and 'System.DBNull'." />
+		<error line="96" number="30038" message="Option Strict On prohibits operands of type Object for operator '<='." />
+	</test>
+	<test id="2701" name="OperatorIntrinsic_LE_SByteError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:SByte_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicLE.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="124" number="30452" message="Operator '<=' is not defined for types 'SByte' and 'Char'." />
+		<error line="130" number="30452" message="Operator '<=' is not defined for types 'SByte' and 'Date'." />
+		<error line="133" number="30452" message="Operator '<=' is not defined for types 'SByte' and 'System.DBNull'." />
+	</test>
+	<test id="2702" name="OperatorIntrinsic_LE_SByteStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:SByte_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicLE.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="99" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'SByte'." />
+		<error line="124" number="30452" message="Operator '<=' is not defined for types 'SByte' and 'Char'." />
+		<error line="127" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="130" number="30452" message="Operator '<=' is not defined for types 'SByte' and 'Date'." />
+		<error line="133" number="30452" message="Operator '<=' is not defined for types 'SByte' and 'System.DBNull'." />
+		<error line="137" number="30038" message="Option Strict On prohibits operands of type Object for operator '<='." />
+	</test>
+	<test id="2703" name="OperatorIntrinsic_LE_Int16Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Int16_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicLE.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="165" number="30452" message="Operator '<=' is not defined for types 'Short' and 'Char'." />
+		<error line="171" number="30452" message="Operator '<=' is not defined for types 'Short' and 'Date'." />
+		<error line="174" number="30452" message="Operator '<=' is not defined for types 'Short' and 'System.DBNull'." />
+	</test>
+	<test id="2704" name="OperatorIntrinsic_LE_Int16StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Int16_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicLE.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="140" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<error line="165" number="30452" message="Operator '<=' is not defined for types 'Short' and 'Char'." />
+		<error line="168" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="171" number="30452" message="Operator '<=' is not defined for types 'Short' and 'Date'." />
+		<error line="174" number="30452" message="Operator '<=' is not defined for types 'Short' and 'System.DBNull'." />
+		<error line="178" number="30038" message="Option Strict On prohibits operands of type Object for operator '<='." />
+	</test>
+	<test id="2705" name="OperatorIntrinsic_LE_UInt16Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:UInt16_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicLE.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="206" number="30452" message="Operator '<=' is not defined for types 'UShort' and 'Char'." />
+		<error line="212" number="30452" message="Operator '<=' is not defined for types 'UShort' and 'Date'." />
+		<error line="215" number="30452" message="Operator '<=' is not defined for types 'UShort' and 'System.DBNull'." />
+	</test>
+	<test id="2706" name="OperatorIntrinsic_LE_UInt16StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:UInt16_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicLE.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="181" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Integer'." />
+		<error line="206" number="30452" message="Operator '<=' is not defined for types 'UShort' and 'Char'." />
+		<error line="209" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="212" number="30452" message="Operator '<=' is not defined for types 'UShort' and 'Date'." />
+		<error line="215" number="30452" message="Operator '<=' is not defined for types 'UShort' and 'System.DBNull'." />
+		<error line="219" number="30038" message="Option Strict On prohibits operands of type Object for operator '<='." />
+	</test>
+	<test id="2707" name="OperatorIntrinsic_LE_Int32Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Int32_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicLE.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="247" number="30452" message="Operator '<=' is not defined for types 'Integer' and 'Char'." />
+		<error line="253" number="30452" message="Operator '<=' is not defined for types 'Integer' and 'Date'." />
+		<error line="256" number="30452" message="Operator '<=' is not defined for types 'Integer' and 'System.DBNull'." />
+	</test>
+	<test id="2708" name="OperatorIntrinsic_LE_Int32StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Int32_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicLE.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="222" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Integer'." />
+		<error line="247" number="30452" message="Operator '<=' is not defined for types 'Integer' and 'Char'." />
+		<error line="250" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="253" number="30452" message="Operator '<=' is not defined for types 'Integer' and 'Date'." />
+		<error line="256" number="30452" message="Operator '<=' is not defined for types 'Integer' and 'System.DBNull'." />
+		<error line="260" number="30038" message="Option Strict On prohibits operands of type Object for operator '<='." />
+	</test>
+	<test id="2709" name="OperatorIntrinsic_LE_UInt32Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:UInt32_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicLE.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="288" number="30452" message="Operator '<=' is not defined for types 'UInteger' and 'Char'." />
+		<error line="294" number="30452" message="Operator '<=' is not defined for types 'UInteger' and 'Date'." />
+		<error line="297" number="30452" message="Operator '<=' is not defined for types 'UInteger' and 'System.DBNull'." />
+	</test>
+	<test id="2710" name="OperatorIntrinsic_LE_UInt32StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:UInt32_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicLE.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="263" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Long'." />
+		<error line="288" number="30452" message="Operator '<=' is not defined for types 'UInteger' and 'Char'." />
+		<error line="291" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="294" number="30452" message="Operator '<=' is not defined for types 'UInteger' and 'Date'." />
+		<error line="297" number="30452" message="Operator '<=' is not defined for types 'UInteger' and 'System.DBNull'." />
+		<error line="301" number="30038" message="Option Strict On prohibits operands of type Object for operator '<='." />
+	</test>
+	<test id="2711" name="OperatorIntrinsic_LE_Int64Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Int64_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicLE.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="329" number="30452" message="Operator '<=' is not defined for types 'Long' and 'Char'." />
+		<error line="335" number="30452" message="Operator '<=' is not defined for types 'Long' and 'Date'." />
+		<error line="338" number="30452" message="Operator '<=' is not defined for types 'Long' and 'System.DBNull'." />
+	</test>
+	<test id="2712" name="OperatorIntrinsic_LE_Int64StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Int64_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicLE.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="304" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Long'." />
+		<error line="329" number="30452" message="Operator '<=' is not defined for types 'Long' and 'Char'." />
+		<error line="332" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="335" number="30452" message="Operator '<=' is not defined for types 'Long' and 'Date'." />
+		<error line="338" number="30452" message="Operator '<=' is not defined for types 'Long' and 'System.DBNull'." />
+		<error line="342" number="30038" message="Option Strict On prohibits operands of type Object for operator '<='." />
+	</test>
+	<test id="2713" name="OperatorIntrinsic_LE_UInt64Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:UInt64_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicLE.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="370" number="30452" message="Operator '<=' is not defined for types 'ULong' and 'Char'." />
+		<error line="376" number="30452" message="Operator '<=' is not defined for types 'ULong' and 'Date'." />
+		<error line="379" number="30452" message="Operator '<=' is not defined for types 'ULong' and 'System.DBNull'." />
+	</test>
+	<test id="2714" name="OperatorIntrinsic_LE_UInt64StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:UInt64_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicLE.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="345" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Decimal'." />
+		<error line="370" number="30452" message="Operator '<=' is not defined for types 'ULong' and 'Char'." />
+		<error line="373" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="376" number="30452" message="Operator '<=' is not defined for types 'ULong' and 'Date'." />
+		<error line="379" number="30452" message="Operator '<=' is not defined for types 'ULong' and 'System.DBNull'." />
+		<error line="383" number="30038" message="Option Strict On prohibits operands of type Object for operator '<='." />
+	</test>
+	<test id="2715" name="OperatorIntrinsic_LE_DecimalError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Decimal_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicLE.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="411" number="30452" message="Operator '<=' is not defined for types 'Decimal' and 'Char'." />
+		<error line="417" number="30452" message="Operator '<=' is not defined for types 'Decimal' and 'Date'." />
+		<error line="420" number="30518" message="Overload resolution failed because no accessible '<=' can be called with these arguments:" />
+	</test>
+	<test id="2716" name="OperatorIntrinsic_LE_DecimalStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Decimal_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicLE.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="386" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Decimal'." />
+		<error line="411" number="30452" message="Operator '<=' is not defined for types 'Decimal' and 'Char'." />
+		<error line="414" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="417" number="30452" message="Operator '<=' is not defined for types 'Decimal' and 'Date'." />
+		<error line="420" number="30518" message="Overload resolution failed because no accessible '<=' can be called with these arguments:" />
+		<error line="424" number="30038" message="Option Strict On prohibits operands of type Object for operator '<='." />
+	</test>
+	<test id="2717" name="OperatorIntrinsic_LE_SingleError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Single_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicLE.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="452" number="30452" message="Operator '<=' is not defined for types 'Single' and 'Char'." />
+		<error line="458" number="30452" message="Operator '<=' is not defined for types 'Single' and 'Date'." />
+		<error line="461" number="30518" message="Overload resolution failed because no accessible '<=' can be called with these arguments:" />
+	</test>
+	<test id="2718" name="OperatorIntrinsic_LE_SingleStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Single_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicLE.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="427" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Single'." />
+		<error line="452" number="30452" message="Operator '<=' is not defined for types 'Single' and 'Char'." />
+		<error line="455" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="458" number="30452" message="Operator '<=' is not defined for types 'Single' and 'Date'." />
+		<error line="461" number="30518" message="Overload resolution failed because no accessible '<=' can be called with these arguments:" />
+		<error line="465" number="30038" message="Option Strict On prohibits operands of type Object for operator '<='." />
+	</test>
+	<test id="2719" name="OperatorIntrinsic_LE_DoubleError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Double_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicLE.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="493" number="30452" message="Operator '<=' is not defined for types 'Double' and 'Char'." />
+		<error line="499" number="30452" message="Operator '<=' is not defined for types 'Double' and 'Date'." />
+		<error line="502" number="30518" message="Overload resolution failed because no accessible '<=' can be called with these arguments:" />
+	</test>
+	<test id="2720" name="OperatorIntrinsic_LE_DoubleStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Double_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicLE.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="468" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Double'." />
+		<error line="493" number="30452" message="Operator '<=' is not defined for types 'Double' and 'Char'." />
+		<error line="496" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="499" number="30452" message="Operator '<=' is not defined for types 'Double' and 'Date'." />
+		<error line="502" number="30518" message="Overload resolution failed because no accessible '<=' can be called with these arguments:" />
+		<error line="506" number="30038" message="Option Strict On prohibits operands of type Object for operator '<='." />
+	</test>
+	<test id="2721" name="OperatorIntrinsic_LE_CharError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Char_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicLE.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="509" number="30452" message="Operator '<=' is not defined for types 'Char' and 'Boolean'." />
+		<error line="512" number="30452" message="Operator '<=' is not defined for types 'Char' and 'Byte'." />
+		<error line="515" number="30452" message="Operator '<=' is not defined for types 'Char' and 'SByte'." />
+		<error line="518" number="30452" message="Operator '<=' is not defined for types 'Char' and 'Short'." />
+		<error line="521" number="30452" message="Operator '<=' is not defined for types 'Char' and 'UShort'." />
+		<error line="524" number="30452" message="Operator '<=' is not defined for types 'Char' and 'Integer'." />
+		<error line="527" number="30452" message="Operator '<=' is not defined for types 'Char' and 'UInteger'." />
+		<error line="530" number="30452" message="Operator '<=' is not defined for types 'Char' and 'Long'." />
+		<error line="533" number="30452" message="Operator '<=' is not defined for types 'Char' and 'ULong'." />
+		<error line="536" number="30452" message="Operator '<=' is not defined for types 'Char' and 'Decimal'." />
+		<error line="539" number="30452" message="Operator '<=' is not defined for types 'Char' and 'Single'." />
+		<error line="542" number="30452" message="Operator '<=' is not defined for types 'Char' and 'Double'." />
+		<error line="551" number="30452" message="Operator '<=' is not defined for types 'Char' and 'Date'." />
+		<error line="554" number="30452" message="Operator '<=' is not defined for types 'Char' and 'System.DBNull'." />
+	</test>
+	<test id="2722" name="OperatorIntrinsic_LE_CharStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Char_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicLE.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="509" number="30452" message="Operator '<=' is not defined for types 'Char' and 'Boolean'." />
+		<error line="512" number="30452" message="Operator '<=' is not defined for types 'Char' and 'Byte'." />
+		<error line="515" number="30452" message="Operator '<=' is not defined for types 'Char' and 'SByte'." />
+		<error line="518" number="30452" message="Operator '<=' is not defined for types 'Char' and 'Short'." />
+		<error line="521" number="30452" message="Operator '<=' is not defined for types 'Char' and 'UShort'." />
+		<error line="524" number="30452" message="Operator '<=' is not defined for types 'Char' and 'Integer'." />
+		<error line="527" number="30452" message="Operator '<=' is not defined for types 'Char' and 'UInteger'." />
+		<error line="530" number="30452" message="Operator '<=' is not defined for types 'Char' and 'Long'." />
+		<error line="533" number="30452" message="Operator '<=' is not defined for types 'Char' and 'ULong'." />
+		<error line="536" number="30452" message="Operator '<=' is not defined for types 'Char' and 'Decimal'." />
+		<error line="539" number="30452" message="Operator '<=' is not defined for types 'Char' and 'Single'." />
+		<error line="542" number="30452" message="Operator '<=' is not defined for types 'Char' and 'Double'." />
+		<error line="551" number="30452" message="Operator '<=' is not defined for types 'Char' and 'Date'." />
+		<error line="554" number="30452" message="Operator '<=' is not defined for types 'Char' and 'System.DBNull'." />
+		<error line="557" number="30038" message="Option Strict On prohibits operands of type Object for operator '<='." />
+	</test>
+	<test id="2723" name="OperatorIntrinsic_LE_StringError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:String_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicLE.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="604" number="30452" message="Operator '<=' is not defined for types 'String' and 'System.DBNull'." />
+	</test>
+	<test id="2724" name="OperatorIntrinsic_LE_StringStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:String_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicLE.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="560" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Boolean'." />
+		<error line="563" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="566" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="569" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="572" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="575" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="578" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="581" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="584" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="587" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="590" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="593" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="601" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Date'." />
+		<error line="604" number="30452" message="Operator '<=' is not defined for types 'String' and 'System.DBNull'." />
+		<error line="608" number="30038" message="Option Strict On prohibits operands of type Object for operator '<='." />
+	</test>
+	<test id="2725" name="OperatorIntrinsic_LE_DateTimeError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:DateTime_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicLE.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="611" number="30452" message="Operator '<=' is not defined for types 'Date' and 'Boolean'." />
+		<error line="614" number="30452" message="Operator '<=' is not defined for types 'Date' and 'Byte'." />
+		<error line="617" number="30452" message="Operator '<=' is not defined for types 'Date' and 'SByte'." />
+		<error line="620" number="30452" message="Operator '<=' is not defined for types 'Date' and 'Short'." />
+		<error line="623" number="30452" message="Operator '<=' is not defined for types 'Date' and 'UShort'." />
+		<error line="626" number="30452" message="Operator '<=' is not defined for types 'Date' and 'Integer'." />
+		<error line="629" number="30452" message="Operator '<=' is not defined for types 'Date' and 'UInteger'." />
+		<error line="632" number="30452" message="Operator '<=' is not defined for types 'Date' and 'Long'." />
+		<error line="635" number="30452" message="Operator '<=' is not defined for types 'Date' and 'ULong'." />
+		<error line="638" number="30452" message="Operator '<=' is not defined for types 'Date' and 'Decimal'." />
+		<error line="641" number="30452" message="Operator '<=' is not defined for types 'Date' and 'Single'." />
+		<error line="644" number="30452" message="Operator '<=' is not defined for types 'Date' and 'Double'." />
+		<error line="647" number="30452" message="Operator '<=' is not defined for types 'Date' and 'Char'." />
+		<error line="655" number="30518" message="Overload resolution failed because no accessible '<=' can be called with these arguments:" />
+	</test>
+	<test id="2726" name="OperatorIntrinsic_LE_DateTimeStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:DateTime_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicLE.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="611" number="30452" message="Operator '<=' is not defined for types 'Date' and 'Boolean'." />
+		<error line="614" number="30452" message="Operator '<=' is not defined for types 'Date' and 'Byte'." />
+		<error line="617" number="30452" message="Operator '<=' is not defined for types 'Date' and 'SByte'." />
+		<error line="620" number="30452" message="Operator '<=' is not defined for types 'Date' and 'Short'." />
+		<error line="623" number="30452" message="Operator '<=' is not defined for types 'Date' and 'UShort'." />
+		<error line="626" number="30452" message="Operator '<=' is not defined for types 'Date' and 'Integer'." />
+		<error line="629" number="30452" message="Operator '<=' is not defined for types 'Date' and 'UInteger'." />
+		<error line="632" number="30452" message="Operator '<=' is not defined for types 'Date' and 'Long'." />
+		<error line="635" number="30452" message="Operator '<=' is not defined for types 'Date' and 'ULong'." />
+		<error line="638" number="30452" message="Operator '<=' is not defined for types 'Date' and 'Decimal'." />
+		<error line="641" number="30452" message="Operator '<=' is not defined for types 'Date' and 'Single'." />
+		<error line="644" number="30452" message="Operator '<=' is not defined for types 'Date' and 'Double'." />
+		<error line="647" number="30452" message="Operator '<=' is not defined for types 'Date' and 'Char'." />
+		<error line="650" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Date'." />
+		<error line="655" number="30518" message="Overload resolution failed because no accessible '<=' can be called with these arguments:" />
+		<error line="659" number="30038" message="Option Strict On prohibits operands of type Object for operator '<='." />
+	</test>
+	<test id="2727" name="OperatorIntrinsic_LE_DBNullError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:DBNull_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicLE.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="662" number="30452" message="Operator '<=' is not defined for types 'System.DBNull' and 'Boolean'." />
+		<error line="665" number="30452" message="Operator '<=' is not defined for types 'System.DBNull' and 'Byte'." />
+		<error line="668" number="30452" message="Operator '<=' is not defined for types 'System.DBNull' and 'SByte'." />
+		<error line="671" number="30452" message="Operator '<=' is not defined for types 'System.DBNull' and 'Short'." />
+		<error line="674" number="30452" message="Operator '<=' is not defined for types 'System.DBNull' and 'UShort'." />
+		<error line="677" number="30452" message="Operator '<=' is not defined for types 'System.DBNull' and 'Integer'." />
+		<error line="680" number="30452" message="Operator '<=' is not defined for types 'System.DBNull' and 'UInteger'." />
+		<error line="683" number="30452" message="Operator '<=' is not defined for types 'System.DBNull' and 'Long'." />
+		<error line="686" number="30452" message="Operator '<=' is not defined for types 'System.DBNull' and 'ULong'." />
+		<error line="689" number="30518" message="Overload resolution failed because no accessible '<=' can be called with these arguments:" />
+		<error line="692" number="30518" message="Overload resolution failed because no accessible '<=' can be called with these arguments:" />
+		<error line="695" number="30518" message="Overload resolution failed because no accessible '<=' can be called with these arguments:" />
+		<error line="698" number="30452" message="Operator '<=' is not defined for types 'System.DBNull' and 'Char'." />
+		<error line="701" number="30452" message="Operator '<=' is not defined for types 'System.DBNull' and 'String'." />
+		<error line="704" number="30518" message="Overload resolution failed because no accessible '<=' can be called with these arguments:" />
+		<error line="707" number="30452" message="Operator '<=' is not defined for types 'System.DBNull' and 'System.DBNull'." />
+		<error line="710" number="30452" message="Operator '<=' is not defined for types 'System.DBNull' and 'Object'." />
+	</test>
+	<test id="2728" name="OperatorIntrinsic_LE_DBNullStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:DBNull_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicLE.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="662" number="30452" message="Operator '<=' is not defined for types 'System.DBNull' and 'Boolean'." />
+		<error line="665" number="30452" message="Operator '<=' is not defined for types 'System.DBNull' and 'Byte'." />
+		<error line="668" number="30452" message="Operator '<=' is not defined for types 'System.DBNull' and 'SByte'." />
+		<error line="671" number="30452" message="Operator '<=' is not defined for types 'System.DBNull' and 'Short'." />
+		<error line="674" number="30452" message="Operator '<=' is not defined for types 'System.DBNull' and 'UShort'." />
+		<error line="677" number="30452" message="Operator '<=' is not defined for types 'System.DBNull' and 'Integer'." />
+		<error line="680" number="30452" message="Operator '<=' is not defined for types 'System.DBNull' and 'UInteger'." />
+		<error line="683" number="30452" message="Operator '<=' is not defined for types 'System.DBNull' and 'Long'." />
+		<error line="686" number="30452" message="Operator '<=' is not defined for types 'System.DBNull' and 'ULong'." />
+		<error line="689" number="30518" message="Overload resolution failed because no accessible '<=' can be called with these arguments:" />
+		<error line="692" number="30518" message="Overload resolution failed because no accessible '<=' can be called with these arguments:" />
+		<error line="695" number="30518" message="Overload resolution failed because no accessible '<=' can be called with these arguments:" />
+		<error line="698" number="30452" message="Operator '<=' is not defined for types 'System.DBNull' and 'Char'." />
+		<error line="701" number="30452" message="Operator '<=' is not defined for types 'System.DBNull' and 'String'." />
+		<error line="704" number="30518" message="Overload resolution failed because no accessible '<=' can be called with these arguments:" />
+		<error line="707" number="30452" message="Operator '<=' is not defined for types 'System.DBNull' and 'System.DBNull'." />
+		<error line="710" number="30452" message="Operator '<=' is not defined for types 'System.DBNull' and 'Object'." />
+	</test>
+	<test id="2729" name="OperatorIntrinsic_LE_ObjectError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Object_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicLE.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="772" number="30452" message="Operator '<=' is not defined for types 'Object' and 'System.DBNull'." />
+	</test>
+	<test id="2730" name="OperatorIntrinsic_LE_ObjectStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Object_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicLE.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="714" number="30038" message="Option Strict On prohibits operands of type Object for operator '<='." />
+		<error line="718" number="30038" message="Option Strict On prohibits operands of type Object for operator '<='." />
+		<error line="722" number="30038" message="Option Strict On prohibits operands of type Object for operator '<='." />
+		<error line="726" number="30038" message="Option Strict On prohibits operands of type Object for operator '<='." />
+		<error line="730" number="30038" message="Option Strict On prohibits operands of type Object for operator '<='." />
+		<error line="734" number="30038" message="Option Strict On prohibits operands of type Object for operator '<='." />
+		<error line="738" number="30038" message="Option Strict On prohibits operands of type Object for operator '<='." />
+		<error line="742" number="30038" message="Option Strict On prohibits operands of type Object for operator '<='." />
+		<error line="746" number="30038" message="Option Strict On prohibits operands of type Object for operator '<='." />
+		<error line="750" number="30038" message="Option Strict On prohibits operands of type Object for operator '<='." />
+		<error line="754" number="30038" message="Option Strict On prohibits operands of type Object for operator '<='." />
+		<error line="758" number="30038" message="Option Strict On prohibits operands of type Object for operator '<='." />
+		<error line="761" number="30038" message="Option Strict On prohibits operands of type Object for operator '<='." />
+		<error line="765" number="30038" message="Option Strict On prohibits operands of type Object for operator '<='." />
+		<error line="769" number="30038" message="Option Strict On prohibits operands of type Object for operator '<='." />
+		<error line="772" number="30452" message="Operator '<=' is not defined for types 'Object' and 'System.DBNull'." />
+		<error line="776" number="30038" message="Option Strict On prohibits operands of type Object for operator '<='." />
+		<error line="776" number="30038" message="Option Strict On prohibits operands of type Object for operator '<='." />
+	</test>
+	<test id="2731" name="OperatorIntrinsic_Like_" target="exe" mytype="empty">
+		<file>CompileTime2\OperatorIntrinsicLike.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+	</test>
+	<test id="2732" name="OperatorIntrinsic_Like_Strict" mytype="empty">
+		<arguments>/optionstrict+ /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicLike.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+	</test>
+	<test id="2733" name="OperatorIntrinsic_Like_BooleanError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Boolean_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicLike.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="66" number="30452" message="Operator 'Like' is not defined for types 'Boolean' and 'System.DBNull'." />
+	</test>
+	<test id="2734" name="OperatorIntrinsic_Like_BooleanStrictError" expectedexitcode="1" expectedvbcexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Boolean_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicLike.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="7" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'String'." />
+		<error line="7" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'String'." />
+		<error line="11" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'String'." />
+		<error line="11" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'String'." />
+		<error line="15" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'String'." />
+		<error line="15" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'String'." />
+		<error line="19" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'String'." />
+		<error line="19" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'String'." />
+		<error line="23" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'String'." />
+		<error line="23" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'String'." />
+		<error line="27" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'String'." />
+		<error line="27" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'String'." />
+		<error line="31" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'String'." />
+		<error line="31" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'String'." />
+		<error line="35" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'String'." />
+		<error line="35" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'String'." />
+		<error line="39" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'String'." />
+		<error line="39" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'String'." />
+		<error line="43" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'String'." />
+		<error line="43" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'String'." />
+		<error line="47" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'String'." />
+		<error line="47" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'String'." />
+		<error line="51" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'String'." />
+		<error line="51" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'String'." />
+		<error line="55" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'String'." />
+		<error line="59" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'String'." />
+		<error line="63" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'String'." />
+		<error line="63" number="30512" message="Option Strict On disallows implicit conversions from 'Date' to 'String'." />
+		<error line="66" number="30452" message="Operator 'Like' is not defined for types 'Boolean' and 'System.DBNull'." />
+		<error line="70" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Like'." />
+		<vbcerror line="7" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'String'." />
+		<vbcerror line="7" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'String'." />
+		<vbcerror line="11" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'String'." />
+		<vbcerror line="11" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'String'." />
+		<vbcerror line="15" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'String'." />
+		<vbcerror line="15" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'String'." />
+		<vbcerror line="19" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'String'." />
+		<vbcerror line="19" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'String'." />
+		<vbcerror line="23" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'String'." />
+		<vbcerror line="23" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'String'." />
+		<vbcerror line="27" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'String'." />
+		<vbcerror line="27" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'String'." />
+		<vbcerror line="31" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'String'." />
+		<vbcerror line="31" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'String'." />
+		<vbcerror line="35" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'String'." />
+		<vbcerror line="35" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'String'." />
+		<vbcerror line="39" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'String'." />
+		<vbcerror line="39" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'String'." />
+		<vbcerror line="43" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'String'." />
+		<vbcerror line="43" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'String'." />
+		<vbcerror line="47" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'String'." />
+		<vbcerror line="47" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'String'." />
+		<vbcerror line="51" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'String'." />
+		<vbcerror line="51" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'String'." />
+		<vbcerror line="55" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'String'." />
+		<vbcerror line="59" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'String'." />
+		<vbcerror line="63" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'String'." />
+		<vbcerror line="63" number="30512" message="Option Strict On disallows implicit conversions from 'Date' to 'String'." />
+		<vbcerror line="66" number="30452" message="Operator 'Like' is not defined for types 'Boolean' and 'System.DBNull'." />
+		<vbcerror line="70" number="30038" message="Option Strict On prohibits operands of type Object for operator '...'." />
+	</test>
+	<test id="2735" name="OperatorIntrinsic_Like_ByteError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Byte_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicLike.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="133" number="30452" message="Operator 'Like' is not defined for types 'Byte' and 'System.DBNull'." />
+	</test>
+	<test id="2736" name="OperatorIntrinsic_Like_ByteStrictError" expectedexitcode="1" expectedvbcexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Byte_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicLike.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="74" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'String'." />
+		<error line="74" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'String'." />
+		<error line="78" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'String'." />
+		<error line="78" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'String'." />
+		<error line="82" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'String'." />
+		<error line="82" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'String'." />
+		<error line="86" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'String'." />
+		<error line="86" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'String'." />
+		<error line="90" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'String'." />
+		<error line="90" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'String'." />
+		<error line="94" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'String'." />
+		<error line="94" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'String'." />
+		<error line="98" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'String'." />
+		<error line="98" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'String'." />
+		<error line="102" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'String'." />
+		<error line="102" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'String'." />
+		<error line="106" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'String'." />
+		<error line="106" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'String'." />
+		<error line="110" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'String'." />
+		<error line="110" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'String'." />
+		<error line="114" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'String'." />
+		<error line="114" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'String'." />
+		<error line="118" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'String'." />
+		<error line="118" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'String'." />
+		<error line="122" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'String'." />
+		<error line="126" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'String'." />
+		<error line="130" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'String'." />
+		<error line="130" number="30512" message="Option Strict On disallows implicit conversions from 'Date' to 'String'." />
+		<error line="133" number="30452" message="Operator 'Like' is not defined for types 'Byte' and 'System.DBNull'." />
+		<error line="137" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Like'." />
+		<vbcerror line="74" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'String'." />
+		<vbcerror line="74" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'String'." />
+		<vbcerror line="78" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'String'." />
+		<vbcerror line="78" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'String'." />
+		<vbcerror line="82" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'String'." />
+		<vbcerror line="82" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'String'." />
+		<vbcerror line="86" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'String'." />
+		<vbcerror line="86" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'String'." />
+		<vbcerror line="90" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'String'." />
+		<vbcerror line="90" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'String'." />
+		<vbcerror line="94" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'String'." />
+		<vbcerror line="94" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'String'." />
+		<vbcerror line="98" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'String'." />
+		<vbcerror line="98" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'String'." />
+		<vbcerror line="102" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'String'." />
+		<vbcerror line="102" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'String'." />
+		<vbcerror line="106" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'String'." />
+		<vbcerror line="106" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'String'." />
+		<vbcerror line="110" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'String'." />
+		<vbcerror line="110" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'String'." />
+		<vbcerror line="114" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'String'." />
+		<vbcerror line="114" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'String'." />
+		<vbcerror line="118" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'String'." />
+		<vbcerror line="118" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'String'." />
+		<vbcerror line="122" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'String'." />
+		<vbcerror line="126" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'String'." />
+		<vbcerror line="130" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'String'." />
+		<vbcerror line="130" number="30512" message="Option Strict On disallows implicit conversions from 'Date' to 'String'." />
+		<vbcerror line="133" number="30452" message="Operator 'Like' is not defined for types 'Byte' and 'System.DBNull'." />
+		<vbcerror line="137" number="30038" message="Option Strict On prohibits operands of type Object for operator '...'." />
+	</test>
+	<test id="2737" name="OperatorIntrinsic_Like_SByteError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:SByte_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicLike.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="200" number="30452" message="Operator 'Like' is not defined for types 'SByte' and 'System.DBNull'." />
+	</test>
+	<test id="2738" name="OperatorIntrinsic_Like_SByteStrictError" expectedexitcode="1" expectedvbcexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:SByte_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicLike.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="141" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'String'." />
+		<error line="141" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'String'." />
+		<error line="145" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'String'." />
+		<error line="145" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'String'." />
+		<error line="149" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'String'." />
+		<error line="149" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'String'." />
+		<error line="153" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'String'." />
+		<error line="153" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'String'." />
+		<error line="157" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'String'." />
+		<error line="157" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'String'." />
+		<error line="161" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'String'." />
+		<error line="161" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'String'." />
+		<error line="165" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'String'." />
+		<error line="165" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'String'." />
+		<error line="169" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'String'." />
+		<error line="169" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'String'." />
+		<error line="173" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'String'." />
+		<error line="173" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'String'." />
+		<error line="177" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'String'." />
+		<error line="177" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'String'." />
+		<error line="181" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'String'." />
+		<error line="181" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'String'." />
+		<error line="185" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'String'." />
+		<error line="185" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'String'." />
+		<error line="189" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'String'." />
+		<error line="193" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'String'." />
+		<error line="197" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'String'." />
+		<error line="197" number="30512" message="Option Strict On disallows implicit conversions from 'Date' to 'String'." />
+		<error line="200" number="30452" message="Operator 'Like' is not defined for types 'SByte' and 'System.DBNull'." />
+		<error line="204" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Like'." />
+		<vbcerror line="141" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'String'." />
+		<vbcerror line="141" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'String'." />
+		<vbcerror line="145" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'String'." />
+		<vbcerror line="145" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'String'." />
+		<vbcerror line="149" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'String'." />
+		<vbcerror line="149" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'String'." />
+		<vbcerror line="153" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'String'." />
+		<vbcerror line="153" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'String'." />
+		<vbcerror line="157" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'String'." />
+		<vbcerror line="157" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'String'." />
+		<vbcerror line="161" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'String'." />
+		<vbcerror line="161" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'String'." />
+		<vbcerror line="165" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'String'." />
+		<vbcerror line="165" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'String'." />
+		<vbcerror line="169" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'String'." />
+		<vbcerror line="169" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'String'." />
+		<vbcerror line="173" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'String'." />
+		<vbcerror line="173" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'String'." />
+		<vbcerror line="177" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'String'." />
+		<vbcerror line="177" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'String'." />
+		<vbcerror line="181" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'String'." />
+		<vbcerror line="181" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'String'." />
+		<vbcerror line="185" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'String'." />
+		<vbcerror line="185" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'String'." />
+		<vbcerror line="189" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'String'." />
+		<vbcerror line="193" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'String'." />
+		<vbcerror line="197" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'String'." />
+		<vbcerror line="197" number="30512" message="Option Strict On disallows implicit conversions from 'Date' to 'String'." />
+		<vbcerror line="200" number="30452" message="Operator 'Like' is not defined for types 'SByte' and 'System.DBNull'." />
+		<vbcerror line="204" number="30038" message="Option Strict On prohibits operands of type Object for operator '...'." />
+	</test>
+	<test id="2739" name="OperatorIntrinsic_Like_Int16Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Int16_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicLike.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="267" number="30452" message="Operator 'Like' is not defined for types 'Short' and 'System.DBNull'." />
+	</test>
+	<test id="2740" name="OperatorIntrinsic_Like_Int16StrictError" expectedexitcode="1" expectedvbcexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Int16_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicLike.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="208" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'String'." />
+		<error line="208" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'String'." />
+		<error line="212" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'String'." />
+		<error line="212" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'String'." />
+		<error line="216" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'String'." />
+		<error line="216" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'String'." />
+		<error line="220" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'String'." />
+		<error line="220" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'String'." />
+		<error line="224" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'String'." />
+		<error line="224" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'String'." />
+		<error line="228" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'String'." />
+		<error line="228" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'String'." />
+		<error line="232" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'String'." />
+		<error line="232" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'String'." />
+		<error line="236" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'String'." />
+		<error line="236" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'String'." />
+		<error line="240" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'String'." />
+		<error line="240" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'String'." />
+		<error line="244" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'String'." />
+		<error line="244" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'String'." />
+		<error line="248" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'String'." />
+		<error line="248" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'String'." />
+		<error line="252" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'String'." />
+		<error line="252" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'String'." />
+		<error line="256" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'String'." />
+		<error line="260" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'String'." />
+		<error line="264" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'String'." />
+		<error line="264" number="30512" message="Option Strict On disallows implicit conversions from 'Date' to 'String'." />
+		<error line="267" number="30452" message="Operator 'Like' is not defined for types 'Short' and 'System.DBNull'." />
+		<error line="271" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Like'." />
+		<vbcerror line="208" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'String'." />
+		<vbcerror line="208" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'String'." />
+		<vbcerror line="212" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'String'." />
+		<vbcerror line="212" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'String'." />
+		<vbcerror line="216" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'String'." />
+		<vbcerror line="216" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'String'." />
+		<vbcerror line="220" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'String'." />
+		<vbcerror line="220" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'String'." />
+		<vbcerror line="224" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'String'." />
+		<vbcerror line="224" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'String'." />
+		<vbcerror line="228" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'String'." />
+		<vbcerror line="228" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'String'." />
+		<vbcerror line="232" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'String'." />
+		<vbcerror line="232" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'String'." />
+		<vbcerror line="236" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'String'." />
+		<vbcerror line="236" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'String'." />
+		<vbcerror line="240" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'String'." />
+		<vbcerror line="240" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'String'." />
+		<vbcerror line="244" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'String'." />
+		<vbcerror line="244" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'String'." />
+		<vbcerror line="248" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'String'." />
+		<vbcerror line="248" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'String'." />
+		<vbcerror line="252" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'String'." />
+		<vbcerror line="252" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'String'." />
+		<vbcerror line="256" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'String'." />
+		<vbcerror line="260" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'String'." />
+		<vbcerror line="264" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'String'." />
+		<vbcerror line="264" number="30512" message="Option Strict On disallows implicit conversions from 'Date' to 'String'." />
+		<vbcerror line="267" number="30452" message="Operator 'Like' is not defined for types 'Short' and 'System.DBNull'." />
+		<vbcerror line="271" number="30038" message="Option Strict On prohibits operands of type Object for operator '...'." />
+	</test>
+	<test id="2741" name="OperatorIntrinsic_Like_UInt16Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:UInt16_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicLike.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="334" number="30452" message="Operator 'Like' is not defined for types 'UShort' and 'System.DBNull'." />
+	</test>
+	<test id="2742" name="OperatorIntrinsic_Like_UInt16StrictError" expectedexitcode="1" expectedvbcexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:UInt16_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicLike.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="275" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'String'." />
+		<error line="275" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'String'." />
+		<error line="279" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'String'." />
+		<error line="279" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'String'." />
+		<error line="283" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'String'." />
+		<error line="283" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'String'." />
+		<error line="287" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'String'." />
+		<error line="287" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'String'." />
+		<error line="291" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'String'." />
+		<error line="291" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'String'." />
+		<error line="295" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'String'." />
+		<error line="295" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'String'." />
+		<error line="299" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'String'." />
+		<error line="299" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'String'." />
+		<error line="303" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'String'." />
+		<error line="303" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'String'." />
+		<error line="307" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'String'." />
+		<error line="307" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'String'." />
+		<error line="311" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'String'." />
+		<error line="311" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'String'." />
+		<error line="315" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'String'." />
+		<error line="315" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'String'." />
+		<error line="319" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'String'." />
+		<error line="319" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'String'." />
+		<error line="323" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'String'." />
+		<error line="327" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'String'." />
+		<error line="331" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'String'." />
+		<error line="331" number="30512" message="Option Strict On disallows implicit conversions from 'Date' to 'String'." />
+		<error line="334" number="30452" message="Operator 'Like' is not defined for types 'UShort' and 'System.DBNull'." />
+		<error line="338" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Like'." />
+		<vbcerror line="275" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'String'." />
+		<vbcerror line="275" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'String'." />
+		<vbcerror line="279" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'String'." />
+		<vbcerror line="279" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'String'." />
+		<vbcerror line="283" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'String'." />
+		<vbcerror line="283" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'String'." />
+		<vbcerror line="287" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'String'." />
+		<vbcerror line="287" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'String'." />
+		<vbcerror line="291" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'String'." />
+		<vbcerror line="291" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'String'." />
+		<vbcerror line="295" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'String'." />
+		<vbcerror line="295" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'String'." />
+		<vbcerror line="299" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'String'." />
+		<vbcerror line="299" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'String'." />
+		<vbcerror line="303" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'String'." />
+		<vbcerror line="303" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'String'." />
+		<vbcerror line="307" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'String'." />
+		<vbcerror line="307" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'String'." />
+		<vbcerror line="311" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'String'." />
+		<vbcerror line="311" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'String'." />
+		<vbcerror line="315" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'String'." />
+		<vbcerror line="315" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'String'." />
+		<vbcerror line="319" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'String'." />
+		<vbcerror line="319" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'String'." />
+		<vbcerror line="323" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'String'." />
+		<vbcerror line="327" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'String'." />
+		<vbcerror line="331" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'String'." />
+		<vbcerror line="331" number="30512" message="Option Strict On disallows implicit conversions from 'Date' to 'String'." />
+		<vbcerror line="334" number="30452" message="Operator 'Like' is not defined for types 'UShort' and 'System.DBNull'." />
+		<vbcerror line="338" number="30038" message="Option Strict On prohibits operands of type Object for operator '...'." />
+	</test>
+	<test id="2743" name="OperatorIntrinsic_Like_Int32Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Int32_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicLike.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="401" number="30452" message="Operator 'Like' is not defined for types 'Integer' and 'System.DBNull'." />
+	</test>
+	<test id="2744" name="OperatorIntrinsic_Like_Int32StrictError" expectedexitcode="1" expectedvbcexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Int32_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicLike.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="342" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'String'." />
+		<error line="342" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'String'." />
+		<error line="346" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'String'." />
+		<error line="346" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'String'." />
+		<error line="350" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'String'." />
+		<error line="350" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'String'." />
+		<error line="354" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'String'." />
+		<error line="354" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'String'." />
+		<error line="358" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'String'." />
+		<error line="358" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'String'." />
+		<error line="362" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'String'." />
+		<error line="362" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'String'." />
+		<error line="366" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'String'." />
+		<error line="366" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'String'." />
+		<error line="370" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'String'." />
+		<error line="370" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'String'." />
+		<error line="374" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'String'." />
+		<error line="374" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'String'." />
+		<error line="378" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'String'." />
+		<error line="378" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'String'." />
+		<error line="382" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'String'." />
+		<error line="382" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'String'." />
+		<error line="386" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'String'." />
+		<error line="386" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'String'." />
+		<error line="390" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'String'." />
+		<error line="394" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'String'." />
+		<error line="398" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'String'." />
+		<error line="398" number="30512" message="Option Strict On disallows implicit conversions from 'Date' to 'String'." />
+		<error line="401" number="30452" message="Operator 'Like' is not defined for types 'Integer' and 'System.DBNull'." />
+		<error line="405" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Like'." />
+		<vbcerror line="342" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'String'." />
+		<vbcerror line="342" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'String'." />
+		<vbcerror line="346" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'String'." />
+		<vbcerror line="346" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'String'." />
+		<vbcerror line="350" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'String'." />
+		<vbcerror line="350" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'String'." />
+		<vbcerror line="354" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'String'." />
+		<vbcerror line="354" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'String'." />
+		<vbcerror line="358" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'String'." />
+		<vbcerror line="358" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'String'." />
+		<vbcerror line="362" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'String'." />
+		<vbcerror line="362" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'String'." />
+		<vbcerror line="366" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'String'." />
+		<vbcerror line="366" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'String'." />
+		<vbcerror line="370" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'String'." />
+		<vbcerror line="370" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'String'." />
+		<vbcerror line="374" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'String'." />
+		<vbcerror line="374" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'String'." />
+		<vbcerror line="378" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'String'." />
+		<vbcerror line="378" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'String'." />
+		<vbcerror line="382" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'String'." />
+		<vbcerror line="382" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'String'." />
+		<vbcerror line="386" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'String'." />
+		<vbcerror line="386" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'String'." />
+		<vbcerror line="390" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'String'." />
+		<vbcerror line="394" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'String'." />
+		<vbcerror line="398" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'String'." />
+		<vbcerror line="398" number="30512" message="Option Strict On disallows implicit conversions from 'Date' to 'String'." />
+		<vbcerror line="401" number="30452" message="Operator 'Like' is not defined for types 'Integer' and 'System.DBNull'." />
+		<vbcerror line="405" number="30038" message="Option Strict On prohibits operands of type Object for operator '...'." />
+	</test>
+	<test id="2745" name="OperatorIntrinsic_Like_UInt32Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:UInt32_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicLike.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="468" number="30452" message="Operator 'Like' is not defined for types 'UInteger' and 'System.DBNull'." />
+	</test>
+	<test id="2746" name="OperatorIntrinsic_Like_UInt32StrictError" expectedexitcode="1" expectedvbcexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:UInt32_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicLike.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="409" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'String'." />
+		<error line="409" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'String'." />
+		<error line="413" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'String'." />
+		<error line="413" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'String'." />
+		<error line="417" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'String'." />
+		<error line="417" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'String'." />
+		<error line="421" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'String'." />
+		<error line="421" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'String'." />
+		<error line="425" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'String'." />
+		<error line="425" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'String'." />
+		<error line="429" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'String'." />
+		<error line="429" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'String'." />
+		<error line="433" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'String'." />
+		<error line="433" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'String'." />
+		<error line="437" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'String'." />
+		<error line="437" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'String'." />
+		<error line="441" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'String'." />
+		<error line="441" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'String'." />
+		<error line="445" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'String'." />
+		<error line="445" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'String'." />
+		<error line="449" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'String'." />
+		<error line="449" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'String'." />
+		<error line="453" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'String'." />
+		<error line="453" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'String'." />
+		<error line="457" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'String'." />
+		<error line="461" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'String'." />
+		<error line="465" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'String'." />
+		<error line="465" number="30512" message="Option Strict On disallows implicit conversions from 'Date' to 'String'." />
+		<error line="468" number="30452" message="Operator 'Like' is not defined for types 'UInteger' and 'System.DBNull'." />
+		<error line="472" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Like'." />
+		<vbcerror line="409" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'String'." />
+		<vbcerror line="409" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'String'." />
+		<vbcerror line="413" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'String'." />
+		<vbcerror line="413" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'String'." />
+		<vbcerror line="417" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'String'." />
+		<vbcerror line="417" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'String'." />
+		<vbcerror line="421" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'String'." />
+		<vbcerror line="421" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'String'." />
+		<vbcerror line="425" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'String'." />
+		<vbcerror line="425" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'String'." />
+		<vbcerror line="429" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'String'." />
+		<vbcerror line="429" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'String'." />
+		<vbcerror line="433" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'String'." />
+		<vbcerror line="433" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'String'." />
+		<vbcerror line="437" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'String'." />
+		<vbcerror line="437" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'String'." />
+		<vbcerror line="441" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'String'." />
+		<vbcerror line="441" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'String'." />
+		<vbcerror line="445" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'String'." />
+		<vbcerror line="445" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'String'." />
+		<vbcerror line="449" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'String'." />
+		<vbcerror line="449" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'String'." />
+		<vbcerror line="453" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'String'." />
+		<vbcerror line="453" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'String'." />
+		<vbcerror line="457" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'String'." />
+		<vbcerror line="461" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'String'." />
+		<vbcerror line="465" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'String'." />
+		<vbcerror line="465" number="30512" message="Option Strict On disallows implicit conversions from 'Date' to 'String'." />
+		<vbcerror line="468" number="30452" message="Operator 'Like' is not defined for types 'UInteger' and 'System.DBNull'." />
+		<vbcerror line="472" number="30038" message="Option Strict On prohibits operands of type Object for operator '...'." />
+	</test>
+	<test id="2747" name="OperatorIntrinsic_Like_Int64Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Int64_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicLike.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="535" number="30452" message="Operator 'Like' is not defined for types 'Long' and 'System.DBNull'." />
+	</test>
+	<test id="2748" name="OperatorIntrinsic_Like_Int64StrictError" expectedexitcode="1" expectedvbcexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Int64_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicLike.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="476" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'String'." />
+		<error line="476" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'String'." />
+		<error line="480" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'String'." />
+		<error line="480" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'String'." />
+		<error line="484" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'String'." />
+		<error line="484" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'String'." />
+		<error line="488" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'String'." />
+		<error line="488" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'String'." />
+		<error line="492" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'String'." />
+		<error line="492" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'String'." />
+		<error line="496" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'String'." />
+		<error line="496" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'String'." />
+		<error line="500" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'String'." />
+		<error line="500" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'String'." />
+		<error line="504" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'String'." />
+		<error line="504" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'String'." />
+		<error line="508" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'String'." />
+		<error line="508" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'String'." />
+		<error line="512" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'String'." />
+		<error line="512" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'String'." />
+		<error line="516" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'String'." />
+		<error line="516" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'String'." />
+		<error line="520" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'String'." />
+		<error line="520" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'String'." />
+		<error line="524" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'String'." />
+		<error line="528" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'String'." />
+		<error line="532" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'String'." />
+		<error line="532" number="30512" message="Option Strict On disallows implicit conversions from 'Date' to 'String'." />
+		<error line="535" number="30452" message="Operator 'Like' is not defined for types 'Long' and 'System.DBNull'." />
+		<error line="539" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Like'." />
+		<vbcerror line="476" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'String'." />
+		<vbcerror line="476" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'String'." />
+		<vbcerror line="480" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'String'." />
+		<vbcerror line="480" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'String'." />
+		<vbcerror line="484" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'String'." />
+		<vbcerror line="484" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'String'." />
+		<vbcerror line="488" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'String'." />
+		<vbcerror line="488" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'String'." />
+		<vbcerror line="492" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'String'." />
+		<vbcerror line="492" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'String'." />
+		<vbcerror line="496" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'String'." />
+		<vbcerror line="496" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'String'." />
+		<vbcerror line="500" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'String'." />
+		<vbcerror line="500" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'String'." />
+		<vbcerror line="504" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'String'." />
+		<vbcerror line="504" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'String'." />
+		<vbcerror line="508" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'String'." />
+		<vbcerror line="508" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'String'." />
+		<vbcerror line="512" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'String'." />
+		<vbcerror line="512" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'String'." />
+		<vbcerror line="516" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'String'." />
+		<vbcerror line="516" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'String'." />
+		<vbcerror line="520" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'String'." />
+		<vbcerror line="520" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'String'." />
+		<vbcerror line="524" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'String'." />
+		<vbcerror line="528" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'String'." />
+		<vbcerror line="532" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'String'." />
+		<vbcerror line="532" number="30512" message="Option Strict On disallows implicit conversions from 'Date' to 'String'." />
+		<vbcerror line="535" number="30452" message="Operator 'Like' is not defined for types 'Long' and 'System.DBNull'." />
+		<vbcerror line="539" number="30038" message="Option Strict On prohibits operands of type Object for operator '...'." />
+	</test>
+	<test id="2749" name="OperatorIntrinsic_Like_UInt64Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:UInt64_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicLike.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="602" number="30452" message="Operator 'Like' is not defined for types 'ULong' and 'System.DBNull'." />
+	</test>
+	<test id="2750" name="OperatorIntrinsic_Like_UInt64StrictError" expectedexitcode="1" expectedvbcexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:UInt64_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicLike.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="543" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'String'." />
+		<error line="543" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'String'." />
+		<error line="547" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'String'." />
+		<error line="547" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'String'." />
+		<error line="551" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'String'." />
+		<error line="551" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'String'." />
+		<error line="555" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'String'." />
+		<error line="555" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'String'." />
+		<error line="559" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'String'." />
+		<error line="559" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'String'." />
+		<error line="563" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'String'." />
+		<error line="563" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'String'." />
+		<error line="567" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'String'." />
+		<error line="567" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'String'." />
+		<error line="571" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'String'." />
+		<error line="571" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'String'." />
+		<error line="575" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'String'." />
+		<error line="575" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'String'." />
+		<error line="579" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'String'." />
+		<error line="579" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'String'." />
+		<error line="583" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'String'." />
+		<error line="583" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'String'." />
+		<error line="587" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'String'." />
+		<error line="587" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'String'." />
+		<error line="591" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'String'." />
+		<error line="595" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'String'." />
+		<error line="599" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'String'." />
+		<error line="599" number="30512" message="Option Strict On disallows implicit conversions from 'Date' to 'String'." />
+		<error line="602" number="30452" message="Operator 'Like' is not defined for types 'ULong' and 'System.DBNull'." />
+		<error line="606" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Like'." />
+		<vbcerror line="543" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'String'." />
+		<vbcerror line="543" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'String'." />
+		<vbcerror line="547" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'String'." />
+		<vbcerror line="547" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'String'." />
+		<vbcerror line="551" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'String'." />
+		<vbcerror line="551" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'String'." />
+		<vbcerror line="555" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'String'." />
+		<vbcerror line="555" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'String'." />
+		<vbcerror line="559" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'String'." />
+		<vbcerror line="559" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'String'." />
+		<vbcerror line="563" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'String'." />
+		<vbcerror line="563" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'String'." />
+		<vbcerror line="567" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'String'." />
+		<vbcerror line="567" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'String'." />
+		<vbcerror line="571" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'String'." />
+		<vbcerror line="571" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'String'." />
+		<vbcerror line="575" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'String'." />
+		<vbcerror line="575" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'String'." />
+		<vbcerror line="579" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'String'." />
+		<vbcerror line="579" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'String'." />
+		<vbcerror line="583" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'String'." />
+		<vbcerror line="583" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'String'." />
+		<vbcerror line="587" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'String'." />
+		<vbcerror line="587" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'String'." />
+		<vbcerror line="591" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'String'." />
+		<vbcerror line="595" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'String'." />
+		<vbcerror line="599" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'String'." />
+		<vbcerror line="599" number="30512" message="Option Strict On disallows implicit conversions from 'Date' to 'String'." />
+		<vbcerror line="602" number="30452" message="Operator 'Like' is not defined for types 'ULong' and 'System.DBNull'." />
+		<vbcerror line="606" number="30038" message="Option Strict On prohibits operands of type Object for operator '...'." />
+	</test>
+	<test id="2751" name="OperatorIntrinsic_Like_DecimalError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Decimal_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicLike.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="669" number="30452" message="Operator 'Like' is not defined for types 'Decimal' and 'System.DBNull'." />
+	</test>
+	<test id="2752" name="OperatorIntrinsic_Like_DecimalStrictError" expectedexitcode="1" expectedvbcexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Decimal_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicLike.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="610" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'String'." />
+		<error line="610" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'String'." />
+		<error line="614" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'String'." />
+		<error line="614" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'String'." />
+		<error line="618" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'String'." />
+		<error line="618" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'String'." />
+		<error line="622" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'String'." />
+		<error line="622" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'String'." />
+		<error line="626" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'String'." />
+		<error line="626" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'String'." />
+		<error line="630" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'String'." />
+		<error line="630" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'String'." />
+		<error line="634" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'String'." />
+		<error line="634" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'String'." />
+		<error line="638" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'String'." />
+		<error line="638" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'String'." />
+		<error line="642" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'String'." />
+		<error line="642" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'String'." />
+		<error line="646" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'String'." />
+		<error line="646" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'String'." />
+		<error line="650" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'String'." />
+		<error line="650" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'String'." />
+		<error line="654" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'String'." />
+		<error line="654" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'String'." />
+		<error line="658" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'String'." />
+		<error line="662" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'String'." />
+		<error line="666" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'String'." />
+		<error line="666" number="30512" message="Option Strict On disallows implicit conversions from 'Date' to 'String'." />
+		<error line="669" number="30452" message="Operator 'Like' is not defined for types 'Decimal' and 'System.DBNull'." />
+		<error line="673" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Like'." />
+		<vbcerror line="610" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'String'." />
+		<vbcerror line="610" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'String'." />
+		<vbcerror line="614" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'String'." />
+		<vbcerror line="614" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'String'." />
+		<vbcerror line="618" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'String'." />
+		<vbcerror line="618" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'String'." />
+		<vbcerror line="622" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'String'." />
+		<vbcerror line="622" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'String'." />
+		<vbcerror line="626" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'String'." />
+		<vbcerror line="626" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'String'." />
+		<vbcerror line="630" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'String'." />
+		<vbcerror line="630" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'String'." />
+		<vbcerror line="634" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'String'." />
+		<vbcerror line="634" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'String'." />
+		<vbcerror line="638" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'String'." />
+		<vbcerror line="638" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'String'." />
+		<vbcerror line="642" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'String'." />
+		<vbcerror line="642" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'String'." />
+		<vbcerror line="646" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'String'." />
+		<vbcerror line="646" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'String'." />
+		<vbcerror line="650" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'String'." />
+		<vbcerror line="650" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'String'." />
+		<vbcerror line="654" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'String'." />
+		<vbcerror line="654" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'String'." />
+		<vbcerror line="658" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'String'." />
+		<vbcerror line="662" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'String'." />
+		<vbcerror line="666" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'String'." />
+		<vbcerror line="666" number="30512" message="Option Strict On disallows implicit conversions from 'Date' to 'String'." />
+		<vbcerror line="669" number="30452" message="Operator 'Like' is not defined for types 'Decimal' and 'System.DBNull'." />
+		<vbcerror line="673" number="30038" message="Option Strict On prohibits operands of type Object for operator '...'." />
+	</test>
+	<test id="2753" name="OperatorIntrinsic_Like_SingleError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Single_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicLike.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="736" number="30452" message="Operator 'Like' is not defined for types 'Single' and 'System.DBNull'." />
+	</test>
+	<test id="2754" name="OperatorIntrinsic_Like_SingleStrictError" expectedexitcode="1" expectedvbcexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Single_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicLike.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="677" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'String'." />
+		<error line="677" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'String'." />
+		<error line="681" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'String'." />
+		<error line="681" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'String'." />
+		<error line="685" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'String'." />
+		<error line="685" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'String'." />
+		<error line="689" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'String'." />
+		<error line="689" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'String'." />
+		<error line="693" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'String'." />
+		<error line="693" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'String'." />
+		<error line="697" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'String'." />
+		<error line="697" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'String'." />
+		<error line="701" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'String'." />
+		<error line="701" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'String'." />
+		<error line="705" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'String'." />
+		<error line="705" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'String'." />
+		<error line="709" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'String'." />
+		<error line="709" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'String'." />
+		<error line="713" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'String'." />
+		<error line="713" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'String'." />
+		<error line="717" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'String'." />
+		<error line="717" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'String'." />
+		<error line="721" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'String'." />
+		<error line="721" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'String'." />
+		<error line="725" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'String'." />
+		<error line="729" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'String'." />
+		<error line="733" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'String'." />
+		<error line="733" number="30512" message="Option Strict On disallows implicit conversions from 'Date' to 'String'." />
+		<error line="736" number="30452" message="Operator 'Like' is not defined for types 'Single' and 'System.DBNull'." />
+		<error line="740" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Like'." />
+		<vbcerror line="677" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'String'." />
+		<vbcerror line="677" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'String'." />
+		<vbcerror line="681" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'String'." />
+		<vbcerror line="681" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'String'." />
+		<vbcerror line="685" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'String'." />
+		<vbcerror line="685" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'String'." />
+		<vbcerror line="689" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'String'." />
+		<vbcerror line="689" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'String'." />
+		<vbcerror line="693" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'String'." />
+		<vbcerror line="693" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'String'." />
+		<vbcerror line="697" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'String'." />
+		<vbcerror line="697" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'String'." />
+		<vbcerror line="701" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'String'." />
+		<vbcerror line="701" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'String'." />
+		<vbcerror line="705" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'String'." />
+		<vbcerror line="705" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'String'." />
+		<vbcerror line="709" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'String'." />
+		<vbcerror line="709" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'String'." />
+		<vbcerror line="713" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'String'." />
+		<vbcerror line="713" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'String'." />
+		<vbcerror line="717" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'String'." />
+		<vbcerror line="717" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'String'." />
+		<vbcerror line="721" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'String'." />
+		<vbcerror line="721" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'String'." />
+		<vbcerror line="725" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'String'." />
+		<vbcerror line="729" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'String'." />
+		<vbcerror line="733" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'String'." />
+		<vbcerror line="733" number="30512" message="Option Strict On disallows implicit conversions from 'Date' to 'String'." />
+		<vbcerror line="736" number="30452" message="Operator 'Like' is not defined for types 'Single' and 'System.DBNull'." />
+		<vbcerror line="740" number="30038" message="Option Strict On prohibits operands of type Object for operator '...'." />
+	</test>
+	<test id="2755" name="OperatorIntrinsic_Like_DoubleError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Double_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicLike.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="803" number="30452" message="Operator 'Like' is not defined for types 'Double' and 'System.DBNull'." />
+	</test>
+	<test id="2756" name="OperatorIntrinsic_Like_DoubleStrictError" expectedexitcode="1" expectedvbcexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Double_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicLike.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="744" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'String'." />
+		<error line="744" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'String'." />
+		<error line="748" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'String'." />
+		<error line="748" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'String'." />
+		<error line="752" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'String'." />
+		<error line="752" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'String'." />
+		<error line="756" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'String'." />
+		<error line="756" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'String'." />
+		<error line="760" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'String'." />
+		<error line="760" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'String'." />
+		<error line="764" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'String'." />
+		<error line="764" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'String'." />
+		<error line="768" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'String'." />
+		<error line="768" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'String'." />
+		<error line="772" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'String'." />
+		<error line="772" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'String'." />
+		<error line="776" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'String'." />
+		<error line="776" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'String'." />
+		<error line="780" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'String'." />
+		<error line="780" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'String'." />
+		<error line="784" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'String'." />
+		<error line="784" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'String'." />
+		<error line="788" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'String'." />
+		<error line="788" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'String'." />
+		<error line="792" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'String'." />
+		<error line="796" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'String'." />
+		<error line="800" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'String'." />
+		<error line="800" number="30512" message="Option Strict On disallows implicit conversions from 'Date' to 'String'." />
+		<error line="803" number="30452" message="Operator 'Like' is not defined for types 'Double' and 'System.DBNull'." />
+		<error line="807" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Like'." />
+		<vbcerror line="744" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'String'." />
+		<vbcerror line="744" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'String'." />
+		<vbcerror line="748" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'String'." />
+		<vbcerror line="748" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'String'." />
+		<vbcerror line="752" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'String'." />
+		<vbcerror line="752" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'String'." />
+		<vbcerror line="756" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'String'." />
+		<vbcerror line="756" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'String'." />
+		<vbcerror line="760" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'String'." />
+		<vbcerror line="760" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'String'." />
+		<vbcerror line="764" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'String'." />
+		<vbcerror line="764" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'String'." />
+		<vbcerror line="768" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'String'." />
+		<vbcerror line="768" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'String'." />
+		<vbcerror line="772" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'String'." />
+		<vbcerror line="772" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'String'." />
+		<vbcerror line="776" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'String'." />
+		<vbcerror line="776" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'String'." />
+		<vbcerror line="780" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'String'." />
+		<vbcerror line="780" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'String'." />
+		<vbcerror line="784" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'String'." />
+		<vbcerror line="784" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'String'." />
+		<vbcerror line="788" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'String'." />
+		<vbcerror line="788" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'String'." />
+		<vbcerror line="792" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'String'." />
+		<vbcerror line="796" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'String'." />
+		<vbcerror line="800" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'String'." />
+		<vbcerror line="800" number="30512" message="Option Strict On disallows implicit conversions from 'Date' to 'String'." />
+		<vbcerror line="803" number="30452" message="Operator 'Like' is not defined for types 'Double' and 'System.DBNull'." />
+		<vbcerror line="807" number="30038" message="Option Strict On prohibits operands of type Object for operator '...'." />
+	</test>
+	<test id="2757" name="OperatorIntrinsic_Like_CharError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Char_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicLike.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="866" number="30452" message="Operator 'Like' is not defined for types 'Char' and 'System.DBNull'." />
+	</test>
+	<test id="2758" name="OperatorIntrinsic_Like_CharStrictError" expectedexitcode="1" expectedvbcexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Char_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicLike.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="811" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'String'." />
+		<error line="815" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'String'." />
+		<error line="819" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'String'." />
+		<error line="823" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'String'." />
+		<error line="827" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'String'." />
+		<error line="831" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'String'." />
+		<error line="835" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'String'." />
+		<error line="839" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'String'." />
+		<error line="843" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'String'." />
+		<error line="847" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'String'." />
+		<error line="851" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'String'." />
+		<error line="855" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'String'." />
+		<error line="863" number="30512" message="Option Strict On disallows implicit conversions from 'Date' to 'String'." />
+		<error line="866" number="30452" message="Operator 'Like' is not defined for types 'Char' and 'System.DBNull'." />
+		<error line="870" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Like'." />
+		<vbcerror line="811" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'String'." />
+		<vbcerror line="815" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'String'." />
+		<vbcerror line="819" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'String'." />
+		<vbcerror line="823" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'String'." />
+		<vbcerror line="827" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'String'." />
+		<vbcerror line="831" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'String'." />
+		<vbcerror line="835" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'String'." />
+		<vbcerror line="839" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'String'." />
+		<vbcerror line="843" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'String'." />
+		<vbcerror line="847" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'String'." />
+		<vbcerror line="851" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'String'." />
+		<vbcerror line="855" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'String'." />
+		<vbcerror line="863" number="30512" message="Option Strict On disallows implicit conversions from 'Date' to 'String'." />
+		<vbcerror line="866" number="30452" message="Operator 'Like' is not defined for types 'Char' and 'System.DBNull'." />
+		<vbcerror line="870" number="30038" message="Option Strict On prohibits operands of type Object for operator '...'." />
+	</test>
+	<test id="2759" name="OperatorIntrinsic_Like_StringError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:String_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicLike.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="929" number="30452" message="Operator 'Like' is not defined for types 'String' and 'System.DBNull'." />
+	</test>
+	<test id="2760" name="OperatorIntrinsic_Like_StringStrictError" expectedexitcode="1" expectedvbcexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:String_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicLike.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="874" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'String'." />
+		<error line="878" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'String'." />
+		<error line="882" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'String'." />
+		<error line="886" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'String'." />
+		<error line="890" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'String'." />
+		<error line="894" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'String'." />
+		<error line="898" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'String'." />
+		<error line="902" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'String'." />
+		<error line="906" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'String'." />
+		<error line="910" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'String'." />
+		<error line="914" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'String'." />
+		<error line="918" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'String'." />
+		<error line="926" number="30512" message="Option Strict On disallows implicit conversions from 'Date' to 'String'." />
+		<error line="929" number="30452" message="Operator 'Like' is not defined for types 'String' and 'System.DBNull'." />
+		<error line="933" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Like'." />
+		<vbcerror line="874" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'String'." />
+		<vbcerror line="878" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'String'." />
+		<vbcerror line="882" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'String'." />
+		<vbcerror line="886" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'String'." />
+		<vbcerror line="890" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'String'." />
+		<vbcerror line="894" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'String'." />
+		<vbcerror line="898" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'String'." />
+		<vbcerror line="902" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'String'." />
+		<vbcerror line="906" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'String'." />
+		<vbcerror line="910" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'String'." />
+		<vbcerror line="914" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'String'." />
+		<vbcerror line="918" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'String'." />
+		<vbcerror line="926" number="30512" message="Option Strict On disallows implicit conversions from 'Date' to 'String'." />
+		<vbcerror line="929" number="30452" message="Operator 'Like' is not defined for types 'String' and 'System.DBNull'." />
+		<vbcerror line="933" number="30038" message="Option Strict On prohibits operands of type Object for operator '...'." />
+	</test>
+	<test id="2761" name="OperatorIntrinsic_Like_DateTimeError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:DateTime_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicLike.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="996" number="30452" message="Operator 'Like' is not defined for types 'Date' and 'System.DBNull'." />
+	</test>
+	<test id="2762" name="OperatorIntrinsic_Like_DateTimeStrictError" expectedexitcode="1" expectedvbcexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:DateTime_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicLike.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="937" number="30512" message="Option Strict On disallows implicit conversions from 'Date' to 'String'." />
+		<error line="937" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'String'." />
+		<error line="941" number="30512" message="Option Strict On disallows implicit conversions from 'Date' to 'String'." />
+		<error line="941" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'String'." />
+		<error line="945" number="30512" message="Option Strict On disallows implicit conversions from 'Date' to 'String'." />
+		<error line="945" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'String'." />
+		<error line="949" number="30512" message="Option Strict On disallows implicit conversions from 'Date' to 'String'." />
+		<error line="949" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'String'." />
+		<error line="953" number="30512" message="Option Strict On disallows implicit conversions from 'Date' to 'String'." />
+		<error line="953" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'String'." />
+		<error line="957" number="30512" message="Option Strict On disallows implicit conversions from 'Date' to 'String'." />
+		<error line="957" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'String'." />
+		<error line="961" number="30512" message="Option Strict On disallows implicit conversions from 'Date' to 'String'." />
+		<error line="961" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'String'." />
+		<error line="965" number="30512" message="Option Strict On disallows implicit conversions from 'Date' to 'String'." />
+		<error line="965" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'String'." />
+		<error line="969" number="30512" message="Option Strict On disallows implicit conversions from 'Date' to 'String'." />
+		<error line="969" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'String'." />
+		<error line="973" number="30512" message="Option Strict On disallows implicit conversions from 'Date' to 'String'." />
+		<error line="973" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'String'." />
+		<error line="977" number="30512" message="Option Strict On disallows implicit conversions from 'Date' to 'String'." />
+		<error line="977" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'String'." />
+		<error line="981" number="30512" message="Option Strict On disallows implicit conversions from 'Date' to 'String'." />
+		<error line="981" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'String'." />
+		<error line="985" number="30512" message="Option Strict On disallows implicit conversions from 'Date' to 'String'." />
+		<error line="989" number="30512" message="Option Strict On disallows implicit conversions from 'Date' to 'String'." />
+		<error line="993" number="30512" message="Option Strict On disallows implicit conversions from 'Date' to 'String'." />
+		<error line="993" number="30512" message="Option Strict On disallows implicit conversions from 'Date' to 'String'." />
+		<error line="996" number="30452" message="Operator 'Like' is not defined for types 'Date' and 'System.DBNull'." />
+		<error line="1000" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Like'." />
+		<vbcerror line="937" number="30512" message="Option Strict On disallows implicit conversions from 'Date' to 'String'." />
+		<vbcerror line="937" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'String'." />
+		<vbcerror line="941" number="30512" message="Option Strict On disallows implicit conversions from 'Date' to 'String'." />
+		<vbcerror line="941" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'String'." />
+		<vbcerror line="945" number="30512" message="Option Strict On disallows implicit conversions from 'Date' to 'String'." />
+		<vbcerror line="945" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'String'." />
+		<vbcerror line="949" number="30512" message="Option Strict On disallows implicit conversions from 'Date' to 'String'." />
+		<vbcerror line="949" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'String'." />
+		<vbcerror line="953" number="30512" message="Option Strict On disallows implicit conversions from 'Date' to 'String'." />
+		<vbcerror line="953" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'String'." />
+		<vbcerror line="957" number="30512" message="Option Strict On disallows implicit conversions from 'Date' to 'String'." />
+		<vbcerror line="957" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'String'." />
+		<vbcerror line="961" number="30512" message="Option Strict On disallows implicit conversions from 'Date' to 'String'." />
+		<vbcerror line="961" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'String'." />
+		<vbcerror line="965" number="30512" message="Option Strict On disallows implicit conversions from 'Date' to 'String'." />
+		<vbcerror line="965" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'String'." />
+		<vbcerror line="969" number="30512" message="Option Strict On disallows implicit conversions from 'Date' to 'String'." />
+		<vbcerror line="969" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'String'." />
+		<vbcerror line="973" number="30512" message="Option Strict On disallows implicit conversions from 'Date' to 'String'." />
+		<vbcerror line="973" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'String'." />
+		<vbcerror line="977" number="30512" message="Option Strict On disallows implicit conversions from 'Date' to 'String'." />
+		<vbcerror line="977" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'String'." />
+		<vbcerror line="981" number="30512" message="Option Strict On disallows implicit conversions from 'Date' to 'String'." />
+		<vbcerror line="981" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'String'." />
+		<vbcerror line="985" number="30512" message="Option Strict On disallows implicit conversions from 'Date' to 'String'." />
+		<vbcerror line="989" number="30512" message="Option Strict On disallows implicit conversions from 'Date' to 'String'." />
+		<vbcerror line="993" number="30512" message="Option Strict On disallows implicit conversions from 'Date' to 'String'." />
+		<vbcerror line="993" number="30512" message="Option Strict On disallows implicit conversions from 'Date' to 'String'." />
+		<vbcerror line="996" number="30452" message="Operator 'Like' is not defined for types 'Date' and 'System.DBNull'." />
+		<vbcerror line="1000" number="30038" message="Option Strict On prohibits operands of type Object for operator '...'." />
+	</test>
+	<test id="2763" name="OperatorIntrinsic_Like_DBNullError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:DBNull_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicLike.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="1003" number="30452" message="Operator 'Like' is not defined for types 'System.DBNull' and 'Boolean'." />
+		<error line="1006" number="30452" message="Operator 'Like' is not defined for types 'System.DBNull' and 'Byte'." />
+		<error line="1009" number="30452" message="Operator 'Like' is not defined for types 'System.DBNull' and 'SByte'." />
+		<error line="1012" number="30452" message="Operator 'Like' is not defined for types 'System.DBNull' and 'Short'." />
+		<error line="1015" number="30452" message="Operator 'Like' is not defined for types 'System.DBNull' and 'UShort'." />
+		<error line="1018" number="30452" message="Operator 'Like' is not defined for types 'System.DBNull' and 'Integer'." />
+		<error line="1021" number="30452" message="Operator 'Like' is not defined for types 'System.DBNull' and 'UInteger'." />
+		<error line="1024" number="30452" message="Operator 'Like' is not defined for types 'System.DBNull' and 'Long'." />
+		<error line="1027" number="30452" message="Operator 'Like' is not defined for types 'System.DBNull' and 'ULong'." />
+		<error line="1030" number="30452" message="Operator 'Like' is not defined for types 'System.DBNull' and 'Decimal'." />
+		<error line="1033" number="30452" message="Operator 'Like' is not defined for types 'System.DBNull' and 'Single'." />
+		<error line="1036" number="30452" message="Operator 'Like' is not defined for types 'System.DBNull' and 'Double'." />
+		<error line="1039" number="30452" message="Operator 'Like' is not defined for types 'System.DBNull' and 'Char'." />
+		<error line="1042" number="30452" message="Operator 'Like' is not defined for types 'System.DBNull' and 'String'." />
+		<error line="1045" number="30452" message="Operator 'Like' is not defined for types 'System.DBNull' and 'Date'." />
+		<error line="1048" number="30452" message="Operator 'Like' is not defined for types 'System.DBNull' and 'System.DBNull'." />
+		<error line="1051" number="30452" message="Operator 'Like' is not defined for types 'System.DBNull' and 'Object'." />
+	</test>
+	<test id="2764" name="OperatorIntrinsic_Like_DBNullStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:DBNull_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicLike.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="1003" number="30452" message="Operator 'Like' is not defined for types 'System.DBNull' and 'Boolean'." />
+		<error line="1006" number="30452" message="Operator 'Like' is not defined for types 'System.DBNull' and 'Byte'." />
+		<error line="1009" number="30452" message="Operator 'Like' is not defined for types 'System.DBNull' and 'SByte'." />
+		<error line="1012" number="30452" message="Operator 'Like' is not defined for types 'System.DBNull' and 'Short'." />
+		<error line="1015" number="30452" message="Operator 'Like' is not defined for types 'System.DBNull' and 'UShort'." />
+		<error line="1018" number="30452" message="Operator 'Like' is not defined for types 'System.DBNull' and 'Integer'." />
+		<error line="1021" number="30452" message="Operator 'Like' is not defined for types 'System.DBNull' and 'UInteger'." />
+		<error line="1024" number="30452" message="Operator 'Like' is not defined for types 'System.DBNull' and 'Long'." />
+		<error line="1027" number="30452" message="Operator 'Like' is not defined for types 'System.DBNull' and 'ULong'." />
+		<error line="1030" number="30452" message="Operator 'Like' is not defined for types 'System.DBNull' and 'Decimal'." />
+		<error line="1033" number="30452" message="Operator 'Like' is not defined for types 'System.DBNull' and 'Single'." />
+		<error line="1036" number="30452" message="Operator 'Like' is not defined for types 'System.DBNull' and 'Double'." />
+		<error line="1039" number="30452" message="Operator 'Like' is not defined for types 'System.DBNull' and 'Char'." />
+		<error line="1042" number="30452" message="Operator 'Like' is not defined for types 'System.DBNull' and 'String'." />
+		<error line="1045" number="30452" message="Operator 'Like' is not defined for types 'System.DBNull' and 'Date'." />
+		<error line="1048" number="30452" message="Operator 'Like' is not defined for types 'System.DBNull' and 'System.DBNull'." />
+		<error line="1051" number="30452" message="Operator 'Like' is not defined for types 'System.DBNull' and 'Object'." />
+	</test>
+	<test id="2765" name="OperatorIntrinsic_Like_ObjectError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Object_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicLike.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="1114" number="30452" message="Operator 'Like' is not defined for types 'Object' and 'System.DBNull'." />
+	</test>
+	<test id="2766" name="OperatorIntrinsic_Like_ObjectStrictError" expectedexitcode="1" expectedvbcexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Object_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicLike.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="1055" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Like'." />
+		<error line="1059" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Like'." />
+		<error line="1063" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Like'." />
+		<error line="1067" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Like'." />
+		<error line="1071" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Like'." />
+		<error line="1075" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Like'." />
+		<error line="1079" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Like'." />
+		<error line="1083" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Like'." />
+		<error line="1087" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Like'." />
+		<error line="1091" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Like'." />
+		<error line="1095" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Like'." />
+		<error line="1099" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Like'." />
+		<error line="1103" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Like'." />
+		<error line="1107" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Like'." />
+		<error line="1111" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Like'." />
+		<error line="1114" number="30452" message="Operator 'Like' is not defined for types 'Object' and 'System.DBNull'." />
+		<error line="1118" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Like'." />
+		<error line="1118" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Like'." />
+		<vbcerror line="1055" number="30038" message="Option Strict On prohibits operands of type Object for operator '...'." />
+		<vbcerror line="1059" number="30038" message="Option Strict On prohibits operands of type Object for operator '...'." />
+		<vbcerror line="1063" number="30038" message="Option Strict On prohibits operands of type Object for operator '...'." />
+		<vbcerror line="1067" number="30038" message="Option Strict On prohibits operands of type Object for operator '...'." />
+		<vbcerror line="1071" number="30038" message="Option Strict On prohibits operands of type Object for operator '...'." />
+		<vbcerror line="1075" number="30038" message="Option Strict On prohibits operands of type Object for operator '...'." />
+		<vbcerror line="1079" number="30038" message="Option Strict On prohibits operands of type Object for operator '...'." />
+		<vbcerror line="1083" number="30038" message="Option Strict On prohibits operands of type Object for operator '...'." />
+		<vbcerror line="1087" number="30038" message="Option Strict On prohibits operands of type Object for operator '...'." />
+		<vbcerror line="1091" number="30038" message="Option Strict On prohibits operands of type Object for operator '...'." />
+		<vbcerror line="1095" number="30038" message="Option Strict On prohibits operands of type Object for operator '...'." />
+		<vbcerror line="1099" number="30038" message="Option Strict On prohibits operands of type Object for operator '...'." />
+		<vbcerror line="1103" number="30038" message="Option Strict On prohibits operands of type Object for operator '...'." />
+		<vbcerror line="1107" number="30038" message="Option Strict On prohibits operands of type Object for operator '...'." />
+		<vbcerror line="1111" number="30038" message="Option Strict On prohibits operands of type Object for operator '...'." />
+		<vbcerror line="1114" number="30452" message="Operator 'Like' is not defined for types 'Object' and 'System.DBNull'." />
+		<vbcerror line="1118" number="30038" message="Option Strict On prohibits operands of type Object for operator '...'." />
+		<vbcerror line="1118" number="30038" message="Option Strict On prohibits operands of type Object for operator '...'." />
+	</test>
+	<test id="2767" name="OperatorIntrinsic_LShift_" target="exe" mytype="empty">
+		<arguments>/nowarn</arguments>
+		<file>CompileTime2\OperatorIntrinsicLShift.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+	</test>
+	<test id="2768" name="OperatorIntrinsic_LShift_Strict" mytype="empty">
+		<arguments>/optionstrict+ /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicLShift.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+	</test>
+	<test id="2769" name="OperatorIntrinsic_LShift_BooleanError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Boolean_ERRORS /nowarn</arguments>
+		<file>CompileTime2\OperatorIntrinsicLShift.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="54" number="32006" message="'Char' values cannot be converted to 'Integer'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="61" number="30311" message="Value of type 'Date' cannot be converted to 'Integer'." />
+		<error line="64" number="30452" message="Operator '<<' is not defined for types 'Boolean' and 'System.DBNull'." />
+	</test>
+	<test id="2770" name="OperatorIntrinsic_LShift_BooleanStrictError" expectedexitcode="1" expectedvbcexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Boolean_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicLShift.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="7" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<error line="7" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Integer'." />
+		<error line="11" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<error line="15" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<error line="19" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<error line="23" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<error line="27" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<error line="31" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<error line="31" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'Integer'." />
+		<error line="35" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<error line="35" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'Integer'." />
+		<error line="39" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<error line="39" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Integer'." />
+		<error line="43" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<error line="43" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Integer'." />
+		<error line="47" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<error line="47" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Integer'." />
+		<error line="51" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<error line="51" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Integer'." />
+		<error line="54" number="32006" message="'Char' values cannot be converted to 'Integer'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="58" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<error line="58" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Integer'." />
+		<error line="61" number="30311" message="Value of type 'Date' cannot be converted to 'Integer'." />
+		<error line="64" number="30452" message="Operator '<<' is not defined for types 'Boolean' and 'System.DBNull'." />
+		<error line="68" number="30038" message="Option Strict On prohibits operands of type Object for operator '<<'." />
+		<vbcerror line="7" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<vbcerror line="7" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Integer'." />
+		<vbcerror line="11" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<vbcerror line="15" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<vbcerror line="19" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<vbcerror line="23" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<vbcerror line="27" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<vbcerror line="31" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<vbcerror line="31" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'Integer'." />
+		<vbcerror line="35" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<vbcerror line="35" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'Integer'." />
+		<vbcerror line="39" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<vbcerror line="39" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Integer'." />
+		<vbcerror line="43" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<vbcerror line="43" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Integer'." />
+		<vbcerror line="47" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<vbcerror line="47" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Integer'." />
+		<vbcerror line="51" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<vbcerror line="51" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Integer'." />
+		<vbcerror line="54" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<vbcerror line="54" number="32006" message="'Char' values cannot be converted to 'Integer'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<vbcerror line="58" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<vbcerror line="58" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Integer'." />
+		<vbcerror line="61" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<vbcerror line="61" number="30311" message="Value of type 'Date' cannot be converted to 'Integer'." />
+		<vbcerror line="64" number="30452" message="Operator '<<' is not defined for types 'Boolean' and 'System.DBNull'." />
+		<vbcerror line="68" number="30038" message="Option Strict On prohibits operands of type Object for operator '<<'." />
+	</test>
+	<test id="2771" name="OperatorIntrinsic_LShift_ByteError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Byte_ERRORS /nowarn</arguments>
+		<file>CompileTime2\OperatorIntrinsicLShift.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="109" number="32006" message="'Char' values cannot be converted to 'Integer'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="116" number="30311" message="Value of type 'Date' cannot be converted to 'Integer'." />
+		<error line="119" number="30452" message="Operator '<<' is not defined for types 'Byte' and 'System.DBNull'." />
+	</test>
+	<test id="2772" name="OperatorIntrinsic_LShift_ByteStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Byte_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicLShift.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="72" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Integer'." />
+		<error line="86" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'Integer'." />
+		<error line="90" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'Integer'." />
+		<error line="94" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Integer'." />
+		<error line="98" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Integer'." />
+		<error line="102" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Integer'." />
+		<error line="106" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Integer'." />
+		<error line="109" number="32006" message="'Char' values cannot be converted to 'Integer'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="113" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Integer'." />
+		<error line="116" number="30311" message="Value of type 'Date' cannot be converted to 'Integer'." />
+		<error line="119" number="30452" message="Operator '<<' is not defined for types 'Byte' and 'System.DBNull'." />
+		<error line="123" number="30038" message="Option Strict On prohibits operands of type Object for operator '<<'." />
+	</test>
+	<test id="2773" name="OperatorIntrinsic_LShift_SByteError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:SByte_ERRORS /nowarn</arguments>
+		<file>CompileTime2\OperatorIntrinsicLShift.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="164" number="32006" message="'Char' values cannot be converted to 'Integer'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="171" number="30311" message="Value of type 'Date' cannot be converted to 'Integer'." />
+		<error line="174" number="30452" message="Operator '<<' is not defined for types 'SByte' and 'System.DBNull'." />
+	</test>
+	<test id="2774" name="OperatorIntrinsic_LShift_SByteStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:SByte_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicLShift.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="127" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Integer'." />
+		<error line="141" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'Integer'." />
+		<error line="145" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'Integer'." />
+		<error line="149" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Integer'." />
+		<error line="153" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Integer'." />
+		<error line="157" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Integer'." />
+		<error line="161" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Integer'." />
+		<error line="164" number="32006" message="'Char' values cannot be converted to 'Integer'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="168" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Integer'." />
+		<error line="171" number="30311" message="Value of type 'Date' cannot be converted to 'Integer'." />
+		<error line="174" number="30452" message="Operator '<<' is not defined for types 'SByte' and 'System.DBNull'." />
+		<error line="178" number="30038" message="Option Strict On prohibits operands of type Object for operator '<<'." />
+	</test>
+	<test id="2775" name="OperatorIntrinsic_LShift_Int16Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Int16_ERRORS /nowarn</arguments>
+		<file>CompileTime2\OperatorIntrinsicLShift.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="219" number="32006" message="'Char' values cannot be converted to 'Integer'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="226" number="30311" message="Value of type 'Date' cannot be converted to 'Integer'." />
+		<error line="229" number="30452" message="Operator '<<' is not defined for types 'Short' and 'System.DBNull'." />
+	</test>
+	<test id="2776" name="OperatorIntrinsic_LShift_Int16StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Int16_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicLShift.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="182" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Integer'." />
+		<error line="196" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'Integer'." />
+		<error line="200" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'Integer'." />
+		<error line="204" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Integer'." />
+		<error line="208" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Integer'." />
+		<error line="212" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Integer'." />
+		<error line="216" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Integer'." />
+		<error line="219" number="32006" message="'Char' values cannot be converted to 'Integer'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="223" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Integer'." />
+		<error line="226" number="30311" message="Value of type 'Date' cannot be converted to 'Integer'." />
+		<error line="229" number="30452" message="Operator '<<' is not defined for types 'Short' and 'System.DBNull'." />
+		<error line="233" number="30038" message="Option Strict On prohibits operands of type Object for operator '<<'." />
+	</test>
+	<test id="2777" name="OperatorIntrinsic_LShift_UInt16Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:UInt16_ERRORS /nowarn</arguments>
+		<file>CompileTime2\OperatorIntrinsicLShift.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="274" number="32006" message="'Char' values cannot be converted to 'Integer'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="281" number="30311" message="Value of type 'Date' cannot be converted to 'Integer'." />
+		<error line="284" number="30452" message="Operator '<<' is not defined for types 'UShort' and 'System.DBNull'." />
+	</test>
+	<test id="2778" name="OperatorIntrinsic_LShift_UInt16StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:UInt16_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicLShift.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="237" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Integer'." />
+		<error line="251" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'Integer'." />
+		<error line="255" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'Integer'." />
+		<error line="259" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Integer'." />
+		<error line="263" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Integer'." />
+		<error line="267" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Integer'." />
+		<error line="271" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Integer'." />
+		<error line="274" number="32006" message="'Char' values cannot be converted to 'Integer'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="278" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Integer'." />
+		<error line="281" number="30311" message="Value of type 'Date' cannot be converted to 'Integer'." />
+		<error line="284" number="30452" message="Operator '<<' is not defined for types 'UShort' and 'System.DBNull'." />
+		<error line="288" number="30038" message="Option Strict On prohibits operands of type Object for operator '<<'." />
+	</test>
+	<test id="2779" name="OperatorIntrinsic_LShift_Int32Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Int32_ERRORS /nowarn</arguments>
+		<file>CompileTime2\OperatorIntrinsicLShift.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="329" number="32006" message="'Char' values cannot be converted to 'Integer'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="336" number="30311" message="Value of type 'Date' cannot be converted to 'Integer'." />
+		<error line="339" number="30452" message="Operator '<<' is not defined for types 'Integer' and 'System.DBNull'." />
+	</test>
+	<test id="2780" name="OperatorIntrinsic_LShift_Int32StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Int32_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicLShift.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="292" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Integer'." />
+		<error line="306" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'Integer'." />
+		<error line="310" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'Integer'." />
+		<error line="314" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Integer'." />
+		<error line="318" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Integer'." />
+		<error line="322" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Integer'." />
+		<error line="326" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Integer'." />
+		<error line="329" number="32006" message="'Char' values cannot be converted to 'Integer'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="333" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Integer'." />
+		<error line="336" number="30311" message="Value of type 'Date' cannot be converted to 'Integer'." />
+		<error line="339" number="30452" message="Operator '<<' is not defined for types 'Integer' and 'System.DBNull'." />
+		<error line="343" number="30038" message="Option Strict On prohibits operands of type Object for operator '<<'." />
+	</test>
+	<test id="2781" name="OperatorIntrinsic_LShift_UInt32Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:UInt32_ERRORS /nowarn</arguments>
+		<file>CompileTime2\OperatorIntrinsicLShift.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="384" number="32006" message="'Char' values cannot be converted to 'Integer'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="391" number="30311" message="Value of type 'Date' cannot be converted to 'Integer'." />
+		<error line="394" number="30452" message="Operator '<<' is not defined for types 'UInteger' and 'System.DBNull'." />
+	</test>
+	<test id="2782" name="OperatorIntrinsic_LShift_UInt32StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:UInt32_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicLShift.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="347" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Integer'." />
+		<error line="361" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'Integer'." />
+		<error line="365" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'Integer'." />
+		<error line="369" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Integer'." />
+		<error line="373" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Integer'." />
+		<error line="377" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Integer'." />
+		<error line="381" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Integer'." />
+		<error line="384" number="32006" message="'Char' values cannot be converted to 'Integer'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="388" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Integer'." />
+		<error line="391" number="30311" message="Value of type 'Date' cannot be converted to 'Integer'." />
+		<error line="394" number="30452" message="Operator '<<' is not defined for types 'UInteger' and 'System.DBNull'." />
+		<error line="398" number="30038" message="Option Strict On prohibits operands of type Object for operator '<<'." />
+	</test>
+	<test id="2783" name="OperatorIntrinsic_LShift_Int64Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Int64_ERRORS /nowarn</arguments>
+		<file>CompileTime2\OperatorIntrinsicLShift.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="439" number="32006" message="'Char' values cannot be converted to 'Integer'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="446" number="30311" message="Value of type 'Date' cannot be converted to 'Integer'." />
+		<error line="449" number="30452" message="Operator '<<' is not defined for types 'Long' and 'System.DBNull'." />
+	</test>
+	<test id="2784" name="OperatorIntrinsic_LShift_Int64StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Int64_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicLShift.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="402" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Integer'." />
+		<error line="416" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'Integer'." />
+		<error line="420" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'Integer'." />
+		<error line="424" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Integer'." />
+		<error line="428" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Integer'." />
+		<error line="432" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Integer'." />
+		<error line="436" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Integer'." />
+		<error line="439" number="32006" message="'Char' values cannot be converted to 'Integer'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="443" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Integer'." />
+		<error line="446" number="30311" message="Value of type 'Date' cannot be converted to 'Integer'." />
+		<error line="449" number="30452" message="Operator '<<' is not defined for types 'Long' and 'System.DBNull'." />
+		<error line="453" number="30038" message="Option Strict On prohibits operands of type Object for operator '<<'." />
+	</test>
+	<test id="2785" name="OperatorIntrinsic_LShift_UInt64Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:UInt64_ERRORS /nowarn</arguments>
+		<file>CompileTime2\OperatorIntrinsicLShift.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="494" number="32006" message="'Char' values cannot be converted to 'Integer'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="501" number="30311" message="Value of type 'Date' cannot be converted to 'Integer'." />
+		<error line="504" number="30452" message="Operator '<<' is not defined for types 'ULong' and 'System.DBNull'." />
+	</test>
+	<test id="2786" name="OperatorIntrinsic_LShift_UInt64StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:UInt64_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicLShift.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="457" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Integer'." />
+		<error line="471" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'Integer'." />
+		<error line="475" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'Integer'." />
+		<error line="479" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Integer'." />
+		<error line="483" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Integer'." />
+		<error line="487" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Integer'." />
+		<error line="491" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Integer'." />
+		<error line="494" number="32006" message="'Char' values cannot be converted to 'Integer'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="498" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Integer'." />
+		<error line="501" number="30311" message="Value of type 'Date' cannot be converted to 'Integer'." />
+		<error line="504" number="30452" message="Operator '<<' is not defined for types 'ULong' and 'System.DBNull'." />
+		<error line="508" number="30038" message="Option Strict On prohibits operands of type Object for operator '<<'." />
+	</test>
+	<test id="2787" name="OperatorIntrinsic_LShift_DecimalError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Decimal_ERRORS /nowarn</arguments>
+		<file>CompileTime2\OperatorIntrinsicLShift.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="559" number="32006" message="'Char' values cannot be converted to 'Integer'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="566" number="30311" message="Value of type 'Date' cannot be converted to 'Integer'." />
+		<error line="569" number="30452" message="Operator '<<' is not defined for types 'Decimal' and 'System.DBNull'." />
+	</test>
+	<test id="2788" name="OperatorIntrinsic_LShift_DecimalStrictError" expectedexitcode="1" expectedvbcexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Decimal_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicLShift.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="512" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="512" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Integer'." />
+		<error line="516" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="520" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="524" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="528" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="532" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="536" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="536" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'Integer'." />
+		<error line="540" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="540" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'Integer'." />
+		<error line="544" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="544" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Integer'." />
+		<error line="548" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="548" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Integer'." />
+		<error line="552" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="552" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Integer'." />
+		<error line="556" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="556" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Integer'." />
+		<error line="559" number="32006" message="'Char' values cannot be converted to 'Integer'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="563" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="563" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Integer'." />
+		<error line="566" number="30311" message="Value of type 'Date' cannot be converted to 'Integer'." />
+		<error line="569" number="30452" message="Operator '<<' is not defined for types 'Decimal' and 'System.DBNull'." />
+		<error line="573" number="30038" message="Option Strict On prohibits operands of type Object for operator '<<'." />
+		<vbcerror line="512" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<vbcerror line="512" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Integer'." />
+		<vbcerror line="516" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<vbcerror line="520" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<vbcerror line="524" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<vbcerror line="528" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<vbcerror line="532" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<vbcerror line="536" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<vbcerror line="536" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'Integer'." />
+		<vbcerror line="540" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<vbcerror line="540" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'Integer'." />
+		<vbcerror line="544" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<vbcerror line="544" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Integer'." />
+		<vbcerror line="548" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<vbcerror line="548" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Integer'." />
+		<vbcerror line="552" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<vbcerror line="552" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Integer'." />
+		<vbcerror line="556" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<vbcerror line="556" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Integer'." />
+		<vbcerror line="559" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<vbcerror line="559" number="32006" message="'Char' values cannot be converted to 'Integer'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<vbcerror line="563" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<vbcerror line="563" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Integer'." />
+		<vbcerror line="566" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<vbcerror line="566" number="30311" message="Value of type 'Date' cannot be converted to 'Integer'." />
+		<vbcerror line="569" number="30452" message="Operator '<<' is not defined for types 'Decimal' and 'System.DBNull'." />
+		<vbcerror line="573" number="30038" message="Option Strict On prohibits operands of type Object for operator '<<'." />
+	</test>
+	<test id="2789" name="OperatorIntrinsic_LShift_SingleError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Single_ERRORS /nowarn</arguments>
+		<file>CompileTime2\OperatorIntrinsicLShift.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="624" number="32006" message="'Char' values cannot be converted to 'Integer'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="631" number="30311" message="Value of type 'Date' cannot be converted to 'Integer'." />
+		<error line="634" number="30452" message="Operator '<<' is not defined for types 'Single' and 'System.DBNull'." />
+	</test>
+	<test id="2790" name="OperatorIntrinsic_LShift_SingleStrictError" expectedexitcode="1" expectedvbcexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Single_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicLShift.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="577" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="577" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Integer'." />
+		<error line="581" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="585" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="589" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="593" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="597" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="601" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="601" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'Integer'." />
+		<error line="605" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="605" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'Integer'." />
+		<error line="609" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="609" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Integer'." />
+		<error line="613" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="613" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Integer'." />
+		<error line="617" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="617" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Integer'." />
+		<error line="621" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="621" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Integer'." />
+		<error line="624" number="32006" message="'Char' values cannot be converted to 'Integer'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="628" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="628" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Integer'." />
+		<error line="631" number="30311" message="Value of type 'Date' cannot be converted to 'Integer'." />
+		<error line="634" number="30452" message="Operator '<<' is not defined for types 'Single' and 'System.DBNull'." />
+		<error line="638" number="30038" message="Option Strict On prohibits operands of type Object for operator '<<'." />
+		<vbcerror line="577" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<vbcerror line="577" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Integer'." />
+		<vbcerror line="581" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<vbcerror line="585" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<vbcerror line="589" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<vbcerror line="593" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<vbcerror line="597" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<vbcerror line="601" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<vbcerror line="601" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'Integer'." />
+		<vbcerror line="605" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<vbcerror line="605" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'Integer'." />
+		<vbcerror line="609" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<vbcerror line="609" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Integer'." />
+		<vbcerror line="613" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<vbcerror line="613" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Integer'." />
+		<vbcerror line="617" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<vbcerror line="617" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Integer'." />
+		<vbcerror line="621" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<vbcerror line="621" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Integer'." />
+		<vbcerror line="624" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<vbcerror line="624" number="32006" message="'Char' values cannot be converted to 'Integer'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<vbcerror line="628" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<vbcerror line="628" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Integer'." />
+		<vbcerror line="631" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<vbcerror line="631" number="30311" message="Value of type 'Date' cannot be converted to 'Integer'." />
+		<vbcerror line="634" number="30452" message="Operator '<<' is not defined for types 'Single' and 'System.DBNull'." />
+		<vbcerror line="638" number="30038" message="Option Strict On prohibits operands of type Object for operator '<<'." />
+	</test>
+	<test id="2791" name="OperatorIntrinsic_LShift_DoubleError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Double_ERRORS /nowarn</arguments>
+		<file>CompileTime2\OperatorIntrinsicLShift.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="689" number="32006" message="'Char' values cannot be converted to 'Integer'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="696" number="30311" message="Value of type 'Date' cannot be converted to 'Integer'." />
+		<error line="699" number="30452" message="Operator '<<' is not defined for types 'Double' and 'System.DBNull'." />
+	</test>
+	<test id="2792" name="OperatorIntrinsic_LShift_DoubleStrictError" expectedexitcode="1" expectedvbcexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Double_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicLShift.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="642" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="642" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Integer'." />
+		<error line="646" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="650" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="654" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="658" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="662" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="666" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="666" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'Integer'." />
+		<error line="670" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="670" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'Integer'." />
+		<error line="674" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="674" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Integer'." />
+		<error line="678" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="678" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Integer'." />
+		<error line="682" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="682" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Integer'." />
+		<error line="686" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="686" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Integer'." />
+		<error line="689" number="32006" message="'Char' values cannot be converted to 'Integer'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="693" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="693" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Integer'." />
+		<error line="696" number="30311" message="Value of type 'Date' cannot be converted to 'Integer'." />
+		<error line="699" number="30452" message="Operator '<<' is not defined for types 'Double' and 'System.DBNull'." />
+		<error line="703" number="30038" message="Option Strict On prohibits operands of type Object for operator '<<'." />
+		<vbcerror line="642" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<vbcerror line="642" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Integer'." />
+		<vbcerror line="646" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<vbcerror line="650" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<vbcerror line="654" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<vbcerror line="658" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<vbcerror line="662" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<vbcerror line="666" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<vbcerror line="666" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'Integer'." />
+		<vbcerror line="670" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<vbcerror line="670" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'Integer'." />
+		<vbcerror line="674" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<vbcerror line="674" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Integer'." />
+		<vbcerror line="678" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<vbcerror line="678" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Integer'." />
+		<vbcerror line="682" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<vbcerror line="682" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Integer'." />
+		<vbcerror line="686" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<vbcerror line="686" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Integer'." />
+		<vbcerror line="689" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<vbcerror line="689" number="32006" message="'Char' values cannot be converted to 'Integer'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<vbcerror line="693" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<vbcerror line="693" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Integer'." />
+		<vbcerror line="696" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<vbcerror line="696" number="30311" message="Value of type 'Date' cannot be converted to 'Integer'." />
+		<vbcerror line="699" number="30452" message="Operator '<<' is not defined for types 'Double' and 'System.DBNull'." />
+		<vbcerror line="703" number="30038" message="Option Strict On prohibits operands of type Object for operator '<<'." />
+	</test>
+	<test id="2793" name="OperatorIntrinsic_LShift_CharError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Char_ERRORS /nowarn</arguments>
+		<file>CompileTime2\OperatorIntrinsicLShift.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="706" number="30452" message="Operator '<<' is not defined for types 'Char' and 'Boolean'." />
+		<error line="709" number="30452" message="Operator '<<' is not defined for types 'Char' and 'Byte'." />
+		<error line="712" number="30452" message="Operator '<<' is not defined for types 'Char' and 'SByte'." />
+		<error line="715" number="30452" message="Operator '<<' is not defined for types 'Char' and 'Short'." />
+		<error line="718" number="30452" message="Operator '<<' is not defined for types 'Char' and 'UShort'." />
+		<error line="721" number="30452" message="Operator '<<' is not defined for types 'Char' and 'Integer'." />
+		<error line="724" number="30452" message="Operator '<<' is not defined for types 'Char' and 'UInteger'." />
+		<error line="727" number="30452" message="Operator '<<' is not defined for types 'Char' and 'Long'." />
+		<error line="730" number="30452" message="Operator '<<' is not defined for types 'Char' and 'ULong'." />
+		<error line="733" number="30452" message="Operator '<<' is not defined for types 'Char' and 'Decimal'." />
+		<error line="736" number="30452" message="Operator '<<' is not defined for types 'Char' and 'Single'." />
+		<error line="739" number="30452" message="Operator '<<' is not defined for types 'Char' and 'Double'." />
+		<error line="742" number="30452" message="Operator '<<' is not defined for types 'Char' and 'Char'." />
+		<error line="745" number="30452" message="Operator '<<' is not defined for types 'Char' and 'String'." />
+		<error line="748" number="30452" message="Operator '<<' is not defined for types 'Char' and 'Date'." />
+		<error line="751" number="30452" message="Operator '<<' is not defined for types 'Char' and 'System.DBNull'." />
+		<error line="754" number="30452" message="Operator '<<' is not defined for types 'Char' and 'Object'." />
+	</test>
+	<test id="2794" name="OperatorIntrinsic_LShift_CharStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Char_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicLShift.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="706" number="30452" message="Operator '<<' is not defined for types 'Char' and 'Boolean'." />
+		<error line="709" number="30452" message="Operator '<<' is not defined for types 'Char' and 'Byte'." />
+		<error line="712" number="30452" message="Operator '<<' is not defined for types 'Char' and 'SByte'." />
+		<error line="715" number="30452" message="Operator '<<' is not defined for types 'Char' and 'Short'." />
+		<error line="718" number="30452" message="Operator '<<' is not defined for types 'Char' and 'UShort'." />
+		<error line="721" number="30452" message="Operator '<<' is not defined for types 'Char' and 'Integer'." />
+		<error line="724" number="30452" message="Operator '<<' is not defined for types 'Char' and 'UInteger'." />
+		<error line="727" number="30452" message="Operator '<<' is not defined for types 'Char' and 'Long'." />
+		<error line="730" number="30452" message="Operator '<<' is not defined for types 'Char' and 'ULong'." />
+		<error line="733" number="30452" message="Operator '<<' is not defined for types 'Char' and 'Decimal'." />
+		<error line="736" number="30452" message="Operator '<<' is not defined for types 'Char' and 'Single'." />
+		<error line="739" number="30452" message="Operator '<<' is not defined for types 'Char' and 'Double'." />
+		<error line="742" number="30452" message="Operator '<<' is not defined for types 'Char' and 'Char'." />
+		<error line="745" number="30452" message="Operator '<<' is not defined for types 'Char' and 'String'." />
+		<error line="748" number="30452" message="Operator '<<' is not defined for types 'Char' and 'Date'." />
+		<error line="751" number="30452" message="Operator '<<' is not defined for types 'Char' and 'System.DBNull'." />
+		<error line="754" number="30452" message="Operator '<<' is not defined for types 'Char' and 'Object'." />
+	</test>
+	<test id="2795" name="OperatorIntrinsic_LShift_StringError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:String_ERRORS /nowarn</arguments>
+		<file>CompileTime2\OperatorIntrinsicLShift.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="805" number="32006" message="'Char' values cannot be converted to 'Integer'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="812" number="30311" message="Value of type 'Date' cannot be converted to 'Integer'." />
+		<error line="815" number="30452" message="Operator '<<' is not defined for types 'String' and 'System.DBNull'." />
+	</test>
+	<test id="2796" name="OperatorIntrinsic_LShift_StringStrictError" expectedexitcode="1" expectedvbcexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:String_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicLShift.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="758" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="758" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Integer'." />
+		<error line="762" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="766" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="770" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="774" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="778" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="782" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="782" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'Integer'." />
+		<error line="786" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="786" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'Integer'." />
+		<error line="790" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="790" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Integer'." />
+		<error line="794" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="794" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Integer'." />
+		<error line="798" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="798" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Integer'." />
+		<error line="802" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="802" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Integer'." />
+		<error line="805" number="32006" message="'Char' values cannot be converted to 'Integer'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="809" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="809" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Integer'." />
+		<error line="812" number="30311" message="Value of type 'Date' cannot be converted to 'Integer'." />
+		<error line="815" number="30452" message="Operator '<<' is not defined for types 'String' and 'System.DBNull'." />
+		<error line="819" number="30038" message="Option Strict On prohibits operands of type Object for operator '<<'." />
+		<vbcerror line="758" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<vbcerror line="758" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Integer'." />
+		<vbcerror line="762" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<vbcerror line="766" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<vbcerror line="770" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<vbcerror line="774" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<vbcerror line="778" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<vbcerror line="782" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<vbcerror line="782" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'Integer'." />
+		<vbcerror line="786" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<vbcerror line="786" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'Integer'." />
+		<vbcerror line="790" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<vbcerror line="790" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Integer'." />
+		<vbcerror line="794" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<vbcerror line="794" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Integer'." />
+		<vbcerror line="798" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<vbcerror line="798" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Integer'." />
+		<vbcerror line="802" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<vbcerror line="802" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Integer'." />
+		<vbcerror line="805" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<vbcerror line="805" number="32006" message="'Char' values cannot be converted to 'Integer'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<vbcerror line="809" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<vbcerror line="809" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Integer'." />
+		<vbcerror line="812" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<vbcerror line="812" number="30311" message="Value of type 'Date' cannot be converted to 'Integer'." />
+		<vbcerror line="815" number="30452" message="Operator '<<' is not defined for types 'String' and 'System.DBNull'." />
+		<vbcerror line="819" number="30038" message="Option Strict On prohibits operands of type Object for operator '<<'." />
+	</test>
+	<test id="2797" name="OperatorIntrinsic_LShift_DateTimeError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:DateTime_ERRORS /nowarn</arguments>
+		<file>CompileTime2\OperatorIntrinsicLShift.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="822" number="30452" message="Operator '<<' is not defined for types 'Date' and 'Boolean'." />
+		<error line="825" number="30452" message="Operator '<<' is not defined for types 'Date' and 'Byte'." />
+		<error line="828" number="30452" message="Operator '<<' is not defined for types 'Date' and 'SByte'." />
+		<error line="831" number="30452" message="Operator '<<' is not defined for types 'Date' and 'Short'." />
+		<error line="834" number="30452" message="Operator '<<' is not defined for types 'Date' and 'UShort'." />
+		<error line="837" number="30452" message="Operator '<<' is not defined for types 'Date' and 'Integer'." />
+		<error line="840" number="30452" message="Operator '<<' is not defined for types 'Date' and 'UInteger'." />
+		<error line="843" number="30452" message="Operator '<<' is not defined for types 'Date' and 'Long'." />
+		<error line="846" number="30452" message="Operator '<<' is not defined for types 'Date' and 'ULong'." />
+		<error line="849" number="30452" message="Operator '<<' is not defined for types 'Date' and 'Decimal'." />
+		<error line="852" number="30452" message="Operator '<<' is not defined for types 'Date' and 'Single'." />
+		<error line="855" number="30452" message="Operator '<<' is not defined for types 'Date' and 'Double'." />
+		<error line="858" number="30452" message="Operator '<<' is not defined for types 'Date' and 'Char'." />
+		<error line="861" number="30452" message="Operator '<<' is not defined for types 'Date' and 'String'." />
+		<error line="864" number="30452" message="Operator '<<' is not defined for types 'Date' and 'Date'." />
+		<error line="867" number="30452" message="Operator '<<' is not defined for types 'Date' and 'System.DBNull'." />
+		<error line="870" number="30452" message="Operator '<<' is not defined for types 'Date' and 'Object'." />
+	</test>
+	<test id="2798" name="OperatorIntrinsic_LShift_DateTimeStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:DateTime_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicLShift.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="822" number="30452" message="Operator '<<' is not defined for types 'Date' and 'Boolean'." />
+		<error line="825" number="30452" message="Operator '<<' is not defined for types 'Date' and 'Byte'." />
+		<error line="828" number="30452" message="Operator '<<' is not defined for types 'Date' and 'SByte'." />
+		<error line="831" number="30452" message="Operator '<<' is not defined for types 'Date' and 'Short'." />
+		<error line="834" number="30452" message="Operator '<<' is not defined for types 'Date' and 'UShort'." />
+		<error line="837" number="30452" message="Operator '<<' is not defined for types 'Date' and 'Integer'." />
+		<error line="840" number="30452" message="Operator '<<' is not defined for types 'Date' and 'UInteger'." />
+		<error line="843" number="30452" message="Operator '<<' is not defined for types 'Date' and 'Long'." />
+		<error line="846" number="30452" message="Operator '<<' is not defined for types 'Date' and 'ULong'." />
+		<error line="849" number="30452" message="Operator '<<' is not defined for types 'Date' and 'Decimal'." />
+		<error line="852" number="30452" message="Operator '<<' is not defined for types 'Date' and 'Single'." />
+		<error line="855" number="30452" message="Operator '<<' is not defined for types 'Date' and 'Double'." />
+		<error line="858" number="30452" message="Operator '<<' is not defined for types 'Date' and 'Char'." />
+		<error line="861" number="30452" message="Operator '<<' is not defined for types 'Date' and 'String'." />
+		<error line="864" number="30452" message="Operator '<<' is not defined for types 'Date' and 'Date'." />
+		<error line="867" number="30452" message="Operator '<<' is not defined for types 'Date' and 'System.DBNull'." />
+		<error line="870" number="30452" message="Operator '<<' is not defined for types 'Date' and 'Object'." />
+	</test>
+	<test id="2799" name="OperatorIntrinsic_LShift_DBNullError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:DBNull_ERRORS /nowarn</arguments>
+		<file>CompileTime2\OperatorIntrinsicLShift.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="873" number="30452" message="Operator '<<' is not defined for types 'System.DBNull' and 'Boolean'." />
+		<error line="876" number="30452" message="Operator '<<' is not defined for types 'System.DBNull' and 'Byte'." />
+		<error line="879" number="30452" message="Operator '<<' is not defined for types 'System.DBNull' and 'SByte'." />
+		<error line="882" number="30452" message="Operator '<<' is not defined for types 'System.DBNull' and 'Short'." />
+		<error line="885" number="30452" message="Operator '<<' is not defined for types 'System.DBNull' and 'UShort'." />
+		<error line="888" number="30452" message="Operator '<<' is not defined for types 'System.DBNull' and 'Integer'." />
+		<error line="891" number="30452" message="Operator '<<' is not defined for types 'System.DBNull' and 'UInteger'." />
+		<error line="894" number="30452" message="Operator '<<' is not defined for types 'System.DBNull' and 'Long'." />
+		<error line="897" number="30452" message="Operator '<<' is not defined for types 'System.DBNull' and 'ULong'." />
+		<error line="900" number="30452" message="Operator '<<' is not defined for types 'System.DBNull' and 'Decimal'." />
+		<error line="903" number="30452" message="Operator '<<' is not defined for types 'System.DBNull' and 'Single'." />
+		<error line="906" number="30452" message="Operator '<<' is not defined for types 'System.DBNull' and 'Double'." />
+		<error line="909" number="30452" message="Operator '<<' is not defined for types 'System.DBNull' and 'Char'." />
+		<error line="912" number="30452" message="Operator '<<' is not defined for types 'System.DBNull' and 'String'." />
+		<error line="915" number="30452" message="Operator '<<' is not defined for types 'System.DBNull' and 'Date'." />
+		<error line="918" number="30452" message="Operator '<<' is not defined for types 'System.DBNull' and 'System.DBNull'." />
+		<error line="921" number="30452" message="Operator '<<' is not defined for types 'System.DBNull' and 'Object'." />
+	</test>
+	<test id="2800" name="OperatorIntrinsic_LShift_DBNullStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:DBNull_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicLShift.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="873" number="30452" message="Operator '<<' is not defined for types 'System.DBNull' and 'Boolean'." />
+		<error line="876" number="30452" message="Operator '<<' is not defined for types 'System.DBNull' and 'Byte'." />
+		<error line="879" number="30452" message="Operator '<<' is not defined for types 'System.DBNull' and 'SByte'." />
+		<error line="882" number="30452" message="Operator '<<' is not defined for types 'System.DBNull' and 'Short'." />
+		<error line="885" number="30452" message="Operator '<<' is not defined for types 'System.DBNull' and 'UShort'." />
+		<error line="888" number="30452" message="Operator '<<' is not defined for types 'System.DBNull' and 'Integer'." />
+		<error line="891" number="30452" message="Operator '<<' is not defined for types 'System.DBNull' and 'UInteger'." />
+		<error line="894" number="30452" message="Operator '<<' is not defined for types 'System.DBNull' and 'Long'." />
+		<error line="897" number="30452" message="Operator '<<' is not defined for types 'System.DBNull' and 'ULong'." />
+		<error line="900" number="30452" message="Operator '<<' is not defined for types 'System.DBNull' and 'Decimal'." />
+		<error line="903" number="30452" message="Operator '<<' is not defined for types 'System.DBNull' and 'Single'." />
+		<error line="906" number="30452" message="Operator '<<' is not defined for types 'System.DBNull' and 'Double'." />
+		<error line="909" number="30452" message="Operator '<<' is not defined for types 'System.DBNull' and 'Char'." />
+		<error line="912" number="30452" message="Operator '<<' is not defined for types 'System.DBNull' and 'String'." />
+		<error line="915" number="30452" message="Operator '<<' is not defined for types 'System.DBNull' and 'Date'." />
+		<error line="918" number="30452" message="Operator '<<' is not defined for types 'System.DBNull' and 'System.DBNull'." />
+		<error line="921" number="30452" message="Operator '<<' is not defined for types 'System.DBNull' and 'Object'." />
+	</test>
+	<test id="2801" name="OperatorIntrinsic_LShift_ObjectError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Object_ERRORS /nowarn</arguments>
+		<file>CompileTime2\OperatorIntrinsicLShift.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="990" number="30452" message="Operator '<<' is not defined for types 'Object' and 'System.DBNull'." />
+	</test>
+	<test id="2802" name="OperatorIntrinsic_LShift_ObjectStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Object_ERRORS /define:STRICT /nowarn</arguments>
+		<file>CompileTime2\OperatorIntrinsicLShift.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="925" number="30038" message="Option Strict On prohibits operands of type Object for operator '<<'." />
+		<error line="929" number="30038" message="Option Strict On prohibits operands of type Object for operator '<<'." />
+		<error line="933" number="30038" message="Option Strict On prohibits operands of type Object for operator '<<'." />
+		<error line="937" number="30038" message="Option Strict On prohibits operands of type Object for operator '<<'." />
+		<error line="941" number="30038" message="Option Strict On prohibits operands of type Object for operator '<<'." />
+		<error line="945" number="30038" message="Option Strict On prohibits operands of type Object for operator '<<'." />
+		<error line="949" number="30038" message="Option Strict On prohibits operands of type Object for operator '<<'." />
+		<error line="953" number="30038" message="Option Strict On prohibits operands of type Object for operator '<<'." />
+		<error line="957" number="30038" message="Option Strict On prohibits operands of type Object for operator '<<'." />
+		<error line="961" number="30038" message="Option Strict On prohibits operands of type Object for operator '<<'." />
+		<error line="965" number="30038" message="Option Strict On prohibits operands of type Object for operator '<<'." />
+		<error line="969" number="30038" message="Option Strict On prohibits operands of type Object for operator '<<'." />
+		<error line="974" number="30038" message="Option Strict On prohibits operands of type Object for operator '<<'." />
+		<error line="980" number="30038" message="Option Strict On prohibits operands of type Object for operator '<<'." />
+		<error line="985" number="30038" message="Option Strict On prohibits operands of type Object for operator '<<'." />
+		<error line="990" number="30452" message="Operator '<<' is not defined for types 'Object' and 'System.DBNull'." />
+		<error line="994" number="30038" message="Option Strict On prohibits operands of type Object for operator '<<'." />
+		<error line="994" number="30038" message="Option Strict On prohibits operands of type Object for operator '<<'." />
+	</test>
+	<test id="2803" name="OperatorIntrinsic_LT_" target="exe" mytype="empty">
+		<file>CompileTime2\OperatorIntrinsicLT.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+	</test>
+	<test id="2804" name="OperatorIntrinsic_LT_Strict" mytype="empty">
+		<arguments>/optionstrict+ /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicLT.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+	</test>
+	<test id="2805" name="OperatorIntrinsic_LT_BooleanError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Boolean_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicLT.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="42" number="30452" message="Operator '<' is not defined for types 'Boolean' and 'Char'." />
+		<error line="48" number="30452" message="Operator '<' is not defined for types 'Boolean' and 'Date'." />
+		<error line="51" number="30452" message="Operator '<' is not defined for types 'Boolean' and 'System.DBNull'." />
+	</test>
+	<test id="2806" name="OperatorIntrinsic_LT_BooleanStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Boolean_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicLT.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="9" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<error line="12" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'SByte'." />
+		<error line="15" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<error line="18" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Integer'." />
+		<error line="21" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Integer'." />
+		<error line="24" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Long'." />
+		<error line="27" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Long'." />
+		<error line="30" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Decimal'." />
+		<error line="33" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Decimal'." />
+		<error line="36" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Single'." />
+		<error line="39" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Double'." />
+		<error line="42" number="30452" message="Operator '<' is not defined for types 'Boolean' and 'Char'." />
+		<error line="45" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Boolean'." />
+		<error line="48" number="30452" message="Operator '<' is not defined for types 'Boolean' and 'Date'." />
+		<error line="51" number="30452" message="Operator '<' is not defined for types 'Boolean' and 'System.DBNull'." />
+		<error line="55" number="30038" message="Option Strict On prohibits operands of type Object for operator '<'." />
+	</test>
+	<test id="2807" name="OperatorIntrinsic_LT_ByteError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Byte_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicLT.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="83" number="30452" message="Operator '<' is not defined for types 'Byte' and 'Char'." />
+		<error line="89" number="30452" message="Operator '<' is not defined for types 'Byte' and 'Date'." />
+		<error line="92" number="30452" message="Operator '<' is not defined for types 'Byte' and 'System.DBNull'." />
+	</test>
+	<test id="2808" name="OperatorIntrinsic_LT_ByteStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Byte_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicLT.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="58" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<error line="83" number="30452" message="Operator '<' is not defined for types 'Byte' and 'Char'." />
+		<error line="86" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="89" number="30452" message="Operator '<' is not defined for types 'Byte' and 'Date'." />
+		<error line="92" number="30452" message="Operator '<' is not defined for types 'Byte' and 'System.DBNull'." />
+		<error line="96" number="30038" message="Option Strict On prohibits operands of type Object for operator '<'." />
+	</test>
+	<test id="2809" name="OperatorIntrinsic_LT_SByteError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:SByte_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicLT.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="124" number="30452" message="Operator '<' is not defined for types 'SByte' and 'Char'." />
+		<error line="130" number="30452" message="Operator '<' is not defined for types 'SByte' and 'Date'." />
+		<error line="133" number="30452" message="Operator '<' is not defined for types 'SByte' and 'System.DBNull'." />
+	</test>
+	<test id="2810" name="OperatorIntrinsic_LT_SByteStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:SByte_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicLT.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="99" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'SByte'." />
+		<error line="124" number="30452" message="Operator '<' is not defined for types 'SByte' and 'Char'." />
+		<error line="127" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="130" number="30452" message="Operator '<' is not defined for types 'SByte' and 'Date'." />
+		<error line="133" number="30452" message="Operator '<' is not defined for types 'SByte' and 'System.DBNull'." />
+		<error line="137" number="30038" message="Option Strict On prohibits operands of type Object for operator '<'." />
+	</test>
+	<test id="2811" name="OperatorIntrinsic_LT_Int16Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Int16_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicLT.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="165" number="30452" message="Operator '<' is not defined for types 'Short' and 'Char'." />
+		<error line="171" number="30452" message="Operator '<' is not defined for types 'Short' and 'Date'." />
+		<error line="174" number="30452" message="Operator '<' is not defined for types 'Short' and 'System.DBNull'." />
+	</test>
+	<test id="2812" name="OperatorIntrinsic_LT_Int16StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Int16_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicLT.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="140" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<error line="165" number="30452" message="Operator '<' is not defined for types 'Short' and 'Char'." />
+		<error line="168" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="171" number="30452" message="Operator '<' is not defined for types 'Short' and 'Date'." />
+		<error line="174" number="30452" message="Operator '<' is not defined for types 'Short' and 'System.DBNull'." />
+		<error line="178" number="30038" message="Option Strict On prohibits operands of type Object for operator '<'." />
+	</test>
+	<test id="2813" name="OperatorIntrinsic_LT_UInt16Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:UInt16_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicLT.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="206" number="30452" message="Operator '<' is not defined for types 'UShort' and 'Char'." />
+		<error line="212" number="30452" message="Operator '<' is not defined for types 'UShort' and 'Date'." />
+		<error line="215" number="30452" message="Operator '<' is not defined for types 'UShort' and 'System.DBNull'." />
+	</test>
+	<test id="2814" name="OperatorIntrinsic_LT_UInt16StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:UInt16_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicLT.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="181" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Integer'." />
+		<error line="206" number="30452" message="Operator '<' is not defined for types 'UShort' and 'Char'." />
+		<error line="209" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="212" number="30452" message="Operator '<' is not defined for types 'UShort' and 'Date'." />
+		<error line="215" number="30452" message="Operator '<' is not defined for types 'UShort' and 'System.DBNull'." />
+		<error line="219" number="30038" message="Option Strict On prohibits operands of type Object for operator '<'." />
+	</test>
+	<test id="2815" name="OperatorIntrinsic_LT_Int32Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Int32_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicLT.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="247" number="30452" message="Operator '<' is not defined for types 'Integer' and 'Char'." />
+		<error line="253" number="30452" message="Operator '<' is not defined for types 'Integer' and 'Date'." />
+		<error line="256" number="30452" message="Operator '<' is not defined for types 'Integer' and 'System.DBNull'." />
+	</test>
+	<test id="2816" name="OperatorIntrinsic_LT_Int32StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Int32_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicLT.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="222" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Integer'." />
+		<error line="247" number="30452" message="Operator '<' is not defined for types 'Integer' and 'Char'." />
+		<error line="250" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="253" number="30452" message="Operator '<' is not defined for types 'Integer' and 'Date'." />
+		<error line="256" number="30452" message="Operator '<' is not defined for types 'Integer' and 'System.DBNull'." />
+		<error line="260" number="30038" message="Option Strict On prohibits operands of type Object for operator '<'." />
+	</test>
+	<test id="2817" name="OperatorIntrinsic_LT_UInt32Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:UInt32_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicLT.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="288" number="30452" message="Operator '<' is not defined for types 'UInteger' and 'Char'." />
+		<error line="294" number="30452" message="Operator '<' is not defined for types 'UInteger' and 'Date'." />
+		<error line="297" number="30452" message="Operator '<' is not defined for types 'UInteger' and 'System.DBNull'." />
+	</test>
+	<test id="2818" name="OperatorIntrinsic_LT_UInt32StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:UInt32_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicLT.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="263" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Long'." />
+		<error line="288" number="30452" message="Operator '<' is not defined for types 'UInteger' and 'Char'." />
+		<error line="291" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="294" number="30452" message="Operator '<' is not defined for types 'UInteger' and 'Date'." />
+		<error line="297" number="30452" message="Operator '<' is not defined for types 'UInteger' and 'System.DBNull'." />
+		<error line="301" number="30038" message="Option Strict On prohibits operands of type Object for operator '<'." />
+	</test>
+	<test id="2819" name="OperatorIntrinsic_LT_Int64Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Int64_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicLT.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="329" number="30452" message="Operator '<' is not defined for types 'Long' and 'Char'." />
+		<error line="335" number="30452" message="Operator '<' is not defined for types 'Long' and 'Date'." />
+		<error line="338" number="30452" message="Operator '<' is not defined for types 'Long' and 'System.DBNull'." />
+	</test>
+	<test id="2820" name="OperatorIntrinsic_LT_Int64StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Int64_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicLT.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="304" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Long'." />
+		<error line="329" number="30452" message="Operator '<' is not defined for types 'Long' and 'Char'." />
+		<error line="332" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="335" number="30452" message="Operator '<' is not defined for types 'Long' and 'Date'." />
+		<error line="338" number="30452" message="Operator '<' is not defined for types 'Long' and 'System.DBNull'." />
+		<error line="342" number="30038" message="Option Strict On prohibits operands of type Object for operator '<'." />
+	</test>
+	<test id="2821" name="OperatorIntrinsic_LT_UInt64Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:UInt64_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicLT.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="370" number="30452" message="Operator '<' is not defined for types 'ULong' and 'Char'." />
+		<error line="376" number="30452" message="Operator '<' is not defined for types 'ULong' and 'Date'." />
+		<error line="379" number="30452" message="Operator '<' is not defined for types 'ULong' and 'System.DBNull'." />
+	</test>
+	<test id="2822" name="OperatorIntrinsic_LT_UInt64StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:UInt64_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicLT.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="345" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Decimal'." />
+		<error line="370" number="30452" message="Operator '<' is not defined for types 'ULong' and 'Char'." />
+		<error line="373" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="376" number="30452" message="Operator '<' is not defined for types 'ULong' and 'Date'." />
+		<error line="379" number="30452" message="Operator '<' is not defined for types 'ULong' and 'System.DBNull'." />
+		<error line="383" number="30038" message="Option Strict On prohibits operands of type Object for operator '<'." />
+	</test>
+	<test id="2823" name="OperatorIntrinsic_LT_DecimalError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Decimal_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicLT.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="411" number="30452" message="Operator '<' is not defined for types 'Decimal' and 'Char'." />
+		<error line="417" number="30452" message="Operator '<' is not defined for types 'Decimal' and 'Date'." />
+		<error line="420" number="30518" message="Overload resolution failed because no accessible '<' can be called with these arguments:" />
+	</test>
+	<test id="2824" name="OperatorIntrinsic_LT_DecimalStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Decimal_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicLT.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="386" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Decimal'." />
+		<error line="411" number="30452" message="Operator '<' is not defined for types 'Decimal' and 'Char'." />
+		<error line="414" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="417" number="30452" message="Operator '<' is not defined for types 'Decimal' and 'Date'." />
+		<error line="420" number="30518" message="Overload resolution failed because no accessible '<' can be called with these arguments:" />
+		<error line="424" number="30038" message="Option Strict On prohibits operands of type Object for operator '<'." />
+	</test>
+	<test id="2825" name="OperatorIntrinsic_LT_SingleError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Single_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicLT.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="452" number="30452" message="Operator '<' is not defined for types 'Single' and 'Char'." />
+		<error line="458" number="30452" message="Operator '<' is not defined for types 'Single' and 'Date'." />
+		<error line="461" number="30518" message="Overload resolution failed because no accessible '<' can be called with these arguments:" />
+	</test>
+	<test id="2826" name="OperatorIntrinsic_LT_SingleStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Single_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicLT.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="427" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Single'." />
+		<error line="452" number="30452" message="Operator '<' is not defined for types 'Single' and 'Char'." />
+		<error line="455" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="458" number="30452" message="Operator '<' is not defined for types 'Single' and 'Date'." />
+		<error line="461" number="30518" message="Overload resolution failed because no accessible '<' can be called with these arguments:" />
+		<error line="465" number="30038" message="Option Strict On prohibits operands of type Object for operator '<'." />
+	</test>
+	<test id="2827" name="OperatorIntrinsic_LT_DoubleError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Double_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicLT.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="493" number="30452" message="Operator '<' is not defined for types 'Double' and 'Char'." />
+		<error line="499" number="30452" message="Operator '<' is not defined for types 'Double' and 'Date'." />
+		<error line="502" number="30518" message="Overload resolution failed because no accessible '<' can be called with these arguments:" />
+	</test>
+	<test id="2828" name="OperatorIntrinsic_LT_DoubleStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Double_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicLT.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="468" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Double'." />
+		<error line="493" number="30452" message="Operator '<' is not defined for types 'Double' and 'Char'." />
+		<error line="496" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="499" number="30452" message="Operator '<' is not defined for types 'Double' and 'Date'." />
+		<error line="502" number="30518" message="Overload resolution failed because no accessible '<' can be called with these arguments:" />
+		<error line="506" number="30038" message="Option Strict On prohibits operands of type Object for operator '<'." />
+	</test>
+	<test id="2829" name="OperatorIntrinsic_LT_CharError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Char_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicLT.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="509" number="30452" message="Operator '<' is not defined for types 'Char' and 'Boolean'." />
+		<error line="512" number="30452" message="Operator '<' is not defined for types 'Char' and 'Byte'." />
+		<error line="515" number="30452" message="Operator '<' is not defined for types 'Char' and 'SByte'." />
+		<error line="518" number="30452" message="Operator '<' is not defined for types 'Char' and 'Short'." />
+		<error line="521" number="30452" message="Operator '<' is not defined for types 'Char' and 'UShort'." />
+		<error line="524" number="30452" message="Operator '<' is not defined for types 'Char' and 'Integer'." />
+		<error line="527" number="30452" message="Operator '<' is not defined for types 'Char' and 'UInteger'." />
+		<error line="530" number="30452" message="Operator '<' is not defined for types 'Char' and 'Long'." />
+		<error line="533" number="30452" message="Operator '<' is not defined for types 'Char' and 'ULong'." />
+		<error line="536" number="30452" message="Operator '<' is not defined for types 'Char' and 'Decimal'." />
+		<error line="539" number="30452" message="Operator '<' is not defined for types 'Char' and 'Single'." />
+		<error line="542" number="30452" message="Operator '<' is not defined for types 'Char' and 'Double'." />
+		<error line="551" number="30452" message="Operator '<' is not defined for types 'Char' and 'Date'." />
+		<error line="554" number="30452" message="Operator '<' is not defined for types 'Char' and 'System.DBNull'." />
+	</test>
+	<test id="2830" name="OperatorIntrinsic_LT_CharStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Char_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicLT.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="509" number="30452" message="Operator '<' is not defined for types 'Char' and 'Boolean'." />
+		<error line="512" number="30452" message="Operator '<' is not defined for types 'Char' and 'Byte'." />
+		<error line="515" number="30452" message="Operator '<' is not defined for types 'Char' and 'SByte'." />
+		<error line="518" number="30452" message="Operator '<' is not defined for types 'Char' and 'Short'." />
+		<error line="521" number="30452" message="Operator '<' is not defined for types 'Char' and 'UShort'." />
+		<error line="524" number="30452" message="Operator '<' is not defined for types 'Char' and 'Integer'." />
+		<error line="527" number="30452" message="Operator '<' is not defined for types 'Char' and 'UInteger'." />
+		<error line="530" number="30452" message="Operator '<' is not defined for types 'Char' and 'Long'." />
+		<error line="533" number="30452" message="Operator '<' is not defined for types 'Char' and 'ULong'." />
+		<error line="536" number="30452" message="Operator '<' is not defined for types 'Char' and 'Decimal'." />
+		<error line="539" number="30452" message="Operator '<' is not defined for types 'Char' and 'Single'." />
+		<error line="542" number="30452" message="Operator '<' is not defined for types 'Char' and 'Double'." />
+		<error line="551" number="30452" message="Operator '<' is not defined for types 'Char' and 'Date'." />
+		<error line="554" number="30452" message="Operator '<' is not defined for types 'Char' and 'System.DBNull'." />
+		<error line="557" number="30038" message="Option Strict On prohibits operands of type Object for operator '<'." />
+	</test>
+	<test id="2831" name="OperatorIntrinsic_LT_StringError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:String_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicLT.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="604" number="30452" message="Operator '<' is not defined for types 'String' and 'System.DBNull'." />
+	</test>
+	<test id="2832" name="OperatorIntrinsic_LT_StringStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:String_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicLT.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="560" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Boolean'." />
+		<error line="563" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="566" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="569" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="572" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="575" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="578" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="581" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="584" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="587" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="590" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="593" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="601" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Date'." />
+		<error line="604" number="30452" message="Operator '<' is not defined for types 'String' and 'System.DBNull'." />
+		<error line="608" number="30038" message="Option Strict On prohibits operands of type Object for operator '<'." />
+	</test>
+	<test id="2833" name="OperatorIntrinsic_LT_DateTimeError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:DateTime_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicLT.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="611" number="30452" message="Operator '<' is not defined for types 'Date' and 'Boolean'." />
+		<error line="614" number="30452" message="Operator '<' is not defined for types 'Date' and 'Byte'." />
+		<error line="617" number="30452" message="Operator '<' is not defined for types 'Date' and 'SByte'." />
+		<error line="620" number="30452" message="Operator '<' is not defined for types 'Date' and 'Short'." />
+		<error line="623" number="30452" message="Operator '<' is not defined for types 'Date' and 'UShort'." />
+		<error line="626" number="30452" message="Operator '<' is not defined for types 'Date' and 'Integer'." />
+		<error line="629" number="30452" message="Operator '<' is not defined for types 'Date' and 'UInteger'." />
+		<error line="632" number="30452" message="Operator '<' is not defined for types 'Date' and 'Long'." />
+		<error line="635" number="30452" message="Operator '<' is not defined for types 'Date' and 'ULong'." />
+		<error line="638" number="30452" message="Operator '<' is not defined for types 'Date' and 'Decimal'." />
+		<error line="641" number="30452" message="Operator '<' is not defined for types 'Date' and 'Single'." />
+		<error line="644" number="30452" message="Operator '<' is not defined for types 'Date' and 'Double'." />
+		<error line="647" number="30452" message="Operator '<' is not defined for types 'Date' and 'Char'." />
+		<error line="655" number="30518" message="Overload resolution failed because no accessible '<' can be called with these arguments:" />
+	</test>
+	<test id="2834" name="OperatorIntrinsic_LT_DateTimeStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:DateTime_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicLT.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="611" number="30452" message="Operator '<' is not defined for types 'Date' and 'Boolean'." />
+		<error line="614" number="30452" message="Operator '<' is not defined for types 'Date' and 'Byte'." />
+		<error line="617" number="30452" message="Operator '<' is not defined for types 'Date' and 'SByte'." />
+		<error line="620" number="30452" message="Operator '<' is not defined for types 'Date' and 'Short'." />
+		<error line="623" number="30452" message="Operator '<' is not defined for types 'Date' and 'UShort'." />
+		<error line="626" number="30452" message="Operator '<' is not defined for types 'Date' and 'Integer'." />
+		<error line="629" number="30452" message="Operator '<' is not defined for types 'Date' and 'UInteger'." />
+		<error line="632" number="30452" message="Operator '<' is not defined for types 'Date' and 'Long'." />
+		<error line="635" number="30452" message="Operator '<' is not defined for types 'Date' and 'ULong'." />
+		<error line="638" number="30452" message="Operator '<' is not defined for types 'Date' and 'Decimal'." />
+		<error line="641" number="30452" message="Operator '<' is not defined for types 'Date' and 'Single'." />
+		<error line="644" number="30452" message="Operator '<' is not defined for types 'Date' and 'Double'." />
+		<error line="647" number="30452" message="Operator '<' is not defined for types 'Date' and 'Char'." />
+		<error line="650" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Date'." />
+		<error line="655" number="30518" message="Overload resolution failed because no accessible '<' can be called with these arguments:" />
+		<error line="659" number="30038" message="Option Strict On prohibits operands of type Object for operator '<'." />
+	</test>
+	<test id="2835" name="OperatorIntrinsic_LT_DBNullError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:DBNull_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicLT.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="662" number="30452" message="Operator '<' is not defined for types 'System.DBNull' and 'Boolean'." />
+		<error line="665" number="30452" message="Operator '<' is not defined for types 'System.DBNull' and 'Byte'." />
+		<error line="668" number="30452" message="Operator '<' is not defined for types 'System.DBNull' and 'SByte'." />
+		<error line="671" number="30452" message="Operator '<' is not defined for types 'System.DBNull' and 'Short'." />
+		<error line="674" number="30452" message="Operator '<' is not defined for types 'System.DBNull' and 'UShort'." />
+		<error line="677" number="30452" message="Operator '<' is not defined for types 'System.DBNull' and 'Integer'." />
+		<error line="680" number="30452" message="Operator '<' is not defined for types 'System.DBNull' and 'UInteger'." />
+		<error line="683" number="30452" message="Operator '<' is not defined for types 'System.DBNull' and 'Long'." />
+		<error line="686" number="30452" message="Operator '<' is not defined for types 'System.DBNull' and 'ULong'." />
+		<error line="689" number="30518" message="Overload resolution failed because no accessible '<' can be called with these arguments:" />
+		<error line="692" number="30518" message="Overload resolution failed because no accessible '<' can be called with these arguments:" />
+		<error line="695" number="30518" message="Overload resolution failed because no accessible '<' can be called with these arguments:" />
+		<error line="698" number="30452" message="Operator '<' is not defined for types 'System.DBNull' and 'Char'." />
+		<error line="701" number="30452" message="Operator '<' is not defined for types 'System.DBNull' and 'String'." />
+		<error line="704" number="30518" message="Overload resolution failed because no accessible '<' can be called with these arguments:" />
+		<error line="707" number="30452" message="Operator '<' is not defined for types 'System.DBNull' and 'System.DBNull'." />
+		<error line="710" number="30452" message="Operator '<' is not defined for types 'System.DBNull' and 'Object'." />
+	</test>
+	<test id="2836" name="OperatorIntrinsic_LT_DBNullStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:DBNull_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicLT.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="662" number="30452" message="Operator '<' is not defined for types 'System.DBNull' and 'Boolean'." />
+		<error line="665" number="30452" message="Operator '<' is not defined for types 'System.DBNull' and 'Byte'." />
+		<error line="668" number="30452" message="Operator '<' is not defined for types 'System.DBNull' and 'SByte'." />
+		<error line="671" number="30452" message="Operator '<' is not defined for types 'System.DBNull' and 'Short'." />
+		<error line="674" number="30452" message="Operator '<' is not defined for types 'System.DBNull' and 'UShort'." />
+		<error line="677" number="30452" message="Operator '<' is not defined for types 'System.DBNull' and 'Integer'." />
+		<error line="680" number="30452" message="Operator '<' is not defined for types 'System.DBNull' and 'UInteger'." />
+		<error line="683" number="30452" message="Operator '<' is not defined for types 'System.DBNull' and 'Long'." />
+		<error line="686" number="30452" message="Operator '<' is not defined for types 'System.DBNull' and 'ULong'." />
+		<error line="689" number="30518" message="Overload resolution failed because no accessible '<' can be called with these arguments:" />
+		<error line="692" number="30518" message="Overload resolution failed because no accessible '<' can be called with these arguments:" />
+		<error line="695" number="30518" message="Overload resolution failed because no accessible '<' can be called with these arguments:" />
+		<error line="698" number="30452" message="Operator '<' is not defined for types 'System.DBNull' and 'Char'." />
+		<error line="701" number="30452" message="Operator '<' is not defined for types 'System.DBNull' and 'String'." />
+		<error line="704" number="30518" message="Overload resolution failed because no accessible '<' can be called with these arguments:" />
+		<error line="707" number="30452" message="Operator '<' is not defined for types 'System.DBNull' and 'System.DBNull'." />
+		<error line="710" number="30452" message="Operator '<' is not defined for types 'System.DBNull' and 'Object'." />
+	</test>
+	<test id="2837" name="OperatorIntrinsic_LT_ObjectError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Object_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicLT.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="772" number="30452" message="Operator '<' is not defined for types 'Object' and 'System.DBNull'." />
+	</test>
+	<test id="2838" name="OperatorIntrinsic_LT_ObjectStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Object_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicLT.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="714" number="30038" message="Option Strict On prohibits operands of type Object for operator '<'." />
+		<error line="718" number="30038" message="Option Strict On prohibits operands of type Object for operator '<'." />
+		<error line="722" number="30038" message="Option Strict On prohibits operands of type Object for operator '<'." />
+		<error line="726" number="30038" message="Option Strict On prohibits operands of type Object for operator '<'." />
+		<error line="730" number="30038" message="Option Strict On prohibits operands of type Object for operator '<'." />
+		<error line="734" number="30038" message="Option Strict On prohibits operands of type Object for operator '<'." />
+		<error line="738" number="30038" message="Option Strict On prohibits operands of type Object for operator '<'." />
+		<error line="742" number="30038" message="Option Strict On prohibits operands of type Object for operator '<'." />
+		<error line="746" number="30038" message="Option Strict On prohibits operands of type Object for operator '<'." />
+		<error line="750" number="30038" message="Option Strict On prohibits operands of type Object for operator '<'." />
+		<error line="754" number="30038" message="Option Strict On prohibits operands of type Object for operator '<'." />
+		<error line="758" number="30038" message="Option Strict On prohibits operands of type Object for operator '<'." />
+		<error line="761" number="30038" message="Option Strict On prohibits operands of type Object for operator '<'." />
+		<error line="765" number="30038" message="Option Strict On prohibits operands of type Object for operator '<'." />
+		<error line="769" number="30038" message="Option Strict On prohibits operands of type Object for operator '<'." />
+		<error line="772" number="30452" message="Operator '<' is not defined for types 'Object' and 'System.DBNull'." />
+		<error line="776" number="30038" message="Option Strict On prohibits operands of type Object for operator '<'." />
+		<error line="776" number="30038" message="Option Strict On prohibits operands of type Object for operator '<'." />
+	</test>
+	<test id="2839" name="OperatorIntrinsic_Mod_" target="exe" mytype="empty">
+		<file>CompileTime2\OperatorIntrinsicMod.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+	</test>
+	<test id="2840" name="OperatorIntrinsic_Mod_Strict" mytype="empty">
+		<arguments>/optionstrict+ /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicMod.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+	</test>
+	<test id="2841" name="OperatorIntrinsic_Mod_BooleanError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Boolean_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicMod.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="55" number="30452" message="Operator 'Mod' is not defined for types 'Boolean' and 'Char'." />
+		<error line="62" number="30452" message="Operator 'Mod' is not defined for types 'Boolean' and 'Date'." />
+		<error line="65" number="30452" message="Operator 'Mod' is not defined for types 'Boolean' and 'System.DBNull'." />
+	</test>
+	<test id="2842" name="OperatorIntrinsic_Mod_BooleanStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Boolean_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicMod.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="8" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<error line="8" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<error line="12" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<error line="16" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'SByte'." />
+		<error line="20" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<error line="24" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Integer'." />
+		<error line="28" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Integer'." />
+		<error line="32" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Long'." />
+		<error line="36" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Long'." />
+		<error line="40" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Decimal'." />
+		<error line="44" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Decimal'." />
+		<error line="48" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Single'." />
+		<error line="52" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Double'." />
+		<error line="55" number="30452" message="Operator 'Mod' is not defined for types 'Boolean' and 'Char'." />
+		<error line="59" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Double'." />
+		<error line="59" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="62" number="30452" message="Operator 'Mod' is not defined for types 'Boolean' and 'Date'." />
+		<error line="65" number="30452" message="Operator 'Mod' is not defined for types 'Boolean' and 'System.DBNull'." />
+		<error line="69" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Mod'." />
+	</test>
+	<test id="2843" name="OperatorIntrinsic_Mod_ByteError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Byte_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicMod.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="98" number="30452" message="Operator 'Mod' is not defined for types 'Byte' and 'Char'." />
+		<error line="105" number="30452" message="Operator 'Mod' is not defined for types 'Byte' and 'Date'." />
+		<error line="108" number="30452" message="Operator 'Mod' is not defined for types 'Byte' and 'System.DBNull'." />
+	</test>
+	<test id="2844" name="OperatorIntrinsic_Mod_ByteStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Byte_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicMod.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="73" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<error line="98" number="30452" message="Operator 'Mod' is not defined for types 'Byte' and 'Char'." />
+		<error line="102" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="105" number="30452" message="Operator 'Mod' is not defined for types 'Byte' and 'Date'." />
+		<error line="108" number="30452" message="Operator 'Mod' is not defined for types 'Byte' and 'System.DBNull'." />
+		<error line="112" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Mod'." />
+	</test>
+	<test id="2845" name="OperatorIntrinsic_Mod_SByteError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:SByte_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicMod.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="141" number="30452" message="Operator 'Mod' is not defined for types 'SByte' and 'Char'." />
+		<error line="148" number="30452" message="Operator 'Mod' is not defined for types 'SByte' and 'Date'." />
+		<error line="151" number="30452" message="Operator 'Mod' is not defined for types 'SByte' and 'System.DBNull'." />
+	</test>
+	<test id="2846" name="OperatorIntrinsic_Mod_SByteStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:SByte_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicMod.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="116" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'SByte'." />
+		<error line="141" number="30452" message="Operator 'Mod' is not defined for types 'SByte' and 'Char'." />
+		<error line="145" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="148" number="30452" message="Operator 'Mod' is not defined for types 'SByte' and 'Date'." />
+		<error line="151" number="30452" message="Operator 'Mod' is not defined for types 'SByte' and 'System.DBNull'." />
+		<error line="155" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Mod'." />
+	</test>
+	<test id="2847" name="OperatorIntrinsic_Mod_Int16Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Int16_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicMod.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="184" number="30452" message="Operator 'Mod' is not defined for types 'Short' and 'Char'." />
+		<error line="191" number="30452" message="Operator 'Mod' is not defined for types 'Short' and 'Date'." />
+		<error line="194" number="30452" message="Operator 'Mod' is not defined for types 'Short' and 'System.DBNull'." />
+	</test>
+	<test id="2848" name="OperatorIntrinsic_Mod_Int16StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Int16_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicMod.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="159" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<error line="184" number="30452" message="Operator 'Mod' is not defined for types 'Short' and 'Char'." />
+		<error line="188" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="191" number="30452" message="Operator 'Mod' is not defined for types 'Short' and 'Date'." />
+		<error line="194" number="30452" message="Operator 'Mod' is not defined for types 'Short' and 'System.DBNull'." />
+		<error line="198" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Mod'." />
+	</test>
+	<test id="2849" name="OperatorIntrinsic_Mod_UInt16Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:UInt16_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicMod.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="227" number="30452" message="Operator 'Mod' is not defined for types 'UShort' and 'Char'." />
+		<error line="234" number="30452" message="Operator 'Mod' is not defined for types 'UShort' and 'Date'." />
+		<error line="237" number="30452" message="Operator 'Mod' is not defined for types 'UShort' and 'System.DBNull'." />
+	</test>
+	<test id="2850" name="OperatorIntrinsic_Mod_UInt16StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:UInt16_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicMod.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="202" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Integer'." />
+		<error line="227" number="30452" message="Operator 'Mod' is not defined for types 'UShort' and 'Char'." />
+		<error line="231" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="234" number="30452" message="Operator 'Mod' is not defined for types 'UShort' and 'Date'." />
+		<error line="237" number="30452" message="Operator 'Mod' is not defined for types 'UShort' and 'System.DBNull'." />
+		<error line="241" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Mod'." />
+	</test>
+	<test id="2851" name="OperatorIntrinsic_Mod_Int32Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Int32_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicMod.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="270" number="30452" message="Operator 'Mod' is not defined for types 'Integer' and 'Char'." />
+		<error line="277" number="30452" message="Operator 'Mod' is not defined for types 'Integer' and 'Date'." />
+		<error line="280" number="30452" message="Operator 'Mod' is not defined for types 'Integer' and 'System.DBNull'." />
+	</test>
+	<test id="2852" name="OperatorIntrinsic_Mod_Int32StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Int32_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicMod.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="245" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Integer'." />
+		<error line="270" number="30452" message="Operator 'Mod' is not defined for types 'Integer' and 'Char'." />
+		<error line="274" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="277" number="30452" message="Operator 'Mod' is not defined for types 'Integer' and 'Date'." />
+		<error line="280" number="30452" message="Operator 'Mod' is not defined for types 'Integer' and 'System.DBNull'." />
+		<error line="284" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Mod'." />
+	</test>
+	<test id="2853" name="OperatorIntrinsic_Mod_UInt32Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:UInt32_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicMod.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="313" number="30452" message="Operator 'Mod' is not defined for types 'UInteger' and 'Char'." />
+		<error line="320" number="30452" message="Operator 'Mod' is not defined for types 'UInteger' and 'Date'." />
+		<error line="323" number="30452" message="Operator 'Mod' is not defined for types 'UInteger' and 'System.DBNull'." />
+	</test>
+	<test id="2854" name="OperatorIntrinsic_Mod_UInt32StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:UInt32_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicMod.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="288" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Long'." />
+		<error line="313" number="30452" message="Operator 'Mod' is not defined for types 'UInteger' and 'Char'." />
+		<error line="317" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="320" number="30452" message="Operator 'Mod' is not defined for types 'UInteger' and 'Date'." />
+		<error line="323" number="30452" message="Operator 'Mod' is not defined for types 'UInteger' and 'System.DBNull'." />
+		<error line="327" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Mod'." />
+	</test>
+	<test id="2855" name="OperatorIntrinsic_Mod_Int64Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Int64_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicMod.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="356" number="30452" message="Operator 'Mod' is not defined for types 'Long' and 'Char'." />
+		<error line="363" number="30452" message="Operator 'Mod' is not defined for types 'Long' and 'Date'." />
+		<error line="366" number="30452" message="Operator 'Mod' is not defined for types 'Long' and 'System.DBNull'." />
+	</test>
+	<test id="2856" name="OperatorIntrinsic_Mod_Int64StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Int64_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicMod.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="331" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Long'." />
+		<error line="356" number="30452" message="Operator 'Mod' is not defined for types 'Long' and 'Char'." />
+		<error line="360" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="363" number="30452" message="Operator 'Mod' is not defined for types 'Long' and 'Date'." />
+		<error line="366" number="30452" message="Operator 'Mod' is not defined for types 'Long' and 'System.DBNull'." />
+		<error line="370" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Mod'." />
+	</test>
+	<test id="2857" name="OperatorIntrinsic_Mod_UInt64Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:UInt64_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicMod.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="399" number="30452" message="Operator 'Mod' is not defined for types 'ULong' and 'Char'." />
+		<error line="406" number="30452" message="Operator 'Mod' is not defined for types 'ULong' and 'Date'." />
+		<error line="409" number="30452" message="Operator 'Mod' is not defined for types 'ULong' and 'System.DBNull'." />
+	</test>
+	<test id="2858" name="OperatorIntrinsic_Mod_UInt64StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:UInt64_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicMod.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="374" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Decimal'." />
+		<error line="399" number="30452" message="Operator 'Mod' is not defined for types 'ULong' and 'Char'." />
+		<error line="403" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="406" number="30452" message="Operator 'Mod' is not defined for types 'ULong' and 'Date'." />
+		<error line="409" number="30452" message="Operator 'Mod' is not defined for types 'ULong' and 'System.DBNull'." />
+		<error line="413" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Mod'." />
+	</test>
+	<test id="2859" name="OperatorIntrinsic_Mod_DecimalError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Decimal_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicMod.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="442" number="30452" message="Operator 'Mod' is not defined for types 'Decimal' and 'Char'." />
+		<error line="449" number="30452" message="Operator 'Mod' is not defined for types 'Decimal' and 'Date'." />
+		<error line="452" number="30518" message="Overload resolution failed because no accessible 'Mod' can be called with these arguments:" />
+	</test>
+	<test id="2860" name="OperatorIntrinsic_Mod_DecimalStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Decimal_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicMod.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="417" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Decimal'." />
+		<error line="442" number="30452" message="Operator 'Mod' is not defined for types 'Decimal' and 'Char'." />
+		<error line="446" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="449" number="30452" message="Operator 'Mod' is not defined for types 'Decimal' and 'Date'." />
+		<error line="452" number="30518" message="Overload resolution failed because no accessible 'Mod' can be called with these arguments:" />
+		<error line="456" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Mod'." />
+	</test>
+	<test id="2861" name="OperatorIntrinsic_Mod_SingleError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Single_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicMod.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="485" number="30452" message="Operator 'Mod' is not defined for types 'Single' and 'Char'." />
+		<error line="492" number="30452" message="Operator 'Mod' is not defined for types 'Single' and 'Date'." />
+		<error line="495" number="30452" message="Operator 'Mod' is not defined for types 'Single' and 'System.DBNull'." />
+	</test>
+	<test id="2862" name="OperatorIntrinsic_Mod_SingleStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Single_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicMod.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="460" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Single'." />
+		<error line="485" number="30452" message="Operator 'Mod' is not defined for types 'Single' and 'Char'." />
+		<error line="489" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="492" number="30452" message="Operator 'Mod' is not defined for types 'Single' and 'Date'." />
+		<error line="495" number="30452" message="Operator 'Mod' is not defined for types 'Single' and 'System.DBNull'." />
+		<error line="499" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Mod'." />
+	</test>
+	<test id="2863" name="OperatorIntrinsic_Mod_DoubleError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Double_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicMod.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="528" number="30452" message="Operator 'Mod' is not defined for types 'Double' and 'Char'." />
+		<error line="535" number="30452" message="Operator 'Mod' is not defined for types 'Double' and 'Date'." />
+		<error line="538" number="30452" message="Operator 'Mod' is not defined for types 'Double' and 'System.DBNull'." />
+	</test>
+	<test id="2864" name="OperatorIntrinsic_Mod_DoubleStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Double_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicMod.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="503" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Double'." />
+		<error line="528" number="30452" message="Operator 'Mod' is not defined for types 'Double' and 'Char'." />
+		<error line="532" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="535" number="30452" message="Operator 'Mod' is not defined for types 'Double' and 'Date'." />
+		<error line="538" number="30452" message="Operator 'Mod' is not defined for types 'Double' and 'System.DBNull'." />
+		<error line="542" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Mod'." />
+	</test>
+	<test id="2865" name="OperatorIntrinsic_Mod_CharError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Char_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicMod.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="545" number="30452" message="Operator 'Mod' is not defined for types 'Char' and 'Boolean'." />
+		<error line="548" number="30452" message="Operator 'Mod' is not defined for types 'Char' and 'Byte'." />
+		<error line="551" number="30452" message="Operator 'Mod' is not defined for types 'Char' and 'SByte'." />
+		<error line="554" number="30452" message="Operator 'Mod' is not defined for types 'Char' and 'Short'." />
+		<error line="557" number="30452" message="Operator 'Mod' is not defined for types 'Char' and 'UShort'." />
+		<error line="560" number="30452" message="Operator 'Mod' is not defined for types 'Char' and 'Integer'." />
+		<error line="563" number="30452" message="Operator 'Mod' is not defined for types 'Char' and 'UInteger'." />
+		<error line="566" number="30452" message="Operator 'Mod' is not defined for types 'Char' and 'Long'." />
+		<error line="569" number="30452" message="Operator 'Mod' is not defined for types 'Char' and 'ULong'." />
+		<error line="572" number="30452" message="Operator 'Mod' is not defined for types 'Char' and 'Decimal'." />
+		<error line="575" number="30452" message="Operator 'Mod' is not defined for types 'Char' and 'Single'." />
+		<error line="578" number="30452" message="Operator 'Mod' is not defined for types 'Char' and 'Double'." />
+		<error line="581" number="30452" message="Operator 'Mod' is not defined for types 'Char' and 'Char'." />
+		<error line="584" number="30452" message="Operator 'Mod' is not defined for types 'Char' and 'String'." />
+		<error line="587" number="30452" message="Operator 'Mod' is not defined for types 'Char' and 'Date'." />
+		<error line="590" number="30452" message="Operator 'Mod' is not defined for types 'Char' and 'System.DBNull'." />
+		<error line="593" number="30452" message="Operator 'Mod' is not defined for types 'Char' and 'Object'." />
+	</test>
+	<test id="2866" name="OperatorIntrinsic_Mod_CharStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Char_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicMod.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="545" number="30452" message="Operator 'Mod' is not defined for types 'Char' and 'Boolean'." />
+		<error line="548" number="30452" message="Operator 'Mod' is not defined for types 'Char' and 'Byte'." />
+		<error line="551" number="30452" message="Operator 'Mod' is not defined for types 'Char' and 'SByte'." />
+		<error line="554" number="30452" message="Operator 'Mod' is not defined for types 'Char' and 'Short'." />
+		<error line="557" number="30452" message="Operator 'Mod' is not defined for types 'Char' and 'UShort'." />
+		<error line="560" number="30452" message="Operator 'Mod' is not defined for types 'Char' and 'Integer'." />
+		<error line="563" number="30452" message="Operator 'Mod' is not defined for types 'Char' and 'UInteger'." />
+		<error line="566" number="30452" message="Operator 'Mod' is not defined for types 'Char' and 'Long'." />
+		<error line="569" number="30452" message="Operator 'Mod' is not defined for types 'Char' and 'ULong'." />
+		<error line="572" number="30452" message="Operator 'Mod' is not defined for types 'Char' and 'Decimal'." />
+		<error line="575" number="30452" message="Operator 'Mod' is not defined for types 'Char' and 'Single'." />
+		<error line="578" number="30452" message="Operator 'Mod' is not defined for types 'Char' and 'Double'." />
+		<error line="581" number="30452" message="Operator 'Mod' is not defined for types 'Char' and 'Char'." />
+		<error line="584" number="30452" message="Operator 'Mod' is not defined for types 'Char' and 'String'." />
+		<error line="587" number="30452" message="Operator 'Mod' is not defined for types 'Char' and 'Date'." />
+		<error line="590" number="30452" message="Operator 'Mod' is not defined for types 'Char' and 'System.DBNull'." />
+		<error line="593" number="30452" message="Operator 'Mod' is not defined for types 'Char' and 'Object'." />
+	</test>
+	<test id="2867" name="OperatorIntrinsic_Mod_StringError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:String_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicMod.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="644" number="30452" message="Operator 'Mod' is not defined for types 'String' and 'Char'." />
+		<error line="651" number="30452" message="Operator 'Mod' is not defined for types 'String' and 'Date'." />
+		<error line="654" number="30452" message="Operator 'Mod' is not defined for types 'String' and 'System.DBNull'." />
+	</test>
+	<test id="2868" name="OperatorIntrinsic_Mod_StringStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:String_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicMod.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="597" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="597" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Double'." />
+		<error line="601" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="605" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="609" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="613" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="617" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="621" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="625" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="629" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="633" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="637" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="641" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="644" number="30452" message="Operator 'Mod' is not defined for types 'String' and 'Char'." />
+		<error line="648" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="648" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="651" number="30452" message="Operator 'Mod' is not defined for types 'String' and 'Date'." />
+		<error line="654" number="30452" message="Operator 'Mod' is not defined for types 'String' and 'System.DBNull'." />
+		<error line="658" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Mod'." />
+	</test>
+	<test id="2869" name="OperatorIntrinsic_Mod_DateTimeError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:DateTime_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicMod.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="661" number="30452" message="Operator 'Mod' is not defined for types 'Date' and 'Boolean'." />
+		<error line="664" number="30452" message="Operator 'Mod' is not defined for types 'Date' and 'Byte'." />
+		<error line="667" number="30452" message="Operator 'Mod' is not defined for types 'Date' and 'SByte'." />
+		<error line="670" number="30452" message="Operator 'Mod' is not defined for types 'Date' and 'Short'." />
+		<error line="673" number="30452" message="Operator 'Mod' is not defined for types 'Date' and 'UShort'." />
+		<error line="676" number="30452" message="Operator 'Mod' is not defined for types 'Date' and 'Integer'." />
+		<error line="679" number="30452" message="Operator 'Mod' is not defined for types 'Date' and 'UInteger'." />
+		<error line="682" number="30452" message="Operator 'Mod' is not defined for types 'Date' and 'Long'." />
+		<error line="685" number="30452" message="Operator 'Mod' is not defined for types 'Date' and 'ULong'." />
+		<error line="688" number="30452" message="Operator 'Mod' is not defined for types 'Date' and 'Decimal'." />
+		<error line="691" number="30452" message="Operator 'Mod' is not defined for types 'Date' and 'Single'." />
+		<error line="694" number="30452" message="Operator 'Mod' is not defined for types 'Date' and 'Double'." />
+		<error line="697" number="30452" message="Operator 'Mod' is not defined for types 'Date' and 'Char'." />
+		<error line="700" number="30452" message="Operator 'Mod' is not defined for types 'Date' and 'String'." />
+		<error line="703" number="30452" message="Operator 'Mod' is not defined for types 'Date' and 'Date'." />
+		<error line="706" number="30452" message="Operator 'Mod' is not defined for types 'Date' and 'System.DBNull'." />
+		<error line="709" number="30452" message="Operator 'Mod' is not defined for types 'Date' and 'Object'." />
+	</test>
+	<test id="2870" name="OperatorIntrinsic_Mod_DateTimeStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:DateTime_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicMod.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="661" number="30452" message="Operator 'Mod' is not defined for types 'Date' and 'Boolean'." />
+		<error line="664" number="30452" message="Operator 'Mod' is not defined for types 'Date' and 'Byte'." />
+		<error line="667" number="30452" message="Operator 'Mod' is not defined for types 'Date' and 'SByte'." />
+		<error line="670" number="30452" message="Operator 'Mod' is not defined for types 'Date' and 'Short'." />
+		<error line="673" number="30452" message="Operator 'Mod' is not defined for types 'Date' and 'UShort'." />
+		<error line="676" number="30452" message="Operator 'Mod' is not defined for types 'Date' and 'Integer'." />
+		<error line="679" number="30452" message="Operator 'Mod' is not defined for types 'Date' and 'UInteger'." />
+		<error line="682" number="30452" message="Operator 'Mod' is not defined for types 'Date' and 'Long'." />
+		<error line="685" number="30452" message="Operator 'Mod' is not defined for types 'Date' and 'ULong'." />
+		<error line="688" number="30452" message="Operator 'Mod' is not defined for types 'Date' and 'Decimal'." />
+		<error line="691" number="30452" message="Operator 'Mod' is not defined for types 'Date' and 'Single'." />
+		<error line="694" number="30452" message="Operator 'Mod' is not defined for types 'Date' and 'Double'." />
+		<error line="697" number="30452" message="Operator 'Mod' is not defined for types 'Date' and 'Char'." />
+		<error line="700" number="30452" message="Operator 'Mod' is not defined for types 'Date' and 'String'." />
+		<error line="703" number="30452" message="Operator 'Mod' is not defined for types 'Date' and 'Date'." />
+		<error line="706" number="30452" message="Operator 'Mod' is not defined for types 'Date' and 'System.DBNull'." />
+		<error line="709" number="30452" message="Operator 'Mod' is not defined for types 'Date' and 'Object'." />
+	</test>
+	<test id="2871" name="OperatorIntrinsic_Mod_DBNullError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:DBNull_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicMod.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="712" number="30452" message="Operator 'Mod' is not defined for types 'System.DBNull' and 'Boolean'." />
+		<error line="715" number="30452" message="Operator 'Mod' is not defined for types 'System.DBNull' and 'Byte'." />
+		<error line="718" number="30452" message="Operator 'Mod' is not defined for types 'System.DBNull' and 'SByte'." />
+		<error line="721" number="30452" message="Operator 'Mod' is not defined for types 'System.DBNull' and 'Short'." />
+		<error line="724" number="30452" message="Operator 'Mod' is not defined for types 'System.DBNull' and 'UShort'." />
+		<error line="727" number="30452" message="Operator 'Mod' is not defined for types 'System.DBNull' and 'Integer'." />
+		<error line="730" number="30452" message="Operator 'Mod' is not defined for types 'System.DBNull' and 'UInteger'." />
+		<error line="733" number="30452" message="Operator 'Mod' is not defined for types 'System.DBNull' and 'Long'." />
+		<error line="736" number="30452" message="Operator 'Mod' is not defined for types 'System.DBNull' and 'ULong'." />
+		<error line="739" number="30518" message="Overload resolution failed because no accessible 'Mod' can be called with these arguments:" />
+		<error line="742" number="30452" message="Operator 'Mod' is not defined for types 'System.DBNull' and 'Single'." />
+		<error line="745" number="30452" message="Operator 'Mod' is not defined for types 'System.DBNull' and 'Double'." />
+		<error line="748" number="30452" message="Operator 'Mod' is not defined for types 'System.DBNull' and 'Char'." />
+		<error line="751" number="30452" message="Operator 'Mod' is not defined for types 'System.DBNull' and 'String'." />
+		<error line="754" number="30452" message="Operator 'Mod' is not defined for types 'System.DBNull' and 'Date'." />
+		<error line="757" number="30452" message="Operator 'Mod' is not defined for types 'System.DBNull' and 'System.DBNull'." />
+		<error line="760" number="30452" message="Operator 'Mod' is not defined for types 'System.DBNull' and 'Object'." />
+	</test>
+	<test id="2872" name="OperatorIntrinsic_Mod_DBNullStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:DBNull_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicMod.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="712" number="30452" message="Operator 'Mod' is not defined for types 'System.DBNull' and 'Boolean'." />
+		<error line="715" number="30452" message="Operator 'Mod' is not defined for types 'System.DBNull' and 'Byte'." />
+		<error line="718" number="30452" message="Operator 'Mod' is not defined for types 'System.DBNull' and 'SByte'." />
+		<error line="721" number="30452" message="Operator 'Mod' is not defined for types 'System.DBNull' and 'Short'." />
+		<error line="724" number="30452" message="Operator 'Mod' is not defined for types 'System.DBNull' and 'UShort'." />
+		<error line="727" number="30452" message="Operator 'Mod' is not defined for types 'System.DBNull' and 'Integer'." />
+		<error line="730" number="30452" message="Operator 'Mod' is not defined for types 'System.DBNull' and 'UInteger'." />
+		<error line="733" number="30452" message="Operator 'Mod' is not defined for types 'System.DBNull' and 'Long'." />
+		<error line="736" number="30452" message="Operator 'Mod' is not defined for types 'System.DBNull' and 'ULong'." />
+		<error line="739" number="30518" message="Overload resolution failed because no accessible 'Mod' can be called with these arguments:" />
+		<error line="742" number="30452" message="Operator 'Mod' is not defined for types 'System.DBNull' and 'Single'." />
+		<error line="745" number="30452" message="Operator 'Mod' is not defined for types 'System.DBNull' and 'Double'." />
+		<error line="748" number="30452" message="Operator 'Mod' is not defined for types 'System.DBNull' and 'Char'." />
+		<error line="751" number="30452" message="Operator 'Mod' is not defined for types 'System.DBNull' and 'String'." />
+		<error line="754" number="30452" message="Operator 'Mod' is not defined for types 'System.DBNull' and 'Date'." />
+		<error line="757" number="30452" message="Operator 'Mod' is not defined for types 'System.DBNull' and 'System.DBNull'." />
+		<error line="760" number="30452" message="Operator 'Mod' is not defined for types 'System.DBNull' and 'Object'." />
+	</test>
+	<test id="2873" name="OperatorIntrinsic_Mod_ObjectError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Object_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicMod.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="811" number="30452" message="Operator 'Mod' is not defined for types 'Object' and 'Char'." />
+		<error line="818" number="30452" message="Operator 'Mod' is not defined for types 'Object' and 'Date'." />
+		<error line="821" number="30452" message="Operator 'Mod' is not defined for types 'Object' and 'System.DBNull'." />
+	</test>
+	<test id="2874" name="OperatorIntrinsic_Mod_ObjectStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Object_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicMod.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="764" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Mod'." />
+		<error line="768" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Mod'." />
+		<error line="772" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Mod'." />
+		<error line="776" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Mod'." />
+		<error line="780" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Mod'." />
+		<error line="784" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Mod'." />
+		<error line="788" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Mod'." />
+		<error line="792" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Mod'." />
+		<error line="796" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Mod'." />
+		<error line="800" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Mod'." />
+		<error line="804" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Mod'." />
+		<error line="808" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Mod'." />
+		<error line="811" number="30452" message="Operator 'Mod' is not defined for types 'Object' and 'Char'." />
+		<error line="815" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Mod'." />
+		<error line="818" number="30452" message="Operator 'Mod' is not defined for types 'Object' and 'Date'." />
+		<error line="821" number="30452" message="Operator 'Mod' is not defined for types 'Object' and 'System.DBNull'." />
+		<error line="825" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Mod'." />
+		<error line="825" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Mod'." />
+	</test>
+	<test id="2875" name="OperatorIntrinsic_Mult_" target="exe" mytype="empty">
+		<file>CompileTime2\OperatorIntrinsicMult.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+	</test>
+	<test id="2876" name="OperatorIntrinsic_Mult_Strict" mytype="empty">
+		<arguments>/optionstrict+ /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicMult.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+	</test>
+	<test id="2877" name="OperatorIntrinsic_Mult_BooleanError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Boolean_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicMult.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="54" number="30452" message="Operator '*' is not defined for types 'Boolean' and 'Char'." />
+		<error line="61" number="30452" message="Operator '*' is not defined for types 'Boolean' and 'Date'." />
+		<error line="64" number="30452" message="Operator '*' is not defined for types 'Boolean' and 'System.DBNull'." />
+	</test>
+	<test id="2878" name="OperatorIntrinsic_Mult_BooleanStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Boolean_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicMult.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="7" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<error line="7" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<error line="11" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<error line="15" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'SByte'." />
+		<error line="19" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<error line="23" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Integer'." />
+		<error line="27" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Integer'." />
+		<error line="31" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Long'." />
+		<error line="35" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Long'." />
+		<error line="39" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Decimal'." />
+		<error line="43" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Decimal'." />
+		<error line="47" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Single'." />
+		<error line="51" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Double'." />
+		<error line="54" number="30452" message="Operator '*' is not defined for types 'Boolean' and 'Char'." />
+		<error line="58" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Double'." />
+		<error line="58" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="61" number="30452" message="Operator '*' is not defined for types 'Boolean' and 'Date'." />
+		<error line="64" number="30452" message="Operator '*' is not defined for types 'Boolean' and 'System.DBNull'." />
+		<error line="68" number="30038" message="Option Strict On prohibits operands of type Object for operator '*'." />
+	</test>
+	<test id="2879" name="OperatorIntrinsic_Mult_ByteError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Byte_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicMult.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="97" number="30452" message="Operator '*' is not defined for types 'Byte' and 'Char'." />
+		<error line="104" number="30452" message="Operator '*' is not defined for types 'Byte' and 'Date'." />
+		<error line="107" number="30452" message="Operator '*' is not defined for types 'Byte' and 'System.DBNull'." />
+	</test>
+	<test id="2880" name="OperatorIntrinsic_Mult_ByteStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Byte_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicMult.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="72" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<error line="97" number="30452" message="Operator '*' is not defined for types 'Byte' and 'Char'." />
+		<error line="101" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="104" number="30452" message="Operator '*' is not defined for types 'Byte' and 'Date'." />
+		<error line="107" number="30452" message="Operator '*' is not defined for types 'Byte' and 'System.DBNull'." />
+		<error line="111" number="30038" message="Option Strict On prohibits operands of type Object for operator '*'." />
+	</test>
+	<test id="2881" name="OperatorIntrinsic_Mult_SByteError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:SByte_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicMult.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="140" number="30452" message="Operator '*' is not defined for types 'SByte' and 'Char'." />
+		<error line="147" number="30452" message="Operator '*' is not defined for types 'SByte' and 'Date'." />
+		<error line="150" number="30452" message="Operator '*' is not defined for types 'SByte' and 'System.DBNull'." />
+	</test>
+	<test id="2882" name="OperatorIntrinsic_Mult_SByteStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:SByte_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicMult.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="115" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'SByte'." />
+		<error line="140" number="30452" message="Operator '*' is not defined for types 'SByte' and 'Char'." />
+		<error line="144" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="147" number="30452" message="Operator '*' is not defined for types 'SByte' and 'Date'." />
+		<error line="150" number="30452" message="Operator '*' is not defined for types 'SByte' and 'System.DBNull'." />
+		<error line="154" number="30038" message="Option Strict On prohibits operands of type Object for operator '*'." />
+	</test>
+	<test id="2883" name="OperatorIntrinsic_Mult_Int16Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Int16_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicMult.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="183" number="30452" message="Operator '*' is not defined for types 'Short' and 'Char'." />
+		<error line="190" number="30452" message="Operator '*' is not defined for types 'Short' and 'Date'." />
+		<error line="193" number="30452" message="Operator '*' is not defined for types 'Short' and 'System.DBNull'." />
+	</test>
+	<test id="2884" name="OperatorIntrinsic_Mult_Int16StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Int16_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicMult.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="158" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<error line="183" number="30452" message="Operator '*' is not defined for types 'Short' and 'Char'." />
+		<error line="187" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="190" number="30452" message="Operator '*' is not defined for types 'Short' and 'Date'." />
+		<error line="193" number="30452" message="Operator '*' is not defined for types 'Short' and 'System.DBNull'." />
+		<error line="197" number="30038" message="Option Strict On prohibits operands of type Object for operator '*'." />
+	</test>
+	<test id="2885" name="OperatorIntrinsic_Mult_UInt16Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:UInt16_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicMult.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="226" number="30452" message="Operator '*' is not defined for types 'UShort' and 'Char'." />
+		<error line="233" number="30452" message="Operator '*' is not defined for types 'UShort' and 'Date'." />
+		<error line="236" number="30452" message="Operator '*' is not defined for types 'UShort' and 'System.DBNull'." />
+	</test>
+	<test id="2886" name="OperatorIntrinsic_Mult_UInt16StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:UInt16_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicMult.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="201" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Integer'." />
+		<error line="226" number="30452" message="Operator '*' is not defined for types 'UShort' and 'Char'." />
+		<error line="230" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="233" number="30452" message="Operator '*' is not defined for types 'UShort' and 'Date'." />
+		<error line="236" number="30452" message="Operator '*' is not defined for types 'UShort' and 'System.DBNull'." />
+		<error line="240" number="30038" message="Option Strict On prohibits operands of type Object for operator '*'." />
+	</test>
+	<test id="2887" name="OperatorIntrinsic_Mult_Int32Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Int32_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicMult.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="269" number="30452" message="Operator '*' is not defined for types 'Integer' and 'Char'." />
+		<error line="276" number="30452" message="Operator '*' is not defined for types 'Integer' and 'Date'." />
+		<error line="279" number="30452" message="Operator '*' is not defined for types 'Integer' and 'System.DBNull'." />
+	</test>
+	<test id="2888" name="OperatorIntrinsic_Mult_Int32StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Int32_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicMult.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="244" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Integer'." />
+		<error line="269" number="30452" message="Operator '*' is not defined for types 'Integer' and 'Char'." />
+		<error line="273" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="276" number="30452" message="Operator '*' is not defined for types 'Integer' and 'Date'." />
+		<error line="279" number="30452" message="Operator '*' is not defined for types 'Integer' and 'System.DBNull'." />
+		<error line="283" number="30038" message="Option Strict On prohibits operands of type Object for operator '*'." />
+	</test>
+	<test id="2889" name="OperatorIntrinsic_Mult_UInt32Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:UInt32_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicMult.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="312" number="30452" message="Operator '*' is not defined for types 'UInteger' and 'Char'." />
+		<error line="319" number="30452" message="Operator '*' is not defined for types 'UInteger' and 'Date'." />
+		<error line="322" number="30452" message="Operator '*' is not defined for types 'UInteger' and 'System.DBNull'." />
+	</test>
+	<test id="2890" name="OperatorIntrinsic_Mult_UInt32StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:UInt32_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicMult.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="287" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Long'." />
+		<error line="312" number="30452" message="Operator '*' is not defined for types 'UInteger' and 'Char'." />
+		<error line="316" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="319" number="30452" message="Operator '*' is not defined for types 'UInteger' and 'Date'." />
+		<error line="322" number="30452" message="Operator '*' is not defined for types 'UInteger' and 'System.DBNull'." />
+		<error line="326" number="30038" message="Option Strict On prohibits operands of type Object for operator '*'." />
+	</test>
+	<test id="2891" name="OperatorIntrinsic_Mult_Int64Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Int64_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicMult.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="355" number="30452" message="Operator '*' is not defined for types 'Long' and 'Char'." />
+		<error line="362" number="30452" message="Operator '*' is not defined for types 'Long' and 'Date'." />
+		<error line="365" number="30452" message="Operator '*' is not defined for types 'Long' and 'System.DBNull'." />
+	</test>
+	<test id="2892" name="OperatorIntrinsic_Mult_Int64StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Int64_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicMult.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="330" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Long'." />
+		<error line="355" number="30452" message="Operator '*' is not defined for types 'Long' and 'Char'." />
+		<error line="359" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="362" number="30452" message="Operator '*' is not defined for types 'Long' and 'Date'." />
+		<error line="365" number="30452" message="Operator '*' is not defined for types 'Long' and 'System.DBNull'." />
+		<error line="369" number="30038" message="Option Strict On prohibits operands of type Object for operator '*'." />
+	</test>
+	<test id="2893" name="OperatorIntrinsic_Mult_UInt64Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:UInt64_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicMult.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="398" number="30452" message="Operator '*' is not defined for types 'ULong' and 'Char'." />
+		<error line="405" number="30452" message="Operator '*' is not defined for types 'ULong' and 'Date'." />
+		<error line="408" number="30452" message="Operator '*' is not defined for types 'ULong' and 'System.DBNull'." />
+	</test>
+	<test id="2894" name="OperatorIntrinsic_Mult_UInt64StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:UInt64_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicMult.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="373" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Decimal'." />
+		<error line="398" number="30452" message="Operator '*' is not defined for types 'ULong' and 'Char'." />
+		<error line="402" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="405" number="30452" message="Operator '*' is not defined for types 'ULong' and 'Date'." />
+		<error line="408" number="30452" message="Operator '*' is not defined for types 'ULong' and 'System.DBNull'." />
+		<error line="412" number="30038" message="Option Strict On prohibits operands of type Object for operator '*'." />
+	</test>
+	<test id="2895" name="OperatorIntrinsic_Mult_DecimalError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Decimal_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicMult.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="441" number="30452" message="Operator '*' is not defined for types 'Decimal' and 'Char'." />
+		<error line="448" number="30452" message="Operator '*' is not defined for types 'Decimal' and 'Date'." />
+		<error line="451" number="30518" message="Overload resolution failed because no accessible '*' can be called with these arguments:" />
+	</test>
+	<test id="2896" name="OperatorIntrinsic_Mult_DecimalStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Decimal_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicMult.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="416" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Decimal'." />
+		<error line="441" number="30452" message="Operator '*' is not defined for types 'Decimal' and 'Char'." />
+		<error line="445" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="448" number="30452" message="Operator '*' is not defined for types 'Decimal' and 'Date'." />
+		<error line="451" number="30518" message="Overload resolution failed because no accessible '*' can be called with these arguments:" />
+		<error line="455" number="30038" message="Option Strict On prohibits operands of type Object for operator '*'." />
+	</test>
+	<test id="2897" name="OperatorIntrinsic_Mult_SingleError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Single_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicMult.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="484" number="30452" message="Operator '*' is not defined for types 'Single' and 'Char'." />
+		<error line="491" number="30452" message="Operator '*' is not defined for types 'Single' and 'Date'." />
+		<error line="494" number="30452" message="Operator '*' is not defined for types 'Single' and 'System.DBNull'." />
+	</test>
+	<test id="2898" name="OperatorIntrinsic_Mult_SingleStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Single_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicMult.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="459" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Single'." />
+		<error line="484" number="30452" message="Operator '*' is not defined for types 'Single' and 'Char'." />
+		<error line="488" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="491" number="30452" message="Operator '*' is not defined for types 'Single' and 'Date'." />
+		<error line="494" number="30452" message="Operator '*' is not defined for types 'Single' and 'System.DBNull'." />
+		<error line="498" number="30038" message="Option Strict On prohibits operands of type Object for operator '*'." />
+	</test>
+	<test id="2899" name="OperatorIntrinsic_Mult_DoubleError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Double_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicMult.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="527" number="30452" message="Operator '*' is not defined for types 'Double' and 'Char'." />
+		<error line="534" number="30452" message="Operator '*' is not defined for types 'Double' and 'Date'." />
+		<error line="537" number="30452" message="Operator '*' is not defined for types 'Double' and 'System.DBNull'." />
+	</test>
+	<test id="2900" name="OperatorIntrinsic_Mult_DoubleStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Double_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicMult.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="502" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Double'." />
+		<error line="527" number="30452" message="Operator '*' is not defined for types 'Double' and 'Char'." />
+		<error line="531" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="534" number="30452" message="Operator '*' is not defined for types 'Double' and 'Date'." />
+		<error line="537" number="30452" message="Operator '*' is not defined for types 'Double' and 'System.DBNull'." />
+		<error line="541" number="30038" message="Option Strict On prohibits operands of type Object for operator '*'." />
+	</test>
+	<test id="2901" name="OperatorIntrinsic_Mult_CharError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Char_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicMult.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="544" number="30452" message="Operator '*' is not defined for types 'Char' and 'Boolean'." />
+		<error line="547" number="30452" message="Operator '*' is not defined for types 'Char' and 'Byte'." />
+		<error line="550" number="30452" message="Operator '*' is not defined for types 'Char' and 'SByte'." />
+		<error line="553" number="30452" message="Operator '*' is not defined for types 'Char' and 'Short'." />
+		<error line="556" number="30452" message="Operator '*' is not defined for types 'Char' and 'UShort'." />
+		<error line="559" number="30452" message="Operator '*' is not defined for types 'Char' and 'Integer'." />
+		<error line="562" number="30452" message="Operator '*' is not defined for types 'Char' and 'UInteger'." />
+		<error line="565" number="30452" message="Operator '*' is not defined for types 'Char' and 'Long'." />
+		<error line="568" number="30452" message="Operator '*' is not defined for types 'Char' and 'ULong'." />
+		<error line="571" number="30452" message="Operator '*' is not defined for types 'Char' and 'Decimal'." />
+		<error line="574" number="30452" message="Operator '*' is not defined for types 'Char' and 'Single'." />
+		<error line="577" number="30452" message="Operator '*' is not defined for types 'Char' and 'Double'." />
+		<error line="580" number="30452" message="Operator '*' is not defined for types 'Char' and 'Char'." />
+		<error line="583" number="30452" message="Operator '*' is not defined for types 'Char' and 'String'." />
+		<error line="586" number="30452" message="Operator '*' is not defined for types 'Char' and 'Date'." />
+		<error line="589" number="30452" message="Operator '*' is not defined for types 'Char' and 'System.DBNull'." />
+		<error line="592" number="30452" message="Operator '*' is not defined for types 'Char' and 'Object'." />
+	</test>
+	<test id="2902" name="OperatorIntrinsic_Mult_CharStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Char_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicMult.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="544" number="30452" message="Operator '*' is not defined for types 'Char' and 'Boolean'." />
+		<error line="547" number="30452" message="Operator '*' is not defined for types 'Char' and 'Byte'." />
+		<error line="550" number="30452" message="Operator '*' is not defined for types 'Char' and 'SByte'." />
+		<error line="553" number="30452" message="Operator '*' is not defined for types 'Char' and 'Short'." />
+		<error line="556" number="30452" message="Operator '*' is not defined for types 'Char' and 'UShort'." />
+		<error line="559" number="30452" message="Operator '*' is not defined for types 'Char' and 'Integer'." />
+		<error line="562" number="30452" message="Operator '*' is not defined for types 'Char' and 'UInteger'." />
+		<error line="565" number="30452" message="Operator '*' is not defined for types 'Char' and 'Long'." />
+		<error line="568" number="30452" message="Operator '*' is not defined for types 'Char' and 'ULong'." />
+		<error line="571" number="30452" message="Operator '*' is not defined for types 'Char' and 'Decimal'." />
+		<error line="574" number="30452" message="Operator '*' is not defined for types 'Char' and 'Single'." />
+		<error line="577" number="30452" message="Operator '*' is not defined for types 'Char' and 'Double'." />
+		<error line="580" number="30452" message="Operator '*' is not defined for types 'Char' and 'Char'." />
+		<error line="583" number="30452" message="Operator '*' is not defined for types 'Char' and 'String'." />
+		<error line="586" number="30452" message="Operator '*' is not defined for types 'Char' and 'Date'." />
+		<error line="589" number="30452" message="Operator '*' is not defined for types 'Char' and 'System.DBNull'." />
+		<error line="592" number="30452" message="Operator '*' is not defined for types 'Char' and 'Object'." />
+	</test>
+	<test id="2903" name="OperatorIntrinsic_Mult_StringError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:String_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicMult.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="643" number="30452" message="Operator '*' is not defined for types 'String' and 'Char'." />
+		<error line="650" number="30452" message="Operator '*' is not defined for types 'String' and 'Date'." />
+		<error line="653" number="30452" message="Operator '*' is not defined for types 'String' and 'System.DBNull'." />
+	</test>
+	<test id="2904" name="OperatorIntrinsic_Mult_StringStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:String_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicMult.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="596" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="596" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Double'." />
+		<error line="600" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="604" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="608" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="612" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="616" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="620" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="624" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="628" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="632" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="636" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="640" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="643" number="30452" message="Operator '*' is not defined for types 'String' and 'Char'." />
+		<error line="647" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="647" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="650" number="30452" message="Operator '*' is not defined for types 'String' and 'Date'." />
+		<error line="653" number="30452" message="Operator '*' is not defined for types 'String' and 'System.DBNull'." />
+		<error line="657" number="30038" message="Option Strict On prohibits operands of type Object for operator '*'." />
+	</test>
+	<test id="2905" name="OperatorIntrinsic_Mult_DateTimeError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:DateTime_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicMult.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="660" number="30452" message="Operator '*' is not defined for types 'Date' and 'Boolean'." />
+		<error line="663" number="30452" message="Operator '*' is not defined for types 'Date' and 'Byte'." />
+		<error line="666" number="30452" message="Operator '*' is not defined for types 'Date' and 'SByte'." />
+		<error line="669" number="30452" message="Operator '*' is not defined for types 'Date' and 'Short'." />
+		<error line="672" number="30452" message="Operator '*' is not defined for types 'Date' and 'UShort'." />
+		<error line="675" number="30452" message="Operator '*' is not defined for types 'Date' and 'Integer'." />
+		<error line="678" number="30452" message="Operator '*' is not defined for types 'Date' and 'UInteger'." />
+		<error line="681" number="30452" message="Operator '*' is not defined for types 'Date' and 'Long'." />
+		<error line="684" number="30452" message="Operator '*' is not defined for types 'Date' and 'ULong'." />
+		<error line="687" number="30452" message="Operator '*' is not defined for types 'Date' and 'Decimal'." />
+		<error line="690" number="30452" message="Operator '*' is not defined for types 'Date' and 'Single'." />
+		<error line="693" number="30452" message="Operator '*' is not defined for types 'Date' and 'Double'." />
+		<error line="696" number="30452" message="Operator '*' is not defined for types 'Date' and 'Char'." />
+		<error line="699" number="30452" message="Operator '*' is not defined for types 'Date' and 'String'." />
+		<error line="702" number="30452" message="Operator '*' is not defined for types 'Date' and 'Date'." />
+		<error line="705" number="30452" message="Operator '*' is not defined for types 'Date' and 'System.DBNull'." />
+		<error line="708" number="30452" message="Operator '*' is not defined for types 'Date' and 'Object'." />
+	</test>
+	<test id="2906" name="OperatorIntrinsic_Mult_DateTimeStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:DateTime_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicMult.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="660" number="30452" message="Operator '*' is not defined for types 'Date' and 'Boolean'." />
+		<error line="663" number="30452" message="Operator '*' is not defined for types 'Date' and 'Byte'." />
+		<error line="666" number="30452" message="Operator '*' is not defined for types 'Date' and 'SByte'." />
+		<error line="669" number="30452" message="Operator '*' is not defined for types 'Date' and 'Short'." />
+		<error line="672" number="30452" message="Operator '*' is not defined for types 'Date' and 'UShort'." />
+		<error line="675" number="30452" message="Operator '*' is not defined for types 'Date' and 'Integer'." />
+		<error line="678" number="30452" message="Operator '*' is not defined for types 'Date' and 'UInteger'." />
+		<error line="681" number="30452" message="Operator '*' is not defined for types 'Date' and 'Long'." />
+		<error line="684" number="30452" message="Operator '*' is not defined for types 'Date' and 'ULong'." />
+		<error line="687" number="30452" message="Operator '*' is not defined for types 'Date' and 'Decimal'." />
+		<error line="690" number="30452" message="Operator '*' is not defined for types 'Date' and 'Single'." />
+		<error line="693" number="30452" message="Operator '*' is not defined for types 'Date' and 'Double'." />
+		<error line="696" number="30452" message="Operator '*' is not defined for types 'Date' and 'Char'." />
+		<error line="699" number="30452" message="Operator '*' is not defined for types 'Date' and 'String'." />
+		<error line="702" number="30452" message="Operator '*' is not defined for types 'Date' and 'Date'." />
+		<error line="705" number="30452" message="Operator '*' is not defined for types 'Date' and 'System.DBNull'." />
+		<error line="708" number="30452" message="Operator '*' is not defined for types 'Date' and 'Object'." />
+	</test>
+	<test id="2907" name="OperatorIntrinsic_Mult_DBNullError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:DBNull_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicMult.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="711" number="30452" message="Operator '*' is not defined for types 'System.DBNull' and 'Boolean'." />
+		<error line="714" number="30452" message="Operator '*' is not defined for types 'System.DBNull' and 'Byte'." />
+		<error line="717" number="30452" message="Operator '*' is not defined for types 'System.DBNull' and 'SByte'." />
+		<error line="720" number="30452" message="Operator '*' is not defined for types 'System.DBNull' and 'Short'." />
+		<error line="723" number="30452" message="Operator '*' is not defined for types 'System.DBNull' and 'UShort'." />
+		<error line="726" number="30452" message="Operator '*' is not defined for types 'System.DBNull' and 'Integer'." />
+		<error line="729" number="30452" message="Operator '*' is not defined for types 'System.DBNull' and 'UInteger'." />
+		<error line="732" number="30452" message="Operator '*' is not defined for types 'System.DBNull' and 'Long'." />
+		<error line="735" number="30452" message="Operator '*' is not defined for types 'System.DBNull' and 'ULong'." />
+		<error line="738" number="30518" message="Overload resolution failed because no accessible '*' can be called with these arguments:" />
+		<error line="741" number="30452" message="Operator '*' is not defined for types 'System.DBNull' and 'Single'." />
+		<error line="744" number="30452" message="Operator '*' is not defined for types 'System.DBNull' and 'Double'." />
+		<error line="747" number="30452" message="Operator '*' is not defined for types 'System.DBNull' and 'Char'." />
+		<error line="750" number="30452" message="Operator '*' is not defined for types 'System.DBNull' and 'String'." />
+		<error line="753" number="30452" message="Operator '*' is not defined for types 'System.DBNull' and 'Date'." />
+		<error line="756" number="30452" message="Operator '*' is not defined for types 'System.DBNull' and 'System.DBNull'." />
+		<error line="759" number="30452" message="Operator '*' is not defined for types 'System.DBNull' and 'Object'." />
+	</test>
+	<test id="2908" name="OperatorIntrinsic_Mult_DBNullStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:DBNull_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicMult.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="711" number="30452" message="Operator '*' is not defined for types 'System.DBNull' and 'Boolean'." />
+		<error line="714" number="30452" message="Operator '*' is not defined for types 'System.DBNull' and 'Byte'." />
+		<error line="717" number="30452" message="Operator '*' is not defined for types 'System.DBNull' and 'SByte'." />
+		<error line="720" number="30452" message="Operator '*' is not defined for types 'System.DBNull' and 'Short'." />
+		<error line="723" number="30452" message="Operator '*' is not defined for types 'System.DBNull' and 'UShort'." />
+		<error line="726" number="30452" message="Operator '*' is not defined for types 'System.DBNull' and 'Integer'." />
+		<error line="729" number="30452" message="Operator '*' is not defined for types 'System.DBNull' and 'UInteger'." />
+		<error line="732" number="30452" message="Operator '*' is not defined for types 'System.DBNull' and 'Long'." />
+		<error line="735" number="30452" message="Operator '*' is not defined for types 'System.DBNull' and 'ULong'." />
+		<error line="738" number="30518" message="Overload resolution failed because no accessible '*' can be called with these arguments:" />
+		<error line="741" number="30452" message="Operator '*' is not defined for types 'System.DBNull' and 'Single'." />
+		<error line="744" number="30452" message="Operator '*' is not defined for types 'System.DBNull' and 'Double'." />
+		<error line="747" number="30452" message="Operator '*' is not defined for types 'System.DBNull' and 'Char'." />
+		<error line="750" number="30452" message="Operator '*' is not defined for types 'System.DBNull' and 'String'." />
+		<error line="753" number="30452" message="Operator '*' is not defined for types 'System.DBNull' and 'Date'." />
+		<error line="756" number="30452" message="Operator '*' is not defined for types 'System.DBNull' and 'System.DBNull'." />
+		<error line="759" number="30452" message="Operator '*' is not defined for types 'System.DBNull' and 'Object'." />
+	</test>
+	<test id="2909" name="OperatorIntrinsic_Mult_ObjectError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Object_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicMult.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="810" number="30452" message="Operator '*' is not defined for types 'Object' and 'Char'." />
+		<error line="817" number="30452" message="Operator '*' is not defined for types 'Object' and 'Date'." />
+		<error line="820" number="30452" message="Operator '*' is not defined for types 'Object' and 'System.DBNull'." />
+	</test>
+	<test id="2910" name="OperatorIntrinsic_Mult_ObjectStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Object_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicMult.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="763" number="30038" message="Option Strict On prohibits operands of type Object for operator '*'." />
+		<error line="767" number="30038" message="Option Strict On prohibits operands of type Object for operator '*'." />
+		<error line="771" number="30038" message="Option Strict On prohibits operands of type Object for operator '*'." />
+		<error line="775" number="30038" message="Option Strict On prohibits operands of type Object for operator '*'." />
+		<error line="779" number="30038" message="Option Strict On prohibits operands of type Object for operator '*'." />
+		<error line="783" number="30038" message="Option Strict On prohibits operands of type Object for operator '*'." />
+		<error line="787" number="30038" message="Option Strict On prohibits operands of type Object for operator '*'." />
+		<error line="791" number="30038" message="Option Strict On prohibits operands of type Object for operator '*'." />
+		<error line="795" number="30038" message="Option Strict On prohibits operands of type Object for operator '*'." />
+		<error line="799" number="30038" message="Option Strict On prohibits operands of type Object for operator '*'." />
+		<error line="803" number="30038" message="Option Strict On prohibits operands of type Object for operator '*'." />
+		<error line="807" number="30038" message="Option Strict On prohibits operands of type Object for operator '*'." />
+		<error line="810" number="30452" message="Operator '*' is not defined for types 'Object' and 'Char'." />
+		<error line="814" number="30038" message="Option Strict On prohibits operands of type Object for operator '*'." />
+		<error line="817" number="30452" message="Operator '*' is not defined for types 'Object' and 'Date'." />
+		<error line="820" number="30452" message="Operator '*' is not defined for types 'Object' and 'System.DBNull'." />
+		<error line="824" number="30038" message="Option Strict On prohibits operands of type Object for operator '*'." />
+		<error line="824" number="30038" message="Option Strict On prohibits operands of type Object for operator '*'." />
+	</test>
+	<test id="2911" name="OperatorIntrinsic_NotEquals_" target="exe" mytype="empty">
+		<file>CompileTime2\OperatorIntrinsicNotEquals.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+	</test>
+	<test id="2912" name="OperatorIntrinsic_NotEquals_Strict" mytype="empty">
+		<arguments>/optionstrict+ /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicNotEquals.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+	</test>
+	<test id="2913" name="OperatorIntrinsic_NotEquals_BooleanError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Boolean_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicNotEquals.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="42" number="30452" message="Operator '<>' is not defined for types 'Boolean' and 'Char'." />
+		<error line="48" number="30452" message="Operator '<>' is not defined for types 'Boolean' and 'Date'." />
+		<error line="51" number="30452" message="Operator '<>' is not defined for types 'Boolean' and 'System.DBNull'." />
+	</test>
+	<test id="2914" name="OperatorIntrinsic_NotEquals_BooleanStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Boolean_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicNotEquals.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="9" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<error line="12" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'SByte'." />
+		<error line="15" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<error line="18" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Integer'." />
+		<error line="21" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Integer'." />
+		<error line="24" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Long'." />
+		<error line="27" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Long'." />
+		<error line="30" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Decimal'." />
+		<error line="33" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Decimal'." />
+		<error line="36" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Single'." />
+		<error line="39" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Double'." />
+		<error line="42" number="30452" message="Operator '<>' is not defined for types 'Boolean' and 'Char'." />
+		<error line="45" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Boolean'." />
+		<error line="48" number="30452" message="Operator '<>' is not defined for types 'Boolean' and 'Date'." />
+		<error line="51" number="30452" message="Operator '<>' is not defined for types 'Boolean' and 'System.DBNull'." />
+		<error line="55" number="32013" message="Option Strict On disallows operands of type Object for operator '<>'. Use the 'Is' operator to test for object identity." />
+	</test>
+	<test id="2915" name="OperatorIntrinsic_NotEquals_ByteError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Byte_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicNotEquals.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="83" number="30452" message="Operator '<>' is not defined for types 'Byte' and 'Char'." />
+		<error line="89" number="30452" message="Operator '<>' is not defined for types 'Byte' and 'Date'." />
+		<error line="92" number="30452" message="Operator '<>' is not defined for types 'Byte' and 'System.DBNull'." />
+	</test>
+	<test id="2916" name="OperatorIntrinsic_NotEquals_ByteStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Byte_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicNotEquals.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="58" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<error line="83" number="30452" message="Operator '<>' is not defined for types 'Byte' and 'Char'." />
+		<error line="86" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="89" number="30452" message="Operator '<>' is not defined for types 'Byte' and 'Date'." />
+		<error line="92" number="30452" message="Operator '<>' is not defined for types 'Byte' and 'System.DBNull'." />
+		<error line="96" number="32013" message="Option Strict On disallows operands of type Object for operator '<>'. Use the 'Is' operator to test for object identity." />
+	</test>
+	<test id="2917" name="OperatorIntrinsic_NotEquals_SByteError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:SByte_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicNotEquals.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="124" number="30452" message="Operator '<>' is not defined for types 'SByte' and 'Char'." />
+		<error line="130" number="30452" message="Operator '<>' is not defined for types 'SByte' and 'Date'." />
+		<error line="133" number="30452" message="Operator '<>' is not defined for types 'SByte' and 'System.DBNull'." />
+	</test>
+	<test id="2918" name="OperatorIntrinsic_NotEquals_SByteStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:SByte_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicNotEquals.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="99" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'SByte'." />
+		<error line="124" number="30452" message="Operator '<>' is not defined for types 'SByte' and 'Char'." />
+		<error line="127" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="130" number="30452" message="Operator '<>' is not defined for types 'SByte' and 'Date'." />
+		<error line="133" number="30452" message="Operator '<>' is not defined for types 'SByte' and 'System.DBNull'." />
+		<error line="137" number="32013" message="Option Strict On disallows operands of type Object for operator '<>'. Use the 'Is' operator to test for object identity." />
+	</test>
+	<test id="2919" name="OperatorIntrinsic_NotEquals_Int16Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Int16_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicNotEquals.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="165" number="30452" message="Operator '<>' is not defined for types 'Short' and 'Char'." />
+		<error line="171" number="30452" message="Operator '<>' is not defined for types 'Short' and 'Date'." />
+		<error line="174" number="30452" message="Operator '<>' is not defined for types 'Short' and 'System.DBNull'." />
+	</test>
+	<test id="2920" name="OperatorIntrinsic_NotEquals_Int16StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Int16_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicNotEquals.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="140" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<error line="165" number="30452" message="Operator '<>' is not defined for types 'Short' and 'Char'." />
+		<error line="168" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="171" number="30452" message="Operator '<>' is not defined for types 'Short' and 'Date'." />
+		<error line="174" number="30452" message="Operator '<>' is not defined for types 'Short' and 'System.DBNull'." />
+		<error line="178" number="32013" message="Option Strict On disallows operands of type Object for operator '<>'. Use the 'Is' operator to test for object identity." />
+	</test>
+	<test id="2921" name="OperatorIntrinsic_NotEquals_UInt16Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:UInt16_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicNotEquals.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="206" number="30452" message="Operator '<>' is not defined for types 'UShort' and 'Char'." />
+		<error line="212" number="30452" message="Operator '<>' is not defined for types 'UShort' and 'Date'." />
+		<error line="215" number="30452" message="Operator '<>' is not defined for types 'UShort' and 'System.DBNull'." />
+	</test>
+	<test id="2922" name="OperatorIntrinsic_NotEquals_UInt16StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:UInt16_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicNotEquals.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="181" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Integer'." />
+		<error line="206" number="30452" message="Operator '<>' is not defined for types 'UShort' and 'Char'." />
+		<error line="209" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="212" number="30452" message="Operator '<>' is not defined for types 'UShort' and 'Date'." />
+		<error line="215" number="30452" message="Operator '<>' is not defined for types 'UShort' and 'System.DBNull'." />
+		<error line="219" number="32013" message="Option Strict On disallows operands of type Object for operator '<>'. Use the 'Is' operator to test for object identity." />
+	</test>
+	<test id="2923" name="OperatorIntrinsic_NotEquals_Int32Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Int32_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicNotEquals.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="247" number="30452" message="Operator '<>' is not defined for types 'Integer' and 'Char'." />
+		<error line="253" number="30452" message="Operator '<>' is not defined for types 'Integer' and 'Date'." />
+		<error line="256" number="30452" message="Operator '<>' is not defined for types 'Integer' and 'System.DBNull'." />
+	</test>
+	<test id="2924" name="OperatorIntrinsic_NotEquals_Int32StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Int32_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicNotEquals.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="222" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Integer'." />
+		<error line="247" number="30452" message="Operator '<>' is not defined for types 'Integer' and 'Char'." />
+		<error line="250" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="253" number="30452" message="Operator '<>' is not defined for types 'Integer' and 'Date'." />
+		<error line="256" number="30452" message="Operator '<>' is not defined for types 'Integer' and 'System.DBNull'." />
+		<error line="260" number="32013" message="Option Strict On disallows operands of type Object for operator '<>'. Use the 'Is' operator to test for object identity." />
+	</test>
+	<test id="2925" name="OperatorIntrinsic_NotEquals_UInt32Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:UInt32_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicNotEquals.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="288" number="30452" message="Operator '<>' is not defined for types 'UInteger' and 'Char'." />
+		<error line="294" number="30452" message="Operator '<>' is not defined for types 'UInteger' and 'Date'." />
+		<error line="297" number="30452" message="Operator '<>' is not defined for types 'UInteger' and 'System.DBNull'." />
+	</test>
+	<test id="2926" name="OperatorIntrinsic_NotEquals_UInt32StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:UInt32_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicNotEquals.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="263" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Long'." />
+		<error line="288" number="30452" message="Operator '<>' is not defined for types 'UInteger' and 'Char'." />
+		<error line="291" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="294" number="30452" message="Operator '<>' is not defined for types 'UInteger' and 'Date'." />
+		<error line="297" number="30452" message="Operator '<>' is not defined for types 'UInteger' and 'System.DBNull'." />
+		<error line="301" number="32013" message="Option Strict On disallows operands of type Object for operator '<>'. Use the 'Is' operator to test for object identity." />
+	</test>
+	<test id="2927" name="OperatorIntrinsic_NotEquals_Int64Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Int64_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicNotEquals.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="329" number="30452" message="Operator '<>' is not defined for types 'Long' and 'Char'." />
+		<error line="335" number="30452" message="Operator '<>' is not defined for types 'Long' and 'Date'." />
+		<error line="338" number="30452" message="Operator '<>' is not defined for types 'Long' and 'System.DBNull'." />
+	</test>
+	<test id="2928" name="OperatorIntrinsic_NotEquals_Int64StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Int64_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicNotEquals.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="304" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Long'." />
+		<error line="329" number="30452" message="Operator '<>' is not defined for types 'Long' and 'Char'." />
+		<error line="332" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="335" number="30452" message="Operator '<>' is not defined for types 'Long' and 'Date'." />
+		<error line="338" number="30452" message="Operator '<>' is not defined for types 'Long' and 'System.DBNull'." />
+		<error line="342" number="32013" message="Option Strict On disallows operands of type Object for operator '<>'. Use the 'Is' operator to test for object identity." />
+	</test>
+	<test id="2929" name="OperatorIntrinsic_NotEquals_UInt64Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:UInt64_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicNotEquals.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="370" number="30452" message="Operator '<>' is not defined for types 'ULong' and 'Char'." />
+		<error line="376" number="30452" message="Operator '<>' is not defined for types 'ULong' and 'Date'." />
+		<error line="379" number="30452" message="Operator '<>' is not defined for types 'ULong' and 'System.DBNull'." />
+	</test>
+	<test id="2930" name="OperatorIntrinsic_NotEquals_UInt64StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:UInt64_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicNotEquals.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="345" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Decimal'." />
+		<error line="370" number="30452" message="Operator '<>' is not defined for types 'ULong' and 'Char'." />
+		<error line="373" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="376" number="30452" message="Operator '<>' is not defined for types 'ULong' and 'Date'." />
+		<error line="379" number="30452" message="Operator '<>' is not defined for types 'ULong' and 'System.DBNull'." />
+		<error line="383" number="32013" message="Option Strict On disallows operands of type Object for operator '<>'. Use the 'Is' operator to test for object identity." />
+	</test>
+	<test id="2931" name="OperatorIntrinsic_NotEquals_DecimalError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Decimal_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicNotEquals.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="411" number="30452" message="Operator '<>' is not defined for types 'Decimal' and 'Char'." />
+		<error line="417" number="30452" message="Operator '<>' is not defined for types 'Decimal' and 'Date'." />
+		<error line="420" number="30518" message="Overload resolution failed because no accessible '<>' can be called with these arguments:" />
+	</test>
+	<test id="2932" name="OperatorIntrinsic_NotEquals_DecimalStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Decimal_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicNotEquals.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="386" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Decimal'." />
+		<error line="411" number="30452" message="Operator '<>' is not defined for types 'Decimal' and 'Char'." />
+		<error line="414" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="417" number="30452" message="Operator '<>' is not defined for types 'Decimal' and 'Date'." />
+		<error line="420" number="30518" message="Overload resolution failed because no accessible '<>' can be called with these arguments:" />
+		<error line="424" number="32013" message="Option Strict On disallows operands of type Object for operator '<>'. Use the 'Is' operator to test for object identity." />
+	</test>
+	<test id="2933" name="OperatorIntrinsic_NotEquals_SingleError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Single_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicNotEquals.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="452" number="30452" message="Operator '<>' is not defined for types 'Single' and 'Char'." />
+		<error line="458" number="30452" message="Operator '<>' is not defined for types 'Single' and 'Date'." />
+		<error line="461" number="30518" message="Overload resolution failed because no accessible '<>' can be called with these arguments:" />
+	</test>
+	<test id="2934" name="OperatorIntrinsic_NotEquals_SingleStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Single_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicNotEquals.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="427" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Single'." />
+		<error line="452" number="30452" message="Operator '<>' is not defined for types 'Single' and 'Char'." />
+		<error line="455" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="458" number="30452" message="Operator '<>' is not defined for types 'Single' and 'Date'." />
+		<error line="461" number="30518" message="Overload resolution failed because no accessible '<>' can be called with these arguments:" />
+		<error line="465" number="32013" message="Option Strict On disallows operands of type Object for operator '<>'. Use the 'Is' operator to test for object identity." />
+	</test>
+	<test id="2935" name="OperatorIntrinsic_NotEquals_DoubleError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Double_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicNotEquals.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="493" number="30452" message="Operator '<>' is not defined for types 'Double' and 'Char'." />
+		<error line="499" number="30452" message="Operator '<>' is not defined for types 'Double' and 'Date'." />
+		<error line="502" number="30518" message="Overload resolution failed because no accessible '<>' can be called with these arguments:" />
+	</test>
+	<test id="2936" name="OperatorIntrinsic_NotEquals_DoubleStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Double_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicNotEquals.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="468" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Double'." />
+		<error line="493" number="30452" message="Operator '<>' is not defined for types 'Double' and 'Char'." />
+		<error line="496" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="499" number="30452" message="Operator '<>' is not defined for types 'Double' and 'Date'." />
+		<error line="502" number="30518" message="Overload resolution failed because no accessible '<>' can be called with these arguments:" />
+		<error line="506" number="32013" message="Option Strict On disallows operands of type Object for operator '<>'. Use the 'Is' operator to test for object identity." />
+	</test>
+	<test id="2937" name="OperatorIntrinsic_NotEquals_CharError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Char_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicNotEquals.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="509" number="30452" message="Operator '<>' is not defined for types 'Char' and 'Boolean'." />
+		<error line="512" number="30452" message="Operator '<>' is not defined for types 'Char' and 'Byte'." />
+		<error line="515" number="30452" message="Operator '<>' is not defined for types 'Char' and 'SByte'." />
+		<error line="518" number="30452" message="Operator '<>' is not defined for types 'Char' and 'Short'." />
+		<error line="521" number="30452" message="Operator '<>' is not defined for types 'Char' and 'UShort'." />
+		<error line="524" number="30452" message="Operator '<>' is not defined for types 'Char' and 'Integer'." />
+		<error line="527" number="30452" message="Operator '<>' is not defined for types 'Char' and 'UInteger'." />
+		<error line="530" number="30452" message="Operator '<>' is not defined for types 'Char' and 'Long'." />
+		<error line="533" number="30452" message="Operator '<>' is not defined for types 'Char' and 'ULong'." />
+		<error line="536" number="30452" message="Operator '<>' is not defined for types 'Char' and 'Decimal'." />
+		<error line="539" number="30452" message="Operator '<>' is not defined for types 'Char' and 'Single'." />
+		<error line="542" number="30452" message="Operator '<>' is not defined for types 'Char' and 'Double'." />
+		<error line="551" number="30452" message="Operator '<>' is not defined for types 'Char' and 'Date'." />
+		<error line="554" number="30452" message="Operator '<>' is not defined for types 'Char' and 'System.DBNull'." />
+	</test>
+	<test id="2938" name="OperatorIntrinsic_NotEquals_CharStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Char_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicNotEquals.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="509" number="30452" message="Operator '<>' is not defined for types 'Char' and 'Boolean'." />
+		<error line="512" number="30452" message="Operator '<>' is not defined for types 'Char' and 'Byte'." />
+		<error line="515" number="30452" message="Operator '<>' is not defined for types 'Char' and 'SByte'." />
+		<error line="518" number="30452" message="Operator '<>' is not defined for types 'Char' and 'Short'." />
+		<error line="521" number="30452" message="Operator '<>' is not defined for types 'Char' and 'UShort'." />
+		<error line="524" number="30452" message="Operator '<>' is not defined for types 'Char' and 'Integer'." />
+		<error line="527" number="30452" message="Operator '<>' is not defined for types 'Char' and 'UInteger'." />
+		<error line="530" number="30452" message="Operator '<>' is not defined for types 'Char' and 'Long'." />
+		<error line="533" number="30452" message="Operator '<>' is not defined for types 'Char' and 'ULong'." />
+		<error line="536" number="30452" message="Operator '<>' is not defined for types 'Char' and 'Decimal'." />
+		<error line="539" number="30452" message="Operator '<>' is not defined for types 'Char' and 'Single'." />
+		<error line="542" number="30452" message="Operator '<>' is not defined for types 'Char' and 'Double'." />
+		<error line="551" number="30452" message="Operator '<>' is not defined for types 'Char' and 'Date'." />
+		<error line="554" number="30452" message="Operator '<>' is not defined for types 'Char' and 'System.DBNull'." />
+		<error line="557" number="32013" message="Option Strict On disallows operands of type Object for operator '<>'. Use the 'Is' operator to test for object identity." />
+	</test>
+	<test id="2939" name="OperatorIntrinsic_NotEquals_StringError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:String_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicNotEquals.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="604" number="30518" message="Overload resolution failed because no accessible '<>' can be called with these arguments:" />
+	</test>
+	<test id="2940" name="OperatorIntrinsic_NotEquals_StringStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:String_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicNotEquals.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="560" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Boolean'." />
+		<error line="563" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="566" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="569" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="572" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="575" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="578" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="581" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="584" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="587" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="590" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="593" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="601" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Date'." />
+		<error line="604" number="30518" message="Overload resolution failed because no accessible '<>' can be called with these arguments:" />
+		<error line="608" number="32013" message="Option Strict On disallows operands of type Object for operator '<>'. Use the 'Is' operator to test for object identity." />
+	</test>
+	<test id="2941" name="OperatorIntrinsic_NotEquals_DateTimeError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:DateTime_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicNotEquals.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="611" number="30452" message="Operator '<>' is not defined for types 'Date' and 'Boolean'." />
+		<error line="614" number="30452" message="Operator '<>' is not defined for types 'Date' and 'Byte'." />
+		<error line="617" number="30452" message="Operator '<>' is not defined for types 'Date' and 'SByte'." />
+		<error line="620" number="30452" message="Operator '<>' is not defined for types 'Date' and 'Short'." />
+		<error line="623" number="30452" message="Operator '<>' is not defined for types 'Date' and 'UShort'." />
+		<error line="626" number="30452" message="Operator '<>' is not defined for types 'Date' and 'Integer'." />
+		<error line="629" number="30452" message="Operator '<>' is not defined for types 'Date' and 'UInteger'." />
+		<error line="632" number="30452" message="Operator '<>' is not defined for types 'Date' and 'Long'." />
+		<error line="635" number="30452" message="Operator '<>' is not defined for types 'Date' and 'ULong'." />
+		<error line="638" number="30452" message="Operator '<>' is not defined for types 'Date' and 'Decimal'." />
+		<error line="641" number="30452" message="Operator '<>' is not defined for types 'Date' and 'Single'." />
+		<error line="644" number="30452" message="Operator '<>' is not defined for types 'Date' and 'Double'." />
+		<error line="647" number="30452" message="Operator '<>' is not defined for types 'Date' and 'Char'." />
+		<error line="655" number="30518" message="Overload resolution failed because no accessible '<>' can be called with these arguments:" />
+	</test>
+	<test id="2942" name="OperatorIntrinsic_NotEquals_DateTimeStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:DateTime_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicNotEquals.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="611" number="30452" message="Operator '<>' is not defined for types 'Date' and 'Boolean'." />
+		<error line="614" number="30452" message="Operator '<>' is not defined for types 'Date' and 'Byte'." />
+		<error line="617" number="30452" message="Operator '<>' is not defined for types 'Date' and 'SByte'." />
+		<error line="620" number="30452" message="Operator '<>' is not defined for types 'Date' and 'Short'." />
+		<error line="623" number="30452" message="Operator '<>' is not defined for types 'Date' and 'UShort'." />
+		<error line="626" number="30452" message="Operator '<>' is not defined for types 'Date' and 'Integer'." />
+		<error line="629" number="30452" message="Operator '<>' is not defined for types 'Date' and 'UInteger'." />
+		<error line="632" number="30452" message="Operator '<>' is not defined for types 'Date' and 'Long'." />
+		<error line="635" number="30452" message="Operator '<>' is not defined for types 'Date' and 'ULong'." />
+		<error line="638" number="30452" message="Operator '<>' is not defined for types 'Date' and 'Decimal'." />
+		<error line="641" number="30452" message="Operator '<>' is not defined for types 'Date' and 'Single'." />
+		<error line="644" number="30452" message="Operator '<>' is not defined for types 'Date' and 'Double'." />
+		<error line="647" number="30452" message="Operator '<>' is not defined for types 'Date' and 'Char'." />
+		<error line="650" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Date'." />
+		<error line="655" number="30518" message="Overload resolution failed because no accessible '<>' can be called with these arguments:" />
+		<error line="659" number="32013" message="Option Strict On disallows operands of type Object for operator '<>'. Use the 'Is' operator to test for object identity." />
+	</test>
+	<test id="2943" name="OperatorIntrinsic_NotEquals_DBNullError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:DBNull_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicNotEquals.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="662" number="30452" message="Operator '<>' is not defined for types 'System.DBNull' and 'Boolean'." />
+		<error line="665" number="30452" message="Operator '<>' is not defined for types 'System.DBNull' and 'Byte'." />
+		<error line="668" number="30452" message="Operator '<>' is not defined for types 'System.DBNull' and 'SByte'." />
+		<error line="671" number="30452" message="Operator '<>' is not defined for types 'System.DBNull' and 'Short'." />
+		<error line="674" number="30452" message="Operator '<>' is not defined for types 'System.DBNull' and 'UShort'." />
+		<error line="677" number="30452" message="Operator '<>' is not defined for types 'System.DBNull' and 'Integer'." />
+		<error line="680" number="30452" message="Operator '<>' is not defined for types 'System.DBNull' and 'UInteger'." />
+		<error line="683" number="30452" message="Operator '<>' is not defined for types 'System.DBNull' and 'Long'." />
+		<error line="686" number="30452" message="Operator '<>' is not defined for types 'System.DBNull' and 'ULong'." />
+		<error line="689" number="30518" message="Overload resolution failed because no accessible '<>' can be called with these arguments:" />
+		<error line="692" number="30518" message="Overload resolution failed because no accessible '<>' can be called with these arguments:" />
+		<error line="695" number="30518" message="Overload resolution failed because no accessible '<>' can be called with these arguments:" />
+		<error line="698" number="30452" message="Operator '<>' is not defined for types 'System.DBNull' and 'Char'." />
+		<error line="701" number="30518" message="Overload resolution failed because no accessible '<>' can be called with these arguments:" />
+		<error line="704" number="30518" message="Overload resolution failed because no accessible '<>' can be called with these arguments:" />
+		<error line="707" number="30452" message="Operator '<>' is not defined for types 'System.DBNull' and 'System.DBNull'." />
+		<error line="710" number="30452" message="Operator '<>' is not defined for types 'System.DBNull' and 'Object'." />
+	</test>
+	<test id="2944" name="OperatorIntrinsic_NotEquals_DBNullStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:DBNull_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicNotEquals.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="662" number="30452" message="Operator '<>' is not defined for types 'System.DBNull' and 'Boolean'." />
+		<error line="665" number="30452" message="Operator '<>' is not defined for types 'System.DBNull' and 'Byte'." />
+		<error line="668" number="30452" message="Operator '<>' is not defined for types 'System.DBNull' and 'SByte'." />
+		<error line="671" number="30452" message="Operator '<>' is not defined for types 'System.DBNull' and 'Short'." />
+		<error line="674" number="30452" message="Operator '<>' is not defined for types 'System.DBNull' and 'UShort'." />
+		<error line="677" number="30452" message="Operator '<>' is not defined for types 'System.DBNull' and 'Integer'." />
+		<error line="680" number="30452" message="Operator '<>' is not defined for types 'System.DBNull' and 'UInteger'." />
+		<error line="683" number="30452" message="Operator '<>' is not defined for types 'System.DBNull' and 'Long'." />
+		<error line="686" number="30452" message="Operator '<>' is not defined for types 'System.DBNull' and 'ULong'." />
+		<error line="689" number="30518" message="Overload resolution failed because no accessible '<>' can be called with these arguments:" />
+		<error line="692" number="30518" message="Overload resolution failed because no accessible '<>' can be called with these arguments:" />
+		<error line="695" number="30518" message="Overload resolution failed because no accessible '<>' can be called with these arguments:" />
+		<error line="698" number="30452" message="Operator '<>' is not defined for types 'System.DBNull' and 'Char'." />
+		<error line="701" number="30518" message="Overload resolution failed because no accessible '<>' can be called with these arguments:" />
+		<error line="704" number="30518" message="Overload resolution failed because no accessible '<>' can be called with these arguments:" />
+		<error line="707" number="30452" message="Operator '<>' is not defined for types 'System.DBNull' and 'System.DBNull'." />
+		<error line="710" number="30452" message="Operator '<>' is not defined for types 'System.DBNull' and 'Object'." />
+	</test>
+	<test id="2945" name="OperatorIntrinsic_NotEquals_ObjectError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Object_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicNotEquals.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="772" number="30452" message="Operator '<>' is not defined for types 'Object' and 'System.DBNull'." />
+	</test>
+	<test id="2946" name="OperatorIntrinsic_NotEquals_ObjectStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Object_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicNotEquals.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="714" number="32013" message="Option Strict On disallows operands of type Object for operator '<>'. Use the 'Is' operator to test for object identity." />
+		<error line="718" number="32013" message="Option Strict On disallows operands of type Object for operator '<>'. Use the 'Is' operator to test for object identity." />
+		<error line="722" number="32013" message="Option Strict On disallows operands of type Object for operator '<>'. Use the 'Is' operator to test for object identity." />
+		<error line="726" number="32013" message="Option Strict On disallows operands of type Object for operator '<>'. Use the 'Is' operator to test for object identity." />
+		<error line="730" number="32013" message="Option Strict On disallows operands of type Object for operator '<>'. Use the 'Is' operator to test for object identity." />
+		<error line="734" number="32013" message="Option Strict On disallows operands of type Object for operator '<>'. Use the 'Is' operator to test for object identity." />
+		<error line="738" number="32013" message="Option Strict On disallows operands of type Object for operator '<>'. Use the 'Is' operator to test for object identity." />
+		<error line="742" number="32013" message="Option Strict On disallows operands of type Object for operator '<>'. Use the 'Is' operator to test for object identity." />
+		<error line="746" number="32013" message="Option Strict On disallows operands of type Object for operator '<>'. Use the 'Is' operator to test for object identity." />
+		<error line="750" number="32013" message="Option Strict On disallows operands of type Object for operator '<>'. Use the 'Is' operator to test for object identity." />
+		<error line="754" number="32013" message="Option Strict On disallows operands of type Object for operator '<>'. Use the 'Is' operator to test for object identity." />
+		<error line="758" number="32013" message="Option Strict On disallows operands of type Object for operator '<>'. Use the 'Is' operator to test for object identity." />
+		<error line="761" number="32013" message="Option Strict On disallows operands of type Object for operator '<>'. Use the 'Is' operator to test for object identity." />
+		<error line="765" number="32013" message="Option Strict On disallows operands of type Object for operator '<>'. Use the 'Is' operator to test for object identity." />
+		<error line="769" number="32013" message="Option Strict On disallows operands of type Object for operator '<>'. Use the 'Is' operator to test for object identity." />
+		<error line="772" number="30452" message="Operator '<>' is not defined for types 'Object' and 'System.DBNull'." />
+		<error line="776" number="32013" message="Option Strict On disallows operands of type Object for operator '<>'. Use the 'Is' operator to test for object identity." />
+		<error line="776" number="32013" message="Option Strict On disallows operands of type Object for operator '<>'. Use the 'Is' operator to test for object identity." />
+	</test>
+	<test id="2947" name="OperatorIntrinsic_OrElse_" target="exe" mytype="empty">
+		<file>CompileTime2\OperatorIntrinsicOrElse.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+	</test>
+	<test id="2948" name="OperatorIntrinsic_OrElse_Strict" mytype="empty">
+		<arguments>/optionstrict+ /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicOrElse.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+	</test>
+	<test id="2949" name="OperatorIntrinsic_OrElse_BooleanError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Boolean_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicOrElse.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="52" number="30452" message="Operator 'OrElse' is not defined for types 'Boolean' and 'Char'." />
+		<error line="59" number="30452" message="Operator 'OrElse' is not defined for types 'Boolean' and 'Date'." />
+		<error line="62" number="30452" message="Operator 'Or' is not defined for types 'Boolean' and 'System.DBNull'." />
+	</test>
+	<test id="2950" name="OperatorIntrinsic_OrElse_BooleanStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Boolean_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicOrElse.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="9" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'Boolean'." />
+		<error line="13" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'Boolean'." />
+		<error line="17" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'Boolean'." />
+		<error line="21" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'Boolean'." />
+		<error line="25" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'Boolean'." />
+		<error line="29" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'Boolean'." />
+		<error line="33" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'Boolean'." />
+		<error line="37" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Boolean'." />
+		<error line="41" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Boolean'." />
+		<error line="45" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Boolean'." />
+		<error line="49" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Boolean'." />
+		<error line="52" number="30452" message="Operator 'OrElse' is not defined for types 'Boolean' and 'Char'." />
+		<error line="56" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Boolean'." />
+		<error line="59" number="30452" message="Operator 'OrElse' is not defined for types 'Boolean' and 'Date'." />
+		<error line="62" number="30452" message="Operator 'Or' is not defined for types 'Boolean' and 'System.DBNull'." />
+		<error line="66" number="30038" message="Option Strict On prohibits operands of type Object for operator 'OrElse'." />
+	</test>
+	<test id="2951" name="OperatorIntrinsic_OrElse_ByteError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Byte_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicOrElse.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="117" number="30452" message="Operator 'OrElse' is not defined for types 'Byte' and 'Char'." />
+		<error line="124" number="30452" message="Operator 'OrElse' is not defined for types 'Byte' and 'Date'." />
+		<error line="127" number="30452" message="Operator 'Or' is not defined for types 'Byte' and 'System.DBNull'." />
+	</test>
+	<test id="2952" name="OperatorIntrinsic_OrElse_ByteStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Byte_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicOrElse.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="70" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'Boolean'." />
+		<error line="74" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'Boolean'." />
+		<error line="74" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'Boolean'." />
+		<error line="78" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'Boolean'." />
+		<error line="78" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'Boolean'." />
+		<error line="82" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'Boolean'." />
+		<error line="82" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'Boolean'." />
+		<error line="86" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'Boolean'." />
+		<error line="86" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'Boolean'." />
+		<error line="90" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'Boolean'." />
+		<error line="90" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'Boolean'." />
+		<error line="94" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'Boolean'." />
+		<error line="94" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'Boolean'." />
+		<error line="98" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'Boolean'." />
+		<error line="98" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'Boolean'." />
+		<error line="102" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'Boolean'." />
+		<error line="102" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Boolean'." />
+		<error line="106" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'Boolean'." />
+		<error line="106" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Boolean'." />
+		<error line="110" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'Boolean'." />
+		<error line="110" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Boolean'." />
+		<error line="114" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'Boolean'." />
+		<error line="114" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Boolean'." />
+		<error line="117" number="30452" message="Operator 'OrElse' is not defined for types 'Byte' and 'Char'." />
+		<error line="121" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'Boolean'." />
+		<error line="121" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Boolean'." />
+		<error line="124" number="30452" message="Operator 'OrElse' is not defined for types 'Byte' and 'Date'." />
+		<error line="127" number="30452" message="Operator 'Or' is not defined for types 'Byte' and 'System.DBNull'." />
+		<error line="131" number="30038" message="Option Strict On prohibits operands of type Object for operator 'OrElse'." />
+	</test>
+	<test id="2953" name="OperatorIntrinsic_OrElse_SByteError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:SByte_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicOrElse.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="182" number="30452" message="Operator 'OrElse' is not defined for types 'SByte' and 'Char'." />
+		<error line="189" number="30452" message="Operator 'OrElse' is not defined for types 'SByte' and 'Date'." />
+		<error line="192" number="30452" message="Operator 'Or' is not defined for types 'SByte' and 'System.DBNull'." />
+	</test>
+	<test id="2954" name="OperatorIntrinsic_OrElse_SByteStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:SByte_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicOrElse.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="135" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'Boolean'." />
+		<error line="139" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'Boolean'." />
+		<error line="139" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'Boolean'." />
+		<error line="143" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'Boolean'." />
+		<error line="143" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'Boolean'." />
+		<error line="147" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'Boolean'." />
+		<error line="147" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'Boolean'." />
+		<error line="151" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'Boolean'." />
+		<error line="151" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'Boolean'." />
+		<error line="155" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'Boolean'." />
+		<error line="155" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'Boolean'." />
+		<error line="159" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'Boolean'." />
+		<error line="159" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'Boolean'." />
+		<error line="163" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'Boolean'." />
+		<error line="163" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'Boolean'." />
+		<error line="167" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'Boolean'." />
+		<error line="167" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Boolean'." />
+		<error line="171" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'Boolean'." />
+		<error line="171" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Boolean'." />
+		<error line="175" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'Boolean'." />
+		<error line="175" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Boolean'." />
+		<error line="179" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'Boolean'." />
+		<error line="179" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Boolean'." />
+		<error line="182" number="30452" message="Operator 'OrElse' is not defined for types 'SByte' and 'Char'." />
+		<error line="186" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'Boolean'." />
+		<error line="186" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Boolean'." />
+		<error line="189" number="30452" message="Operator 'OrElse' is not defined for types 'SByte' and 'Date'." />
+		<error line="192" number="30452" message="Operator 'Or' is not defined for types 'SByte' and 'System.DBNull'." />
+		<error line="196" number="30038" message="Option Strict On prohibits operands of type Object for operator 'OrElse'." />
+	</test>
+	<test id="2955" name="OperatorIntrinsic_OrElse_Int16Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Int16_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicOrElse.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="247" number="30452" message="Operator 'OrElse' is not defined for types 'Short' and 'Char'." />
+		<error line="254" number="30452" message="Operator 'OrElse' is not defined for types 'Short' and 'Date'." />
+		<error line="257" number="30452" message="Operator 'Or' is not defined for types 'Short' and 'System.DBNull'." />
+	</test>
+	<test id="2956" name="OperatorIntrinsic_OrElse_Int16StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Int16_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicOrElse.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="200" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'Boolean'." />
+		<error line="204" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'Boolean'." />
+		<error line="204" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'Boolean'." />
+		<error line="208" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'Boolean'." />
+		<error line="208" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'Boolean'." />
+		<error line="212" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'Boolean'." />
+		<error line="212" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'Boolean'." />
+		<error line="216" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'Boolean'." />
+		<error line="216" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'Boolean'." />
+		<error line="220" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'Boolean'." />
+		<error line="220" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'Boolean'." />
+		<error line="224" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'Boolean'." />
+		<error line="224" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'Boolean'." />
+		<error line="228" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'Boolean'." />
+		<error line="228" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'Boolean'." />
+		<error line="232" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'Boolean'." />
+		<error line="232" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Boolean'." />
+		<error line="236" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'Boolean'." />
+		<error line="236" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Boolean'." />
+		<error line="240" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'Boolean'." />
+		<error line="240" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Boolean'." />
+		<error line="244" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'Boolean'." />
+		<error line="244" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Boolean'." />
+		<error line="247" number="30452" message="Operator 'OrElse' is not defined for types 'Short' and 'Char'." />
+		<error line="251" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'Boolean'." />
+		<error line="251" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Boolean'." />
+		<error line="254" number="30452" message="Operator 'OrElse' is not defined for types 'Short' and 'Date'." />
+		<error line="257" number="30452" message="Operator 'Or' is not defined for types 'Short' and 'System.DBNull'." />
+		<error line="261" number="30038" message="Option Strict On prohibits operands of type Object for operator 'OrElse'." />
+	</test>
+	<test id="2957" name="OperatorIntrinsic_OrElse_UInt16Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:UInt16_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicOrElse.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="312" number="30452" message="Operator 'OrElse' is not defined for types 'UShort' and 'Char'." />
+		<error line="319" number="30452" message="Operator 'OrElse' is not defined for types 'UShort' and 'Date'." />
+		<error line="322" number="30452" message="Operator 'Or' is not defined for types 'UShort' and 'System.DBNull'." />
+	</test>
+	<test id="2958" name="OperatorIntrinsic_OrElse_UInt16StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:UInt16_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicOrElse.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="265" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'Boolean'." />
+		<error line="269" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'Boolean'." />
+		<error line="269" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'Boolean'." />
+		<error line="273" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'Boolean'." />
+		<error line="273" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'Boolean'." />
+		<error line="277" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'Boolean'." />
+		<error line="277" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'Boolean'." />
+		<error line="281" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'Boolean'." />
+		<error line="281" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'Boolean'." />
+		<error line="285" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'Boolean'." />
+		<error line="285" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'Boolean'." />
+		<error line="289" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'Boolean'." />
+		<error line="289" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'Boolean'." />
+		<error line="293" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'Boolean'." />
+		<error line="293" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'Boolean'." />
+		<error line="297" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'Boolean'." />
+		<error line="297" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Boolean'." />
+		<error line="301" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'Boolean'." />
+		<error line="301" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Boolean'." />
+		<error line="305" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'Boolean'." />
+		<error line="305" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Boolean'." />
+		<error line="309" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'Boolean'." />
+		<error line="309" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Boolean'." />
+		<error line="312" number="30452" message="Operator 'OrElse' is not defined for types 'UShort' and 'Char'." />
+		<error line="316" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'Boolean'." />
+		<error line="316" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Boolean'." />
+		<error line="319" number="30452" message="Operator 'OrElse' is not defined for types 'UShort' and 'Date'." />
+		<error line="322" number="30452" message="Operator 'Or' is not defined for types 'UShort' and 'System.DBNull'." />
+		<error line="326" number="30038" message="Option Strict On prohibits operands of type Object for operator 'OrElse'." />
+	</test>
+	<test id="2959" name="OperatorIntrinsic_OrElse_Int32Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Int32_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicOrElse.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="377" number="30452" message="Operator 'OrElse' is not defined for types 'Integer' and 'Char'." />
+		<error line="384" number="30452" message="Operator 'OrElse' is not defined for types 'Integer' and 'Date'." />
+		<error line="387" number="30452" message="Operator 'Or' is not defined for types 'Integer' and 'System.DBNull'." />
+	</test>
+	<test id="2960" name="OperatorIntrinsic_OrElse_Int32StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Int32_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicOrElse.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="330" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'Boolean'." />
+		<error line="334" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'Boolean'." />
+		<error line="334" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'Boolean'." />
+		<error line="338" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'Boolean'." />
+		<error line="338" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'Boolean'." />
+		<error line="342" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'Boolean'." />
+		<error line="342" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'Boolean'." />
+		<error line="346" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'Boolean'." />
+		<error line="346" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'Boolean'." />
+		<error line="350" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'Boolean'." />
+		<error line="350" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'Boolean'." />
+		<error line="354" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'Boolean'." />
+		<error line="354" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'Boolean'." />
+		<error line="358" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'Boolean'." />
+		<error line="358" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'Boolean'." />
+		<error line="362" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'Boolean'." />
+		<error line="362" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Boolean'." />
+		<error line="366" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'Boolean'." />
+		<error line="366" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Boolean'." />
+		<error line="370" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'Boolean'." />
+		<error line="370" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Boolean'." />
+		<error line="374" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'Boolean'." />
+		<error line="374" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Boolean'." />
+		<error line="377" number="30452" message="Operator 'OrElse' is not defined for types 'Integer' and 'Char'." />
+		<error line="381" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'Boolean'." />
+		<error line="381" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Boolean'." />
+		<error line="384" number="30452" message="Operator 'OrElse' is not defined for types 'Integer' and 'Date'." />
+		<error line="387" number="30452" message="Operator 'Or' is not defined for types 'Integer' and 'System.DBNull'." />
+		<error line="391" number="30038" message="Option Strict On prohibits operands of type Object for operator 'OrElse'." />
+	</test>
+	<test id="2961" name="OperatorIntrinsic_OrElse_UInt32Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:UInt32_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicOrElse.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="442" number="30452" message="Operator 'OrElse' is not defined for types 'UInteger' and 'Char'." />
+		<error line="449" number="30452" message="Operator 'OrElse' is not defined for types 'UInteger' and 'Date'." />
+		<error line="452" number="30452" message="Operator 'Or' is not defined for types 'UInteger' and 'System.DBNull'." />
+	</test>
+	<test id="2962" name="OperatorIntrinsic_OrElse_UInt32StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:UInt32_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicOrElse.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="395" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'Boolean'." />
+		<error line="399" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'Boolean'." />
+		<error line="399" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'Boolean'." />
+		<error line="403" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'Boolean'." />
+		<error line="403" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'Boolean'." />
+		<error line="407" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'Boolean'." />
+		<error line="407" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'Boolean'." />
+		<error line="411" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'Boolean'." />
+		<error line="411" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'Boolean'." />
+		<error line="415" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'Boolean'." />
+		<error line="415" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'Boolean'." />
+		<error line="419" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'Boolean'." />
+		<error line="419" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'Boolean'." />
+		<error line="423" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'Boolean'." />
+		<error line="423" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'Boolean'." />
+		<error line="427" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'Boolean'." />
+		<error line="427" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Boolean'." />
+		<error line="431" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'Boolean'." />
+		<error line="431" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Boolean'." />
+		<error line="435" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'Boolean'." />
+		<error line="435" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Boolean'." />
+		<error line="439" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'Boolean'." />
+		<error line="439" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Boolean'." />
+		<error line="442" number="30452" message="Operator 'OrElse' is not defined for types 'UInteger' and 'Char'." />
+		<error line="446" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'Boolean'." />
+		<error line="446" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Boolean'." />
+		<error line="449" number="30452" message="Operator 'OrElse' is not defined for types 'UInteger' and 'Date'." />
+		<error line="452" number="30452" message="Operator 'Or' is not defined for types 'UInteger' and 'System.DBNull'." />
+		<error line="456" number="30038" message="Option Strict On prohibits operands of type Object for operator 'OrElse'." />
+	</test>
+	<test id="2963" name="OperatorIntrinsic_OrElse_Int64Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Int64_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicOrElse.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="507" number="30452" message="Operator 'OrElse' is not defined for types 'Long' and 'Char'." />
+		<error line="514" number="30452" message="Operator 'OrElse' is not defined for types 'Long' and 'Date'." />
+		<error line="517" number="30452" message="Operator 'Or' is not defined for types 'Long' and 'System.DBNull'." />
+	</test>
+	<test id="2964" name="OperatorIntrinsic_OrElse_Int64StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Int64_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicOrElse.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="460" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'Boolean'." />
+		<error line="464" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'Boolean'." />
+		<error line="464" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'Boolean'." />
+		<error line="468" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'Boolean'." />
+		<error line="468" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'Boolean'." />
+		<error line="472" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'Boolean'." />
+		<error line="472" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'Boolean'." />
+		<error line="476" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'Boolean'." />
+		<error line="476" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'Boolean'." />
+		<error line="480" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'Boolean'." />
+		<error line="480" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'Boolean'." />
+		<error line="484" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'Boolean'." />
+		<error line="484" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'Boolean'." />
+		<error line="488" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'Boolean'." />
+		<error line="488" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'Boolean'." />
+		<error line="492" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'Boolean'." />
+		<error line="492" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Boolean'." />
+		<error line="496" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'Boolean'." />
+		<error line="496" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Boolean'." />
+		<error line="500" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'Boolean'." />
+		<error line="500" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Boolean'." />
+		<error line="504" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'Boolean'." />
+		<error line="504" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Boolean'." />
+		<error line="507" number="30452" message="Operator 'OrElse' is not defined for types 'Long' and 'Char'." />
+		<error line="511" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'Boolean'." />
+		<error line="511" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Boolean'." />
+		<error line="514" number="30452" message="Operator 'OrElse' is not defined for types 'Long' and 'Date'." />
+		<error line="517" number="30452" message="Operator 'Or' is not defined for types 'Long' and 'System.DBNull'." />
+		<error line="521" number="30038" message="Option Strict On prohibits operands of type Object for operator 'OrElse'." />
+	</test>
+	<test id="2965" name="OperatorIntrinsic_OrElse_UInt64Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:UInt64_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicOrElse.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="572" number="30452" message="Operator 'OrElse' is not defined for types 'ULong' and 'Char'." />
+		<error line="579" number="30452" message="Operator 'OrElse' is not defined for types 'ULong' and 'Date'." />
+		<error line="582" number="30452" message="Operator 'Or' is not defined for types 'ULong' and 'System.DBNull'." />
+	</test>
+	<test id="2966" name="OperatorIntrinsic_OrElse_UInt64StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:UInt64_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicOrElse.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="525" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Boolean'." />
+		<error line="529" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Boolean'." />
+		<error line="529" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'Boolean'." />
+		<error line="533" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Boolean'." />
+		<error line="533" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'Boolean'." />
+		<error line="537" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Boolean'." />
+		<error line="537" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'Boolean'." />
+		<error line="541" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Boolean'." />
+		<error line="541" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'Boolean'." />
+		<error line="545" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Boolean'." />
+		<error line="545" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'Boolean'." />
+		<error line="549" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Boolean'." />
+		<error line="549" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'Boolean'." />
+		<error line="553" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Boolean'." />
+		<error line="553" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'Boolean'." />
+		<error line="557" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Boolean'." />
+		<error line="557" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Boolean'." />
+		<error line="561" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Boolean'." />
+		<error line="561" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Boolean'." />
+		<error line="565" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Boolean'." />
+		<error line="565" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Boolean'." />
+		<error line="569" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Boolean'." />
+		<error line="569" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Boolean'." />
+		<error line="572" number="30452" message="Operator 'OrElse' is not defined for types 'ULong' and 'Char'." />
+		<error line="576" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Boolean'." />
+		<error line="576" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Boolean'." />
+		<error line="579" number="30452" message="Operator 'OrElse' is not defined for types 'ULong' and 'Date'." />
+		<error line="582" number="30452" message="Operator 'Or' is not defined for types 'ULong' and 'System.DBNull'." />
+		<error line="586" number="30038" message="Option Strict On prohibits operands of type Object for operator 'OrElse'." />
+	</test>
+	<test id="2967" name="OperatorIntrinsic_OrElse_DecimalError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Decimal_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicOrElse.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="637" number="30452" message="Operator 'OrElse' is not defined for types 'Decimal' and 'Char'." />
+		<error line="644" number="30452" message="Operator 'OrElse' is not defined for types 'Decimal' and 'Date'." />
+		<error line="647" number="30452" message="Operator 'Or' is not defined for types 'Decimal' and 'System.DBNull'." />
+	</test>
+	<test id="2968" name="OperatorIntrinsic_OrElse_DecimalStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Decimal_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicOrElse.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="590" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Boolean'." />
+		<error line="594" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Boolean'." />
+		<error line="594" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'Boolean'." />
+		<error line="598" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Boolean'." />
+		<error line="598" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'Boolean'." />
+		<error line="602" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Boolean'." />
+		<error line="602" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'Boolean'." />
+		<error line="606" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Boolean'." />
+		<error line="606" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'Boolean'." />
+		<error line="610" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Boolean'." />
+		<error line="610" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'Boolean'." />
+		<error line="614" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Boolean'." />
+		<error line="614" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'Boolean'." />
+		<error line="618" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Boolean'." />
+		<error line="618" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'Boolean'." />
+		<error line="622" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Boolean'." />
+		<error line="622" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Boolean'." />
+		<error line="626" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Boolean'." />
+		<error line="626" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Boolean'." />
+		<error line="630" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Boolean'." />
+		<error line="630" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Boolean'." />
+		<error line="634" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Boolean'." />
+		<error line="634" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Boolean'." />
+		<error line="637" number="30452" message="Operator 'OrElse' is not defined for types 'Decimal' and 'Char'." />
+		<error line="641" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Boolean'." />
+		<error line="641" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Boolean'." />
+		<error line="644" number="30452" message="Operator 'OrElse' is not defined for types 'Decimal' and 'Date'." />
+		<error line="647" number="30452" message="Operator 'Or' is not defined for types 'Decimal' and 'System.DBNull'." />
+		<error line="651" number="30038" message="Option Strict On prohibits operands of type Object for operator 'OrElse'." />
+	</test>
+	<test id="2969" name="OperatorIntrinsic_OrElse_SingleError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Single_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicOrElse.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="702" number="30452" message="Operator 'OrElse' is not defined for types 'Single' and 'Char'." />
+		<error line="709" number="30452" message="Operator 'OrElse' is not defined for types 'Single' and 'Date'." />
+		<error line="712" number="30452" message="Operator 'Or' is not defined for types 'Single' and 'System.DBNull'." />
+	</test>
+	<test id="2970" name="OperatorIntrinsic_OrElse_SingleStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Single_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicOrElse.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="655" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Boolean'." />
+		<error line="659" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Boolean'." />
+		<error line="659" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'Boolean'." />
+		<error line="663" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Boolean'." />
+		<error line="663" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'Boolean'." />
+		<error line="667" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Boolean'." />
+		<error line="667" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'Boolean'." />
+		<error line="671" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Boolean'." />
+		<error line="671" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'Boolean'." />
+		<error line="675" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Boolean'." />
+		<error line="675" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'Boolean'." />
+		<error line="679" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Boolean'." />
+		<error line="679" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'Boolean'." />
+		<error line="683" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Boolean'." />
+		<error line="683" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'Boolean'." />
+		<error line="687" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Boolean'." />
+		<error line="687" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Boolean'." />
+		<error line="691" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Boolean'." />
+		<error line="691" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Boolean'." />
+		<error line="695" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Boolean'." />
+		<error line="695" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Boolean'." />
+		<error line="699" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Boolean'." />
+		<error line="699" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Boolean'." />
+		<error line="702" number="30452" message="Operator 'OrElse' is not defined for types 'Single' and 'Char'." />
+		<error line="706" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Boolean'." />
+		<error line="706" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Boolean'." />
+		<error line="709" number="30452" message="Operator 'OrElse' is not defined for types 'Single' and 'Date'." />
+		<error line="712" number="30452" message="Operator 'Or' is not defined for types 'Single' and 'System.DBNull'." />
+		<error line="716" number="30038" message="Option Strict On prohibits operands of type Object for operator 'OrElse'." />
+	</test>
+	<test id="2971" name="OperatorIntrinsic_OrElse_DoubleError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Double_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicOrElse.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="767" number="30452" message="Operator 'OrElse' is not defined for types 'Double' and 'Char'." />
+		<error line="774" number="30452" message="Operator 'OrElse' is not defined for types 'Double' and 'Date'." />
+		<error line="777" number="30452" message="Operator 'Or' is not defined for types 'Double' and 'System.DBNull'." />
+	</test>
+	<test id="2972" name="OperatorIntrinsic_OrElse_DoubleStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Double_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicOrElse.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="720" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Boolean'." />
+		<error line="724" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Boolean'." />
+		<error line="724" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'Boolean'." />
+		<error line="728" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Boolean'." />
+		<error line="728" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'Boolean'." />
+		<error line="732" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Boolean'." />
+		<error line="732" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'Boolean'." />
+		<error line="736" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Boolean'." />
+		<error line="736" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'Boolean'." />
+		<error line="740" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Boolean'." />
+		<error line="740" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'Boolean'." />
+		<error line="744" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Boolean'." />
+		<error line="744" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'Boolean'." />
+		<error line="748" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Boolean'." />
+		<error line="748" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'Boolean'." />
+		<error line="752" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Boolean'." />
+		<error line="752" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Boolean'." />
+		<error line="756" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Boolean'." />
+		<error line="756" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Boolean'." />
+		<error line="760" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Boolean'." />
+		<error line="760" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Boolean'." />
+		<error line="764" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Boolean'." />
+		<error line="764" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Boolean'." />
+		<error line="767" number="30452" message="Operator 'OrElse' is not defined for types 'Double' and 'Char'." />
+		<error line="771" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Boolean'." />
+		<error line="771" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Boolean'." />
+		<error line="774" number="30452" message="Operator 'OrElse' is not defined for types 'Double' and 'Date'." />
+		<error line="777" number="30452" message="Operator 'Or' is not defined for types 'Double' and 'System.DBNull'." />
+		<error line="781" number="30038" message="Option Strict On prohibits operands of type Object for operator 'OrElse'." />
+	</test>
+	<test id="2973" name="OperatorIntrinsic_OrElse_CharError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Char_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicOrElse.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="784" number="30452" message="Operator 'OrElse' is not defined for types 'Char' and 'Boolean'." />
+		<error line="787" number="30452" message="Operator 'OrElse' is not defined for types 'Char' and 'Byte'." />
+		<error line="790" number="30452" message="Operator 'OrElse' is not defined for types 'Char' and 'SByte'." />
+		<error line="793" number="30452" message="Operator 'OrElse' is not defined for types 'Char' and 'Short'." />
+		<error line="796" number="30452" message="Operator 'OrElse' is not defined for types 'Char' and 'UShort'." />
+		<error line="799" number="30452" message="Operator 'OrElse' is not defined for types 'Char' and 'Integer'." />
+		<error line="802" number="30452" message="Operator 'OrElse' is not defined for types 'Char' and 'UInteger'." />
+		<error line="805" number="30452" message="Operator 'OrElse' is not defined for types 'Char' and 'Long'." />
+		<error line="808" number="30452" message="Operator 'OrElse' is not defined for types 'Char' and 'ULong'." />
+		<error line="811" number="30452" message="Operator 'OrElse' is not defined for types 'Char' and 'Decimal'." />
+		<error line="814" number="30452" message="Operator 'OrElse' is not defined for types 'Char' and 'Single'." />
+		<error line="817" number="30452" message="Operator 'OrElse' is not defined for types 'Char' and 'Double'." />
+		<error line="820" number="30452" message="Operator 'OrElse' is not defined for types 'Char' and 'Char'." />
+		<error line="823" number="30452" message="Operator 'OrElse' is not defined for types 'Char' and 'String'." />
+		<error line="826" number="30452" message="Operator 'OrElse' is not defined for types 'Char' and 'Date'." />
+		<error line="829" number="30452" message="Operator 'Or' is not defined for types 'Char' and 'System.DBNull'." />
+		<error line="832" number="30452" message="Operator 'OrElse' is not defined for types 'Char' and 'Object'." />
+	</test>
+	<test id="2974" name="OperatorIntrinsic_OrElse_CharStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Char_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicOrElse.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="784" number="30452" message="Operator 'OrElse' is not defined for types 'Char' and 'Boolean'." />
+		<error line="787" number="30452" message="Operator 'OrElse' is not defined for types 'Char' and 'Byte'." />
+		<error line="790" number="30452" message="Operator 'OrElse' is not defined for types 'Char' and 'SByte'." />
+		<error line="793" number="30452" message="Operator 'OrElse' is not defined for types 'Char' and 'Short'." />
+		<error line="796" number="30452" message="Operator 'OrElse' is not defined for types 'Char' and 'UShort'." />
+		<error line="799" number="30452" message="Operator 'OrElse' is not defined for types 'Char' and 'Integer'." />
+		<error line="802" number="30452" message="Operator 'OrElse' is not defined for types 'Char' and 'UInteger'." />
+		<error line="805" number="30452" message="Operator 'OrElse' is not defined for types 'Char' and 'Long'." />
+		<error line="808" number="30452" message="Operator 'OrElse' is not defined for types 'Char' and 'ULong'." />
+		<error line="811" number="30452" message="Operator 'OrElse' is not defined for types 'Char' and 'Decimal'." />
+		<error line="814" number="30452" message="Operator 'OrElse' is not defined for types 'Char' and 'Single'." />
+		<error line="817" number="30452" message="Operator 'OrElse' is not defined for types 'Char' and 'Double'." />
+		<error line="820" number="30452" message="Operator 'OrElse' is not defined for types 'Char' and 'Char'." />
+		<error line="823" number="30452" message="Operator 'OrElse' is not defined for types 'Char' and 'String'." />
+		<error line="826" number="30452" message="Operator 'OrElse' is not defined for types 'Char' and 'Date'." />
+		<error line="829" number="30452" message="Operator 'Or' is not defined for types 'Char' and 'System.DBNull'." />
+		<error line="832" number="30452" message="Operator 'OrElse' is not defined for types 'Char' and 'Object'." />
+	</test>
+	<test id="2975" name="OperatorIntrinsic_OrElse_StringError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:String_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicOrElse.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="883" number="30452" message="Operator 'OrElse' is not defined for types 'String' and 'Char'." />
+		<error line="890" number="30452" message="Operator 'OrElse' is not defined for types 'String' and 'Date'." />
+		<error line="893" number="30452" message="Operator 'Or' is not defined for types 'String' and 'System.DBNull'." />
+	</test>
+	<test id="2976" name="OperatorIntrinsic_OrElse_StringStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:String_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicOrElse.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="836" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Boolean'." />
+		<error line="840" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Boolean'." />
+		<error line="840" number="30512" message="Option Strict On disallows implicit conversions from 'Byte' to 'Boolean'." />
+		<error line="844" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Boolean'." />
+		<error line="844" number="30512" message="Option Strict On disallows implicit conversions from 'SByte' to 'Boolean'." />
+		<error line="848" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Boolean'." />
+		<error line="848" number="30512" message="Option Strict On disallows implicit conversions from 'Short' to 'Boolean'." />
+		<error line="852" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Boolean'." />
+		<error line="852" number="30512" message="Option Strict On disallows implicit conversions from 'UShort' to 'Boolean'." />
+		<error line="856" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Boolean'." />
+		<error line="856" number="30512" message="Option Strict On disallows implicit conversions from 'Integer' to 'Boolean'." />
+		<error line="860" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Boolean'." />
+		<error line="860" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'Boolean'." />
+		<error line="864" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Boolean'." />
+		<error line="864" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'Boolean'." />
+		<error line="868" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Boolean'." />
+		<error line="868" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Boolean'." />
+		<error line="872" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Boolean'." />
+		<error line="872" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Boolean'." />
+		<error line="876" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Boolean'." />
+		<error line="876" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Boolean'." />
+		<error line="880" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Boolean'." />
+		<error line="880" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Boolean'." />
+		<error line="883" number="30452" message="Operator 'OrElse' is not defined for types 'String' and 'Char'." />
+		<error line="887" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Boolean'." />
+		<error line="887" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Boolean'." />
+		<error line="890" number="30452" message="Operator 'OrElse' is not defined for types 'String' and 'Date'." />
+		<error line="893" number="30452" message="Operator 'Or' is not defined for types 'String' and 'System.DBNull'." />
+		<error line="897" number="30038" message="Option Strict On prohibits operands of type Object for operator 'OrElse'." />
+	</test>
+	<test id="2977" name="OperatorIntrinsic_OrElse_DateTimeError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:DateTime_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicOrElse.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="900" number="30452" message="Operator 'OrElse' is not defined for types 'Date' and 'Boolean'." />
+		<error line="903" number="30452" message="Operator 'OrElse' is not defined for types 'Date' and 'Byte'." />
+		<error line="906" number="30452" message="Operator 'OrElse' is not defined for types 'Date' and 'SByte'." />
+		<error line="909" number="30452" message="Operator 'OrElse' is not defined for types 'Date' and 'Short'." />
+		<error line="912" number="30452" message="Operator 'OrElse' is not defined for types 'Date' and 'UShort'." />
+		<error line="915" number="30452" message="Operator 'OrElse' is not defined for types 'Date' and 'Integer'." />
+		<error line="918" number="30452" message="Operator 'OrElse' is not defined for types 'Date' and 'UInteger'." />
+		<error line="921" number="30452" message="Operator 'OrElse' is not defined for types 'Date' and 'Long'." />
+		<error line="924" number="30452" message="Operator 'OrElse' is not defined for types 'Date' and 'ULong'." />
+		<error line="927" number="30452" message="Operator 'OrElse' is not defined for types 'Date' and 'Decimal'." />
+		<error line="930" number="30452" message="Operator 'OrElse' is not defined for types 'Date' and 'Single'." />
+		<error line="933" number="30452" message="Operator 'OrElse' is not defined for types 'Date' and 'Double'." />
+		<error line="936" number="30452" message="Operator 'OrElse' is not defined for types 'Date' and 'Char'." />
+		<error line="939" number="30452" message="Operator 'OrElse' is not defined for types 'Date' and 'String'." />
+		<error line="942" number="30452" message="Operator 'OrElse' is not defined for types 'Date' and 'Date'." />
+		<error line="945" number="30452" message="Operator 'Or' is not defined for types 'Date' and 'System.DBNull'." />
+		<error line="948" number="30452" message="Operator 'OrElse' is not defined for types 'Date' and 'Object'." />
+	</test>
+	<test id="2978" name="OperatorIntrinsic_OrElse_DateTimeStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:DateTime_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicOrElse.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="900" number="30452" message="Operator 'OrElse' is not defined for types 'Date' and 'Boolean'." />
+		<error line="903" number="30452" message="Operator 'OrElse' is not defined for types 'Date' and 'Byte'." />
+		<error line="906" number="30452" message="Operator 'OrElse' is not defined for types 'Date' and 'SByte'." />
+		<error line="909" number="30452" message="Operator 'OrElse' is not defined for types 'Date' and 'Short'." />
+		<error line="912" number="30452" message="Operator 'OrElse' is not defined for types 'Date' and 'UShort'." />
+		<error line="915" number="30452" message="Operator 'OrElse' is not defined for types 'Date' and 'Integer'." />
+		<error line="918" number="30452" message="Operator 'OrElse' is not defined for types 'Date' and 'UInteger'." />
+		<error line="921" number="30452" message="Operator 'OrElse' is not defined for types 'Date' and 'Long'." />
+		<error line="924" number="30452" message="Operator 'OrElse' is not defined for types 'Date' and 'ULong'." />
+		<error line="927" number="30452" message="Operator 'OrElse' is not defined for types 'Date' and 'Decimal'." />
+		<error line="930" number="30452" message="Operator 'OrElse' is not defined for types 'Date' and 'Single'." />
+		<error line="933" number="30452" message="Operator 'OrElse' is not defined for types 'Date' and 'Double'." />
+		<error line="936" number="30452" message="Operator 'OrElse' is not defined for types 'Date' and 'Char'." />
+		<error line="939" number="30452" message="Operator 'OrElse' is not defined for types 'Date' and 'String'." />
+		<error line="942" number="30452" message="Operator 'OrElse' is not defined for types 'Date' and 'Date'." />
+		<error line="945" number="30452" message="Operator 'Or' is not defined for types 'Date' and 'System.DBNull'." />
+		<error line="948" number="30452" message="Operator 'OrElse' is not defined for types 'Date' and 'Object'." />
+	</test>
+	<test id="2979" name="OperatorIntrinsic_OrElse_DBNullError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:DBNull_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicOrElse.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="951" number="30452" message="Operator 'Or' is not defined for types 'System.DBNull' and 'Boolean'." />
+		<error line="954" number="30452" message="Operator 'Or' is not defined for types 'System.DBNull' and 'Byte'." />
+		<error line="957" number="30452" message="Operator 'Or' is not defined for types 'System.DBNull' and 'SByte'." />
+		<error line="960" number="30452" message="Operator 'Or' is not defined for types 'System.DBNull' and 'Short'." />
+		<error line="963" number="30452" message="Operator 'Or' is not defined for types 'System.DBNull' and 'UShort'." />
+		<error line="966" number="30452" message="Operator 'Or' is not defined for types 'System.DBNull' and 'Integer'." />
+		<error line="969" number="30452" message="Operator 'Or' is not defined for types 'System.DBNull' and 'UInteger'." />
+		<error line="972" number="30452" message="Operator 'Or' is not defined for types 'System.DBNull' and 'Long'." />
+		<error line="975" number="30452" message="Operator 'Or' is not defined for types 'System.DBNull' and 'ULong'." />
+		<error line="978" number="30452" message="Operator 'Or' is not defined for types 'System.DBNull' and 'Decimal'." />
+		<error line="981" number="30452" message="Operator 'Or' is not defined for types 'System.DBNull' and 'Single'." />
+		<error line="984" number="30452" message="Operator 'Or' is not defined for types 'System.DBNull' and 'Double'." />
+		<error line="987" number="30452" message="Operator 'Or' is not defined for types 'System.DBNull' and 'Char'." />
+		<error line="990" number="30452" message="Operator 'Or' is not defined for types 'System.DBNull' and 'String'." />
+		<error line="993" number="30452" message="Operator 'Or' is not defined for types 'System.DBNull' and 'Date'." />
+		<error line="996" number="30452" message="Operator 'Or' is not defined for types 'System.DBNull' and 'System.DBNull'." />
+		<error line="999" number="30452" message="Operator 'Or' is not defined for types 'System.DBNull' and 'Object'." />
+	</test>
+	<test id="2980" name="OperatorIntrinsic_OrElse_DBNullStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:DBNull_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicOrElse.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="951" number="30452" message="Operator 'Or' is not defined for types 'System.DBNull' and 'Boolean'." />
+		<error line="954" number="30452" message="Operator 'Or' is not defined for types 'System.DBNull' and 'Byte'." />
+		<error line="957" number="30452" message="Operator 'Or' is not defined for types 'System.DBNull' and 'SByte'." />
+		<error line="960" number="30452" message="Operator 'Or' is not defined for types 'System.DBNull' and 'Short'." />
+		<error line="963" number="30452" message="Operator 'Or' is not defined for types 'System.DBNull' and 'UShort'." />
+		<error line="966" number="30452" message="Operator 'Or' is not defined for types 'System.DBNull' and 'Integer'." />
+		<error line="969" number="30452" message="Operator 'Or' is not defined for types 'System.DBNull' and 'UInteger'." />
+		<error line="972" number="30452" message="Operator 'Or' is not defined for types 'System.DBNull' and 'Long'." />
+		<error line="975" number="30452" message="Operator 'Or' is not defined for types 'System.DBNull' and 'ULong'." />
+		<error line="978" number="30452" message="Operator 'Or' is not defined for types 'System.DBNull' and 'Decimal'." />
+		<error line="981" number="30452" message="Operator 'Or' is not defined for types 'System.DBNull' and 'Single'." />
+		<error line="984" number="30452" message="Operator 'Or' is not defined for types 'System.DBNull' and 'Double'." />
+		<error line="987" number="30452" message="Operator 'Or' is not defined for types 'System.DBNull' and 'Char'." />
+		<error line="990" number="30452" message="Operator 'Or' is not defined for types 'System.DBNull' and 'String'." />
+		<error line="993" number="30452" message="Operator 'Or' is not defined for types 'System.DBNull' and 'Date'." />
+		<error line="996" number="30452" message="Operator 'Or' is not defined for types 'System.DBNull' and 'System.DBNull'." />
+		<error line="999" number="30452" message="Operator 'Or' is not defined for types 'System.DBNull' and 'Object'." />
+	</test>
+	<test id="2981" name="OperatorIntrinsic_OrElse_ObjectError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Object_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicOrElse.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="1050" number="30452" message="Operator 'OrElse' is not defined for types 'Object' and 'Char'." />
+		<error line="1057" number="30452" message="Operator 'OrElse' is not defined for types 'Object' and 'Date'." />
+		<error line="1060" number="30452" message="Operator 'Or' is not defined for types 'Object' and 'System.DBNull'." />
+	</test>
+	<test id="2982" name="OperatorIntrinsic_OrElse_ObjectStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Object_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicOrElse.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="1003" number="30038" message="Option Strict On prohibits operands of type Object for operator 'OrElse'." />
+		<error line="1007" number="30038" message="Option Strict On prohibits operands of type Object for operator 'OrElse'." />
+		<error line="1011" number="30038" message="Option Strict On prohibits operands of type Object for operator 'OrElse'." />
+		<error line="1015" number="30038" message="Option Strict On prohibits operands of type Object for operator 'OrElse'." />
+		<error line="1019" number="30038" message="Option Strict On prohibits operands of type Object for operator 'OrElse'." />
+		<error line="1023" number="30038" message="Option Strict On prohibits operands of type Object for operator 'OrElse'." />
+		<error line="1027" number="30038" message="Option Strict On prohibits operands of type Object for operator 'OrElse'." />
+		<error line="1031" number="30038" message="Option Strict On prohibits operands of type Object for operator 'OrElse'." />
+		<error line="1035" number="30038" message="Option Strict On prohibits operands of type Object for operator 'OrElse'." />
+		<error line="1039" number="30038" message="Option Strict On prohibits operands of type Object for operator 'OrElse'." />
+		<error line="1043" number="30038" message="Option Strict On prohibits operands of type Object for operator 'OrElse'." />
+		<error line="1047" number="30038" message="Option Strict On prohibits operands of type Object for operator 'OrElse'." />
+		<error line="1050" number="30452" message="Operator 'OrElse' is not defined for types 'Object' and 'Char'." />
+		<error line="1054" number="30038" message="Option Strict On prohibits operands of type Object for operator 'OrElse'." />
+		<error line="1057" number="30452" message="Operator 'OrElse' is not defined for types 'Object' and 'Date'." />
+		<error line="1060" number="30452" message="Operator 'Or' is not defined for types 'Object' and 'System.DBNull'." />
+		<error line="1064" number="30038" message="Option Strict On prohibits operands of type Object for operator 'OrElse'." />
+		<error line="1064" number="30038" message="Option Strict On prohibits operands of type Object for operator 'OrElse'." />
+	</test>
+	<test id="2983" name="OperatorIntrinsic_Or_" target="exe" mytype="empty">
+		<file>CompileTime2\OperatorIntrinsicOr.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+	</test>
+	<test id="2984" name="OperatorIntrinsic_Or_Strict" mytype="empty">
+		<arguments>/optionstrict+ /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicOr.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+	</test>
+	<test id="2985" name="OperatorIntrinsic_Or_BooleanError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Boolean_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicOr.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="42" number="30452" message="Operator 'Or' is not defined for types 'Boolean' and 'Char'." />
+		<error line="48" number="30452" message="Operator 'Or' is not defined for types 'Boolean' and 'Date'." />
+		<error line="51" number="30452" message="Operator 'Or' is not defined for types 'Boolean' and 'System.DBNull'." />
+	</test>
+	<test id="2986" name="OperatorIntrinsic_Or_BooleanStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Boolean_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicOr.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="9" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<error line="12" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'SByte'." />
+		<error line="15" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<error line="18" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Integer'." />
+		<error line="21" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Integer'." />
+		<error line="24" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Long'." />
+		<error line="27" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Long'." />
+		<error line="30" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Long'." />
+		<error line="30" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Long'." />
+		<error line="33" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Long'." />
+		<error line="33" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="36" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Long'." />
+		<error line="36" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="39" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Long'." />
+		<error line="39" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="42" number="30452" message="Operator 'Or' is not defined for types 'Boolean' and 'Char'." />
+		<error line="45" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Boolean'." />
+		<error line="48" number="30452" message="Operator 'Or' is not defined for types 'Boolean' and 'Date'." />
+		<error line="51" number="30452" message="Operator 'Or' is not defined for types 'Boolean' and 'System.DBNull'." />
+		<error line="54" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Or'." />
+	</test>
+	<test id="2987" name="OperatorIntrinsic_Or_ByteError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Byte_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicOr.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="92" number="30452" message="Operator 'Or' is not defined for types 'Byte' and 'Char'." />
+		<error line="98" number="30452" message="Operator 'Or' is not defined for types 'Byte' and 'Date'." />
+		<error line="101" number="30452" message="Operator 'Or' is not defined for types 'Byte' and 'System.DBNull'." />
+	</test>
+	<test id="2988" name="OperatorIntrinsic_Or_ByteStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Byte_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicOr.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="57" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<error line="83" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="86" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="89" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="92" number="30452" message="Operator 'Or' is not defined for types 'Byte' and 'Char'." />
+		<error line="95" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="98" number="30452" message="Operator 'Or' is not defined for types 'Byte' and 'Date'." />
+		<error line="101" number="30452" message="Operator 'Or' is not defined for types 'Byte' and 'System.DBNull'." />
+		<error line="104" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Or'." />
+	</test>
+	<test id="2989" name="OperatorIntrinsic_Or_SByteError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:SByte_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicOr.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="143" number="30452" message="Operator 'Or' is not defined for types 'SByte' and 'Char'." />
+		<error line="149" number="30452" message="Operator 'Or' is not defined for types 'SByte' and 'Date'." />
+		<error line="152" number="30452" message="Operator 'Or' is not defined for types 'SByte' and 'System.DBNull'." />
+	</test>
+	<test id="2990" name="OperatorIntrinsic_Or_SByteStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:SByte_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicOr.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="107" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'SByte'." />
+		<error line="131" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Long'." />
+		<error line="134" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="137" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="140" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="143" number="30452" message="Operator 'Or' is not defined for types 'SByte' and 'Char'." />
+		<error line="146" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="149" number="30452" message="Operator 'Or' is not defined for types 'SByte' and 'Date'." />
+		<error line="152" number="30452" message="Operator 'Or' is not defined for types 'SByte' and 'System.DBNull'." />
+		<error line="155" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Or'." />
+	</test>
+	<test id="2991" name="OperatorIntrinsic_Or_Int16Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Int16_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicOr.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="194" number="30452" message="Operator 'Or' is not defined for types 'Short' and 'Char'." />
+		<error line="200" number="30452" message="Operator 'Or' is not defined for types 'Short' and 'Date'." />
+		<error line="203" number="30452" message="Operator 'Or' is not defined for types 'Short' and 'System.DBNull'." />
+	</test>
+	<test id="2992" name="OperatorIntrinsic_Or_Int16StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Int16_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicOr.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="158" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<error line="182" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Long'." />
+		<error line="185" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="188" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="191" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="194" number="30452" message="Operator 'Or' is not defined for types 'Short' and 'Char'." />
+		<error line="197" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="200" number="30452" message="Operator 'Or' is not defined for types 'Short' and 'Date'." />
+		<error line="203" number="30452" message="Operator 'Or' is not defined for types 'Short' and 'System.DBNull'." />
+		<error line="206" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Or'." />
+	</test>
+	<test id="2993" name="OperatorIntrinsic_Or_UInt16Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:UInt16_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicOr.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="243" number="30452" message="Operator 'Or' is not defined for types 'UShort' and 'Char'." />
+		<error line="249" number="30452" message="Operator 'Or' is not defined for types 'UShort' and 'Date'." />
+		<error line="252" number="30452" message="Operator 'Or' is not defined for types 'UShort' and 'System.DBNull'." />
+	</test>
+	<test id="2994" name="OperatorIntrinsic_Or_UInt16StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:UInt16_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicOr.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="209" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Integer'." />
+		<error line="234" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="237" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="240" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="243" number="30452" message="Operator 'Or' is not defined for types 'UShort' and 'Char'." />
+		<error line="246" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="249" number="30452" message="Operator 'Or' is not defined for types 'UShort' and 'Date'." />
+		<error line="252" number="30452" message="Operator 'Or' is not defined for types 'UShort' and 'System.DBNull'." />
+		<error line="255" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Or'." />
+	</test>
+	<test id="2995" name="OperatorIntrinsic_Or_Int32Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Int32_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicOr.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="294" number="30452" message="Operator 'Or' is not defined for types 'Integer' and 'Char'." />
+		<error line="300" number="30452" message="Operator 'Or' is not defined for types 'Integer' and 'Date'." />
+		<error line="303" number="30452" message="Operator 'Or' is not defined for types 'Integer' and 'System.DBNull'." />
+	</test>
+	<test id="2996" name="OperatorIntrinsic_Or_Int32StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Int32_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicOr.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="258" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Integer'." />
+		<error line="282" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Long'." />
+		<error line="285" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="288" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="291" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="294" number="30452" message="Operator 'Or' is not defined for types 'Integer' and 'Char'." />
+		<error line="297" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="300" number="30452" message="Operator 'Or' is not defined for types 'Integer' and 'Date'." />
+		<error line="303" number="30452" message="Operator 'Or' is not defined for types 'Integer' and 'System.DBNull'." />
+		<error line="306" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Or'." />
+	</test>
+	<test id="2997" name="OperatorIntrinsic_Or_UInt32Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:UInt32_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicOr.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="345" number="30452" message="Operator 'Or' is not defined for types 'UInteger' and 'Char'." />
+		<error line="351" number="30452" message="Operator 'Or' is not defined for types 'UInteger' and 'Date'." />
+		<error line="354" number="30452" message="Operator 'Or' is not defined for types 'UInteger' and 'System.DBNull'." />
+	</test>
+	<test id="2998" name="OperatorIntrinsic_Or_UInt32StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:UInt32_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicOr.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="309" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Long'." />
+		<error line="336" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="339" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="342" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="345" number="30452" message="Operator 'Or' is not defined for types 'UInteger' and 'Char'." />
+		<error line="348" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="351" number="30452" message="Operator 'Or' is not defined for types 'UInteger' and 'Date'." />
+		<error line="354" number="30452" message="Operator 'Or' is not defined for types 'UInteger' and 'System.DBNull'." />
+		<error line="357" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Or'." />
+	</test>
+	<test id="2999" name="OperatorIntrinsic_Or_Int64Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Int64_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicOr.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="396" number="30452" message="Operator 'Or' is not defined for types 'Long' and 'Char'." />
+		<error line="402" number="30452" message="Operator 'Or' is not defined for types 'Long' and 'Date'." />
+		<error line="405" number="30452" message="Operator 'Or' is not defined for types 'Long' and 'System.DBNull'." />
+	</test>
+	<test id="3000" name="OperatorIntrinsic_Or_Int64StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Int64_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicOr.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="360" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Long'." />
+		<error line="384" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Long'." />
+		<error line="387" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="390" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="393" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="396" number="30452" message="Operator 'Or' is not defined for types 'Long' and 'Char'." />
+		<error line="399" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="402" number="30452" message="Operator 'Or' is not defined for types 'Long' and 'Date'." />
+		<error line="405" number="30452" message="Operator 'Or' is not defined for types 'Long' and 'System.DBNull'." />
+		<error line="408" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Or'." />
+	</test>
+	<test id="3001" name="OperatorIntrinsic_Or_UInt64Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:UInt64_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicOr.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="447" number="30452" message="Operator 'Or' is not defined for types 'ULong' and 'Char'." />
+		<error line="453" number="30452" message="Operator 'Or' is not defined for types 'ULong' and 'Date'." />
+		<error line="456" number="30452" message="Operator 'Or' is not defined for types 'ULong' and 'System.DBNull'." />
+	</test>
+	<test id="3002" name="OperatorIntrinsic_Or_UInt64StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:UInt64_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicOr.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="411" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Long'." />
+		<error line="411" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Long'." />
+		<error line="417" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Long'." />
+		<error line="420" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Long'." />
+		<error line="426" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Long'." />
+		<error line="432" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Long'." />
+		<error line="438" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Long'." />
+		<error line="438" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="441" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Long'." />
+		<error line="441" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="444" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Long'." />
+		<error line="444" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="447" number="30452" message="Operator 'Or' is not defined for types 'ULong' and 'Char'." />
+		<error line="450" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Long'." />
+		<error line="450" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="453" number="30452" message="Operator 'Or' is not defined for types 'ULong' and 'Date'." />
+		<error line="456" number="30452" message="Operator 'Or' is not defined for types 'ULong' and 'System.DBNull'." />
+		<error line="459" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Or'." />
+	</test>
+	<test id="3003" name="OperatorIntrinsic_Or_DecimalError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Decimal_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicOr.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="498" number="30452" message="Operator 'Or' is not defined for types 'Decimal' and 'Char'." />
+		<error line="504" number="30452" message="Operator 'Or' is not defined for types 'Decimal' and 'Date'." />
+		<error line="507" number="30452" message="Operator 'Or' is not defined for types 'Decimal' and 'System.DBNull'." />
+	</test>
+	<test id="3004" name="OperatorIntrinsic_Or_DecimalStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Decimal_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicOr.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="462" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="462" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Long'." />
+		<error line="465" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="468" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="471" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="474" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="477" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="480" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="483" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="486" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="486" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Long'." />
+		<error line="489" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="489" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="492" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="492" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="495" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="495" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="498" number="30452" message="Operator 'Or' is not defined for types 'Decimal' and 'Char'." />
+		<error line="501" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="501" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="504" number="30452" message="Operator 'Or' is not defined for types 'Decimal' and 'Date'." />
+		<error line="507" number="30452" message="Operator 'Or' is not defined for types 'Decimal' and 'System.DBNull'." />
+		<error line="510" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Or'." />
+	</test>
+	<test id="3005" name="OperatorIntrinsic_Or_SingleError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Single_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicOr.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="549" number="30452" message="Operator 'Or' is not defined for types 'Single' and 'Char'." />
+		<error line="555" number="30452" message="Operator 'Or' is not defined for types 'Single' and 'Date'." />
+		<error line="558" number="30452" message="Operator 'Or' is not defined for types 'Single' and 'System.DBNull'." />
+	</test>
+	<test id="3006" name="OperatorIntrinsic_Or_SingleStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Single_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicOr.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="513" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="513" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Long'." />
+		<error line="516" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="519" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="522" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="525" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="528" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="531" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="534" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="537" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="537" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Long'." />
+		<error line="540" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="540" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="543" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="543" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="546" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="546" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="549" number="30452" message="Operator 'Or' is not defined for types 'Single' and 'Char'." />
+		<error line="552" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="552" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="555" number="30452" message="Operator 'Or' is not defined for types 'Single' and 'Date'." />
+		<error line="558" number="30452" message="Operator 'Or' is not defined for types 'Single' and 'System.DBNull'." />
+		<error line="561" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Or'." />
+	</test>
+	<test id="3007" name="OperatorIntrinsic_Or_DoubleError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Double_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicOr.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="600" number="30452" message="Operator 'Or' is not defined for types 'Double' and 'Char'." />
+		<error line="606" number="30452" message="Operator 'Or' is not defined for types 'Double' and 'Date'." />
+		<error line="609" number="30452" message="Operator 'Or' is not defined for types 'Double' and 'System.DBNull'." />
+	</test>
+	<test id="3008" name="OperatorIntrinsic_Or_DoubleStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Double_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicOr.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="564" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="564" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Long'." />
+		<error line="567" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="570" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="573" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="576" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="579" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="582" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="585" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="588" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="588" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Long'." />
+		<error line="591" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="591" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="594" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="594" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="597" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="597" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="600" number="30452" message="Operator 'Or' is not defined for types 'Double' and 'Char'." />
+		<error line="603" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="603" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="606" number="30452" message="Operator 'Or' is not defined for types 'Double' and 'Date'." />
+		<error line="609" number="30452" message="Operator 'Or' is not defined for types 'Double' and 'System.DBNull'." />
+		<error line="612" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Or'." />
+	</test>
+	<test id="3009" name="OperatorIntrinsic_Or_CharError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Char_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicOr.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="615" number="30452" message="Operator 'Or' is not defined for types 'Char' and 'Boolean'." />
+		<error line="618" number="30452" message="Operator 'Or' is not defined for types 'Char' and 'Byte'." />
+		<error line="621" number="30452" message="Operator 'Or' is not defined for types 'Char' and 'SByte'." />
+		<error line="624" number="30452" message="Operator 'Or' is not defined for types 'Char' and 'Short'." />
+		<error line="627" number="30452" message="Operator 'Or' is not defined for types 'Char' and 'UShort'." />
+		<error line="630" number="30452" message="Operator 'Or' is not defined for types 'Char' and 'Integer'." />
+		<error line="633" number="30452" message="Operator 'Or' is not defined for types 'Char' and 'UInteger'." />
+		<error line="636" number="30452" message="Operator 'Or' is not defined for types 'Char' and 'Long'." />
+		<error line="639" number="30452" message="Operator 'Or' is not defined for types 'Char' and 'ULong'." />
+		<error line="642" number="30452" message="Operator 'Or' is not defined for types 'Char' and 'Decimal'." />
+		<error line="645" number="30452" message="Operator 'Or' is not defined for types 'Char' and 'Single'." />
+		<error line="648" number="30452" message="Operator 'Or' is not defined for types 'Char' and 'Double'." />
+		<error line="651" number="30452" message="Operator 'Or' is not defined for types 'Char' and 'Char'." />
+		<error line="654" number="30452" message="Operator 'Or' is not defined for types 'Char' and 'String'." />
+		<error line="657" number="30452" message="Operator 'Or' is not defined for types 'Char' and 'Date'." />
+		<error line="660" number="30452" message="Operator 'Or' is not defined for types 'Char' and 'System.DBNull'." />
+		<error line="663" number="30452" message="Operator 'Or' is not defined for types 'Char' and 'Object'." />
+	</test>
+	<test id="3010" name="OperatorIntrinsic_Or_CharStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Char_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicOr.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="615" number="30452" message="Operator 'Or' is not defined for types 'Char' and 'Boolean'." />
+		<error line="618" number="30452" message="Operator 'Or' is not defined for types 'Char' and 'Byte'." />
+		<error line="621" number="30452" message="Operator 'Or' is not defined for types 'Char' and 'SByte'." />
+		<error line="624" number="30452" message="Operator 'Or' is not defined for types 'Char' and 'Short'." />
+		<error line="627" number="30452" message="Operator 'Or' is not defined for types 'Char' and 'UShort'." />
+		<error line="630" number="30452" message="Operator 'Or' is not defined for types 'Char' and 'Integer'." />
+		<error line="633" number="30452" message="Operator 'Or' is not defined for types 'Char' and 'UInteger'." />
+		<error line="636" number="30452" message="Operator 'Or' is not defined for types 'Char' and 'Long'." />
+		<error line="639" number="30452" message="Operator 'Or' is not defined for types 'Char' and 'ULong'." />
+		<error line="642" number="30452" message="Operator 'Or' is not defined for types 'Char' and 'Decimal'." />
+		<error line="645" number="30452" message="Operator 'Or' is not defined for types 'Char' and 'Single'." />
+		<error line="648" number="30452" message="Operator 'Or' is not defined for types 'Char' and 'Double'." />
+		<error line="651" number="30452" message="Operator 'Or' is not defined for types 'Char' and 'Char'." />
+		<error line="654" number="30452" message="Operator 'Or' is not defined for types 'Char' and 'String'." />
+		<error line="657" number="30452" message="Operator 'Or' is not defined for types 'Char' and 'Date'." />
+		<error line="660" number="30452" message="Operator 'Or' is not defined for types 'Char' and 'System.DBNull'." />
+		<error line="663" number="30452" message="Operator 'Or' is not defined for types 'Char' and 'Object'." />
+	</test>
+	<test id="3011" name="OperatorIntrinsic_Or_StringError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:String_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicOr.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="702" number="30452" message="Operator 'Or' is not defined for types 'String' and 'Char'." />
+		<error line="708" number="30452" message="Operator 'Or' is not defined for types 'String' and 'Date'." />
+		<error line="711" number="30452" message="Operator 'Or' is not defined for types 'String' and 'System.DBNull'." />
+	</test>
+	<test id="3012" name="OperatorIntrinsic_Or_StringStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:String_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicOr.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="666" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Boolean'." />
+		<error line="669" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="672" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="675" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="678" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="681" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="684" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="687" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="690" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="690" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Long'." />
+		<error line="693" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="693" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="696" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="696" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="699" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="699" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="702" number="30452" message="Operator 'Or' is not defined for types 'String' and 'Char'." />
+		<error line="705" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="705" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="708" number="30452" message="Operator 'Or' is not defined for types 'String' and 'Date'." />
+		<error line="711" number="30452" message="Operator 'Or' is not defined for types 'String' and 'System.DBNull'." />
+		<error line="714" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Or'." />
+	</test>
+	<test id="3013" name="OperatorIntrinsic_Or_DateTimeError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:DateTime_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicOr.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="717" number="30452" message="Operator 'Or' is not defined for types 'Date' and 'Boolean'." />
+		<error line="720" number="30452" message="Operator 'Or' is not defined for types 'Date' and 'Byte'." />
+		<error line="723" number="30452" message="Operator 'Or' is not defined for types 'Date' and 'SByte'." />
+		<error line="726" number="30452" message="Operator 'Or' is not defined for types 'Date' and 'Short'." />
+		<error line="729" number="30452" message="Operator 'Or' is not defined for types 'Date' and 'UShort'." />
+		<error line="732" number="30452" message="Operator 'Or' is not defined for types 'Date' and 'Integer'." />
+		<error line="735" number="30452" message="Operator 'Or' is not defined for types 'Date' and 'UInteger'." />
+		<error line="738" number="30452" message="Operator 'Or' is not defined for types 'Date' and 'Long'." />
+		<error line="741" number="30452" message="Operator 'Or' is not defined for types 'Date' and 'ULong'." />
+		<error line="744" number="30452" message="Operator 'Or' is not defined for types 'Date' and 'Decimal'." />
+		<error line="747" number="30452" message="Operator 'Or' is not defined for types 'Date' and 'Single'." />
+		<error line="750" number="30452" message="Operator 'Or' is not defined for types 'Date' and 'Double'." />
+		<error line="753" number="30452" message="Operator 'Or' is not defined for types 'Date' and 'Char'." />
+		<error line="756" number="30452" message="Operator 'Or' is not defined for types 'Date' and 'String'." />
+		<error line="759" number="30452" message="Operator 'Or' is not defined for types 'Date' and 'Date'." />
+		<error line="762" number="30452" message="Operator 'Or' is not defined for types 'Date' and 'System.DBNull'." />
+		<error line="765" number="30452" message="Operator 'Or' is not defined for types 'Date' and 'Object'." />
+	</test>
+	<test id="3014" name="OperatorIntrinsic_Or_DateTimeStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:DateTime_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicOr.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="717" number="30452" message="Operator 'Or' is not defined for types 'Date' and 'Boolean'." />
+		<error line="720" number="30452" message="Operator 'Or' is not defined for types 'Date' and 'Byte'." />
+		<error line="723" number="30452" message="Operator 'Or' is not defined for types 'Date' and 'SByte'." />
+		<error line="726" number="30452" message="Operator 'Or' is not defined for types 'Date' and 'Short'." />
+		<error line="729" number="30452" message="Operator 'Or' is not defined for types 'Date' and 'UShort'." />
+		<error line="732" number="30452" message="Operator 'Or' is not defined for types 'Date' and 'Integer'." />
+		<error line="735" number="30452" message="Operator 'Or' is not defined for types 'Date' and 'UInteger'." />
+		<error line="738" number="30452" message="Operator 'Or' is not defined for types 'Date' and 'Long'." />
+		<error line="741" number="30452" message="Operator 'Or' is not defined for types 'Date' and 'ULong'." />
+		<error line="744" number="30452" message="Operator 'Or' is not defined for types 'Date' and 'Decimal'." />
+		<error line="747" number="30452" message="Operator 'Or' is not defined for types 'Date' and 'Single'." />
+		<error line="750" number="30452" message="Operator 'Or' is not defined for types 'Date' and 'Double'." />
+		<error line="753" number="30452" message="Operator 'Or' is not defined for types 'Date' and 'Char'." />
+		<error line="756" number="30452" message="Operator 'Or' is not defined for types 'Date' and 'String'." />
+		<error line="759" number="30452" message="Operator 'Or' is not defined for types 'Date' and 'Date'." />
+		<error line="762" number="30452" message="Operator 'Or' is not defined for types 'Date' and 'System.DBNull'." />
+		<error line="765" number="30452" message="Operator 'Or' is not defined for types 'Date' and 'Object'." />
+	</test>
+	<test id="3015" name="OperatorIntrinsic_Or_DBNullError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:DBNull_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicOr.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="768" number="30452" message="Operator 'Or' is not defined for types 'System.DBNull' and 'Boolean'." />
+		<error line="771" number="30452" message="Operator 'Or' is not defined for types 'System.DBNull' and 'Byte'." />
+		<error line="774" number="30452" message="Operator 'Or' is not defined for types 'System.DBNull' and 'SByte'." />
+		<error line="777" number="30452" message="Operator 'Or' is not defined for types 'System.DBNull' and 'Short'." />
+		<error line="780" number="30452" message="Operator 'Or' is not defined for types 'System.DBNull' and 'UShort'." />
+		<error line="783" number="30452" message="Operator 'Or' is not defined for types 'System.DBNull' and 'Integer'." />
+		<error line="786" number="30452" message="Operator 'Or' is not defined for types 'System.DBNull' and 'UInteger'." />
+		<error line="789" number="30452" message="Operator 'Or' is not defined for types 'System.DBNull' and 'Long'." />
+		<error line="792" number="30452" message="Operator 'Or' is not defined for types 'System.DBNull' and 'ULong'." />
+		<error line="795" number="30452" message="Operator 'Or' is not defined for types 'System.DBNull' and 'Decimal'." />
+		<error line="798" number="30452" message="Operator 'Or' is not defined for types 'System.DBNull' and 'Single'." />
+		<error line="801" number="30452" message="Operator 'Or' is not defined for types 'System.DBNull' and 'Double'." />
+		<error line="804" number="30452" message="Operator 'Or' is not defined for types 'System.DBNull' and 'Char'." />
+		<error line="807" number="30452" message="Operator 'Or' is not defined for types 'System.DBNull' and 'String'." />
+		<error line="810" number="30452" message="Operator 'Or' is not defined for types 'System.DBNull' and 'Date'." />
+		<error line="813" number="30452" message="Operator 'Or' is not defined for types 'System.DBNull' and 'System.DBNull'." />
+		<error line="816" number="30452" message="Operator 'Or' is not defined for types 'System.DBNull' and 'Object'." />
+	</test>
+	<test id="3016" name="OperatorIntrinsic_Or_DBNullStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:DBNull_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicOr.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="768" number="30452" message="Operator 'Or' is not defined for types 'System.DBNull' and 'Boolean'." />
+		<error line="771" number="30452" message="Operator 'Or' is not defined for types 'System.DBNull' and 'Byte'." />
+		<error line="774" number="30452" message="Operator 'Or' is not defined for types 'System.DBNull' and 'SByte'." />
+		<error line="777" number="30452" message="Operator 'Or' is not defined for types 'System.DBNull' and 'Short'." />
+		<error line="780" number="30452" message="Operator 'Or' is not defined for types 'System.DBNull' and 'UShort'." />
+		<error line="783" number="30452" message="Operator 'Or' is not defined for types 'System.DBNull' and 'Integer'." />
+		<error line="786" number="30452" message="Operator 'Or' is not defined for types 'System.DBNull' and 'UInteger'." />
+		<error line="789" number="30452" message="Operator 'Or' is not defined for types 'System.DBNull' and 'Long'." />
+		<error line="792" number="30452" message="Operator 'Or' is not defined for types 'System.DBNull' and 'ULong'." />
+		<error line="795" number="30452" message="Operator 'Or' is not defined for types 'System.DBNull' and 'Decimal'." />
+		<error line="798" number="30452" message="Operator 'Or' is not defined for types 'System.DBNull' and 'Single'." />
+		<error line="801" number="30452" message="Operator 'Or' is not defined for types 'System.DBNull' and 'Double'." />
+		<error line="804" number="30452" message="Operator 'Or' is not defined for types 'System.DBNull' and 'Char'." />
+		<error line="807" number="30452" message="Operator 'Or' is not defined for types 'System.DBNull' and 'String'." />
+		<error line="810" number="30452" message="Operator 'Or' is not defined for types 'System.DBNull' and 'Date'." />
+		<error line="813" number="30452" message="Operator 'Or' is not defined for types 'System.DBNull' and 'System.DBNull'." />
+		<error line="816" number="30452" message="Operator 'Or' is not defined for types 'System.DBNull' and 'Object'." />
+	</test>
+	<test id="3017" name="OperatorIntrinsic_Or_ObjectError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Object_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicOr.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="855" number="30452" message="Operator 'Or' is not defined for types 'Object' and 'Char'." />
+		<error line="861" number="30452" message="Operator 'Or' is not defined for types 'Object' and 'Date'." />
+		<error line="864" number="30452" message="Operator 'Or' is not defined for types 'Object' and 'System.DBNull'." />
+	</test>
+	<test id="3018" name="OperatorIntrinsic_Or_ObjectStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Object_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicOr.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="819" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Or'." />
+		<error line="822" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Or'." />
+		<error line="825" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Or'." />
+		<error line="828" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Or'." />
+		<error line="831" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Or'." />
+		<error line="834" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Or'." />
+		<error line="837" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Or'." />
+		<error line="840" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Or'." />
+		<error line="843" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Or'." />
+		<error line="846" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Or'." />
+		<error line="849" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Or'." />
+		<error line="852" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Or'." />
+		<error line="855" number="30452" message="Operator 'Or' is not defined for types 'Object' and 'Char'." />
+		<error line="858" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Or'." />
+		<error line="861" number="30452" message="Operator 'Or' is not defined for types 'Object' and 'Date'." />
+		<error line="864" number="30452" message="Operator 'Or' is not defined for types 'Object' and 'System.DBNull'." />
+		<error line="867" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Or'." />
+		<error line="867" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Or'." />
+	</test>
+	<test id="3019" name="OperatorIntrinsic_RealDivision_" target="exe" mytype="empty">
+		<file>CompileTime2\OperatorIntrinsicRealDivision.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+	</test>
+	<test id="3020" name="OperatorIntrinsic_RealDivision_Strict" mytype="empty">
+		<arguments>/optionstrict+ /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicRealDivision.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+	</test>
+	<test id="3021" name="OperatorIntrinsic_RealDivision_BooleanError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Boolean_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicRealDivision.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="54" number="30452" message="Operator '/' is not defined for types 'Boolean' and 'Char'." />
+		<error line="61" number="30452" message="Operator '/' is not defined for types 'Boolean' and 'Date'." />
+		<error line="64" number="30452" message="Operator '/' is not defined for types 'Boolean' and 'System.DBNull'." />
+	</test>
+	<test id="3022" name="OperatorIntrinsic_RealDivision_BooleanStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Boolean_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicRealDivision.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="7" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Double'." />
+		<error line="7" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Double'." />
+		<error line="11" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Double'." />
+		<error line="15" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Double'." />
+		<error line="19" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Double'." />
+		<error line="23" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Double'." />
+		<error line="27" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Double'." />
+		<error line="31" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Double'." />
+		<error line="35" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Double'." />
+		<error line="39" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Double'." />
+		<error line="43" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Decimal'." />
+		<error line="47" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Single'." />
+		<error line="51" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Double'." />
+		<error line="54" number="30452" message="Operator '/' is not defined for types 'Boolean' and 'Char'." />
+		<error line="58" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Double'." />
+		<error line="58" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="61" number="30452" message="Operator '/' is not defined for types 'Boolean' and 'Date'." />
+		<error line="64" number="30452" message="Operator '/' is not defined for types 'Boolean' and 'System.DBNull'." />
+		<error line="68" number="30038" message="Option Strict On prohibits operands of type Object for operator '/'." />
+	</test>
+	<test id="3023" name="OperatorIntrinsic_RealDivision_ByteError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Byte_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicRealDivision.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="96" number="30452" message="Operator '/' is not defined for types 'Byte' and 'Char'." />
+		<error line="103" number="30452" message="Operator '/' is not defined for types 'Byte' and 'Date'." />
+		<error line="106" number="30452" message="Operator '/' is not defined for types 'Byte' and 'System.DBNull'." />
+	</test>
+	<test id="3024" name="OperatorIntrinsic_RealDivision_ByteStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Byte_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicRealDivision.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="71" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Double'." />
+		<error line="96" number="30452" message="Operator '/' is not defined for types 'Byte' and 'Char'." />
+		<error line="100" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="103" number="30452" message="Operator '/' is not defined for types 'Byte' and 'Date'." />
+		<error line="106" number="30452" message="Operator '/' is not defined for types 'Byte' and 'System.DBNull'." />
+		<error line="110" number="30038" message="Option Strict On prohibits operands of type Object for operator '/'." />
+	</test>
+	<test id="3025" name="OperatorIntrinsic_RealDivision_SByteError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:SByte_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicRealDivision.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="138" number="30452" message="Operator '/' is not defined for types 'SByte' and 'Char'." />
+		<error line="145" number="30452" message="Operator '/' is not defined for types 'SByte' and 'Date'." />
+		<error line="148" number="30452" message="Operator '/' is not defined for types 'SByte' and 'System.DBNull'." />
+	</test>
+	<test id="3026" name="OperatorIntrinsic_RealDivision_SByteStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:SByte_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicRealDivision.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="113" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Double'." />
+		<error line="138" number="30452" message="Operator '/' is not defined for types 'SByte' and 'Char'." />
+		<error line="142" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="145" number="30452" message="Operator '/' is not defined for types 'SByte' and 'Date'." />
+		<error line="148" number="30452" message="Operator '/' is not defined for types 'SByte' and 'System.DBNull'." />
+		<error line="152" number="30038" message="Option Strict On prohibits operands of type Object for operator '/'." />
+	</test>
+	<test id="3027" name="OperatorIntrinsic_RealDivision_Int16Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Int16_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicRealDivision.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="180" number="30452" message="Operator '/' is not defined for types 'Short' and 'Char'." />
+		<error line="187" number="30452" message="Operator '/' is not defined for types 'Short' and 'Date'." />
+		<error line="190" number="30452" message="Operator '/' is not defined for types 'Short' and 'System.DBNull'." />
+	</test>
+	<test id="3028" name="OperatorIntrinsic_RealDivision_Int16StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Int16_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicRealDivision.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="155" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Double'." />
+		<error line="180" number="30452" message="Operator '/' is not defined for types 'Short' and 'Char'." />
+		<error line="184" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="187" number="30452" message="Operator '/' is not defined for types 'Short' and 'Date'." />
+		<error line="190" number="30452" message="Operator '/' is not defined for types 'Short' and 'System.DBNull'." />
+		<error line="194" number="30038" message="Option Strict On prohibits operands of type Object for operator '/'." />
+	</test>
+	<test id="3029" name="OperatorIntrinsic_RealDivision_UInt16Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:UInt16_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicRealDivision.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="222" number="30452" message="Operator '/' is not defined for types 'UShort' and 'Char'." />
+		<error line="229" number="30452" message="Operator '/' is not defined for types 'UShort' and 'Date'." />
+		<error line="232" number="30452" message="Operator '/' is not defined for types 'UShort' and 'System.DBNull'." />
+	</test>
+	<test id="3030" name="OperatorIntrinsic_RealDivision_UInt16StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:UInt16_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicRealDivision.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="197" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Double'." />
+		<error line="222" number="30452" message="Operator '/' is not defined for types 'UShort' and 'Char'." />
+		<error line="226" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="229" number="30452" message="Operator '/' is not defined for types 'UShort' and 'Date'." />
+		<error line="232" number="30452" message="Operator '/' is not defined for types 'UShort' and 'System.DBNull'." />
+		<error line="236" number="30038" message="Option Strict On prohibits operands of type Object for operator '/'." />
+	</test>
+	<test id="3031" name="OperatorIntrinsic_RealDivision_Int32Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Int32_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicRealDivision.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="264" number="30452" message="Operator '/' is not defined for types 'Integer' and 'Char'." />
+		<error line="271" number="30452" message="Operator '/' is not defined for types 'Integer' and 'Date'." />
+		<error line="274" number="30452" message="Operator '/' is not defined for types 'Integer' and 'System.DBNull'." />
+	</test>
+	<test id="3032" name="OperatorIntrinsic_RealDivision_Int32StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Int32_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicRealDivision.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="239" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Double'." />
+		<error line="264" number="30452" message="Operator '/' is not defined for types 'Integer' and 'Char'." />
+		<error line="268" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="271" number="30452" message="Operator '/' is not defined for types 'Integer' and 'Date'." />
+		<error line="274" number="30452" message="Operator '/' is not defined for types 'Integer' and 'System.DBNull'." />
+		<error line="278" number="30038" message="Option Strict On prohibits operands of type Object for operator '/'." />
+	</test>
+	<test id="3033" name="OperatorIntrinsic_RealDivision_UInt32Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:UInt32_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicRealDivision.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="306" number="30452" message="Operator '/' is not defined for types 'UInteger' and 'Char'." />
+		<error line="313" number="30452" message="Operator '/' is not defined for types 'UInteger' and 'Date'." />
+		<error line="316" number="30452" message="Operator '/' is not defined for types 'UInteger' and 'System.DBNull'." />
+	</test>
+	<test id="3034" name="OperatorIntrinsic_RealDivision_UInt32StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:UInt32_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicRealDivision.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="281" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Double'." />
+		<error line="306" number="30452" message="Operator '/' is not defined for types 'UInteger' and 'Char'." />
+		<error line="310" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="313" number="30452" message="Operator '/' is not defined for types 'UInteger' and 'Date'." />
+		<error line="316" number="30452" message="Operator '/' is not defined for types 'UInteger' and 'System.DBNull'." />
+		<error line="320" number="30038" message="Option Strict On prohibits operands of type Object for operator '/'." />
+	</test>
+	<test id="3035" name="OperatorIntrinsic_RealDivision_Int64Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Int64_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicRealDivision.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="348" number="30452" message="Operator '/' is not defined for types 'Long' and 'Char'." />
+		<error line="355" number="30452" message="Operator '/' is not defined for types 'Long' and 'Date'." />
+		<error line="358" number="30452" message="Operator '/' is not defined for types 'Long' and 'System.DBNull'." />
+	</test>
+	<test id="3036" name="OperatorIntrinsic_RealDivision_Int64StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Int64_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicRealDivision.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="323" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Double'." />
+		<error line="348" number="30452" message="Operator '/' is not defined for types 'Long' and 'Char'." />
+		<error line="352" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="355" number="30452" message="Operator '/' is not defined for types 'Long' and 'Date'." />
+		<error line="358" number="30452" message="Operator '/' is not defined for types 'Long' and 'System.DBNull'." />
+		<error line="362" number="30038" message="Option Strict On prohibits operands of type Object for operator '/'." />
+	</test>
+	<test id="3037" name="OperatorIntrinsic_RealDivision_UInt64Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:UInt64_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicRealDivision.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="390" number="30452" message="Operator '/' is not defined for types 'ULong' and 'Char'." />
+		<error line="397" number="30452" message="Operator '/' is not defined for types 'ULong' and 'Date'." />
+		<error line="400" number="30452" message="Operator '/' is not defined for types 'ULong' and 'System.DBNull'." />
+	</test>
+	<test id="3038" name="OperatorIntrinsic_RealDivision_UInt64StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:UInt64_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicRealDivision.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="365" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Double'." />
+		<error line="390" number="30452" message="Operator '/' is not defined for types 'ULong' and 'Char'." />
+		<error line="394" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="397" number="30452" message="Operator '/' is not defined for types 'ULong' and 'Date'." />
+		<error line="400" number="30452" message="Operator '/' is not defined for types 'ULong' and 'System.DBNull'." />
+		<error line="404" number="30038" message="Option Strict On prohibits operands of type Object for operator '/'." />
+	</test>
+	<test id="3039" name="OperatorIntrinsic_RealDivision_DecimalError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Decimal_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicRealDivision.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="432" number="30452" message="Operator '/' is not defined for types 'Decimal' and 'Char'." />
+		<error line="439" number="30452" message="Operator '/' is not defined for types 'Decimal' and 'Date'." />
+		<error line="442" number="30518" message="Overload resolution failed because no accessible '/' can be called with these arguments:" />
+	</test>
+	<test id="3040" name="OperatorIntrinsic_RealDivision_DecimalStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Decimal_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicRealDivision.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="407" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Decimal'." />
+		<error line="432" number="30452" message="Operator '/' is not defined for types 'Decimal' and 'Char'." />
+		<error line="436" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="439" number="30452" message="Operator '/' is not defined for types 'Decimal' and 'Date'." />
+		<error line="442" number="30518" message="Overload resolution failed because no accessible '/' can be called with these arguments:" />
+		<error line="446" number="30038" message="Option Strict On prohibits operands of type Object for operator '/'." />
+	</test>
+	<test id="3041" name="OperatorIntrinsic_RealDivision_SingleError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Single_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicRealDivision.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="474" number="30452" message="Operator '/' is not defined for types 'Single' and 'Char'." />
+		<error line="481" number="30452" message="Operator '/' is not defined for types 'Single' and 'Date'." />
+		<error line="484" number="30452" message="Operator '/' is not defined for types 'Single' and 'System.DBNull'." />
+	</test>
+	<test id="3042" name="OperatorIntrinsic_RealDivision_SingleStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Single_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicRealDivision.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="449" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Single'." />
+		<error line="474" number="30452" message="Operator '/' is not defined for types 'Single' and 'Char'." />
+		<error line="478" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="481" number="30452" message="Operator '/' is not defined for types 'Single' and 'Date'." />
+		<error line="484" number="30452" message="Operator '/' is not defined for types 'Single' and 'System.DBNull'." />
+		<error line="488" number="30038" message="Option Strict On prohibits operands of type Object for operator '/'." />
+	</test>
+	<test id="3043" name="OperatorIntrinsic_RealDivision_DoubleError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Double_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicRealDivision.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="516" number="30452" message="Operator '/' is not defined for types 'Double' and 'Char'." />
+		<error line="523" number="30452" message="Operator '/' is not defined for types 'Double' and 'Date'." />
+		<error line="526" number="30452" message="Operator '/' is not defined for types 'Double' and 'System.DBNull'." />
+	</test>
+	<test id="3044" name="OperatorIntrinsic_RealDivision_DoubleStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Double_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicRealDivision.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="491" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Double'." />
+		<error line="516" number="30452" message="Operator '/' is not defined for types 'Double' and 'Char'." />
+		<error line="520" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="523" number="30452" message="Operator '/' is not defined for types 'Double' and 'Date'." />
+		<error line="526" number="30452" message="Operator '/' is not defined for types 'Double' and 'System.DBNull'." />
+		<error line="530" number="30038" message="Option Strict On prohibits operands of type Object for operator '/'." />
+	</test>
+	<test id="3045" name="OperatorIntrinsic_RealDivision_CharError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Char_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicRealDivision.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="533" number="30452" message="Operator '/' is not defined for types 'Char' and 'Boolean'." />
+		<error line="536" number="30452" message="Operator '/' is not defined for types 'Char' and 'Byte'." />
+		<error line="539" number="30452" message="Operator '/' is not defined for types 'Char' and 'SByte'." />
+		<error line="542" number="30452" message="Operator '/' is not defined for types 'Char' and 'Short'." />
+		<error line="545" number="30452" message="Operator '/' is not defined for types 'Char' and 'UShort'." />
+		<error line="548" number="30452" message="Operator '/' is not defined for types 'Char' and 'Integer'." />
+		<error line="551" number="30452" message="Operator '/' is not defined for types 'Char' and 'UInteger'." />
+		<error line="554" number="30452" message="Operator '/' is not defined for types 'Char' and 'Long'." />
+		<error line="557" number="30452" message="Operator '/' is not defined for types 'Char' and 'ULong'." />
+		<error line="560" number="30452" message="Operator '/' is not defined for types 'Char' and 'Decimal'." />
+		<error line="563" number="30452" message="Operator '/' is not defined for types 'Char' and 'Single'." />
+		<error line="566" number="30452" message="Operator '/' is not defined for types 'Char' and 'Double'." />
+		<error line="569" number="30452" message="Operator '/' is not defined for types 'Char' and 'Char'." />
+		<error line="572" number="30452" message="Operator '/' is not defined for types 'Char' and 'String'." />
+		<error line="575" number="30452" message="Operator '/' is not defined for types 'Char' and 'Date'." />
+		<error line="578" number="30452" message="Operator '/' is not defined for types 'Char' and 'System.DBNull'." />
+		<error line="581" number="30452" message="Operator '/' is not defined for types 'Char' and 'Object'." />
+	</test>
+	<test id="3046" name="OperatorIntrinsic_RealDivision_CharStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Char_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicRealDivision.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="533" number="30452" message="Operator '/' is not defined for types 'Char' and 'Boolean'." />
+		<error line="536" number="30452" message="Operator '/' is not defined for types 'Char' and 'Byte'." />
+		<error line="539" number="30452" message="Operator '/' is not defined for types 'Char' and 'SByte'." />
+		<error line="542" number="30452" message="Operator '/' is not defined for types 'Char' and 'Short'." />
+		<error line="545" number="30452" message="Operator '/' is not defined for types 'Char' and 'UShort'." />
+		<error line="548" number="30452" message="Operator '/' is not defined for types 'Char' and 'Integer'." />
+		<error line="551" number="30452" message="Operator '/' is not defined for types 'Char' and 'UInteger'." />
+		<error line="554" number="30452" message="Operator '/' is not defined for types 'Char' and 'Long'." />
+		<error line="557" number="30452" message="Operator '/' is not defined for types 'Char' and 'ULong'." />
+		<error line="560" number="30452" message="Operator '/' is not defined for types 'Char' and 'Decimal'." />
+		<error line="563" number="30452" message="Operator '/' is not defined for types 'Char' and 'Single'." />
+		<error line="566" number="30452" message="Operator '/' is not defined for types 'Char' and 'Double'." />
+		<error line="569" number="30452" message="Operator '/' is not defined for types 'Char' and 'Char'." />
+		<error line="572" number="30452" message="Operator '/' is not defined for types 'Char' and 'String'." />
+		<error line="575" number="30452" message="Operator '/' is not defined for types 'Char' and 'Date'." />
+		<error line="578" number="30452" message="Operator '/' is not defined for types 'Char' and 'System.DBNull'." />
+		<error line="581" number="30452" message="Operator '/' is not defined for types 'Char' and 'Object'." />
+	</test>
+	<test id="3047" name="OperatorIntrinsic_RealDivision_StringError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:String_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicRealDivision.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="620" number="30452" message="Operator '/' is not defined for types 'String' and 'Char'." />
+		<error line="626" number="30452" message="Operator '/' is not defined for types 'String' and 'Date'." />
+		<error line="629" number="30452" message="Operator '/' is not defined for types 'String' and 'System.DBNull'." />
+	</test>
+	<test id="3048" name="OperatorIntrinsic_RealDivision_StringStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:String_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicRealDivision.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="584" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="584" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Double'." />
+		<error line="587" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="590" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="593" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="596" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="599" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="602" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="605" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="608" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="611" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="614" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="617" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="620" number="30452" message="Operator '/' is not defined for types 'String' and 'Char'." />
+		<error line="623" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="623" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Double'." />
+		<error line="626" number="30452" message="Operator '/' is not defined for types 'String' and 'Date'." />
+		<error line="629" number="30452" message="Operator '/' is not defined for types 'String' and 'System.DBNull'." />
+		<error line="633" number="30038" message="Option Strict On prohibits operands of type Object for operator '/'." />
+	</test>
+	<test id="3049" name="OperatorIntrinsic_RealDivision_DateTimeError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:DateTime_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicRealDivision.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="636" number="30452" message="Operator '/' is not defined for types 'Date' and 'Boolean'." />
+		<error line="639" number="30452" message="Operator '/' is not defined for types 'Date' and 'Byte'." />
+		<error line="642" number="30452" message="Operator '/' is not defined for types 'Date' and 'SByte'." />
+		<error line="645" number="30452" message="Operator '/' is not defined for types 'Date' and 'Short'." />
+		<error line="648" number="30452" message="Operator '/' is not defined for types 'Date' and 'UShort'." />
+		<error line="651" number="30452" message="Operator '/' is not defined for types 'Date' and 'Integer'." />
+		<error line="654" number="30452" message="Operator '/' is not defined for types 'Date' and 'UInteger'." />
+		<error line="657" number="30452" message="Operator '/' is not defined for types 'Date' and 'Long'." />
+		<error line="660" number="30452" message="Operator '/' is not defined for types 'Date' and 'ULong'." />
+		<error line="663" number="30452" message="Operator '/' is not defined for types 'Date' and 'Decimal'." />
+		<error line="666" number="30452" message="Operator '/' is not defined for types 'Date' and 'Single'." />
+		<error line="669" number="30452" message="Operator '/' is not defined for types 'Date' and 'Double'." />
+		<error line="672" number="30452" message="Operator '/' is not defined for types 'Date' and 'Char'." />
+		<error line="675" number="30452" message="Operator '/' is not defined for types 'Date' and 'String'." />
+		<error line="678" number="30452" message="Operator '/' is not defined for types 'Date' and 'Date'." />
+		<error line="681" number="30452" message="Operator '/' is not defined for types 'Date' and 'System.DBNull'." />
+		<error line="684" number="30452" message="Operator '/' is not defined for types 'Date' and 'Object'." />
+	</test>
+	<test id="3050" name="OperatorIntrinsic_RealDivision_DateTimeStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:DateTime_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicRealDivision.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="636" number="30452" message="Operator '/' is not defined for types 'Date' and 'Boolean'." />
+		<error line="639" number="30452" message="Operator '/' is not defined for types 'Date' and 'Byte'." />
+		<error line="642" number="30452" message="Operator '/' is not defined for types 'Date' and 'SByte'." />
+		<error line="645" number="30452" message="Operator '/' is not defined for types 'Date' and 'Short'." />
+		<error line="648" number="30452" message="Operator '/' is not defined for types 'Date' and 'UShort'." />
+		<error line="651" number="30452" message="Operator '/' is not defined for types 'Date' and 'Integer'." />
+		<error line="654" number="30452" message="Operator '/' is not defined for types 'Date' and 'UInteger'." />
+		<error line="657" number="30452" message="Operator '/' is not defined for types 'Date' and 'Long'." />
+		<error line="660" number="30452" message="Operator '/' is not defined for types 'Date' and 'ULong'." />
+		<error line="663" number="30452" message="Operator '/' is not defined for types 'Date' and 'Decimal'." />
+		<error line="666" number="30452" message="Operator '/' is not defined for types 'Date' and 'Single'." />
+		<error line="669" number="30452" message="Operator '/' is not defined for types 'Date' and 'Double'." />
+		<error line="672" number="30452" message="Operator '/' is not defined for types 'Date' and 'Char'." />
+		<error line="675" number="30452" message="Operator '/' is not defined for types 'Date' and 'String'." />
+		<error line="678" number="30452" message="Operator '/' is not defined for types 'Date' and 'Date'." />
+		<error line="681" number="30452" message="Operator '/' is not defined for types 'Date' and 'System.DBNull'." />
+		<error line="684" number="30452" message="Operator '/' is not defined for types 'Date' and 'Object'." />
+	</test>
+	<test id="3051" name="OperatorIntrinsic_RealDivision_DBNullError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:DBNull_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicRealDivision.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="687" number="30452" message="Operator '/' is not defined for types 'System.DBNull' and 'Boolean'." />
+		<error line="690" number="30452" message="Operator '/' is not defined for types 'System.DBNull' and 'Byte'." />
+		<error line="693" number="30452" message="Operator '/' is not defined for types 'System.DBNull' and 'SByte'." />
+		<error line="696" number="30452" message="Operator '/' is not defined for types 'System.DBNull' and 'Short'." />
+		<error line="699" number="30452" message="Operator '/' is not defined for types 'System.DBNull' and 'UShort'." />
+		<error line="702" number="30452" message="Operator '/' is not defined for types 'System.DBNull' and 'Integer'." />
+		<error line="705" number="30452" message="Operator '/' is not defined for types 'System.DBNull' and 'UInteger'." />
+		<error line="708" number="30452" message="Operator '/' is not defined for types 'System.DBNull' and 'Long'." />
+		<error line="711" number="30452" message="Operator '/' is not defined for types 'System.DBNull' and 'ULong'." />
+		<error line="714" number="30518" message="Overload resolution failed because no accessible '/' can be called with these arguments:" />
+		<error line="717" number="30452" message="Operator '/' is not defined for types 'System.DBNull' and 'Single'." />
+		<error line="720" number="30452" message="Operator '/' is not defined for types 'System.DBNull' and 'Double'." />
+		<error line="723" number="30452" message="Operator '/' is not defined for types 'System.DBNull' and 'Char'." />
+		<error line="726" number="30452" message="Operator '/' is not defined for types 'System.DBNull' and 'String'." />
+		<error line="729" number="30452" message="Operator '/' is not defined for types 'System.DBNull' and 'Date'." />
+		<error line="732" number="30452" message="Operator '/' is not defined for types 'System.DBNull' and 'System.DBNull'." />
+		<error line="735" number="30452" message="Operator '/' is not defined for types 'System.DBNull' and 'Object'." />
+	</test>
+	<test id="3052" name="OperatorIntrinsic_RealDivision_DBNullStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:DBNull_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicRealDivision.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="687" number="30452" message="Operator '/' is not defined for types 'System.DBNull' and 'Boolean'." />
+		<error line="690" number="30452" message="Operator '/' is not defined for types 'System.DBNull' and 'Byte'." />
+		<error line="693" number="30452" message="Operator '/' is not defined for types 'System.DBNull' and 'SByte'." />
+		<error line="696" number="30452" message="Operator '/' is not defined for types 'System.DBNull' and 'Short'." />
+		<error line="699" number="30452" message="Operator '/' is not defined for types 'System.DBNull' and 'UShort'." />
+		<error line="702" number="30452" message="Operator '/' is not defined for types 'System.DBNull' and 'Integer'." />
+		<error line="705" number="30452" message="Operator '/' is not defined for types 'System.DBNull' and 'UInteger'." />
+		<error line="708" number="30452" message="Operator '/' is not defined for types 'System.DBNull' and 'Long'." />
+		<error line="711" number="30452" message="Operator '/' is not defined for types 'System.DBNull' and 'ULong'." />
+		<error line="714" number="30518" message="Overload resolution failed because no accessible '/' can be called with these arguments:" />
+		<error line="717" number="30452" message="Operator '/' is not defined for types 'System.DBNull' and 'Single'." />
+		<error line="720" number="30452" message="Operator '/' is not defined for types 'System.DBNull' and 'Double'." />
+		<error line="723" number="30452" message="Operator '/' is not defined for types 'System.DBNull' and 'Char'." />
+		<error line="726" number="30452" message="Operator '/' is not defined for types 'System.DBNull' and 'String'." />
+		<error line="729" number="30452" message="Operator '/' is not defined for types 'System.DBNull' and 'Date'." />
+		<error line="732" number="30452" message="Operator '/' is not defined for types 'System.DBNull' and 'System.DBNull'." />
+		<error line="735" number="30452" message="Operator '/' is not defined for types 'System.DBNull' and 'Object'." />
+	</test>
+	<test id="3053" name="OperatorIntrinsic_RealDivision_ObjectError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Object_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicRealDivision.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="786" number="30452" message="Operator '/' is not defined for types 'Object' and 'Char'." />
+		<error line="793" number="30452" message="Operator '/' is not defined for types 'Object' and 'Date'." />
+		<error line="796" number="30452" message="Operator '/' is not defined for types 'Object' and 'System.DBNull'." />
+	</test>
+	<test id="3054" name="OperatorIntrinsic_RealDivision_ObjectStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Object_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicRealDivision.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="739" number="30038" message="Option Strict On prohibits operands of type Object for operator '/'." />
+		<error line="743" number="30038" message="Option Strict On prohibits operands of type Object for operator '/'." />
+		<error line="747" number="30038" message="Option Strict On prohibits operands of type Object for operator '/'." />
+		<error line="751" number="30038" message="Option Strict On prohibits operands of type Object for operator '/'." />
+		<error line="755" number="30038" message="Option Strict On prohibits operands of type Object for operator '/'." />
+		<error line="759" number="30038" message="Option Strict On prohibits operands of type Object for operator '/'." />
+		<error line="763" number="30038" message="Option Strict On prohibits operands of type Object for operator '/'." />
+		<error line="767" number="30038" message="Option Strict On prohibits operands of type Object for operator '/'." />
+		<error line="771" number="30038" message="Option Strict On prohibits operands of type Object for operator '/'." />
+		<error line="775" number="30038" message="Option Strict On prohibits operands of type Object for operator '/'." />
+		<error line="779" number="30038" message="Option Strict On prohibits operands of type Object for operator '/'." />
+		<error line="783" number="30038" message="Option Strict On prohibits operands of type Object for operator '/'." />
+		<error line="786" number="30452" message="Operator '/' is not defined for types 'Object' and 'Char'." />
+		<error line="790" number="30038" message="Option Strict On prohibits operands of type Object for operator '/'." />
+		<error line="793" number="30452" message="Operator '/' is not defined for types 'Object' and 'Date'." />
+		<error line="796" number="30452" message="Operator '/' is not defined for types 'Object' and 'System.DBNull'." />
+		<error line="800" number="30038" message="Option Strict On prohibits operands of type Object for operator '/'." />
+		<error line="800" number="30038" message="Option Strict On prohibits operands of type Object for operator '/'." />
+	</test>
+	<test id="3055" name="OperatorIntrinsic_RShift_" target="exe" mytype="empty">
+		<arguments>/nowarn</arguments>
+		<file>CompileTime2\OperatorIntrinsicRShift.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+	</test>
+	<test id="3056" name="OperatorIntrinsic_RShift_Strict" mytype="empty">
+		<arguments>/optionstrict+ /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicRShift.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+	</test>
+	<test id="3057" name="OperatorIntrinsic_RShift_BooleanError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Boolean_ERRORS /nowarn</arguments>
+		<file>CompileTime2\OperatorIntrinsicRShift.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="54" number="32006" message="'Char' values cannot be converted to 'Integer'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="61" number="30311" message="Value of type 'Date' cannot be converted to 'Integer'." />
+		<error line="64" number="30452" message="Operator '>>' is not defined for types 'Boolean' and 'System.DBNull'." />
+	</test>
+	<test id="3058" name="OperatorIntrinsic_RShift_BooleanStrictError" expectedexitcode="1" expectedvbcexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Boolean_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicRShift.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="7" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<error line="7" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Integer'." />
+		<error line="11" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<error line="15" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<error line="19" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<error line="23" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<error line="27" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<error line="31" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<error line="31" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'Integer'." />
+		<error line="35" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<error line="35" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'Integer'." />
+		<error line="39" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<error line="39" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Integer'." />
+		<error line="43" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<error line="43" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Integer'." />
+		<error line="47" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<error line="47" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Integer'." />
+		<error line="51" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<error line="51" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Integer'." />
+		<error line="54" number="32006" message="'Char' values cannot be converted to 'Integer'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="58" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<error line="58" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Integer'." />
+		<error line="61" number="30311" message="Value of type 'Date' cannot be converted to 'Integer'." />
+		<error line="64" number="30452" message="Operator '>>' is not defined for types 'Boolean' and 'System.DBNull'." />
+		<error line="68" number="30038" message="Option Strict On prohibits operands of type Object for operator '>>'." />
+		<vbcerror line="7" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<vbcerror line="7" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Integer'." />
+		<vbcerror line="11" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<vbcerror line="15" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<vbcerror line="19" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<vbcerror line="23" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<vbcerror line="27" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<vbcerror line="31" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<vbcerror line="31" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'Integer'." />
+		<vbcerror line="35" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<vbcerror line="35" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'Integer'." />
+		<vbcerror line="39" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<vbcerror line="39" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Integer'." />
+		<vbcerror line="43" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<vbcerror line="43" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Integer'." />
+		<vbcerror line="47" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<vbcerror line="47" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Integer'." />
+		<vbcerror line="51" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<vbcerror line="51" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Integer'." />
+		<vbcerror line="54" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<vbcerror line="54" number="32006" message="'Char' values cannot be converted to 'Integer'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<vbcerror line="58" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<vbcerror line="58" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Integer'." />
+		<vbcerror line="61" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<vbcerror line="61" number="30311" message="Value of type 'Date' cannot be converted to 'Integer'." />
+		<vbcerror line="64" number="30452" message="Operator '>>' is not defined for types 'Boolean' and 'System.DBNull'." />
+		<vbcerror line="68" number="30038" message="Option Strict On prohibits operands of type Object for operator '>>'." />
+	</test>
+	<test id="3059" name="OperatorIntrinsic_RShift_ByteError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Byte_ERRORS /nowarn</arguments>
+		<file>CompileTime2\OperatorIntrinsicRShift.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="109" number="32006" message="'Char' values cannot be converted to 'Integer'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="116" number="30311" message="Value of type 'Date' cannot be converted to 'Integer'." />
+		<error line="119" number="30452" message="Operator '>>' is not defined for types 'Byte' and 'System.DBNull'." />
+	</test>
+	<test id="3060" name="OperatorIntrinsic_RShift_ByteStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Byte_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicRShift.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="72" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Integer'." />
+		<error line="86" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'Integer'." />
+		<error line="90" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'Integer'." />
+		<error line="94" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Integer'." />
+		<error line="98" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Integer'." />
+		<error line="102" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Integer'." />
+		<error line="106" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Integer'." />
+		<error line="109" number="32006" message="'Char' values cannot be converted to 'Integer'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="113" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Integer'." />
+		<error line="116" number="30311" message="Value of type 'Date' cannot be converted to 'Integer'." />
+		<error line="119" number="30452" message="Operator '>>' is not defined for types 'Byte' and 'System.DBNull'." />
+		<error line="123" number="30038" message="Option Strict On prohibits operands of type Object for operator '>>'." />
+	</test>
+	<test id="3061" name="OperatorIntrinsic_RShift_SByteError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:SByte_ERRORS /nowarn</arguments>
+		<file>CompileTime2\OperatorIntrinsicRShift.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="164" number="32006" message="'Char' values cannot be converted to 'Integer'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="171" number="30311" message="Value of type 'Date' cannot be converted to 'Integer'." />
+		<error line="174" number="30452" message="Operator '>>' is not defined for types 'SByte' and 'System.DBNull'." />
+	</test>
+	<test id="3062" name="OperatorIntrinsic_RShift_SByteStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:SByte_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicRShift.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="127" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Integer'." />
+		<error line="141" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'Integer'." />
+		<error line="145" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'Integer'." />
+		<error line="149" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Integer'." />
+		<error line="153" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Integer'." />
+		<error line="157" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Integer'." />
+		<error line="161" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Integer'." />
+		<error line="164" number="32006" message="'Char' values cannot be converted to 'Integer'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="168" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Integer'." />
+		<error line="171" number="30311" message="Value of type 'Date' cannot be converted to 'Integer'." />
+		<error line="174" number="30452" message="Operator '>>' is not defined for types 'SByte' and 'System.DBNull'." />
+		<error line="178" number="30038" message="Option Strict On prohibits operands of type Object for operator '>>'." />
+	</test>
+	<test id="3063" name="OperatorIntrinsic_RShift_Int16Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Int16_ERRORS /nowarn</arguments>
+		<file>CompileTime2\OperatorIntrinsicRShift.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="219" number="32006" message="'Char' values cannot be converted to 'Integer'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="226" number="30311" message="Value of type 'Date' cannot be converted to 'Integer'." />
+		<error line="229" number="30452" message="Operator '>>' is not defined for types 'Short' and 'System.DBNull'." />
+	</test>
+	<test id="3064" name="OperatorIntrinsic_RShift_Int16StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Int16_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicRShift.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="182" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Integer'." />
+		<error line="196" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'Integer'." />
+		<error line="200" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'Integer'." />
+		<error line="204" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Integer'." />
+		<error line="208" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Integer'." />
+		<error line="212" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Integer'." />
+		<error line="216" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Integer'." />
+		<error line="219" number="32006" message="'Char' values cannot be converted to 'Integer'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="223" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Integer'." />
+		<error line="226" number="30311" message="Value of type 'Date' cannot be converted to 'Integer'." />
+		<error line="229" number="30452" message="Operator '>>' is not defined for types 'Short' and 'System.DBNull'." />
+		<error line="233" number="30038" message="Option Strict On prohibits operands of type Object for operator '>>'." />
+	</test>
+	<test id="3065" name="OperatorIntrinsic_RShift_UInt16Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:UInt16_ERRORS /nowarn</arguments>
+		<file>CompileTime2\OperatorIntrinsicRShift.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="274" number="32006" message="'Char' values cannot be converted to 'Integer'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="281" number="30311" message="Value of type 'Date' cannot be converted to 'Integer'." />
+		<error line="284" number="30452" message="Operator '>>' is not defined for types 'UShort' and 'System.DBNull'." />
+	</test>
+	<test id="3066" name="OperatorIntrinsic_RShift_UInt16StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:UInt16_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicRShift.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="237" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Integer'." />
+		<error line="251" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'Integer'." />
+		<error line="255" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'Integer'." />
+		<error line="259" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Integer'." />
+		<error line="263" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Integer'." />
+		<error line="267" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Integer'." />
+		<error line="271" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Integer'." />
+		<error line="274" number="32006" message="'Char' values cannot be converted to 'Integer'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="278" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Integer'." />
+		<error line="281" number="30311" message="Value of type 'Date' cannot be converted to 'Integer'." />
+		<error line="284" number="30452" message="Operator '>>' is not defined for types 'UShort' and 'System.DBNull'." />
+		<error line="288" number="30038" message="Option Strict On prohibits operands of type Object for operator '>>'." />
+	</test>
+	<test id="3067" name="OperatorIntrinsic_RShift_Int32Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Int32_ERRORS /nowarn</arguments>
+		<file>CompileTime2\OperatorIntrinsicRShift.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="329" number="32006" message="'Char' values cannot be converted to 'Integer'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="336" number="30311" message="Value of type 'Date' cannot be converted to 'Integer'." />
+		<error line="339" number="30452" message="Operator '>>' is not defined for types 'Integer' and 'System.DBNull'." />
+	</test>
+	<test id="3068" name="OperatorIntrinsic_RShift_Int32StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Int32_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicRShift.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="292" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Integer'." />
+		<error line="306" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'Integer'." />
+		<error line="310" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'Integer'." />
+		<error line="314" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Integer'." />
+		<error line="318" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Integer'." />
+		<error line="322" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Integer'." />
+		<error line="326" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Integer'." />
+		<error line="329" number="32006" message="'Char' values cannot be converted to 'Integer'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="333" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Integer'." />
+		<error line="336" number="30311" message="Value of type 'Date' cannot be converted to 'Integer'." />
+		<error line="339" number="30452" message="Operator '>>' is not defined for types 'Integer' and 'System.DBNull'." />
+		<error line="343" number="30038" message="Option Strict On prohibits operands of type Object for operator '>>'." />
+	</test>
+	<test id="3069" name="OperatorIntrinsic_RShift_UInt32Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:UInt32_ERRORS /nowarn</arguments>
+		<file>CompileTime2\OperatorIntrinsicRShift.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="384" number="32006" message="'Char' values cannot be converted to 'Integer'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="391" number="30311" message="Value of type 'Date' cannot be converted to 'Integer'." />
+		<error line="394" number="30452" message="Operator '>>' is not defined for types 'UInteger' and 'System.DBNull'." />
+	</test>
+	<test id="3070" name="OperatorIntrinsic_RShift_UInt32StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:UInt32_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicRShift.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="347" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Integer'." />
+		<error line="361" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'Integer'." />
+		<error line="365" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'Integer'." />
+		<error line="369" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Integer'." />
+		<error line="373" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Integer'." />
+		<error line="377" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Integer'." />
+		<error line="381" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Integer'." />
+		<error line="384" number="32006" message="'Char' values cannot be converted to 'Integer'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="388" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Integer'." />
+		<error line="391" number="30311" message="Value of type 'Date' cannot be converted to 'Integer'." />
+		<error line="394" number="30452" message="Operator '>>' is not defined for types 'UInteger' and 'System.DBNull'." />
+		<error line="398" number="30038" message="Option Strict On prohibits operands of type Object for operator '>>'." />
+	</test>
+	<test id="3071" name="OperatorIntrinsic_RShift_Int64Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Int64_ERRORS /nowarn</arguments>
+		<file>CompileTime2\OperatorIntrinsicRShift.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="439" number="32006" message="'Char' values cannot be converted to 'Integer'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="446" number="30311" message="Value of type 'Date' cannot be converted to 'Integer'." />
+		<error line="449" number="30452" message="Operator '>>' is not defined for types 'Long' and 'System.DBNull'." />
+	</test>
+	<test id="3072" name="OperatorIntrinsic_RShift_Int64StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Int64_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicRShift.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="402" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Integer'." />
+		<error line="416" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'Integer'." />
+		<error line="420" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'Integer'." />
+		<error line="424" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Integer'." />
+		<error line="428" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Integer'." />
+		<error line="432" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Integer'." />
+		<error line="436" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Integer'." />
+		<error line="439" number="32006" message="'Char' values cannot be converted to 'Integer'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="443" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Integer'." />
+		<error line="446" number="30311" message="Value of type 'Date' cannot be converted to 'Integer'." />
+		<error line="449" number="30452" message="Operator '>>' is not defined for types 'Long' and 'System.DBNull'." />
+		<error line="453" number="30038" message="Option Strict On prohibits operands of type Object for operator '>>'." />
+	</test>
+	<test id="3073" name="OperatorIntrinsic_RShift_UInt64Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:UInt64_ERRORS /nowarn</arguments>
+		<file>CompileTime2\OperatorIntrinsicRShift.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="494" number="32006" message="'Char' values cannot be converted to 'Integer'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="501" number="30311" message="Value of type 'Date' cannot be converted to 'Integer'." />
+		<error line="504" number="30452" message="Operator '>>' is not defined for types 'ULong' and 'System.DBNull'." />
+	</test>
+	<test id="3074" name="OperatorIntrinsic_RShift_UInt64StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:UInt64_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicRShift.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="457" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Integer'." />
+		<error line="471" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'Integer'." />
+		<error line="475" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'Integer'." />
+		<error line="479" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Integer'." />
+		<error line="483" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Integer'." />
+		<error line="487" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Integer'." />
+		<error line="491" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Integer'." />
+		<error line="494" number="32006" message="'Char' values cannot be converted to 'Integer'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="498" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Integer'." />
+		<error line="501" number="30311" message="Value of type 'Date' cannot be converted to 'Integer'." />
+		<error line="504" number="30452" message="Operator '>>' is not defined for types 'ULong' and 'System.DBNull'." />
+		<error line="508" number="30038" message="Option Strict On prohibits operands of type Object for operator '>>'." />
+	</test>
+	<test id="3075" name="OperatorIntrinsic_RShift_DecimalError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Decimal_ERRORS /nowarn</arguments>
+		<file>CompileTime2\OperatorIntrinsicRShift.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="559" number="32006" message="'Char' values cannot be converted to 'Integer'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="566" number="30311" message="Value of type 'Date' cannot be converted to 'Integer'." />
+		<error line="569" number="30452" message="Operator '>>' is not defined for types 'Decimal' and 'System.DBNull'." />
+	</test>
+	<test id="3076" name="OperatorIntrinsic_RShift_DecimalStrictError" expectedexitcode="1" expectedvbcexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Decimal_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicRShift.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="512" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="512" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Integer'." />
+		<error line="516" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="520" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="524" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="528" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="532" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="536" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="536" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'Integer'." />
+		<error line="540" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="540" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'Integer'." />
+		<error line="544" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="544" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Integer'." />
+		<error line="548" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="548" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Integer'." />
+		<error line="552" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="552" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Integer'." />
+		<error line="556" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="556" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Integer'." />
+		<error line="559" number="32006" message="'Char' values cannot be converted to 'Integer'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="563" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="563" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Integer'." />
+		<error line="566" number="30311" message="Value of type 'Date' cannot be converted to 'Integer'." />
+		<error line="569" number="30452" message="Operator '>>' is not defined for types 'Decimal' and 'System.DBNull'." />
+		<error line="573" number="30038" message="Option Strict On prohibits operands of type Object for operator '>>'." />
+		<vbcerror line="512" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<vbcerror line="512" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Integer'." />
+		<vbcerror line="516" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<vbcerror line="520" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<vbcerror line="524" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<vbcerror line="528" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<vbcerror line="532" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<vbcerror line="536" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<vbcerror line="536" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'Integer'." />
+		<vbcerror line="540" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<vbcerror line="540" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'Integer'." />
+		<vbcerror line="544" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<vbcerror line="544" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Integer'." />
+		<vbcerror line="548" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<vbcerror line="548" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Integer'." />
+		<vbcerror line="552" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<vbcerror line="552" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Integer'." />
+		<vbcerror line="556" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<vbcerror line="556" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Integer'." />
+		<vbcerror line="559" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<vbcerror line="559" number="32006" message="'Char' values cannot be converted to 'Integer'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<vbcerror line="563" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<vbcerror line="563" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Integer'." />
+		<vbcerror line="566" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<vbcerror line="566" number="30311" message="Value of type 'Date' cannot be converted to 'Integer'." />
+		<vbcerror line="569" number="30452" message="Operator '>>' is not defined for types 'Decimal' and 'System.DBNull'." />
+		<vbcerror line="573" number="30038" message="Option Strict On prohibits operands of type Object for operator '>>'." />
+	</test>
+	<test id="3077" name="OperatorIntrinsic_RShift_SingleError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Single_ERRORS /nowarn</arguments>
+		<file>CompileTime2\OperatorIntrinsicRShift.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="624" number="32006" message="'Char' values cannot be converted to 'Integer'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="631" number="30311" message="Value of type 'Date' cannot be converted to 'Integer'." />
+		<error line="634" number="30452" message="Operator '>>' is not defined for types 'Single' and 'System.DBNull'." />
+	</test>
+	<test id="3078" name="OperatorIntrinsic_RShift_SingleStrictError" expectedexitcode="1" expectedvbcexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Single_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicRShift.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="577" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="577" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Integer'." />
+		<error line="581" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="585" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="589" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="593" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="597" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="601" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="601" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'Integer'." />
+		<error line="605" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="605" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'Integer'." />
+		<error line="609" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="609" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Integer'." />
+		<error line="613" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="613" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Integer'." />
+		<error line="617" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="617" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Integer'." />
+		<error line="621" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="621" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Integer'." />
+		<error line="624" number="32006" message="'Char' values cannot be converted to 'Integer'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="628" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="628" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Integer'." />
+		<error line="631" number="30311" message="Value of type 'Date' cannot be converted to 'Integer'." />
+		<error line="634" number="30452" message="Operator '>>' is not defined for types 'Single' and 'System.DBNull'." />
+		<error line="638" number="30038" message="Option Strict On prohibits operands of type Object for operator '>>'." />
+		<vbcerror line="577" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<vbcerror line="577" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Integer'." />
+		<vbcerror line="581" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<vbcerror line="585" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<vbcerror line="589" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<vbcerror line="593" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<vbcerror line="597" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<vbcerror line="601" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<vbcerror line="601" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'Integer'." />
+		<vbcerror line="605" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<vbcerror line="605" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'Integer'." />
+		<vbcerror line="609" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<vbcerror line="609" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Integer'." />
+		<vbcerror line="613" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<vbcerror line="613" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Integer'." />
+		<vbcerror line="617" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<vbcerror line="617" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Integer'." />
+		<vbcerror line="621" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<vbcerror line="621" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Integer'." />
+		<vbcerror line="624" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<vbcerror line="624" number="32006" message="'Char' values cannot be converted to 'Integer'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<vbcerror line="628" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<vbcerror line="628" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Integer'." />
+		<vbcerror line="631" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<vbcerror line="631" number="30311" message="Value of type 'Date' cannot be converted to 'Integer'." />
+		<vbcerror line="634" number="30452" message="Operator '>>' is not defined for types 'Single' and 'System.DBNull'." />
+		<vbcerror line="638" number="30038" message="Option Strict On prohibits operands of type Object for operator '>>'." />
+	</test>
+	<test id="3079" name="OperatorIntrinsic_RShift_DoubleError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Double_ERRORS /nowarn</arguments>
+		<file>CompileTime2\OperatorIntrinsicRShift.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="689" number="32006" message="'Char' values cannot be converted to 'Integer'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="696" number="30311" message="Value of type 'Date' cannot be converted to 'Integer'." />
+		<error line="699" number="30452" message="Operator '>>' is not defined for types 'Double' and 'System.DBNull'." />
+	</test>
+	<test id="3080" name="OperatorIntrinsic_RShift_DoubleStrictError" expectedexitcode="1" expectedvbcexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Double_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicRShift.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="642" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="642" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Integer'." />
+		<error line="646" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="650" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="654" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="658" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="662" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="666" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="666" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'Integer'." />
+		<error line="670" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="670" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'Integer'." />
+		<error line="674" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="674" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Integer'." />
+		<error line="678" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="678" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Integer'." />
+		<error line="682" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="682" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Integer'." />
+		<error line="686" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="686" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Integer'." />
+		<error line="689" number="32006" message="'Char' values cannot be converted to 'Integer'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="693" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="693" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Integer'." />
+		<error line="696" number="30311" message="Value of type 'Date' cannot be converted to 'Integer'." />
+		<error line="699" number="30452" message="Operator '>>' is not defined for types 'Double' and 'System.DBNull'." />
+		<error line="703" number="30038" message="Option Strict On prohibits operands of type Object for operator '>>'." />
+		<vbcerror line="642" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<vbcerror line="642" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Integer'." />
+		<vbcerror line="646" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<vbcerror line="650" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<vbcerror line="654" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<vbcerror line="658" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<vbcerror line="662" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<vbcerror line="666" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<vbcerror line="666" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'Integer'." />
+		<vbcerror line="670" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<vbcerror line="670" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'Integer'." />
+		<vbcerror line="674" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<vbcerror line="674" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Integer'." />
+		<vbcerror line="678" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<vbcerror line="678" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Integer'." />
+		<vbcerror line="682" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<vbcerror line="682" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Integer'." />
+		<vbcerror line="686" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<vbcerror line="686" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Integer'." />
+		<vbcerror line="689" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<vbcerror line="689" number="32006" message="'Char' values cannot be converted to 'Integer'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<vbcerror line="693" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<vbcerror line="693" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Integer'." />
+		<vbcerror line="696" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<vbcerror line="696" number="30311" message="Value of type 'Date' cannot be converted to 'Integer'." />
+		<vbcerror line="699" number="30452" message="Operator '>>' is not defined for types 'Double' and 'System.DBNull'." />
+		<vbcerror line="703" number="30038" message="Option Strict On prohibits operands of type Object for operator '>>'." />
+	</test>
+	<test id="3081" name="OperatorIntrinsic_RShift_CharError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Char_ERRORS /nowarn</arguments>
+		<file>CompileTime2\OperatorIntrinsicRShift.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="706" number="30452" message="Operator '>>' is not defined for types 'Char' and 'Boolean'." />
+		<error line="709" number="30452" message="Operator '>>' is not defined for types 'Char' and 'Byte'." />
+		<error line="712" number="30452" message="Operator '>>' is not defined for types 'Char' and 'SByte'." />
+		<error line="715" number="30452" message="Operator '>>' is not defined for types 'Char' and 'Short'." />
+		<error line="718" number="30452" message="Operator '>>' is not defined for types 'Char' and 'UShort'." />
+		<error line="721" number="30452" message="Operator '>>' is not defined for types 'Char' and 'Integer'." />
+		<error line="724" number="30452" message="Operator '>>' is not defined for types 'Char' and 'UInteger'." />
+		<error line="727" number="30452" message="Operator '>>' is not defined for types 'Char' and 'Long'." />
+		<error line="730" number="30452" message="Operator '>>' is not defined for types 'Char' and 'ULong'." />
+		<error line="733" number="30452" message="Operator '>>' is not defined for types 'Char' and 'Decimal'." />
+		<error line="736" number="30452" message="Operator '>>' is not defined for types 'Char' and 'Single'." />
+		<error line="739" number="30452" message="Operator '>>' is not defined for types 'Char' and 'Double'." />
+		<error line="742" number="30452" message="Operator '>>' is not defined for types 'Char' and 'Char'." />
+		<error line="745" number="30452" message="Operator '>>' is not defined for types 'Char' and 'String'." />
+		<error line="748" number="30452" message="Operator '>>' is not defined for types 'Char' and 'Date'." />
+		<error line="751" number="30452" message="Operator '>>' is not defined for types 'Char' and 'System.DBNull'." />
+		<error line="754" number="30452" message="Operator '>>' is not defined for types 'Char' and 'Object'." />
+	</test>
+	<test id="3082" name="OperatorIntrinsic_RShift_CharStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Char_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicRShift.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="706" number="30452" message="Operator '>>' is not defined for types 'Char' and 'Boolean'." />
+		<error line="709" number="30452" message="Operator '>>' is not defined for types 'Char' and 'Byte'." />
+		<error line="712" number="30452" message="Operator '>>' is not defined for types 'Char' and 'SByte'." />
+		<error line="715" number="30452" message="Operator '>>' is not defined for types 'Char' and 'Short'." />
+		<error line="718" number="30452" message="Operator '>>' is not defined for types 'Char' and 'UShort'." />
+		<error line="721" number="30452" message="Operator '>>' is not defined for types 'Char' and 'Integer'." />
+		<error line="724" number="30452" message="Operator '>>' is not defined for types 'Char' and 'UInteger'." />
+		<error line="727" number="30452" message="Operator '>>' is not defined for types 'Char' and 'Long'." />
+		<error line="730" number="30452" message="Operator '>>' is not defined for types 'Char' and 'ULong'." />
+		<error line="733" number="30452" message="Operator '>>' is not defined for types 'Char' and 'Decimal'." />
+		<error line="736" number="30452" message="Operator '>>' is not defined for types 'Char' and 'Single'." />
+		<error line="739" number="30452" message="Operator '>>' is not defined for types 'Char' and 'Double'." />
+		<error line="742" number="30452" message="Operator '>>' is not defined for types 'Char' and 'Char'." />
+		<error line="745" number="30452" message="Operator '>>' is not defined for types 'Char' and 'String'." />
+		<error line="748" number="30452" message="Operator '>>' is not defined for types 'Char' and 'Date'." />
+		<error line="751" number="30452" message="Operator '>>' is not defined for types 'Char' and 'System.DBNull'." />
+		<error line="754" number="30452" message="Operator '>>' is not defined for types 'Char' and 'Object'." />
+	</test>
+	<test id="3083" name="OperatorIntrinsic_RShift_StringError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:String_ERRORS /nowarn</arguments>
+		<file>CompileTime2\OperatorIntrinsicRShift.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="805" number="32006" message="'Char' values cannot be converted to 'Integer'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="812" number="30311" message="Value of type 'Date' cannot be converted to 'Integer'." />
+		<error line="815" number="30452" message="Operator '>>' is not defined for types 'String' and 'System.DBNull'." />
+	</test>
+	<test id="3084" name="OperatorIntrinsic_RShift_StringStrictError" expectedexitcode="1" expectedvbcexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:String_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicRShift.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="758" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="758" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Integer'." />
+		<error line="762" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="766" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="770" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="774" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="778" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="782" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="782" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'Integer'." />
+		<error line="786" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="786" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'Integer'." />
+		<error line="790" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="790" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Integer'." />
+		<error line="794" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="794" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Integer'." />
+		<error line="798" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="798" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Integer'." />
+		<error line="802" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="802" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Integer'." />
+		<error line="805" number="32006" message="'Char' values cannot be converted to 'Integer'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<error line="809" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="809" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Integer'." />
+		<error line="812" number="30311" message="Value of type 'Date' cannot be converted to 'Integer'." />
+		<error line="815" number="30452" message="Operator '>>' is not defined for types 'String' and 'System.DBNull'." />
+		<error line="819" number="30038" message="Option Strict On prohibits operands of type Object for operator '>>'." />
+		<vbcerror line="758" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<vbcerror line="758" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Integer'." />
+		<vbcerror line="762" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<vbcerror line="766" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<vbcerror line="770" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<vbcerror line="774" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<vbcerror line="778" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<vbcerror line="782" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<vbcerror line="782" number="30512" message="Option Strict On disallows implicit conversions from 'UInteger' to 'Integer'." />
+		<vbcerror line="786" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<vbcerror line="786" number="30512" message="Option Strict On disallows implicit conversions from 'Long' to 'Integer'." />
+		<vbcerror line="790" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<vbcerror line="790" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Integer'." />
+		<vbcerror line="794" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<vbcerror line="794" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Integer'." />
+		<vbcerror line="798" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<vbcerror line="798" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Integer'." />
+		<vbcerror line="802" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<vbcerror line="802" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Integer'." />
+		<vbcerror line="805" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<vbcerror line="805" number="32006" message="'Char' values cannot be converted to 'Integer'. Use 'Microsoft.VisualBasic.AscW' to interpret a character as a Unicode value or 'Microsoft.VisualBasic.Val' to interpret it as a digit." />
+		<vbcerror line="809" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<vbcerror line="809" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Integer'." />
+		<vbcerror line="812" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<vbcerror line="812" number="30311" message="Value of type 'Date' cannot be converted to 'Integer'." />
+		<vbcerror line="815" number="30452" message="Operator '>>' is not defined for types 'String' and 'System.DBNull'." />
+		<vbcerror line="819" number="30038" message="Option Strict On prohibits operands of type Object for operator '>>'." />
+	</test>
+	<test id="3085" name="OperatorIntrinsic_RShift_DateTimeError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:DateTime_ERRORS /nowarn</arguments>
+		<file>CompileTime2\OperatorIntrinsicRShift.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="822" number="30452" message="Operator '>>' is not defined for types 'Date' and 'Boolean'." />
+		<error line="825" number="30452" message="Operator '>>' is not defined for types 'Date' and 'Byte'." />
+		<error line="828" number="30452" message="Operator '>>' is not defined for types 'Date' and 'SByte'." />
+		<error line="831" number="30452" message="Operator '>>' is not defined for types 'Date' and 'Short'." />
+		<error line="834" number="30452" message="Operator '>>' is not defined for types 'Date' and 'UShort'." />
+		<error line="837" number="30452" message="Operator '>>' is not defined for types 'Date' and 'Integer'." />
+		<error line="840" number="30452" message="Operator '>>' is not defined for types 'Date' and 'UInteger'." />
+		<error line="843" number="30452" message="Operator '>>' is not defined for types 'Date' and 'Long'." />
+		<error line="846" number="30452" message="Operator '>>' is not defined for types 'Date' and 'ULong'." />
+		<error line="849" number="30452" message="Operator '>>' is not defined for types 'Date' and 'Decimal'." />
+		<error line="852" number="30452" message="Operator '>>' is not defined for types 'Date' and 'Single'." />
+		<error line="855" number="30452" message="Operator '>>' is not defined for types 'Date' and 'Double'." />
+		<error line="858" number="30452" message="Operator '>>' is not defined for types 'Date' and 'Char'." />
+		<error line="861" number="30452" message="Operator '>>' is not defined for types 'Date' and 'String'." />
+		<error line="864" number="30452" message="Operator '>>' is not defined for types 'Date' and 'Date'." />
+		<error line="867" number="30452" message="Operator '>>' is not defined for types 'Date' and 'System.DBNull'." />
+		<error line="870" number="30452" message="Operator '>>' is not defined for types 'Date' and 'Object'." />
+	</test>
+	<test id="3086" name="OperatorIntrinsic_RShift_DateTimeStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:DateTime_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicRShift.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="822" number="30452" message="Operator '>>' is not defined for types 'Date' and 'Boolean'." />
+		<error line="825" number="30452" message="Operator '>>' is not defined for types 'Date' and 'Byte'." />
+		<error line="828" number="30452" message="Operator '>>' is not defined for types 'Date' and 'SByte'." />
+		<error line="831" number="30452" message="Operator '>>' is not defined for types 'Date' and 'Short'." />
+		<error line="834" number="30452" message="Operator '>>' is not defined for types 'Date' and 'UShort'." />
+		<error line="837" number="30452" message="Operator '>>' is not defined for types 'Date' and 'Integer'." />
+		<error line="840" number="30452" message="Operator '>>' is not defined for types 'Date' and 'UInteger'." />
+		<error line="843" number="30452" message="Operator '>>' is not defined for types 'Date' and 'Long'." />
+		<error line="846" number="30452" message="Operator '>>' is not defined for types 'Date' and 'ULong'." />
+		<error line="849" number="30452" message="Operator '>>' is not defined for types 'Date' and 'Decimal'." />
+		<error line="852" number="30452" message="Operator '>>' is not defined for types 'Date' and 'Single'." />
+		<error line="855" number="30452" message="Operator '>>' is not defined for types 'Date' and 'Double'." />
+		<error line="858" number="30452" message="Operator '>>' is not defined for types 'Date' and 'Char'." />
+		<error line="861" number="30452" message="Operator '>>' is not defined for types 'Date' and 'String'." />
+		<error line="864" number="30452" message="Operator '>>' is not defined for types 'Date' and 'Date'." />
+		<error line="867" number="30452" message="Operator '>>' is not defined for types 'Date' and 'System.DBNull'." />
+		<error line="870" number="30452" message="Operator '>>' is not defined for types 'Date' and 'Object'." />
+	</test>
+	<test id="3087" name="OperatorIntrinsic_RShift_DBNullError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:DBNull_ERRORS /nowarn</arguments>
+		<file>CompileTime2\OperatorIntrinsicRShift.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="873" number="30452" message="Operator '>>' is not defined for types 'System.DBNull' and 'Boolean'." />
+		<error line="876" number="30452" message="Operator '>>' is not defined for types 'System.DBNull' and 'Byte'." />
+		<error line="879" number="30452" message="Operator '>>' is not defined for types 'System.DBNull' and 'SByte'." />
+		<error line="882" number="30452" message="Operator '>>' is not defined for types 'System.DBNull' and 'Short'." />
+		<error line="885" number="30452" message="Operator '>>' is not defined for types 'System.DBNull' and 'UShort'." />
+		<error line="888" number="30452" message="Operator '>>' is not defined for types 'System.DBNull' and 'Integer'." />
+		<error line="891" number="30452" message="Operator '>>' is not defined for types 'System.DBNull' and 'UInteger'." />
+		<error line="894" number="30452" message="Operator '>>' is not defined for types 'System.DBNull' and 'Long'." />
+		<error line="897" number="30452" message="Operator '>>' is not defined for types 'System.DBNull' and 'ULong'." />
+		<error line="900" number="30452" message="Operator '>>' is not defined for types 'System.DBNull' and 'Decimal'." />
+		<error line="903" number="30452" message="Operator '>>' is not defined for types 'System.DBNull' and 'Single'." />
+		<error line="906" number="30452" message="Operator '>>' is not defined for types 'System.DBNull' and 'Double'." />
+		<error line="909" number="30452" message="Operator '>>' is not defined for types 'System.DBNull' and 'Char'." />
+		<error line="912" number="30452" message="Operator '>>' is not defined for types 'System.DBNull' and 'String'." />
+		<error line="915" number="30452" message="Operator '>>' is not defined for types 'System.DBNull' and 'Date'." />
+		<error line="918" number="30452" message="Operator '>>' is not defined for types 'System.DBNull' and 'System.DBNull'." />
+		<error line="921" number="30452" message="Operator '>>' is not defined for types 'System.DBNull' and 'Object'." />
+	</test>
+	<test id="3088" name="OperatorIntrinsic_RShift_DBNullStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:DBNull_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicRShift.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="873" number="30452" message="Operator '>>' is not defined for types 'System.DBNull' and 'Boolean'." />
+		<error line="876" number="30452" message="Operator '>>' is not defined for types 'System.DBNull' and 'Byte'." />
+		<error line="879" number="30452" message="Operator '>>' is not defined for types 'System.DBNull' and 'SByte'." />
+		<error line="882" number="30452" message="Operator '>>' is not defined for types 'System.DBNull' and 'Short'." />
+		<error line="885" number="30452" message="Operator '>>' is not defined for types 'System.DBNull' and 'UShort'." />
+		<error line="888" number="30452" message="Operator '>>' is not defined for types 'System.DBNull' and 'Integer'." />
+		<error line="891" number="30452" message="Operator '>>' is not defined for types 'System.DBNull' and 'UInteger'." />
+		<error line="894" number="30452" message="Operator '>>' is not defined for types 'System.DBNull' and 'Long'." />
+		<error line="897" number="30452" message="Operator '>>' is not defined for types 'System.DBNull' and 'ULong'." />
+		<error line="900" number="30452" message="Operator '>>' is not defined for types 'System.DBNull' and 'Decimal'." />
+		<error line="903" number="30452" message="Operator '>>' is not defined for types 'System.DBNull' and 'Single'." />
+		<error line="906" number="30452" message="Operator '>>' is not defined for types 'System.DBNull' and 'Double'." />
+		<error line="909" number="30452" message="Operator '>>' is not defined for types 'System.DBNull' and 'Char'." />
+		<error line="912" number="30452" message="Operator '>>' is not defined for types 'System.DBNull' and 'String'." />
+		<error line="915" number="30452" message="Operator '>>' is not defined for types 'System.DBNull' and 'Date'." />
+		<error line="918" number="30452" message="Operator '>>' is not defined for types 'System.DBNull' and 'System.DBNull'." />
+		<error line="921" number="30452" message="Operator '>>' is not defined for types 'System.DBNull' and 'Object'." />
+	</test>
+	<test id="3089" name="OperatorIntrinsic_RShift_ObjectError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Object_ERRORS /nowarn</arguments>
+		<file>CompileTime2\OperatorIntrinsicRShift.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="990" number="30452" message="Operator '>>' is not defined for types 'Object' and 'System.DBNull'." />
+	</test>
+	<test id="3090" name="OperatorIntrinsic_RShift_ObjectStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Object_ERRORS /define:STRICT /nowarn</arguments>
+		<file>CompileTime2\OperatorIntrinsicRShift.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="925" number="30038" message="Option Strict On prohibits operands of type Object for operator '>>'." />
+		<error line="929" number="30038" message="Option Strict On prohibits operands of type Object for operator '>>'." />
+		<error line="933" number="30038" message="Option Strict On prohibits operands of type Object for operator '>>'." />
+		<error line="937" number="30038" message="Option Strict On prohibits operands of type Object for operator '>>'." />
+		<error line="941" number="30038" message="Option Strict On prohibits operands of type Object for operator '>>'." />
+		<error line="945" number="30038" message="Option Strict On prohibits operands of type Object for operator '>>'." />
+		<error line="949" number="30038" message="Option Strict On prohibits operands of type Object for operator '>>'." />
+		<error line="953" number="30038" message="Option Strict On prohibits operands of type Object for operator '>>'." />
+		<error line="957" number="30038" message="Option Strict On prohibits operands of type Object for operator '>>'." />
+		<error line="961" number="30038" message="Option Strict On prohibits operands of type Object for operator '>>'." />
+		<error line="965" number="30038" message="Option Strict On prohibits operands of type Object for operator '>>'." />
+		<error line="969" number="30038" message="Option Strict On prohibits operands of type Object for operator '>>'." />
+		<error line="974" number="30038" message="Option Strict On prohibits operands of type Object for operator '>>'." />
+		<error line="980" number="30038" message="Option Strict On prohibits operands of type Object for operator '>>'." />
+		<error line="985" number="30038" message="Option Strict On prohibits operands of type Object for operator '>>'." />
+		<error line="990" number="30452" message="Operator '>>' is not defined for types 'Object' and 'System.DBNull'." />
+		<error line="994" number="30038" message="Option Strict On prohibits operands of type Object for operator '>>'." />
+		<error line="994" number="30038" message="Option Strict On prohibits operands of type Object for operator '>>'." />
+	</test>
+	<test id="3091" name="OperatorIntrinsic_Xor_" target="exe" mytype="empty">
+		<file>CompileTime2\OperatorIntrinsicXor.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+	</test>
+	<test id="3092" name="OperatorIntrinsic_Xor_Strict" mytype="empty">
+		<arguments>/optionstrict+ /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicXor.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+	</test>
+	<test id="3093" name="OperatorIntrinsic_Xor_BooleanError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Boolean_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicXor.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="42" number="30452" message="Operator 'Xor' is not defined for types 'Boolean' and 'Char'." />
+		<error line="48" number="30452" message="Operator 'Xor' is not defined for types 'Boolean' and 'Date'." />
+		<error line="51" number="30452" message="Operator 'Xor' is not defined for types 'Boolean' and 'System.DBNull'." />
+	</test>
+	<test id="3094" name="OperatorIntrinsic_Xor_BooleanStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Boolean_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicXor.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="9" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<error line="12" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'SByte'." />
+		<error line="15" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<error line="18" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Integer'." />
+		<error line="21" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Integer'." />
+		<error line="24" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Long'." />
+		<error line="27" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Long'." />
+		<error line="30" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Long'." />
+		<error line="30" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Long'." />
+		<error line="33" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Long'." />
+		<error line="33" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="36" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Long'." />
+		<error line="36" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="39" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Long'." />
+		<error line="39" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="42" number="30452" message="Operator 'Xor' is not defined for types 'Boolean' and 'Char'." />
+		<error line="45" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Boolean'." />
+		<error line="48" number="30452" message="Operator 'Xor' is not defined for types 'Boolean' and 'Date'." />
+		<error line="51" number="30452" message="Operator 'Xor' is not defined for types 'Boolean' and 'System.DBNull'." />
+		<error line="54" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Xor'." />
+	</test>
+	<test id="3095" name="OperatorIntrinsic_Xor_ByteError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Byte_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicXor.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="92" number="30452" message="Operator 'Xor' is not defined for types 'Byte' and 'Char'." />
+		<error line="98" number="30452" message="Operator 'Xor' is not defined for types 'Byte' and 'Date'." />
+		<error line="101" number="30452" message="Operator 'Xor' is not defined for types 'Byte' and 'System.DBNull'." />
+	</test>
+	<test id="3096" name="OperatorIntrinsic_Xor_ByteStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Byte_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicXor.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="57" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<error line="83" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="86" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="89" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="92" number="30452" message="Operator 'Xor' is not defined for types 'Byte' and 'Char'." />
+		<error line="95" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="98" number="30452" message="Operator 'Xor' is not defined for types 'Byte' and 'Date'." />
+		<error line="101" number="30452" message="Operator 'Xor' is not defined for types 'Byte' and 'System.DBNull'." />
+		<error line="104" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Xor'." />
+	</test>
+	<test id="3097" name="OperatorIntrinsic_Xor_SByteError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:SByte_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicXor.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="143" number="30452" message="Operator 'Xor' is not defined for types 'SByte' and 'Char'." />
+		<error line="149" number="30452" message="Operator 'Xor' is not defined for types 'SByte' and 'Date'." />
+		<error line="152" number="30452" message="Operator 'Xor' is not defined for types 'SByte' and 'System.DBNull'." />
+	</test>
+	<test id="3098" name="OperatorIntrinsic_Xor_SByteStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:SByte_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicXor.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="107" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'SByte'." />
+		<error line="131" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Long'." />
+		<error line="134" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="137" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="140" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="143" number="30452" message="Operator 'Xor' is not defined for types 'SByte' and 'Char'." />
+		<error line="146" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="149" number="30452" message="Operator 'Xor' is not defined for types 'SByte' and 'Date'." />
+		<error line="152" number="30452" message="Operator 'Xor' is not defined for types 'SByte' and 'System.DBNull'." />
+		<error line="155" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Xor'." />
+	</test>
+	<test id="3099" name="OperatorIntrinsic_Xor_Int16Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Int16_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicXor.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="194" number="30452" message="Operator 'Xor' is not defined for types 'Short' and 'Char'." />
+		<error line="200" number="30452" message="Operator 'Xor' is not defined for types 'Short' and 'Date'." />
+		<error line="203" number="30452" message="Operator 'Xor' is not defined for types 'Short' and 'System.DBNull'." />
+	</test>
+	<test id="3100" name="OperatorIntrinsic_Xor_Int16StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Int16_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicXor.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="158" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Short'." />
+		<error line="182" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Long'." />
+		<error line="185" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="188" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="191" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="194" number="30452" message="Operator 'Xor' is not defined for types 'Short' and 'Char'." />
+		<error line="197" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="200" number="30452" message="Operator 'Xor' is not defined for types 'Short' and 'Date'." />
+		<error line="203" number="30452" message="Operator 'Xor' is not defined for types 'Short' and 'System.DBNull'." />
+		<error line="206" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Xor'." />
+	</test>
+	<test id="3101" name="OperatorIntrinsic_Xor_UInt16Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:UInt16_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicXor.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="243" number="30452" message="Operator 'Xor' is not defined for types 'UShort' and 'Char'." />
+		<error line="249" number="30452" message="Operator 'Xor' is not defined for types 'UShort' and 'Date'." />
+		<error line="252" number="30452" message="Operator 'Xor' is not defined for types 'UShort' and 'System.DBNull'." />
+	</test>
+	<test id="3102" name="OperatorIntrinsic_Xor_UInt16StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:UInt16_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicXor.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="209" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Integer'." />
+		<error line="234" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="237" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="240" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="243" number="30452" message="Operator 'Xor' is not defined for types 'UShort' and 'Char'." />
+		<error line="246" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="249" number="30452" message="Operator 'Xor' is not defined for types 'UShort' and 'Date'." />
+		<error line="252" number="30452" message="Operator 'Xor' is not defined for types 'UShort' and 'System.DBNull'." />
+		<error line="255" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Xor'." />
+	</test>
+	<test id="3103" name="OperatorIntrinsic_Xor_Int32Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Int32_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicXor.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="294" number="30452" message="Operator 'Xor' is not defined for types 'Integer' and 'Char'." />
+		<error line="300" number="30452" message="Operator 'Xor' is not defined for types 'Integer' and 'Date'." />
+		<error line="303" number="30452" message="Operator 'Xor' is not defined for types 'Integer' and 'System.DBNull'." />
+	</test>
+	<test id="3104" name="OperatorIntrinsic_Xor_Int32StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Int32_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicXor.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="258" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Integer'." />
+		<error line="282" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Long'." />
+		<error line="285" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="288" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="291" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="294" number="30452" message="Operator 'Xor' is not defined for types 'Integer' and 'Char'." />
+		<error line="297" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="300" number="30452" message="Operator 'Xor' is not defined for types 'Integer' and 'Date'." />
+		<error line="303" number="30452" message="Operator 'Xor' is not defined for types 'Integer' and 'System.DBNull'." />
+		<error line="306" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Xor'." />
+	</test>
+	<test id="3105" name="OperatorIntrinsic_Xor_UInt32Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:UInt32_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicXor.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="345" number="30452" message="Operator 'Xor' is not defined for types 'UInteger' and 'Char'." />
+		<error line="351" number="30452" message="Operator 'Xor' is not defined for types 'UInteger' and 'Date'." />
+		<error line="354" number="30452" message="Operator 'Xor' is not defined for types 'UInteger' and 'System.DBNull'." />
+	</test>
+	<test id="3106" name="OperatorIntrinsic_Xor_UInt32StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:UInt32_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicXor.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="309" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Long'." />
+		<error line="336" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="339" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="342" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="345" number="30452" message="Operator 'Xor' is not defined for types 'UInteger' and 'Char'." />
+		<error line="348" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="351" number="30452" message="Operator 'Xor' is not defined for types 'UInteger' and 'Date'." />
+		<error line="354" number="30452" message="Operator 'Xor' is not defined for types 'UInteger' and 'System.DBNull'." />
+		<error line="357" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Xor'." />
+	</test>
+	<test id="3107" name="OperatorIntrinsic_Xor_Int64Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Int64_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicXor.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="396" number="30452" message="Operator 'Xor' is not defined for types 'Long' and 'Char'." />
+		<error line="402" number="30452" message="Operator 'Xor' is not defined for types 'Long' and 'Date'." />
+		<error line="405" number="30452" message="Operator 'Xor' is not defined for types 'Long' and 'System.DBNull'." />
+	</test>
+	<test id="3108" name="OperatorIntrinsic_Xor_Int64StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Int64_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicXor.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="360" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Long'." />
+		<error line="384" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Long'." />
+		<error line="387" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="390" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="393" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="396" number="30452" message="Operator 'Xor' is not defined for types 'Long' and 'Char'." />
+		<error line="399" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="402" number="30452" message="Operator 'Xor' is not defined for types 'Long' and 'Date'." />
+		<error line="405" number="30452" message="Operator 'Xor' is not defined for types 'Long' and 'System.DBNull'." />
+		<error line="408" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Xor'." />
+	</test>
+	<test id="3109" name="OperatorIntrinsic_Xor_UInt64Error" expectedexitcode="1" mytype="empty">
+		<arguments>/define:UInt64_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicXor.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="447" number="30452" message="Operator 'Xor' is not defined for types 'ULong' and 'Char'." />
+		<error line="453" number="30452" message="Operator 'Xor' is not defined for types 'ULong' and 'Date'." />
+		<error line="456" number="30452" message="Operator 'Xor' is not defined for types 'ULong' and 'System.DBNull'." />
+	</test>
+	<test id="3110" name="OperatorIntrinsic_Xor_UInt64StrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:UInt64_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicXor.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="411" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Long'." />
+		<error line="411" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Long'." />
+		<error line="417" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Long'." />
+		<error line="420" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Long'." />
+		<error line="426" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Long'." />
+		<error line="432" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Long'." />
+		<error line="438" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Long'." />
+		<error line="438" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="441" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Long'." />
+		<error line="441" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="444" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Long'." />
+		<error line="444" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="447" number="30452" message="Operator 'Xor' is not defined for types 'ULong' and 'Char'." />
+		<error line="450" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Long'." />
+		<error line="450" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="453" number="30452" message="Operator 'Xor' is not defined for types 'ULong' and 'Date'." />
+		<error line="456" number="30452" message="Operator 'Xor' is not defined for types 'ULong' and 'System.DBNull'." />
+		<error line="459" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Xor'." />
+	</test>
+	<test id="3111" name="OperatorIntrinsic_Xor_DecimalError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Decimal_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicXor.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="498" number="30452" message="Operator 'Xor' is not defined for types 'Decimal' and 'Char'." />
+		<error line="504" number="30452" message="Operator 'Xor' is not defined for types 'Decimal' and 'Date'." />
+		<error line="507" number="30452" message="Operator 'Xor' is not defined for types 'Decimal' and 'System.DBNull'." />
+	</test>
+	<test id="3112" name="OperatorIntrinsic_Xor_DecimalStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Decimal_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicXor.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="462" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="462" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Long'." />
+		<error line="465" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="468" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="471" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="474" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="477" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="480" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="483" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="486" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="486" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Long'." />
+		<error line="489" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="489" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="492" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="492" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="495" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="495" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="498" number="30452" message="Operator 'Xor' is not defined for types 'Decimal' and 'Char'." />
+		<error line="501" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="501" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="504" number="30452" message="Operator 'Xor' is not defined for types 'Decimal' and 'Date'." />
+		<error line="507" number="30452" message="Operator 'Xor' is not defined for types 'Decimal' and 'System.DBNull'." />
+		<error line="510" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Xor'." />
+	</test>
+	<test id="3113" name="OperatorIntrinsic_Xor_SingleError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Single_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicXor.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="549" number="30452" message="Operator 'Xor' is not defined for types 'Single' and 'Char'." />
+		<error line="555" number="30452" message="Operator 'Xor' is not defined for types 'Single' and 'Date'." />
+		<error line="558" number="30452" message="Operator 'Xor' is not defined for types 'Single' and 'System.DBNull'." />
+	</test>
+	<test id="3114" name="OperatorIntrinsic_Xor_SingleStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Single_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicXor.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="513" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="513" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Long'." />
+		<error line="516" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="519" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="522" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="525" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="528" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="531" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="534" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="537" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="537" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Long'." />
+		<error line="540" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="540" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="543" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="543" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="546" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="546" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="549" number="30452" message="Operator 'Xor' is not defined for types 'Single' and 'Char'." />
+		<error line="552" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="552" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="555" number="30452" message="Operator 'Xor' is not defined for types 'Single' and 'Date'." />
+		<error line="558" number="30452" message="Operator 'Xor' is not defined for types 'Single' and 'System.DBNull'." />
+		<error line="561" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Xor'." />
+	</test>
+	<test id="3115" name="OperatorIntrinsic_Xor_DoubleError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Double_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicXor.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="600" number="30452" message="Operator 'Xor' is not defined for types 'Double' and 'Char'." />
+		<error line="606" number="30452" message="Operator 'Xor' is not defined for types 'Double' and 'Date'." />
+		<error line="609" number="30452" message="Operator 'Xor' is not defined for types 'Double' and 'System.DBNull'." />
+	</test>
+	<test id="3116" name="OperatorIntrinsic_Xor_DoubleStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Double_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicXor.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="564" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="564" number="30512" message="Option Strict On disallows implicit conversions from 'Boolean' to 'Long'." />
+		<error line="567" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="570" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="573" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="576" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="579" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="582" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="585" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="588" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="588" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Long'." />
+		<error line="591" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="591" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="594" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="594" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="597" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="597" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="600" number="30452" message="Operator 'Xor' is not defined for types 'Double' and 'Char'." />
+		<error line="603" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="603" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="606" number="30452" message="Operator 'Xor' is not defined for types 'Double' and 'Date'." />
+		<error line="609" number="30452" message="Operator 'Xor' is not defined for types 'Double' and 'System.DBNull'." />
+		<error line="612" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Xor'." />
+	</test>
+	<test id="3117" name="OperatorIntrinsic_Xor_CharError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Char_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicXor.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="615" number="30452" message="Operator 'Xor' is not defined for types 'Char' and 'Boolean'." />
+		<error line="618" number="30452" message="Operator 'Xor' is not defined for types 'Char' and 'Byte'." />
+		<error line="621" number="30452" message="Operator 'Xor' is not defined for types 'Char' and 'SByte'." />
+		<error line="624" number="30452" message="Operator 'Xor' is not defined for types 'Char' and 'Short'." />
+		<error line="627" number="30452" message="Operator 'Xor' is not defined for types 'Char' and 'UShort'." />
+		<error line="630" number="30452" message="Operator 'Xor' is not defined for types 'Char' and 'Integer'." />
+		<error line="633" number="30452" message="Operator 'Xor' is not defined for types 'Char' and 'UInteger'." />
+		<error line="636" number="30452" message="Operator 'Xor' is not defined for types 'Char' and 'Long'." />
+		<error line="639" number="30452" message="Operator 'Xor' is not defined for types 'Char' and 'ULong'." />
+		<error line="642" number="30452" message="Operator 'Xor' is not defined for types 'Char' and 'Decimal'." />
+		<error line="645" number="30452" message="Operator 'Xor' is not defined for types 'Char' and 'Single'." />
+		<error line="648" number="30452" message="Operator 'Xor' is not defined for types 'Char' and 'Double'." />
+		<error line="651" number="30452" message="Operator 'Xor' is not defined for types 'Char' and 'Char'." />
+		<error line="654" number="30452" message="Operator 'Xor' is not defined for types 'Char' and 'String'." />
+		<error line="657" number="30452" message="Operator 'Xor' is not defined for types 'Char' and 'Date'." />
+		<error line="660" number="30452" message="Operator 'Xor' is not defined for types 'Char' and 'System.DBNull'." />
+		<error line="663" number="30452" message="Operator 'Xor' is not defined for types 'Char' and 'Object'." />
+	</test>
+	<test id="3118" name="OperatorIntrinsic_Xor_CharStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Char_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicXor.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="615" number="30452" message="Operator 'Xor' is not defined for types 'Char' and 'Boolean'." />
+		<error line="618" number="30452" message="Operator 'Xor' is not defined for types 'Char' and 'Byte'." />
+		<error line="621" number="30452" message="Operator 'Xor' is not defined for types 'Char' and 'SByte'." />
+		<error line="624" number="30452" message="Operator 'Xor' is not defined for types 'Char' and 'Short'." />
+		<error line="627" number="30452" message="Operator 'Xor' is not defined for types 'Char' and 'UShort'." />
+		<error line="630" number="30452" message="Operator 'Xor' is not defined for types 'Char' and 'Integer'." />
+		<error line="633" number="30452" message="Operator 'Xor' is not defined for types 'Char' and 'UInteger'." />
+		<error line="636" number="30452" message="Operator 'Xor' is not defined for types 'Char' and 'Long'." />
+		<error line="639" number="30452" message="Operator 'Xor' is not defined for types 'Char' and 'ULong'." />
+		<error line="642" number="30452" message="Operator 'Xor' is not defined for types 'Char' and 'Decimal'." />
+		<error line="645" number="30452" message="Operator 'Xor' is not defined for types 'Char' and 'Single'." />
+		<error line="648" number="30452" message="Operator 'Xor' is not defined for types 'Char' and 'Double'." />
+		<error line="651" number="30452" message="Operator 'Xor' is not defined for types 'Char' and 'Char'." />
+		<error line="654" number="30452" message="Operator 'Xor' is not defined for types 'Char' and 'String'." />
+		<error line="657" number="30452" message="Operator 'Xor' is not defined for types 'Char' and 'Date'." />
+		<error line="660" number="30452" message="Operator 'Xor' is not defined for types 'Char' and 'System.DBNull'." />
+		<error line="663" number="30452" message="Operator 'Xor' is not defined for types 'Char' and 'Object'." />
+	</test>
+	<test id="3119" name="OperatorIntrinsic_Xor_StringError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:String_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicXor.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="702" number="30452" message="Operator 'Xor' is not defined for types 'String' and 'Char'." />
+		<error line="708" number="30452" message="Operator 'Xor' is not defined for types 'String' and 'Date'." />
+		<error line="711" number="30452" message="Operator 'Xor' is not defined for types 'String' and 'System.DBNull'." />
+	</test>
+	<test id="3120" name="OperatorIntrinsic_Xor_StringStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:String_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicXor.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="666" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Boolean'." />
+		<error line="669" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="672" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="675" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="678" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="681" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="684" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="687" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="690" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="690" number="30512" message="Option Strict On disallows implicit conversions from 'ULong' to 'Long'." />
+		<error line="693" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="693" number="30512" message="Option Strict On disallows implicit conversions from 'Decimal' to 'Long'." />
+		<error line="696" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="696" number="30512" message="Option Strict On disallows implicit conversions from 'Single' to 'Long'." />
+		<error line="699" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="699" number="30512" message="Option Strict On disallows implicit conversions from 'Double' to 'Long'." />
+		<error line="702" number="30452" message="Operator 'Xor' is not defined for types 'String' and 'Char'." />
+		<error line="705" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="705" number="30512" message="Option Strict On disallows implicit conversions from 'String' to 'Long'." />
+		<error line="708" number="30452" message="Operator 'Xor' is not defined for types 'String' and 'Date'." />
+		<error line="711" number="30452" message="Operator 'Xor' is not defined for types 'String' and 'System.DBNull'." />
+		<error line="714" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Xor'." />
+	</test>
+	<test id="3121" name="OperatorIntrinsic_Xor_DateTimeError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:DateTime_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicXor.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="717" number="30452" message="Operator 'Xor' is not defined for types 'Date' and 'Boolean'." />
+		<error line="720" number="30452" message="Operator 'Xor' is not defined for types 'Date' and 'Byte'." />
+		<error line="723" number="30452" message="Operator 'Xor' is not defined for types 'Date' and 'SByte'." />
+		<error line="726" number="30452" message="Operator 'Xor' is not defined for types 'Date' and 'Short'." />
+		<error line="729" number="30452" message="Operator 'Xor' is not defined for types 'Date' and 'UShort'." />
+		<error line="732" number="30452" message="Operator 'Xor' is not defined for types 'Date' and 'Integer'." />
+		<error line="735" number="30452" message="Operator 'Xor' is not defined for types 'Date' and 'UInteger'." />
+		<error line="738" number="30452" message="Operator 'Xor' is not defined for types 'Date' and 'Long'." />
+		<error line="741" number="30452" message="Operator 'Xor' is not defined for types 'Date' and 'ULong'." />
+		<error line="744" number="30452" message="Operator 'Xor' is not defined for types 'Date' and 'Decimal'." />
+		<error line="747" number="30452" message="Operator 'Xor' is not defined for types 'Date' and 'Single'." />
+		<error line="750" number="30452" message="Operator 'Xor' is not defined for types 'Date' and 'Double'." />
+		<error line="753" number="30452" message="Operator 'Xor' is not defined for types 'Date' and 'Char'." />
+		<error line="756" number="30452" message="Operator 'Xor' is not defined for types 'Date' and 'String'." />
+		<error line="759" number="30452" message="Operator 'Xor' is not defined for types 'Date' and 'Date'." />
+		<error line="762" number="30452" message="Operator 'Xor' is not defined for types 'Date' and 'System.DBNull'." />
+		<error line="765" number="30452" message="Operator 'Xor' is not defined for types 'Date' and 'Object'." />
+	</test>
+	<test id="3122" name="OperatorIntrinsic_Xor_DateTimeStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:DateTime_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicXor.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="717" number="30452" message="Operator 'Xor' is not defined for types 'Date' and 'Boolean'." />
+		<error line="720" number="30452" message="Operator 'Xor' is not defined for types 'Date' and 'Byte'." />
+		<error line="723" number="30452" message="Operator 'Xor' is not defined for types 'Date' and 'SByte'." />
+		<error line="726" number="30452" message="Operator 'Xor' is not defined for types 'Date' and 'Short'." />
+		<error line="729" number="30452" message="Operator 'Xor' is not defined for types 'Date' and 'UShort'." />
+		<error line="732" number="30452" message="Operator 'Xor' is not defined for types 'Date' and 'Integer'." />
+		<error line="735" number="30452" message="Operator 'Xor' is not defined for types 'Date' and 'UInteger'." />
+		<error line="738" number="30452" message="Operator 'Xor' is not defined for types 'Date' and 'Long'." />
+		<error line="741" number="30452" message="Operator 'Xor' is not defined for types 'Date' and 'ULong'." />
+		<error line="744" number="30452" message="Operator 'Xor' is not defined for types 'Date' and 'Decimal'." />
+		<error line="747" number="30452" message="Operator 'Xor' is not defined for types 'Date' and 'Single'." />
+		<error line="750" number="30452" message="Operator 'Xor' is not defined for types 'Date' and 'Double'." />
+		<error line="753" number="30452" message="Operator 'Xor' is not defined for types 'Date' and 'Char'." />
+		<error line="756" number="30452" message="Operator 'Xor' is not defined for types 'Date' and 'String'." />
+		<error line="759" number="30452" message="Operator 'Xor' is not defined for types 'Date' and 'Date'." />
+		<error line="762" number="30452" message="Operator 'Xor' is not defined for types 'Date' and 'System.DBNull'." />
+		<error line="765" number="30452" message="Operator 'Xor' is not defined for types 'Date' and 'Object'." />
+	</test>
+	<test id="3123" name="OperatorIntrinsic_Xor_DBNullError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:DBNull_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicXor.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="768" number="30452" message="Operator 'Xor' is not defined for types 'System.DBNull' and 'Boolean'." />
+		<error line="771" number="30452" message="Operator 'Xor' is not defined for types 'System.DBNull' and 'Byte'." />
+		<error line="774" number="30452" message="Operator 'Xor' is not defined for types 'System.DBNull' and 'SByte'." />
+		<error line="777" number="30452" message="Operator 'Xor' is not defined for types 'System.DBNull' and 'Short'." />
+		<error line="780" number="30452" message="Operator 'Xor' is not defined for types 'System.DBNull' and 'UShort'." />
+		<error line="783" number="30452" message="Operator 'Xor' is not defined for types 'System.DBNull' and 'Integer'." />
+		<error line="786" number="30452" message="Operator 'Xor' is not defined for types 'System.DBNull' and 'UInteger'." />
+		<error line="789" number="30452" message="Operator 'Xor' is not defined for types 'System.DBNull' and 'Long'." />
+		<error line="792" number="30452" message="Operator 'Xor' is not defined for types 'System.DBNull' and 'ULong'." />
+		<error line="795" number="30452" message="Operator 'Xor' is not defined for types 'System.DBNull' and 'Decimal'." />
+		<error line="798" number="30452" message="Operator 'Xor' is not defined for types 'System.DBNull' and 'Single'." />
+		<error line="801" number="30452" message="Operator 'Xor' is not defined for types 'System.DBNull' and 'Double'." />
+		<error line="804" number="30452" message="Operator 'Xor' is not defined for types 'System.DBNull' and 'Char'." />
+		<error line="807" number="30452" message="Operator 'Xor' is not defined for types 'System.DBNull' and 'String'." />
+		<error line="810" number="30452" message="Operator 'Xor' is not defined for types 'System.DBNull' and 'Date'." />
+		<error line="813" number="30452" message="Operator 'Xor' is not defined for types 'System.DBNull' and 'System.DBNull'." />
+		<error line="816" number="30452" message="Operator 'Xor' is not defined for types 'System.DBNull' and 'Object'." />
+	</test>
+	<test id="3124" name="OperatorIntrinsic_Xor_DBNullStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:DBNull_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicXor.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="768" number="30452" message="Operator 'Xor' is not defined for types 'System.DBNull' and 'Boolean'." />
+		<error line="771" number="30452" message="Operator 'Xor' is not defined for types 'System.DBNull' and 'Byte'." />
+		<error line="774" number="30452" message="Operator 'Xor' is not defined for types 'System.DBNull' and 'SByte'." />
+		<error line="777" number="30452" message="Operator 'Xor' is not defined for types 'System.DBNull' and 'Short'." />
+		<error line="780" number="30452" message="Operator 'Xor' is not defined for types 'System.DBNull' and 'UShort'." />
+		<error line="783" number="30452" message="Operator 'Xor' is not defined for types 'System.DBNull' and 'Integer'." />
+		<error line="786" number="30452" message="Operator 'Xor' is not defined for types 'System.DBNull' and 'UInteger'." />
+		<error line="789" number="30452" message="Operator 'Xor' is not defined for types 'System.DBNull' and 'Long'." />
+		<error line="792" number="30452" message="Operator 'Xor' is not defined for types 'System.DBNull' and 'ULong'." />
+		<error line="795" number="30452" message="Operator 'Xor' is not defined for types 'System.DBNull' and 'Decimal'." />
+		<error line="798" number="30452" message="Operator 'Xor' is not defined for types 'System.DBNull' and 'Single'." />
+		<error line="801" number="30452" message="Operator 'Xor' is not defined for types 'System.DBNull' and 'Double'." />
+		<error line="804" number="30452" message="Operator 'Xor' is not defined for types 'System.DBNull' and 'Char'." />
+		<error line="807" number="30452" message="Operator 'Xor' is not defined for types 'System.DBNull' and 'String'." />
+		<error line="810" number="30452" message="Operator 'Xor' is not defined for types 'System.DBNull' and 'Date'." />
+		<error line="813" number="30452" message="Operator 'Xor' is not defined for types 'System.DBNull' and 'System.DBNull'." />
+		<error line="816" number="30452" message="Operator 'Xor' is not defined for types 'System.DBNull' and 'Object'." />
+	</test>
+	<test id="3125" name="OperatorIntrinsic_Xor_ObjectError" expectedexitcode="1" mytype="empty">
+		<arguments>/define:Object_ERRORS</arguments>
+		<file>CompileTime2\OperatorIntrinsicXor.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="855" number="30452" message="Operator 'Xor' is not defined for types 'Object' and 'Char'." />
+		<error line="861" number="30452" message="Operator 'Xor' is not defined for types 'Object' and 'Date'." />
+		<error line="864" number="30452" message="Operator 'Xor' is not defined for types 'Object' and 'System.DBNull'." />
+	</test>
+	<test id="3126" name="OperatorIntrinsic_Xor_ObjectStrictError" expectedexitcode="1" mytype="empty">
+		<arguments>/optionstrict+ /define:Object_ERRORS /define:STRICT</arguments>
+		<file>CompileTime2\OperatorIntrinsicXor.vb</file>
+		<file>CompileTime2\OperatorIntrinsic.vb</file>
+		<error line="819" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Xor'." />
+		<error line="822" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Xor'." />
+		<error line="825" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Xor'." />
+		<error line="828" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Xor'." />
+		<error line="831" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Xor'." />
+		<error line="834" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Xor'." />
+		<error line="837" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Xor'." />
+		<error line="840" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Xor'." />
+		<error line="843" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Xor'." />
+		<error line="846" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Xor'." />
+		<error line="849" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Xor'." />
+		<error line="852" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Xor'." />
+		<error line="855" number="30452" message="Operator 'Xor' is not defined for types 'Object' and 'Char'." />
+		<error line="858" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Xor'." />
+		<error line="861" number="30452" message="Operator 'Xor' is not defined for types 'Object' and 'Date'." />
+		<error line="864" number="30452" message="Operator 'Xor' is not defined for types 'Object' and 'System.DBNull'." />
+		<error line="867" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Xor'." />
+		<error line="867" number="30038" message="Option Strict On prohibits operands of type Object for operator 'Xor'." />
+	</test>
+	<test id="3127" name="30516" expectedexitcode="1">
+		<file>Errors\30516.vb</file>
+		<error line="10" number="30516" message="Overload resolution failed because no accessible 'N' accepts this number of arguments." />
+	</test>
+	<test id="3128" name="30518" expectedexitcode="1">
+		<file>Errors\30518.vb</file>
+		<error line="10" number="30518" message="Overload resolution failed because no accessible 'N' can be called with these arguments:" />
+	</test>
+	<test id="3129" name="30588" expectedexitcode="1">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30588.vb</file>
+		<error line="11" number="30588" message="Omitted argument cannot match a ParamArray parameter." />
+	</test>
+	<test id="3130" name="30587" expectedexitcode="1" mytype="empty">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30587.vb</file>
+		<error line="11" number="30587" message="Named argument cannot match a ParamArray parameter." />
+	</test>
+	<test id="3131" name="32021" expectedexitcode="1" mytype="empty">
+		<file>Errors\32021.vb</file>
+		<error line="4" number="32021" message="Parameter 'i' in 'Public Sub G(i As Integer, ParamArray args() As String)' already has a matching omitted argument." />
+	</test>
+	<test id="3132" name="30057-2" expectedexitcode="1">
+		<arguments>/nowarn</arguments>
+		<file>Errors\30057-2.vb</file>
+		<error line="11" number="30057" message="Too many arguments to 'Public Sub Z()'." />
+	</test>
+	<test id="3133" name="31087" expectedexitcode="1" expectedvbcexitcode="1" mytype="empty">
+		<file>Errors\31087.vb</file>
+		<error line="5" number="31087" message="Array modifiers cannot be specified on both a variable and its type." />
+		<vbcerror line="5" number="31087" message="Array modifiers cannot be specified on both a variable and its type." />
+	</test>
+	<test id="3134" name="30217" expectedexitcode="1" mytype="empty">
+		<file>Errors\30217.vb</file>
+		<error line="1" number="30217" message="String constant expected." />
+	</test>
+	<test id="3141" name="30249" expectedexitcode="1" expectedvbcexitcode="1" mytype="empty">
+		<file>Errors\30249.vb</file>
+		<error line="1" number="30249" message="'=' expected." />
+		<vbcerror line="1" number="30249" message="'=' expected." />
+	</test>
+	<test id="3142" name="30203-2" expectedexitcode="1" mytype="empty">
+		<file>Errors\30203-2.vb</file>
+		<error line="1" number="30203" message="Identifier expected." />
+	</test>
+	<test id="3143" name="30248" expectedexitcode="1" mytype="empty">
+		<file>Errors\30248.vb</file>
+		<error line="1" number="30248" message="'If', 'ElseIf', 'Else', 'End If', 'Const', or 'Region' expected." />
+	</test>
+	<test id="3144" name="30443" expectedexitcode="1" mytype="empty">
+		<file>Errors\30443.vb</file>
+		<error line="7" number="30443" message="'Get' is already declared." />
+	</test>
+	<test id="3145" name="30444" expectedexitcode="1" mytype="empty">
+		<file>Errors\30444.vb</file>
+		<error line="6" number="30444" message="'Set' is already declared." />
+	</test>
+	<test id="3146" name="30105" expectedexitcode="1" mytype="empty">
+		<file>Errors\30105.vb</file>
+		<error line="6" number="30105" message="Number of indices is less than the number of dimensions of the indexed array." />
+	</test>
+	<test id="3147" name="30106" expectedexitcode="1" mytype="empty">
+		<file>Errors\30106.vb</file>
+		<error line="6" number="30106" message="Number of indices exceeds the number of dimensions of the indexed array." />
+	</test>
+	<test id="3148" name="30099" expectedexitcode="1" mytype="empty">
+		<file>Errors\30099.vb</file>
+		<error line="6" number="30099" message="'Exit Select' can only appear inside a 'Select' statement." />
+	</test>
+	<test id="3135" name="bug-2087" expectedexitcode="1" mytype="empty">
+		<file>Bugs\bug-2087.vb</file>
+		<error line="14" number="32000" message="Local variable 'p' cannot be referred to before it is declared." />
+	</test>
+	<test id="3136" name="DoLoopWhile2" target="exe" mytype="empty">
+		<file>CompileTime2\DoLoopWhile2.vb</file>
+	</test>
+	<test id="3137" name="bug-3769" expectedexitcode="1" mytype="empty">
+		<file>Bugs\bug-3769.vb</file>
+		<error line="8" number="32000" message="Local variable 'a' cannot be referred to before it is declared." />
+	</test>
+	<test id="3138" name="bug-5630" expectedexitcode="1" mytype="empty">
+		<file>Bugs\bug-5630.vb</file>
+		<error line="11" number="30469" message="Reference to a non-shared member requires an object reference." />
+		<vbcerror line="11" number="30469" message="Reference to a non-shared member requires an object reference." />
+	</test>
+	<test id="3139" name="30022" expectedexitcode="1" mytype="empty">
+		<file>Errors\30022.vb</file>
+		<error line="6" number="30022" message="Properties declared 'ReadOnly' cannot have a 'Set'." />
+	</test>
+	<test id="3140" name="30023" expectedexitcode="1" mytype="empty">
+		<arguments>/nowarn:42355</arguments>
+		<file>Errors\30023.vb</file>
+		<error line="3" number="30023" message="Properties declared 'WriteOnly' cannot have a 'Get'." />
+	</test>
+	<test id="3149" name="30125" expectedexitcode="1" mytype="empty">
+		<file>Errors\30125.vb</file>
+		<error line="2" number="30125" message="'WriteOnly' property must provide a 'Set'." />
+	</test>
+	<test id="3150" name="30126" expectedexitcode="1" mytype="empty">
+		<file>Errors\30126.vb</file>
+		<error line="2" number="30126" message="'ReadOnly' property must provide a 'Get'." />
+	</test>
+	<test id="3151" name="30124-1" expectedexitcode="1" mytype="empty">
+		<file>Errors\30124-1.vb</file>
+		<error line="2" number="30124" message="Property without a 'ReadOnly' or 'WriteOnly' specifier must provide both a 'Get' and a 'Set'." />
+	</test>
+	<test id="3152" name="2012" knownfailure="Error message has full path in it" expectedexitcode="1" expectedvbcexitcode="1" mytype="empty">
+		<arguments>/out:inexistent-dir/2012.dll</arguments>
+		<file>Errors\2012.vb</file>
+		<error number="2012" message="can't open 'D:\Documentos\Rolf\Xamarin\git\mono-basic\vbnc\vbnc\tests\inexistent-dir\2012.dll' for writing" />
+		<vbcerror number="2012" message="can't open 'inexistent-dir/2012.dll' for writing" />
+	</test>
+	<test id="3153" name="31019" knownfailure="Error message has full path in it" expectedexitcode="1" expectedvbcexitcode="1" mytype="empty">
+		<arguments>/out:testoutput\31019.dll</arguments>
+		<file>Errors\31019.vb</file>
+		<error number="31019" message="Unable to write to output file 'D:\Documentos\Rolf\Xamarin\git\mono-basic\vbnc\vbnc\tests\testoutput\31019.dll': Access to the path 'D:\Documentos\Rolf\Xamarin\git\mono-basic\vbnc\vbnc\tests\testoutput\31019.dll' is denied." />
+		<vbcerror number="31019" message="Unable to write to output file 'D:\Documentos\Rolf\Xamarin\git\mono-basic\vbnc\vbnc\tests\testoutput\31019.dll': Acceso denegado." />
+	</test>
+	<test id="3154" name="42024-1" knownfailure="Need to report 42104 too" expectedexitcode="1" mytype="empty">
+		<arguments>/warnaserror  /quiet</arguments>
+		<file>Errors\42024-1.vb</file>
+		<error line="7" number="42024" message="Unused local variable: 'UnusedInSyncLock'." />
+		<error line="9" number="42104" message="Variable 'UsedInSyncLock' is used before it has been assigned a value. A null reference exception could result at runtime." />
+		<error line="9" number="31072" message="Warning treated as error : Variable 'UsedInSyncLock' is used before it has been assigned a value. A null reference exception could result at runtime." />
+	</test>
+	<test id="3155" name="2003" knownfailure="Error message has full path in it" expectedexitcode="1" expectedvbcexitcode="-1073740940" mytype="empty">
+		<arguments>@Errors\2003.response @Errors\2003.response</arguments>
+		<file>Errors\2003.vb</file>
+		<error number="2003" message="response file 'D:\Documentos\Rolf\Xamarin\git\mono-basic\vbnc\vbnc\tests\Errors\2003.response' included multiple times" />
+	</test>
+	<test id="3156" name="2014" expectedexitcode="1" mytype="empty">
+		<arguments>/nowarn:a,42024 /warnaserror:b,42021</arguments>
+		<file>Errors\Empty.vb</file>
+		<error number="2014" message="the value 'a' is invalid for option 'nowarn'" />
+		<error number="2014" message="the value 'b' is invalid for option 'warnaserror'" />
+	</test>
+	<test id="3157" name="42021-1" expectedexitcode="1" mytype="empty">
+		<arguments>/warnaserror:42021 /optionstrict:custom</arguments>
+		<file>Errors\42021.vb</file>
+		<error line="4" number="42021" message="Function without an 'As' clause; return type of Object assumed." />
+		<error line="4" number="31072" message="Warning treated as error : Function without an 'As' clause; return type of Object assumed." />
+	</test>
+	<test id="3158" name="bug-7616" expectedexitcode="1" mytype="empty">
+		<file>Bugs\bug-7616.vb</file>
+		<error line="6" number="30321" message="'Case' cannot follow a 'Case Else' in the same 'Select' statement." />
+	</test>
+	<test id="3159" name="bug-7646" target="exe" mytype="empty">
+		<file>Bugs\bug-7646.vb</file>
+	</test>
+	<test id="3160" name="30132-1" expectedexitcode="1">
+		<file>Errors\30132-1.vb</file>
+		<error line="25" number="30132" message="Label 'ExitHere2' is not defined." />
+	</test>
+</rt>
diff --git a/vbnc/vbnc/vbnc.Errors.resources b/vbnc/vbnc/vbnc.Errors.resources
index 8dc9a72..d2a8c2e 100644
Binary files a/vbnc/vbnc/vbnc.Errors.resources and b/vbnc/vbnc/vbnc.Errors.resources differ
diff --git a/vbnc/vbnc/vbnc.exe.rsp b/vbnc/vbnc/vbnc.exe.rsp
index a1444aa..2139620 100644
--- a/vbnc/vbnc/vbnc.exe.rsp
+++ b/vbnc/vbnc/vbnc.exe.rsp
@@ -1,6 +1,7 @@
 /r:System.dll
 /r:System.Xml.dll
 /r:System.Windows.Forms.dll
+/r:System.Core.dll
 /imports:system,system.collections,vb=microsoft.visualbasic,system.reflection,system.reflection.emit
 /imports:Mono.Cecil
 /rootnamespace:vbnc
diff --git a/vbnc/vbnc/vbnc.exe.sources b/vbnc/vbnc/vbnc.exe.sources
index 4e31cb6..c27139b 100644
--- a/vbnc/vbnc/vbnc.exe.sources
+++ b/vbnc/vbnc/vbnc.exe.sources
@@ -33,6 +33,7 @@ source/Expressions/Classifications/ValueClassification.vb
 source/Expressions/Classifications/VariableClassification.vb
 source/Expressions/Classifications/VoidClassification.vb
 source/Expressions/CompilerGeneratedExpression.vb
+source/Expressions/Conversions/ConversionType.vb
 source/Expressions/IfExpression.vb
 source/Expressions/LateBoundAccessToExpression.vb
 source/Expressions/LateBoundAccessToPropertyAccessExpression.vb
@@ -59,6 +60,7 @@ source/General/MyGroupData.vb
 source/General/NamespaceDictionary.vb
 source/General/TypeDictionary.vb
 source/General/TypeList.vb
+source/General/Version.vb
 source/Infos/ExpressionResolveInfo.vb
 source/Interfaces/IHasImplicitMembers.vb
 source/Interfaces/IHasImplicitTypes.vb
@@ -86,9 +88,7 @@ source/Interfaces/IFieldMember.vb
 source/Interfaces/IAttributableDeclaration.vb
 source/Interfaces/IAttributableNamedDeclaration.vb
 source/Interfaces/IBaseObject.vb
-source/Interfaces/IDefinableType.vb
 source/Interfaces/IEmittable.vb
-source/Interfaces/IDefinableMember.vb
 source/Interfaces/IMember.vb
 source/Interfaces/IMethod.vb
 source/Interfaces/INameable.vb
diff --git a/vbruntime/Microsoft.VisualBasic/2005VB.JavaEE.vbproj b/vbruntime/Microsoft.VisualBasic/2005VB.JavaEE.vbproj
deleted file mode 100644
index 3e1510a..0000000
--- a/vbruntime/Microsoft.VisualBasic/2005VB.JavaEE.vbproj
+++ /dev/null
@@ -1,261 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <PropertyGroup>
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug_Java</Configuration>
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
-    <ProductVersion>8.0.50727</ProductVersion>
-    <SchemaVersion>2.0</SchemaVersion>
-    <ProjectGuid>{368272FD-7864-4417-BE27-00563AF592FF}</ProjectGuid>
-    <ProjectTypeGuids>{62D7A3B7-93C1-4279-9293-DA5F92EAB479};{F184B08F-C81C-45F6-A57F-5ABD9991F28F}</ProjectTypeGuids>
-    <OutputType>Library</OutputType>
-    <StartupObject>
-    </StartupObject>
-    <RootNamespace>
-    </RootNamespace>
-    <AssemblyName>Microsoft.VisualBasic</AssemblyName>
-    <MyType>Windows</MyType>
-    <JDKName>1.6</JDKName>
-    <GHProjectType>1</GHProjectType>
-    <Version>2.0</Version>
-    <UseVSHostingProcess>false</UseVSHostingProcess>
-    <AdditionalClassPath>
-    </AdditionalClassPath>
-    <NoStdLib>true</NoStdLib>
-    <jarserver>ip2</jarserver>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug_Java20|AnyCPU' ">
-    <CompilerResponseFile>2005VB.JavaEE.rsp</CompilerResponseFile>
-    <DebugSymbols>true</DebugSymbols>
-    <DebugType>full</DebugType>
-    <DefineDebug>true</DefineDebug>
-    <DefineTrace>false</DefineTrace>
-    <OutputPath>..\bin_Java\</OutputPath>
-    <DocumentationFile>Microsoft.VisualBasic.xml</DocumentationFile>
-    <NoWarn>
-    </NoWarn>
-    <SkipValidation>false</SkipValidation>
-    <KeepIntermediate>false</KeepIntermediate>
-    <TargetPlatform>0</TargetPlatform>
-    <DefineConstants>TARGET_JVM=True,JAVA=True,NET_2_0=True,_MYTYPE="Empty",INDEVENV=true,NET_VER=2.0</DefineConstants>
-    <NoStdLib>true</NoStdLib>
-    <Optimize>true</Optimize>
-    <WarningsAsErrors>41999,42016,42017,42018,42019,42020,42021,42022,42032,42036</WarningsAsErrors>
-    <PlatformTarget>AnyCPU</PlatformTarget>
-    <CheckForOverflowUnderflow>true</CheckForOverflowUnderflow>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release_Java20|AnyCPU' ">
-    <CompilerResponseFile>2005VB.JavaEE.rsp</CompilerResponseFile>
-    <DebugType>pdbonly</DebugType>
-    <DefineDebug>false</DefineDebug>
-    <DefineTrace>false</DefineTrace>
-    <Optimize>true</Optimize>
-    <OutputPath>..\bin_Java\</OutputPath>
-    <DocumentationFile>Microsoft.VisualBasic.xml</DocumentationFile>
-    <NoWarn>
-    </NoWarn>
-    <SkipValidation>false</SkipValidation>
-    <KeepIntermediate>false</KeepIntermediate>
-    <TargetPlatform>0</TargetPlatform>
-    <DefineConstants>TARGET_JVM=True,JAVA=True,NET_2_0=True,_MYTYPE="Empty",INDEVENV=true,NET_VER=2.0</DefineConstants>
-    <NoStdLib>true</NoStdLib>
-    <DebugSymbols>true</DebugSymbols>
-    <WarningsAsErrors>41999,42016,42017,42018,42019,42020,42021,42022,42032,42036</WarningsAsErrors>
-    <PlatformTarget>AnyCPU</PlatformTarget>
-    <CheckForOverflowUnderflow>true</CheckForOverflowUnderflow>
-  </PropertyGroup>
-  <Import Project="$(MSBuildBinPath)\Microsoft.VisualBasic.targets" />
-  <Import Project="$(VMW_HOME)\bin\Mainsoft.Common.targets" />
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
-       Other similar extension points exist, see Microsoft.Common.targets.
-  <Target Name="BeforeBuild">
-  </Target>
-  <Target Name="AfterBuild">
-  </Target>
-  -->
-  <ItemGroup>
-    <Reference Include="J2SE.Helpers">
-      <HintPath>..\..\lib\J2SE.Helpers.dll</HintPath>
-    </Reference>
-    <Reference Include="System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL" />
-    <Reference Include="System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=x86" />
-    <Reference Include="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
-    <Reference Include="System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=x86" />
-    <Reference Include="System.Xml, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL" />
-  </ItemGroup>
-  <ProjectExtensions>
-    <VisualStudio>
-      <UserProperties REFS-RefInfo-system-xml="repository:vmw:framework:2.0" REFS-JarPath-system-xml="" REFS-RefInfo-system-web="repository:vmw:framework:2.0" REFS-JarPath-system-web="" REFS-RefInfo-system-drawing="repository:vmw:framework:2.0" REFS-JarPath-system-drawing="" REFS-RefInfo-system-data="repository:vmw:framework:2.0" REFS-JarPath-system-data="" REFS-RefInfo-system="repository:vmw:framework:2.0" REFS-JarPath-system="" REFS-JarPath-rt="" REFS-RefInfo-rt="repository:jre:sun:1.6.0" REFS-JarPath-j2se-helpers="..\..\lib\J2SE.Helpers.jar" />
-    </VisualStudio>
-  </ProjectExtensions>
-  <ItemGroup>
-    <Compile Include="AssemblyInfo.vb" />
-    <Compile Include="Helper.vb" />
-    <Compile Include="Microsoft.VisualBasic.ApplicationServices\ApplicationBase.vb" />
-    <Compile Include="Microsoft.VisualBasic.ApplicationServices\AssemblyInfo.vb" />
-    <Compile Include="Microsoft.VisualBasic.ApplicationServices\AuthenticationMode.vb" />
-    <Compile Include="Microsoft.VisualBasic.ApplicationServices\BuiltInRole.vb" />
-    <Compile Include="Microsoft.VisualBasic.ApplicationServices\BuiltInRoleConverter.vb" />
-    <Compile Include="Microsoft.VisualBasic.ApplicationServices\CantStartSingleInstanceException.vb" />
-    <Compile Include="Microsoft.VisualBasic.ApplicationServices\ConsoleApplicationBase.vb" />
-    <Compile Include="Microsoft.VisualBasic.ApplicationServices\NoStartupFormException.vb" />
-    <Compile Include="Microsoft.VisualBasic.ApplicationServices\ShutdownEventHandler.vb" />
-    <Compile Include="Microsoft.VisualBasic.ApplicationServices\ShutdownMode.vb" />
-    <Compile Include="Microsoft.VisualBasic.ApplicationServices\StartupEventArgs.vb" />
-    <Compile Include="Microsoft.VisualBasic.ApplicationServices\StartupEventHandler.vb" />
-    <Compile Include="Microsoft.VisualBasic.ApplicationServices\StartupNextInstanceEventArgs.vb" />
-    <Compile Include="Microsoft.VisualBasic.ApplicationServices\StartupNextInstanceEventHandler.vb" />
-    <Compile Include="Microsoft.VisualBasic.ApplicationServices\UnhandledExceptionEventArgs.vb" />
-    <Compile Include="Microsoft.VisualBasic.ApplicationServices\UnhandledExceptionEventHandler.vb" />
-    <Compile Include="Microsoft.VisualBasic.ApplicationServices\User.vb" />
-    <Compile Include="Microsoft.VisualBasic.ApplicationServices\WebUser.vb" />
-    <Compile Include="Microsoft.VisualBasic.ApplicationServices\WindowsFormsApplicationBase.vb" />
-    <Compile Include="Microsoft.VisualBasic.ApplicationServices\WindowsFormsApplicationContext.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\BooleanType.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\ByteType.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\CharArrayType.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\CharType.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\Conversions.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\DateType.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\DecimalType.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\DesignerGeneratedAttribute.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\DoubleType.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\ExceptionUtils.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\FlowControl.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\HostServices.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\IncompleteInitialization.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\IntegerType.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\InternalErrorException.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\IVbHost.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\LateBinder.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\LateBinding.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\LikeOperator.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\LongType.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\NewLateBinding.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\ObjectFlowControl.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\ObjectType.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\Operators.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\OptionCompareAttribute.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\OptionTextAttribute.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\ProjectData.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\ShortType.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\SingleType.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\StandardModuleAttribute.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\StaticLocalInitFlag.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\StringType.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\TypeCombinations.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\Utils.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\Versioned.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\VBErrors.vb" />
-    <Compile Include="Microsoft.VisualBasic.Devices\Audio.jvm.vb" />
-    <Compile Include="Microsoft.VisualBasic.Devices\Audio.vb" />
-    <Compile Include="Microsoft.VisualBasic.Devices\Clock.vb" />
-    <Compile Include="Microsoft.VisualBasic.Devices\Computer.jvm.vb" />
-    <Compile Include="Microsoft.VisualBasic.Devices\Computer.vb" />
-    <Compile Include="Microsoft.VisualBasic.Devices\ComputerInfo.jvm.vb" />
-    <Compile Include="Microsoft.VisualBasic.Devices\ComputerInfo.vb" />
-    <Compile Include="Microsoft.VisualBasic.Devices\Keyboard.jvm.vb" />
-    <Compile Include="Microsoft.VisualBasic.Devices\Keyboard.vb" />
-    <Compile Include="Microsoft.VisualBasic.Devices\Mouse.jvm.vb" />
-    <Compile Include="Microsoft.VisualBasic.Devices\Mouse.vb" />
-    <Compile Include="Microsoft.VisualBasic.Devices\MyProgressDialog.vb">
-    </Compile>
-    <Compile Include="Microsoft.VisualBasic.Devices\MyWebClient.vb">
-      <SubType>Component</SubType>
-    </Compile>
-    <Compile Include="Microsoft.VisualBasic.Devices\Network.vb" />
-    <Compile Include="Microsoft.VisualBasic.Devices\NetworkAvailableEventArgs.vb" />
-    <Compile Include="Microsoft.VisualBasic.Devices\NetworkAvailableEventHandler.vb" />
-    <Compile Include="Microsoft.VisualBasic.Devices\Ports.jvm.vb" />
-    <Compile Include="Microsoft.VisualBasic.Devices\Ports.vb" />
-    <Compile Include="Microsoft.VisualBasic.Devices\ServerComputer.jvm.vb" />
-    <Compile Include="Microsoft.VisualBasic.Devices\ServerComputer.vb" />
-    <Compile Include="Microsoft.VisualBasic.FileIO\DeleteDirectoryOption.vb" />
-    <Compile Include="Microsoft.VisualBasic.FileIO\FieldType.vb" />
-    <Compile Include="Microsoft.VisualBasic.FileIO\FileSystem.vb" />
-    <Compile Include="Microsoft.VisualBasic.FileIO\FileSystemOperation.vb" />
-    <Compile Include="Microsoft.VisualBasic.FileIO\FileSystemOperationUI.vb">
-    </Compile>
-    <Compile Include="Microsoft.VisualBasic.FileIO\FileSystemOperationUIQuestion.vb">
-    </Compile>
-    <Compile Include="Microsoft.VisualBasic.FileIO\MalformedLineException.vb" />
-    <Compile Include="Microsoft.VisualBasic.FileIO\RecycleOption.vb" />
-    <Compile Include="Microsoft.VisualBasic.FileIO\SearchOption.vb" />
-    <Compile Include="Microsoft.VisualBasic.FileIO\SpecialDirectories.vb" />
-    <Compile Include="Microsoft.VisualBasic.FileIO\TextFieldParser.vb" />
-    <Compile Include="Microsoft.VisualBasic.FileIO\UICancelOption.vb" />
-    <Compile Include="Microsoft.VisualBasic.FileIO\UIOption.vb" />
-    <Compile Include="Microsoft.VisualBasic.Logging\AspLog.vb" />
-    <Compile Include="Microsoft.VisualBasic.Logging\DiskSpaceExhaustedOption.vb" />
-    <Compile Include="Microsoft.VisualBasic.Logging\FileLogTraceListener.vb" />
-    <Compile Include="Microsoft.VisualBasic.Logging\Log.vb" />
-    <Compile Include="Microsoft.VisualBasic.Logging\LogFileCreationScheduleOption.vb" />
-    <Compile Include="Microsoft.VisualBasic.Logging\LogFileLocation.vb" />
-    <Compile Include="Microsoft.VisualBasic.MyServices.Internal\ContextValue.vb" />
-    <Compile Include="Microsoft.VisualBasic.MyServices\ClipboardProxy.vb" />
-    <Compile Include="Microsoft.VisualBasic.MyServices\FileSystemProxy.vb" />
-    <Compile Include="Microsoft.VisualBasic.MyServices\RegistryProxy.jvm.vb" />
-    <Compile Include="Microsoft.VisualBasic.MyServices\RegistryProxy.vb" />
-    <Compile Include="Microsoft.VisualBasic.MyServices\SpecialDirectoriesProxy.vb" />
-    <Compile Include="Microsoft.VisualBasic.OSSpecific\LinuxDriver.vb" />
-    <Compile Include="Microsoft.VisualBasic.OSSpecific\OSDriver.vb" />
-    <Compile Include="Microsoft.VisualBasic.OSSpecific\Win32Driver.vb" />
-    <Compile Include="Microsoft.VisualBasic\AppWinStyle.vb" />
-    <Compile Include="Microsoft.VisualBasic\AudioPlayMode.vb" />
-    <Compile Include="Microsoft.VisualBasic\CallType.vb" />
-    <Compile Include="Microsoft.VisualBasic\Collection.vb" />
-    <Compile Include="Microsoft.VisualBasic\ComClassAttribute.vb" />
-    <Compile Include="Microsoft.VisualBasic\CompareMethod.vb" />
-    <Compile Include="Microsoft.VisualBasic\Constants.vb" />
-    <Compile Include="Microsoft.VisualBasic\ControlChars.vb" />
-    <Compile Include="Microsoft.VisualBasic\Conversion.vb" />
-    <Compile Include="Microsoft.VisualBasic\DateAndTime.vb" />
-    <Compile Include="Microsoft.VisualBasic\DateFormat.vb" />
-    <Compile Include="Microsoft.VisualBasic\DateInterval.vb" />
-    <Compile Include="Microsoft.VisualBasic\DueDate.vb" />
-    <Compile Include="Microsoft.VisualBasic\ErrObject.vb" />
-    <Compile Include="Microsoft.VisualBasic\FileAttribute.vb" />
-    <Compile Include="Microsoft.VisualBasic\FileSystem.vb" />
-    <Compile Include="Microsoft.VisualBasic\Financial.vb" />
-    <Compile Include="Microsoft.VisualBasic\FirstDayOfWeek.vb" />
-    <Compile Include="Microsoft.VisualBasic\FirstWeekOfYear.vb" />
-    <Compile Include="Microsoft.VisualBasic\Globals.vb" />
-    <Compile Include="Microsoft.VisualBasic\HideModuleNameAttribute.vb" />
-    <Compile Include="Microsoft.VisualBasic\Information.vb" />
-    <Compile Include="Microsoft.VisualBasic\Interaction.vb">
-    </Compile>
-    <Compile Include="Microsoft.VisualBasic\MsgBoxResult.vb" />
-    <Compile Include="Microsoft.VisualBasic\MsgBoxStyle.vb" />
-    <Compile Include="Microsoft.VisualBasic\MyGroupCollectionAttribute.vb" />
-    <Compile Include="Microsoft.VisualBasic\OpenAccess.vb" />
-    <Compile Include="Microsoft.VisualBasic\OpenMode.vb" />
-    <Compile Include="Microsoft.VisualBasic\OpenShare.vb" />
-    <Compile Include="Microsoft.VisualBasic\SpcInfo.vb" />
-    <Compile Include="Microsoft.VisualBasic\Strings.vb" />
-    <Compile Include="Microsoft.VisualBasic\TabInfo.vb" />
-    <Compile Include="Microsoft.VisualBasic\TriState.vb" />
-    <Compile Include="Microsoft.VisualBasic\VariantType.vb" />
-    <Compile Include="Microsoft.VisualBasic\VBFixedArrayAttribute.vb" />
-    <Compile Include="Microsoft.VisualBasic\VBFixedStringAttribute.vb" />
-    <Compile Include="Microsoft.VisualBasic\VBMath.vb" />
-    <Compile Include="Microsoft.VisualBasic\VbStrConv.vb" />
-    <Compile Include="MonoTODOAttribute.vb" />
-  </ItemGroup>
-  <ItemGroup>
-    <None Include="msfinal.pub" />
-  </ItemGroup>
-  <ItemGroup>
-    <Import Include="System" />
-    <Import Include="System.Collections" />
-    <Import Include="System.Data" />
-    <Import Include="System.Diagnostics" />
-  </ItemGroup>
-  <PropertyGroup>
-    <PreBuildEvent>"$(DevEnvDir)\..\..\SDK\v2.0\Bin\resgen.exe" $(ProjectDir)\strings.txt</PreBuildEvent>
-  </PropertyGroup>
-  <ItemGroup>
-    <EmbeddedResource Include="strings.resources" />
-  </ItemGroup>
-  <ItemGroup>
-    <Folder Include="My Project\" />
-  </ItemGroup>
-</Project>
diff --git a/vbruntime/Microsoft.VisualBasic/2005VB.sln b/vbruntime/Microsoft.VisualBasic/2005VB.sln
deleted file mode 100644
index 5019961..0000000
--- a/vbruntime/Microsoft.VisualBasic/2005VB.sln
+++ /dev/null
@@ -1,20 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 9.00
-# Visual Studio 2005
-Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "2005VB", "2005VB.vbproj", "{3F2C04ED-C36A-4EF9-9479-0227E9CA7824}"
-EndProject
-Global
-	GlobalSection(SolutionConfigurationPlatforms) = preSolution
-		Debug|Any CPU = Debug|Any CPU
-		Release|Any CPU = Release|Any CPU
-	EndGlobalSection
-	GlobalSection(ProjectConfigurationPlatforms) = postSolution
-		{3F2C04ED-C36A-4EF9-9479-0227E9CA7824}.Debug|Any CPU.ActiveCfg = Edit|Any CPU
-		{3F2C04ED-C36A-4EF9-9479-0227E9CA7824}.Debug|Any CPU.Build.0 = Edit|Any CPU
-		{3F2C04ED-C36A-4EF9-9479-0227E9CA7824}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{3F2C04ED-C36A-4EF9-9479-0227E9CA7824}.Release|Any CPU.Build.0 = Release|Any CPU
-	EndGlobalSection
-	GlobalSection(SolutionProperties) = preSolution
-		HideSolutionNode = FALSE
-	EndGlobalSection
-EndGlobal
diff --git a/vbruntime/Microsoft.VisualBasic/2005VB.vbproj b/vbruntime/Microsoft.VisualBasic/2005VB.vbproj
deleted file mode 100644
index e1d060e..0000000
--- a/vbruntime/Microsoft.VisualBasic/2005VB.vbproj
+++ /dev/null
@@ -1,271 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <PropertyGroup>
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
-    <ProductVersion>8.0.50727</ProductVersion>
-    <SchemaVersion>2.0</SchemaVersion>
-    <ProjectGuid>{3F2C04ED-C36A-4EF9-9479-0227E9CA7824}</ProjectGuid>
-    <OutputType>Library</OutputType>
-    <AssemblyName>Microsoft.VisualBasic</AssemblyName>
-    <OptionStrict>On</OptionStrict>
-    <MyType>Windows</MyType>
-    <NoStdLib>true</NoStdLib>
-    <OutputPath>../bin/</OutputPath>
-    <DocumentationFile>Microsoft.VisualBasic.xml</DocumentationFile>
-    <AssemblyName>Microsoft.VisualBasic</AssemblyName>
-    <RootNamespace>
-    </RootNamespace>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
-    <CompilerResponseFile>2005VB.rsp</CompilerResponseFile>
-    <DebugSymbols>true</DebugSymbols>
-    <DebugType>full</DebugType>
-    <DefineDebug>true</DefineDebug>
-    <DefineTrace>false</DefineTrace>
-    <NoWarn>
-    </NoWarn>
-    <DefineConstants>NET_2_0=True,_MYTYPE="Empty",mono_not_yet=true,INDEVENV=true,NET_VER=2.0</DefineConstants>
-    <WarningsAsErrors>41999,42016,42017,42018,42019,42020,42021,42022,42032,42036</WarningsAsErrors>
-    <Optimize>true</Optimize>
-    <CheckForOverflowUnderflow>true</CheckForOverflowUnderflow>
-    <WarningLevel>4</WarningLevel>
-    <OptionExplicit>On</OptionExplicit>
-    <OptionStrict>On</OptionStrict>
-    <TreatWarningsAsErrors>false</TreatWarningsAsErrors>
-    <UseHostCompilerIfAvailable>false</UseHostCompilerIfAvailable>
-    <OutputType>Library</OutputType>
-    <AssemblyName>Microsoft.VisualBasic</AssemblyName>
-    <OutputPath>..\bin\</OutputPath>
-    <RootNamespace>
-    </RootNamespace>
-    <AllowUnsafeBlocks>false</AllowUnsafeBlocks>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
-    <CompilerResponseFile>2005VB.rsp</CompilerResponseFile>
-    <DebugType>pdbonly</DebugType>
-    <DefineDebug>false</DefineDebug>
-    <DefineTrace>true</DefineTrace>
-    <Optimize>true</Optimize>
-    <NoWarn>
-    </NoWarn>
-    <WarningsAsErrors>41999,42016,42017,42018,42019,42020,42021,42022,42032,42036</WarningsAsErrors>
-    <DebugSymbols>true</DebugSymbols>
-    <CheckForOverflowUnderflow>true</CheckForOverflowUnderflow>
-    <DefineConstants>
-    </DefineConstants>
-    <WarningLevel>4</WarningLevel>
-    <OptionExplicit>On</OptionExplicit>
-    <OptionStrict>On</OptionStrict>
-    <TreatWarningsAsErrors>false</TreatWarningsAsErrors>
-    <OutputType>Library</OutputType>
-    <AssemblyName>Microsoft.VisualBasic</AssemblyName>
-    <OutputPath>..\bin\</OutputPath>
-    <RootNamespace>
-    </RootNamespace>
-    <AllowUnsafeBlocks>false</AllowUnsafeBlocks>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Edit|AnyCPU' ">
-    <RootNamespace>dummy_root</RootNamespace>
-    <OutputType>Library</OutputType>
-    <AssemblyName>Microsoft.VisualBasic</AssemblyName>
-    <OutputPath>..\bin\</OutputPath>
-    <DebugSymbols>true</DebugSymbols>
-    <AllowUnsafeBlocks>false</AllowUnsafeBlocks>
-    <Optimize>true</Optimize>
-    <CheckForOverflowUnderflow>true</CheckForOverflowUnderflow>
-    <DefineConstants>INDEVENV=true,NET_2_0=true,NET_VER=2.0</DefineConstants>
-    <WarningLevel>4</WarningLevel>
-    <OptionExplicit>On</OptionExplicit>
-    <OptionStrict>On</OptionStrict>
-  </PropertyGroup>
-  <ItemGroup>
-    <Reference Include="System" />
-    <Reference Include="System.Data" />
-    <Reference Include="System.Deployment" />
-    <Reference Include="System.Drawing" />
-    <Reference Include="System.Web" />
-    <Reference Include="System.Windows.Forms" />
-    <Reference Include="System.Xml" />
-  </ItemGroup>
-  <ItemGroup>
-    <Import Include="System" />
-    <Import Include="System.Collections" />
-    <Import Include="System.Data" />
-    <Import Include="System.Diagnostics" />
-  </ItemGroup>
-  <ItemGroup>
-    <Compile Include="AssemblyInfo.vb" />
-    <Compile Include="Helper.vb">
-    </Compile>
-    <Compile Include="Microsoft.VisualBasic.ApplicationServices\ApplicationBase.vb" />
-    <Compile Include="Microsoft.VisualBasic.ApplicationServices\AssemblyInfo.vb" />
-    <Compile Include="Microsoft.VisualBasic.ApplicationServices\AuthenticationMode.vb" />
-    <Compile Include="Microsoft.VisualBasic.ApplicationServices\BuiltInRole.vb" />
-    <Compile Include="Microsoft.VisualBasic.ApplicationServices\BuiltInRoleConverter.vb" />
-    <Compile Include="Microsoft.VisualBasic.ApplicationServices\CantStartSingleInstanceException.vb" />
-    <Compile Include="Microsoft.VisualBasic.ApplicationServices\ConsoleApplicationBase.vb" />
-    <Compile Include="Microsoft.VisualBasic.ApplicationServices\WebUser.vb" />
-    <Compile Include="Microsoft.VisualBasic.ApplicationServices\UnhandledExceptionEventArgs.vb" />
-    <Compile Include="Microsoft.VisualBasic.ApplicationServices\UnhandledExceptionEventHandler.vb" />
-    <Compile Include="Microsoft.VisualBasic.ApplicationServices\NoStartupFormException.vb" />
-    <Compile Include="Microsoft.VisualBasic.ApplicationServices\ShutdownEventHandler.vb" />
-    <Compile Include="Microsoft.VisualBasic.ApplicationServices\ShutdownMode.vb" />
-    <Compile Include="Microsoft.VisualBasic.ApplicationServices\StartupEventArgs.vb" />
-    <Compile Include="Microsoft.VisualBasic.ApplicationServices\StartupEventHandler.vb" />
-    <Compile Include="Microsoft.VisualBasic.ApplicationServices\StartupNextInstanceEventArgs.vb" />
-    <Compile Include="Microsoft.VisualBasic.ApplicationServices\StartupNextInstanceEventHandler.vb" />
-    <Compile Include="Microsoft.VisualBasic.ApplicationServices\User.vb" />
-    <Compile Include="Microsoft.VisualBasic.ApplicationServices\WindowsFormsApplicationBase.vb" />
-    <Compile Include="Microsoft.VisualBasic.ApplicationServices\WindowsFormsApplicationContext.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\BooleanType.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\ByteType.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\CharArrayType.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\CharType.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\Conversions.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\OptionCompareAttribute.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\NewLateBinding.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\ObjectFlowControl.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\LikeOperator.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\InternalErrorException.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\ExceptionUtils.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\DesignerGeneratedAttribute.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\OptionTextAttribute.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\TypeCombinations.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\VBErrors.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\Versioned.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\DateType.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\DecimalType.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\DoubleType.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\FlowControl.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\HostServices.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\IncompleteInitialization.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\IntegerType.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\IVbHost.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\LateBinder.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\LateBinding.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\LongType.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\ObjectType.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\Operators.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\ProjectData.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\ShortType.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\SingleType.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\StandardModuleAttribute.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\StaticLocalInitFlag.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\StringType.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\Utils.vb" />
-    <Compile Include="Microsoft.VisualBasic.Devices\Audio.jvm.vb" />
-    <Compile Include="Microsoft.VisualBasic.Devices\Audio.vb" />
-    <Compile Include="Microsoft.VisualBasic.Devices\Clock.vb" />
-    <Compile Include="Microsoft.VisualBasic.Devices\Computer.jvm.vb" />
-    <Compile Include="Microsoft.VisualBasic.Devices\Computer.vb" />
-    <Compile Include="Microsoft.VisualBasic.Devices\ComputerInfo.jvm.vb" />
-    <Compile Include="Microsoft.VisualBasic.Devices\ComputerInfo.vb" />
-    <Compile Include="Microsoft.VisualBasic.Devices\Keyboard.jvm.vb" />
-    <Compile Include="Microsoft.VisualBasic.Devices\Keyboard.vb" />
-    <Compile Include="Microsoft.VisualBasic.Devices\Mouse.jvm.vb" />
-    <Compile Include="Microsoft.VisualBasic.Devices\Mouse.vb" />
-    <Compile Include="Microsoft.VisualBasic.Devices\MyWebClient.vb">
-      <SubType>Component</SubType>
-    </Compile>
-    <Compile Include="Microsoft.VisualBasic.Devices\Network.vb" />
-    <Compile Include="Microsoft.VisualBasic.Devices\NetworkAvailableEventArgs.vb" />
-    <Compile Include="Microsoft.VisualBasic.Devices\NetworkAvailableEventHandler.vb" />
-    <Compile Include="Microsoft.VisualBasic.Devices\MyProgressDialog.vb">
-    </Compile>
-    <Compile Include="Microsoft.VisualBasic.Devices\Ports.jvm.vb" />
-    <Compile Include="Microsoft.VisualBasic.Devices\Ports.vb" />
-    <Compile Include="Microsoft.VisualBasic.Devices\ServerComputer.jvm.vb" />
-    <Compile Include="Microsoft.VisualBasic.Devices\ServerComputer.vb" />
-    <Compile Include="Microsoft.VisualBasic.FileIO\DeleteDirectoryOption.vb" />
-    <Compile Include="Microsoft.VisualBasic.FileIO\FieldType.vb" />
-    <Compile Include="Microsoft.VisualBasic.FileIO\FileSystem.vb" />
-    <Compile Include="Microsoft.VisualBasic.FileIO\FileSystemOperation.vb" />
-    <Compile Include="Microsoft.VisualBasic.FileIO\FileSystemOperationUI.vb">
-    </Compile>
-    <Compile Include="Microsoft.VisualBasic.FileIO\FileSystemOperationUIQuestion.vb">
-    </Compile>
-    <Compile Include="Microsoft.VisualBasic.FileIO\MalformedLineException.vb" />
-    <Compile Include="Microsoft.VisualBasic.FileIO\RecycleOption.vb" />
-    <Compile Include="Microsoft.VisualBasic.FileIO\SearchOption.vb" />
-    <Compile Include="Microsoft.VisualBasic.FileIO\SpecialDirectories.vb" />
-    <Compile Include="Microsoft.VisualBasic.FileIO\TextFieldParser.vb" />
-    <Compile Include="Microsoft.VisualBasic.FileIO\UICancelOption.vb" />
-    <Compile Include="Microsoft.VisualBasic.FileIO\UIOption.vb" />
-    <Compile Include="Microsoft.VisualBasic.Logging\AspLog.vb" />
-    <Compile Include="Microsoft.VisualBasic.Logging\DiskSpaceExhaustedOption.vb" />
-    <Compile Include="Microsoft.VisualBasic.Logging\FileLogTraceListener.vb" />
-    <Compile Include="Microsoft.VisualBasic.Logging\Log.vb" />
-    <Compile Include="Microsoft.VisualBasic.Logging\LogFileCreationScheduleOption.vb" />
-    <Compile Include="Microsoft.VisualBasic.Logging\LogFileLocation.vb" />
-    <Compile Include="Microsoft.VisualBasic.MyServices.Internal\ContextValue.vb" />
-    <Compile Include="Microsoft.VisualBasic.MyServices\ClipboardProxy.vb" />
-    <Compile Include="Microsoft.VisualBasic.MyServices\FileSystemProxy.vb" />
-    <Compile Include="Microsoft.VisualBasic.MyServices\RegistryProxy.jvm.vb" />
-    <Compile Include="Microsoft.VisualBasic.MyServices\RegistryProxy.vb" />
-    <Compile Include="Microsoft.VisualBasic.MyServices\SpecialDirectoriesProxy.vb" />
-    <Compile Include="Microsoft.VisualBasic.OSSpecific\LinuxDriver.vb" />
-    <Compile Include="Microsoft.VisualBasic.OSSpecific\OSDriver.vb" />
-    <Compile Include="Microsoft.VisualBasic.OSSpecific\Win32Driver.vb" />
-    <Compile Include="Microsoft.VisualBasic\AppWinStyle.vb" />
-    <Compile Include="Microsoft.VisualBasic\CallType.vb" />
-    <Compile Include="Microsoft.VisualBasic\Collection.vb" />
-    <Compile Include="Microsoft.VisualBasic\ComClassAttribute.vb" />
-    <Compile Include="Microsoft.VisualBasic\CompareMethod.vb" />
-    <Compile Include="Microsoft.VisualBasic\Constants.vb" />
-    <Compile Include="Microsoft.VisualBasic\ControlChars.vb" />
-    <Compile Include="Microsoft.VisualBasic\Conversion.vb" />
-    <Compile Include="Microsoft.VisualBasic\AudioPlayMode.vb" />
-    <Compile Include="Microsoft.VisualBasic\FileData.vb" />
-    <Compile Include="Microsoft.VisualBasic\Globals.vb" />
-    <Compile Include="Microsoft.VisualBasic\SpcInfo.vb" />
-    <Compile Include="Microsoft.VisualBasic\TabInfo.vb" />
-    <Compile Include="Microsoft.VisualBasic\VBFixedStringAttribute.vb" />
-    <Compile Include="Microsoft.VisualBasic\VBFixedArrayAttribute.vb" />
-    <Compile Include="Microsoft.VisualBasic\MyGroupCollectionAttribute.vb" />
-    <Compile Include="Microsoft.VisualBasic\DateAndTime.vb" />
-    <Compile Include="Microsoft.VisualBasic\DateFormat.vb" />
-    <Compile Include="Microsoft.VisualBasic\DateInterval.vb" />
-    <Compile Include="Microsoft.VisualBasic\DueDate.vb" />
-    <Compile Include="Microsoft.VisualBasic\ErrObject.vb" />
-    <Compile Include="Microsoft.VisualBasic\FileAttribute.vb" />
-    <Compile Include="Microsoft.VisualBasic\FileSystem.vb" />
-    <Compile Include="Microsoft.VisualBasic\Financial.vb" />
-    <Compile Include="Microsoft.VisualBasic\FirstDayOfWeek.vb" />
-    <Compile Include="Microsoft.VisualBasic\FirstWeekOfYear.vb" />
-    <Compile Include="Microsoft.VisualBasic\HideModuleNameAttribute.vb" />
-    <Compile Include="Microsoft.VisualBasic\Information.vb" />
-    <Compile Include="Microsoft.VisualBasic\Interaction.vb">
-      <SubType>Form</SubType>
-    </Compile>
-    <Compile Include="Microsoft.VisualBasic\MsgBoxResult.vb" />
-    <Compile Include="Microsoft.VisualBasic\MsgBoxStyle.vb" />
-    <Compile Include="Microsoft.VisualBasic\OpenAccess.vb" />
-    <Compile Include="Microsoft.VisualBasic\OpenMode.vb" />
-    <Compile Include="Microsoft.VisualBasic\OpenShare.vb" />
-    <Compile Include="Microsoft.VisualBasic\Strings.vb" />
-    <Compile Include="Microsoft.VisualBasic\TriState.vb" />
-    <Compile Include="Microsoft.VisualBasic\VariantType.vb" />
-    <Compile Include="Microsoft.VisualBasic\VBMath.vb" />
-    <Compile Include="Microsoft.VisualBasic\VbStrConv.vb" />
-    <Compile Include="MonoTODOAttribute.vb" />
-  </ItemGroup>
-  <ItemGroup>
-    <None Include="msfinal.pub" />
-    <None Include="My Project\Application.myapp">
-      <Generator>MyApplicationCodeGenerator</Generator>
-      <LastGenOutput>Application.Designer.vb</LastGenOutput>
-    </None>
-  </ItemGroup>
-  <ItemGroup>
-    <EmbeddedResource Include="strings.resources" />
-  </ItemGroup>
-  <Import Project="$(MSBuildBinPath)\Microsoft.VisualBasic.targets" />
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
-       Other similar extension points exist, see Microsoft.Common.targets.
-  <Target Name="BeforeBuild">
-  </Target>
-  <Target Name="AfterBuild">
-  </Target>
-  -->
-</Project>
\ No newline at end of file
diff --git a/vbruntime/Microsoft.VisualBasic/2005VB_test_VB.vbproj b/vbruntime/Microsoft.VisualBasic/2005VB_test_VB.vbproj
deleted file mode 100644
index 99218cf..0000000
--- a/vbruntime/Microsoft.VisualBasic/2005VB_test_VB.vbproj
+++ /dev/null
@@ -1,92 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <PropertyGroup>
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
-    <ProductVersion>8.0.50727</ProductVersion>
-    <SchemaVersion>2.0</SchemaVersion>
-    <ProjectGuid>{8F18790F-3A66-4267-98F0-B9980C1F8383}</ProjectGuid>
-    <OutputType>Library</OutputType>
-    <RootNamespace>MonoTests.Microsoft_VisualBasic</RootNamespace>
-    <AssemblyName>Microsoft.2005_VisualBasic_test_VB</AssemblyName>
-    <MyType>Windows</MyType>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
-    <DebugSymbols>true</DebugSymbols>
-    <DebugType>full</DebugType>
-    <DefineDebug>true</DefineDebug>
-    <DefineTrace>true</DefineTrace>
-    <OutputPath>bin\Debug\</OutputPath>
-    <DocumentationFile>Microsoft.xml</DocumentationFile>
-    <NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
-    <DefineConstants>NET_2_0=True</DefineConstants>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
-    <DebugType>pdbonly</DebugType>
-    <DefineDebug>false</DefineDebug>
-    <DefineTrace>true</DefineTrace>
-    <Optimize>true</Optimize>
-    <OutputPath>bin\Release\</OutputPath>
-    <DocumentationFile>Microsoft.xml</DocumentationFile>
-    <NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
-    <DefineConstants>NET_2_0=True</DefineConstants>
-  </PropertyGroup>
-  <ItemGroup>
-    <Reference Include="nunit.framework, Version=2.2.0.0, Culture=neutral, processorArchitecture=MSIL">
-      <SpecificVersion>False</SpecificVersion>
-      <HintPath>..\..\..\mcs\nunit20\framework\bin\Debug_Java20\nunit.framework.dll</HintPath>
-    </Reference>
-    <Reference Include="System" />
-    <Reference Include="System.Data" />
-    <Reference Include="System.Drawing" />
-    <Reference Include="System.Windows.Forms" />
-    <Reference Include="System.Xml" />
-  </ItemGroup>
-  <ItemGroup>
-    <Import Include="Microsoft.VisualBasic" />
-    <Import Include="NUnit.Framework" />
-    <Import Include="System" />
-    <Import Include="System.Collections" />
-    <Import Include="System.Collections.Generic" />
-    <Import Include="System.Data" />
-    <Import Include="System.Diagnostics" />
-  </ItemGroup>
-  <ItemGroup>
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\LateBindingTests.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\LateBindingTests2.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\LateBindingTests3.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\LateBindingTests4.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\LateBindingTests5.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\LateBindingTests6.vb" />
-    <Compile Include="Microsoft.VisualBasic.Devices\ComputerInfoTests.vb" />
-    <Compile Include="Microsoft.VisualBasic.Devices\ComputerTests.vb" />
-    <Compile Include="Microsoft.VisualBasic.Devices\ClockTests.vb" />
-    <Compile Include="Microsoft.VisualBasic.Devices\AudioTests.vb" />
-    <Compile Include="Microsoft.VisualBasic.Devices\KeyboardTests.vb" />
-    <Compile Include="Microsoft.VisualBasic.Devices\MouseTests.vb" />
-    <Compile Include="Microsoft.VisualBasic.Devices\NetworkTests.vb" />
-    <Compile Include="Microsoft.VisualBasic.Devices\NetworkAvailableEventArgsTests.vb" />
-    <Compile Include="Microsoft.VisualBasic.Devices\PortsTests.vb" />
-    <Compile Include="Microsoft.VisualBasic.Devices\ServerComputerTests.vb" />
-    <Compile Include="Microsoft.VisualBasic.FileIO\FileSystemTest.vb" />
-    <Compile Include="Microsoft.VisualBasic\ErrObjectTests.vb" />
-    <Compile Include="Microsoft.VisualBasic\ExceptionFilteringTests.vb" />
-    <Compile Include="Microsoft.VisualBasic\FileSystemTests.vb" />
-    <Compile Include="Microsoft.VisualBasic\GlobalsTests.vb" />
-    <Compile Include="Microsoft.VisualBasic\Helper.vb">
-    </Compile>
-    <Compile Include="Microsoft.VisualBasic\InformationTests.vb" />
-    <Compile Include="Microsoft.VisualBasic\InteractionTests.vb" />
-  </ItemGroup>
-  <ItemGroup>
-    <Folder Include="My Project\" />
-  </ItemGroup>
-  <Import Project="$(MSBuildBinPath)\Microsoft.VisualBasic.targets" />
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
-       Other similar extension points exist, see Microsoft.Common.targets.
-  <Target Name="BeforeBuild">
-  </Target>
-  <Target Name="AfterBuild">
-  </Target>
-  -->
-</Project>
\ No newline at end of file
diff --git a/vbruntime/Microsoft.VisualBasic/2008VB.JavaEE.vbproj b/vbruntime/Microsoft.VisualBasic/2008VB.JavaEE.vbproj
deleted file mode 100644
index 349363c..0000000
--- a/vbruntime/Microsoft.VisualBasic/2008VB.JavaEE.vbproj
+++ /dev/null
@@ -1,264 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5">
-  <PropertyGroup>
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug_Java</Configuration>
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
-    <ProductVersion>9.0.21022</ProductVersion>
-    <SchemaVersion>2.0</SchemaVersion>
-    <ProjectGuid>{368272FD-7864-4417-BE27-00563AF592FF}</ProjectGuid>
-    <ProjectTypeGuids>{62D7A3B7-93C1-4279-9293-DA5F92EAB479};{F184B08F-C81C-45F6-A57F-5ABD9991F28F}</ProjectTypeGuids>
-    <OutputType>Library</OutputType>
-    <StartupObject>
-    </StartupObject>
-    <RootNamespace>
-    </RootNamespace>
-    <AssemblyName>Microsoft.VisualBasic</AssemblyName>
-    <MyType>Windows</MyType>
-    <JDKName>1.6</JDKName>
-    <GHProjectType>1</GHProjectType>
-    <Version>2.0</Version>
-    <UseVSHostingProcess>false</UseVSHostingProcess>
-    <AdditionalClassPath>
-    </AdditionalClassPath>
-    <NoStdLib>true</NoStdLib>
-    <OldToolsVersion>2.0</OldToolsVersion>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug_Java20|AnyCPU' ">
-    <CompilerResponseFile>2005VB.JavaEE.rsp</CompilerResponseFile>
-    <DebugSymbols>true</DebugSymbols>
-    <DebugType>full</DebugType>
-    <DefineDebug>true</DefineDebug>
-    <DefineTrace>false</DefineTrace>
-    <OutputPath>..\bin_Java\</OutputPath>
-    <DocumentationFile>Microsoft.VisualBasic.xml</DocumentationFile>
-    <NoWarn>
-    </NoWarn>
-    <SkipValidation>false</SkipValidation>
-    <KeepIntermediate>false</KeepIntermediate>
-    <TargetPlatform>0</TargetPlatform>
-    <DefineConstants>TARGET_JVM=True,JAVA=True,NET_2_0=True,_MYTYPE="Empty",INDEVENV=true,NET_VER=2.0</DefineConstants>
-    <NoStdLib>true</NoStdLib>
-    <Optimize>true</Optimize>
-    <WarningsAsErrors>41999,42016,42017,42018,42019,42020,42021,42022,42032,42036</WarningsAsErrors>
-    <PlatformTarget>AnyCPU</PlatformTarget>
-    <CheckForOverflowUnderflow>true</CheckForOverflowUnderflow>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release_Java20|AnyCPU' ">
-    <CompilerResponseFile>2005VB.JavaEE.rsp</CompilerResponseFile>
-    <DebugType>pdbonly</DebugType>
-    <DefineDebug>false</DefineDebug>
-    <DefineTrace>false</DefineTrace>
-    <Optimize>true</Optimize>
-    <OutputPath>..\bin_Java\</OutputPath>
-    <DocumentationFile>Microsoft.VisualBasic.xml</DocumentationFile>
-    <NoWarn>
-    </NoWarn>
-    <SkipValidation>false</SkipValidation>
-    <KeepIntermediate>false</KeepIntermediate>
-    <TargetPlatform>0</TargetPlatform>
-    <DefineConstants>TARGET_JVM=True,JAVA=True,NET_2_0=True,_MYTYPE="Empty",INDEVENV=true,NET_VER=2.0</DefineConstants>
-    <NoStdLib>true</NoStdLib>
-    <DebugSymbols>true</DebugSymbols>
-    <WarningsAsErrors>41999,42016,42017,42018,42019,42020,42021,42022,42032,42036</WarningsAsErrors>
-    <PlatformTarget>AnyCPU</PlatformTarget>
-    <CheckForOverflowUnderflow>true</CheckForOverflowUnderflow>
-  </PropertyGroup>
-  <Import Project="$(MSBuildBinPath)\Microsoft.VisualBasic.targets" />
-  <Import Project="$(VMW_HOME)\bin\Mainsoft.Common.targets" />
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
-       Other similar extension points exist, see Microsoft.Common.targets.
-  <Target Name="BeforeBuild">
-  </Target>
-  <Target Name="AfterBuild">
-  </Target>
-  -->
-  <ItemGroup>
-    <Reference Include="J2SE.Helpers">
-      <HintPath>..\..\lib\J2SE.Helpers.dll</HintPath>
-    </Reference>
-    <Reference Include="System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL" />
-    <Reference Include="System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=x86" />
-    <Reference Include="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
-    <Reference Include="System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=x86" />
-    <Reference Include="System.Xml, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL" />
-  </ItemGroup>
-  <ProjectExtensions>
-    <VisualStudio>
-      <UserProperties REFS-RefInfo-system-xml="repository:vmw:framework:2.0" REFS-JarPath-system-xml="" REFS-RefInfo-system-web="repository:vmw:framework:2.0" REFS-JarPath-system-web="" REFS-RefInfo-system-drawing="repository:vmw:framework:2.0" REFS-JarPath-system-drawing="" REFS-RefInfo-system-data="repository:vmw:framework:2.0" REFS-JarPath-system-data="" REFS-RefInfo-system="repository:vmw:framework:2.0" REFS-JarPath-system="" REFS-JarPath-rt="" REFS-RefInfo-rt="repository:jre:sun:1.6.0" REFS-JarPath-j2se-helpers="..\..\lib\J2SE.Helpers.jar" />
-    </VisualStudio>
-  </ProjectExtensions>
-  <ItemGroup>
-    <Compile Include="AssemblyInfo.vb" />
-    <Compile Include="Helper.vb" />
-    <Compile Include="Microsoft.VisualBasic.ApplicationServices\ApplicationBase.vb" />
-    <Compile Include="Microsoft.VisualBasic.ApplicationServices\AssemblyInfo.vb" />
-    <Compile Include="Microsoft.VisualBasic.ApplicationServices\AuthenticationMode.vb" />
-    <Compile Include="Microsoft.VisualBasic.ApplicationServices\BuiltInRole.vb" />
-    <Compile Include="Microsoft.VisualBasic.ApplicationServices\BuiltInRoleConverter.vb" />
-    <Compile Include="Microsoft.VisualBasic.ApplicationServices\CantStartSingleInstanceException.vb" />
-    <Compile Include="Microsoft.VisualBasic.ApplicationServices\ConsoleApplicationBase.vb" />
-    <Compile Include="Microsoft.VisualBasic.ApplicationServices\NoStartupFormException.vb" />
-    <Compile Include="Microsoft.VisualBasic.ApplicationServices\ShutdownEventHandler.vb" />
-    <Compile Include="Microsoft.VisualBasic.ApplicationServices\ShutdownMode.vb" />
-    <Compile Include="Microsoft.VisualBasic.ApplicationServices\StartupEventArgs.vb" />
-    <Compile Include="Microsoft.VisualBasic.ApplicationServices\StartupEventHandler.vb" />
-    <Compile Include="Microsoft.VisualBasic.ApplicationServices\StartupNextInstanceEventArgs.vb" />
-    <Compile Include="Microsoft.VisualBasic.ApplicationServices\StartupNextInstanceEventHandler.vb" />
-    <Compile Include="Microsoft.VisualBasic.ApplicationServices\UnhandledExceptionEventArgs.vb" />
-    <Compile Include="Microsoft.VisualBasic.ApplicationServices\UnhandledExceptionEventHandler.vb" />
-    <Compile Include="Microsoft.VisualBasic.ApplicationServices\User.vb" />
-    <Compile Include="Microsoft.VisualBasic.ApplicationServices\WebUser.vb" />
-    <Compile Include="Microsoft.VisualBasic.ApplicationServices\WindowsFormsApplicationBase.vb" />
-    <Compile Include="Microsoft.VisualBasic.ApplicationServices\WindowsFormsApplicationContext.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\BooleanType.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\ByteType.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\CharArrayType.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\CharType.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\Conversions.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\DateType.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\DecimalType.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\DesignerGeneratedAttribute.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\DoubleType.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\ExceptionUtils.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\FlowControl.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\HostServices.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\IncompleteInitialization.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\IntegerType.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\InternalErrorException.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\IVbHost.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\LateBinder.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\LateBinding.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\LikeOperator.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\LongType.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\NewLateBinding.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\ObjectFlowControl.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\ObjectType.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\Operators.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\OptionCompareAttribute.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\OptionTextAttribute.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\ProjectData.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\ShortType.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\SingleType.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\StandardModuleAttribute.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\StaticLocalInitFlag.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\StringType.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\TypeCombinations.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\Utils.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\Versioned.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\VBErrors.vb" />
-    <Compile Include="Microsoft.VisualBasic.Devices\Audio.jvm.vb" />
-    <Compile Include="Microsoft.VisualBasic.Devices\Audio.vb" />
-    <Compile Include="Microsoft.VisualBasic.Devices\Clock.vb" />
-    <Compile Include="Microsoft.VisualBasic.Devices\Computer.jvm.vb" />
-    <Compile Include="Microsoft.VisualBasic.Devices\Computer.vb" />
-    <Compile Include="Microsoft.VisualBasic.Devices\ComputerInfo.jvm.vb" />
-    <Compile Include="Microsoft.VisualBasic.Devices\ComputerInfo.vb" />
-    <Compile Include="Microsoft.VisualBasic.Devices\Keyboard.jvm.vb" />
-    <Compile Include="Microsoft.VisualBasic.Devices\Keyboard.vb" />
-    <Compile Include="Microsoft.VisualBasic.Devices\Mouse.jvm.vb" />
-    <Compile Include="Microsoft.VisualBasic.Devices\Mouse.vb" />
-    <Compile Include="Microsoft.VisualBasic.Devices\MyProgressDialog.vb">
-    </Compile>
-    <Compile Include="Microsoft.VisualBasic.Devices\MyWebClient.vb">
-      <SubType>Component</SubType>
-    </Compile>
-    <Compile Include="Microsoft.VisualBasic.Devices\Network.vb" />
-    <Compile Include="Microsoft.VisualBasic.Devices\NetworkAvailableEventArgs.vb" />
-    <Compile Include="Microsoft.VisualBasic.Devices\NetworkAvailableEventHandler.vb" />
-    <Compile Include="Microsoft.VisualBasic.Devices\Ports.jvm.vb" />
-    <Compile Include="Microsoft.VisualBasic.Devices\Ports.vb" />
-    <Compile Include="Microsoft.VisualBasic.Devices\ServerComputer.jvm.vb" />
-    <Compile Include="Microsoft.VisualBasic.Devices\ServerComputer.vb" />
-    <Compile Include="Microsoft.VisualBasic.FileIO\DeleteDirectoryOption.vb" />
-    <Compile Include="Microsoft.VisualBasic.FileIO\FieldType.vb" />
-    <Compile Include="Microsoft.VisualBasic.FileIO\FileSystem.vb" />
-    <Compile Include="Microsoft.VisualBasic.FileIO\FileSystemOperation.vb" />
-    <Compile Include="Microsoft.VisualBasic.FileIO\FileSystemOperationUI.vb">
-    </Compile>
-    <Compile Include="Microsoft.VisualBasic.FileIO\FileSystemOperationUIQuestion.vb">
-    </Compile>
-    <Compile Include="Microsoft.VisualBasic.FileIO\MalformedLineException.vb" />
-    <Compile Include="Microsoft.VisualBasic.FileIO\RecycleOption.vb" />
-    <Compile Include="Microsoft.VisualBasic.FileIO\SearchOption.vb" />
-    <Compile Include="Microsoft.VisualBasic.FileIO\SpecialDirectories.vb" />
-    <Compile Include="Microsoft.VisualBasic.FileIO\TextFieldParser.vb" />
-    <Compile Include="Microsoft.VisualBasic.FileIO\UICancelOption.vb" />
-    <Compile Include="Microsoft.VisualBasic.FileIO\UIOption.vb" />
-    <Compile Include="Microsoft.VisualBasic.Logging\AspLog.vb" />
-    <Compile Include="Microsoft.VisualBasic.Logging\DiskSpaceExhaustedOption.vb" />
-    <Compile Include="Microsoft.VisualBasic.Logging\FileLogTraceListener.vb" />
-    <Compile Include="Microsoft.VisualBasic.Logging\Log.vb" />
-    <Compile Include="Microsoft.VisualBasic.Logging\LogFileCreationScheduleOption.vb" />
-    <Compile Include="Microsoft.VisualBasic.Logging\LogFileLocation.vb" />
-    <Compile Include="Microsoft.VisualBasic.MyServices.Internal\ContextValue.vb" />
-    <Compile Include="Microsoft.VisualBasic.MyServices\ClipboardProxy.vb" />
-    <Compile Include="Microsoft.VisualBasic.MyServices\FileSystemProxy.vb" />
-    <Compile Include="Microsoft.VisualBasic.MyServices\RegistryProxy.jvm.vb" />
-    <Compile Include="Microsoft.VisualBasic.MyServices\RegistryProxy.vb" />
-    <Compile Include="Microsoft.VisualBasic.MyServices\SpecialDirectoriesProxy.vb" />
-    <Compile Include="Microsoft.VisualBasic.OSSpecific\LinuxDriver.vb" />
-    <Compile Include="Microsoft.VisualBasic.OSSpecific\OSDriver.vb" />
-    <Compile Include="Microsoft.VisualBasic.OSSpecific\Win32Driver.vb" />
-    <Compile Include="Microsoft.VisualBasic\AppWinStyle.vb" />
-    <Compile Include="Microsoft.VisualBasic\AudioPlayMode.vb" />
-    <Compile Include="Microsoft.VisualBasic\CallType.vb" />
-    <Compile Include="Microsoft.VisualBasic\Collection.vb" />
-    <Compile Include="Microsoft.VisualBasic\ComClassAttribute.vb" />
-    <Compile Include="Microsoft.VisualBasic\CompareMethod.vb" />
-    <Compile Include="Microsoft.VisualBasic\Constants.vb" />
-    <Compile Include="Microsoft.VisualBasic\ControlChars.vb" />
-    <Compile Include="Microsoft.VisualBasic\Conversion.vb" />
-    <Compile Include="Microsoft.VisualBasic\DateAndTime.vb" />
-    <Compile Include="Microsoft.VisualBasic\DateFormat.vb" />
-    <Compile Include="Microsoft.VisualBasic\DateInterval.vb" />
-    <Compile Include="Microsoft.VisualBasic\DueDate.vb" />
-    <Compile Include="Microsoft.VisualBasic\ErrObject.vb" />
-    <Compile Include="Microsoft.VisualBasic\FileAttribute.vb" />
-    <Compile Include="Microsoft.VisualBasic\FileData.vb">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="Microsoft.VisualBasic\FileSystem.vb" />
-    <Compile Include="Microsoft.VisualBasic\Financial.vb" />
-    <Compile Include="Microsoft.VisualBasic\FirstDayOfWeek.vb" />
-    <Compile Include="Microsoft.VisualBasic\FirstWeekOfYear.vb" />
-    <Compile Include="Microsoft.VisualBasic\Globals.vb" />
-    <Compile Include="Microsoft.VisualBasic\HideModuleNameAttribute.vb" />
-    <Compile Include="Microsoft.VisualBasic\Information.vb" />
-    <Compile Include="Microsoft.VisualBasic\Interaction.vb">
-    </Compile>
-    <Compile Include="Microsoft.VisualBasic\MsgBoxResult.vb" />
-    <Compile Include="Microsoft.VisualBasic\MsgBoxStyle.vb" />
-    <Compile Include="Microsoft.VisualBasic\MyGroupCollectionAttribute.vb" />
-    <Compile Include="Microsoft.VisualBasic\OpenAccess.vb" />
-    <Compile Include="Microsoft.VisualBasic\OpenMode.vb" />
-    <Compile Include="Microsoft.VisualBasic\OpenShare.vb" />
-    <Compile Include="Microsoft.VisualBasic\SpcInfo.vb" />
-    <Compile Include="Microsoft.VisualBasic\Strings.vb" />
-    <Compile Include="Microsoft.VisualBasic\TabInfo.vb" />
-    <Compile Include="Microsoft.VisualBasic\TriState.vb" />
-    <Compile Include="Microsoft.VisualBasic\VariantType.vb" />
-    <Compile Include="Microsoft.VisualBasic\VBFixedArrayAttribute.vb" />
-    <Compile Include="Microsoft.VisualBasic\VBFixedStringAttribute.vb" />
-    <Compile Include="Microsoft.VisualBasic\VBMath.vb" />
-    <Compile Include="Microsoft.VisualBasic\VbStrConv.vb" />
-    <Compile Include="MonoTODOAttribute.vb" />
-  </ItemGroup>
-  <ItemGroup>
-    <None Include="msfinal.pub" />
-  </ItemGroup>
-  <ItemGroup>
-    <Import Include="System" />
-    <Import Include="System.Collections" />
-    <Import Include="System.Data" />
-    <Import Include="System.Diagnostics" />
-  </ItemGroup>
-  <PropertyGroup>
-    <PreBuildEvent>"..\..\..\..\..\..\tools\Visual Studio 2008 SDK\current\VisualStudioIntegration\Tools\Bin\resgen.exe" $(ProjectDir)\strings.txt</PreBuildEvent>
-  </PropertyGroup>
-  <ItemGroup>
-    <EmbeddedResource Include="strings.resources" />
-  </ItemGroup>
-  <ItemGroup>
-    <Folder Include="My Project\" />
-  </ItemGroup>
-</Project>
diff --git a/vbruntime/Microsoft.VisualBasic/2008VB.sln b/vbruntime/Microsoft.VisualBasic/2008VB.sln
deleted file mode 100755
index 05ef881..0000000
--- a/vbruntime/Microsoft.VisualBasic/2008VB.sln
+++ /dev/null
@@ -1,20 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 10.00
-# Visual Studio 2008
-Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "2008VB", "2008VB.vbproj", "{3F2C04ED-C36A-4EF9-9479-0227E9CA7824}"
-EndProject
-Global
-	GlobalSection(SolutionConfigurationPlatforms) = preSolution
-		Debug|Any CPU = Debug|Any CPU
-		Release|Any CPU = Release|Any CPU
-	EndGlobalSection
-	GlobalSection(ProjectConfigurationPlatforms) = postSolution
-		{3F2C04ED-C36A-4EF9-9479-0227E9CA7824}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{3F2C04ED-C36A-4EF9-9479-0227E9CA7824}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{3F2C04ED-C36A-4EF9-9479-0227E9CA7824}.Release|Any CPU.ActiveCfg = Debug|Any CPU
-		{3F2C04ED-C36A-4EF9-9479-0227E9CA7824}.Release|Any CPU.Build.0 = Debug|Any CPU
-	EndGlobalSection
-	GlobalSection(SolutionProperties) = preSolution
-		HideSolutionNode = FALSE
-	EndGlobalSection
-EndGlobal
diff --git a/vbruntime/Microsoft.VisualBasic/2008VB.vbproj b/vbruntime/Microsoft.VisualBasic/2008VB.vbproj
deleted file mode 100755
index e0a15d1..0000000
--- a/vbruntime/Microsoft.VisualBasic/2008VB.vbproj
+++ /dev/null
@@ -1,228 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5">
-  <PropertyGroup>
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
-    <ProductVersion>9.0.30729</ProductVersion>
-    <SchemaVersion>2.0</SchemaVersion>
-    <ProjectGuid>{3F2C04ED-C36A-4EF9-9479-0227E9CA7824}</ProjectGuid>
-    <OutputType>Library</OutputType>
-    <AssemblyName>Microsoft.VisualBasic</AssemblyName>
-    <OptionExplicit>On</OptionExplicit>
-    <OptionStrict>On</OptionStrict>
-    <CheckForOverflowUnderflow>true</CheckForOverflowUnderflow>
-    <MyType>Windows</MyType>
-    <NoStdLib>true</NoStdLib>
-    <OutputPath>../bin/</OutputPath>
-    <DocumentationFile>Microsoft.VisualBasic.xml</DocumentationFile>
-    <AssemblyName>Microsoft.VisualBasic</AssemblyName>
-    <RootNamespace>
-    </RootNamespace>
-    <NoVBRuntimeReference>true</NoVBRuntimeReference>
-    <NoWarn>41008,40010</NoWarn>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
-    <DebugSymbols>true</DebugSymbols>
-    <DebugType>full</DebugType>
-    <DefineDebug>true</DefineDebug>
-    <DefineTrace>false</DefineTrace>
-    <DefineConstants>NET_2_0=True,_MYTYPE="_Empty",INDEVENV=true,NET_VER=2.0</DefineConstants>
-    <WarningsAsErrors>41999,42016,42017,42018,42019,42020,42021,42022,42032,42036</WarningsAsErrors>
-    <Optimize>true</Optimize>
-    <WarningLevel>4</WarningLevel>
-    <TreatWarningsAsErrors>false</TreatWarningsAsErrors>
-    <UseHostCompilerIfAvailable>false</UseHostCompilerIfAvailable>
-  </PropertyGroup>
-  <ItemGroup>
-    <Reference Include="System" />
-    <Reference Include="System.Data" />
-    <Reference Include="System.Deployment" />
-    <Reference Include="System.Drawing" />
-    <Reference Include="System.Web" />
-    <Reference Include="System.Windows.Forms" />
-    <Reference Include="System.Xml" />
-  </ItemGroup>
-  <ItemGroup>
-    <Import Include="System" />
-    <Import Include="System.Collections" />
-    <Import Include="System.Data" />
-    <Import Include="System.Diagnostics" />
-  </ItemGroup>
-  <ItemGroup>
-    <Compile Include="AssemblyInfo.vb" />
-    <Compile Include="Helper.vb">
-    </Compile>
-    <Compile Include="Microsoft.VisualBasic.ApplicationServices\ApplicationBase.vb" />
-    <Compile Include="Microsoft.VisualBasic.ApplicationServices\AssemblyInfo.vb" />
-    <Compile Include="Microsoft.VisualBasic.ApplicationServices\AuthenticationMode.vb" />
-    <Compile Include="Microsoft.VisualBasic.ApplicationServices\BuiltInRole.vb" />
-    <Compile Include="Microsoft.VisualBasic.ApplicationServices\BuiltInRoleConverter.vb" />
-    <Compile Include="Microsoft.VisualBasic.ApplicationServices\CantStartSingleInstanceException.vb" />
-    <Compile Include="Microsoft.VisualBasic.ApplicationServices\ConsoleApplicationBase.vb" />
-    <Compile Include="Microsoft.VisualBasic.ApplicationServices\WebUser.vb" />
-    <Compile Include="Microsoft.VisualBasic.ApplicationServices\UnhandledExceptionEventArgs.vb" />
-    <Compile Include="Microsoft.VisualBasic.ApplicationServices\UnhandledExceptionEventHandler.vb" />
-    <Compile Include="Microsoft.VisualBasic.ApplicationServices\NoStartupFormException.vb" />
-    <Compile Include="Microsoft.VisualBasic.ApplicationServices\ShutdownEventHandler.vb" />
-    <Compile Include="Microsoft.VisualBasic.ApplicationServices\ShutdownMode.vb" />
-    <Compile Include="Microsoft.VisualBasic.ApplicationServices\StartupEventArgs.vb" />
-    <Compile Include="Microsoft.VisualBasic.ApplicationServices\StartupEventHandler.vb" />
-    <Compile Include="Microsoft.VisualBasic.ApplicationServices\StartupNextInstanceEventArgs.vb" />
-    <Compile Include="Microsoft.VisualBasic.ApplicationServices\StartupNextInstanceEventHandler.vb" />
-    <Compile Include="Microsoft.VisualBasic.ApplicationServices\User.vb" />
-    <Compile Include="Microsoft.VisualBasic.ApplicationServices\WindowsFormsApplicationBase.vb" />
-    <Compile Include="Microsoft.VisualBasic.ApplicationServices\WindowsFormsApplicationContext.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\BooleanType.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\ByteType.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\CharArrayType.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\CharType.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\Conversions.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\OptionCompareAttribute.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\NewLateBinding.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\ObjectFlowControl.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\LikeOperator.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\InternalErrorException.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\ExceptionUtils.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\DesignerGeneratedAttribute.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\OptionTextAttribute.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\TypeCombinations.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\VBErrors.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\Versioned.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\DateType.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\DecimalType.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\DoubleType.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\FlowControl.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\HostServices.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\IncompleteInitialization.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\IntegerType.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\IVbHost.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\LateBinder.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\LateBinding.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\LongType.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\ObjectType.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\Operators.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\ProjectData.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\ShortType.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\SingleType.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\StandardModuleAttribute.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\StaticLocalInitFlag.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\StringType.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\Utils.vb" />
-    <Compile Include="Microsoft.VisualBasic.Devices\Audio.jvm.vb" />
-    <Compile Include="Microsoft.VisualBasic.Devices\Audio.vb" />
-    <Compile Include="Microsoft.VisualBasic.Devices\Clock.vb" />
-    <Compile Include="Microsoft.VisualBasic.Devices\Computer.jvm.vb" />
-    <Compile Include="Microsoft.VisualBasic.Devices\Computer.vb" />
-    <Compile Include="Microsoft.VisualBasic.Devices\ComputerInfo.jvm.vb" />
-    <Compile Include="Microsoft.VisualBasic.Devices\ComputerInfo.vb" />
-    <Compile Include="Microsoft.VisualBasic.Devices\Keyboard.jvm.vb" />
-    <Compile Include="Microsoft.VisualBasic.Devices\Keyboard.vb" />
-    <Compile Include="Microsoft.VisualBasic.Devices\Mouse.jvm.vb" />
-    <Compile Include="Microsoft.VisualBasic.Devices\Mouse.vb" />
-    <Compile Include="Microsoft.VisualBasic.Devices\MyWebClient.vb">
-      <SubType>Component</SubType>
-    </Compile>
-    <Compile Include="Microsoft.VisualBasic.Devices\Network.vb" />
-    <Compile Include="Microsoft.VisualBasic.Devices\NetworkAvailableEventArgs.vb" />
-    <Compile Include="Microsoft.VisualBasic.Devices\NetworkAvailableEventHandler.vb" />
-    <Compile Include="Microsoft.VisualBasic.Devices\MyProgressDialog.vb">
-      <SubType>Form</SubType>
-    </Compile>
-    <Compile Include="Microsoft.VisualBasic.Devices\Ports.jvm.vb" />
-    <Compile Include="Microsoft.VisualBasic.Devices\Ports.vb" />
-    <Compile Include="Microsoft.VisualBasic.Devices\ServerComputer.jvm.vb" />
-    <Compile Include="Microsoft.VisualBasic.Devices\ServerComputer.vb" />
-    <Compile Include="Microsoft.VisualBasic.FileIO\DeleteDirectoryOption.vb" />
-    <Compile Include="Microsoft.VisualBasic.FileIO\FieldType.vb" />
-    <Compile Include="Microsoft.VisualBasic.FileIO\FileSystem.vb" />
-    <Compile Include="Microsoft.VisualBasic.FileIO\FileSystemOperation.vb" />
-    <Compile Include="Microsoft.VisualBasic.FileIO\FileSystemOperationUI.vb">
-      <SubType>Form</SubType>
-    </Compile>
-    <Compile Include="Microsoft.VisualBasic.FileIO\FileSystemOperationUIQuestion.vb">
-      <SubType>Form</SubType>
-    </Compile>
-    <Compile Include="Microsoft.VisualBasic.FileIO\MalformedLineException.vb" />
-    <Compile Include="Microsoft.VisualBasic.FileIO\RecycleOption.vb" />
-    <Compile Include="Microsoft.VisualBasic.FileIO\SearchOption.vb" />
-    <Compile Include="Microsoft.VisualBasic.FileIO\SpecialDirectories.vb" />
-    <Compile Include="Microsoft.VisualBasic.FileIO\TextFieldParser.vb" />
-    <Compile Include="Microsoft.VisualBasic.FileIO\UICancelOption.vb" />
-    <Compile Include="Microsoft.VisualBasic.FileIO\UIOption.vb" />
-    <Compile Include="Microsoft.VisualBasic.Logging\AspLog.vb" />
-    <Compile Include="Microsoft.VisualBasic.Logging\DiskSpaceExhaustedOption.vb" />
-    <Compile Include="Microsoft.VisualBasic.Logging\FileLogTraceListener.vb" />
-    <Compile Include="Microsoft.VisualBasic.Logging\Log.vb" />
-    <Compile Include="Microsoft.VisualBasic.Logging\LogFileCreationScheduleOption.vb" />
-    <Compile Include="Microsoft.VisualBasic.Logging\LogFileLocation.vb" />
-    <Compile Include="Microsoft.VisualBasic.MyServices.Internal\ContextValue.vb" />
-    <Compile Include="Microsoft.VisualBasic.MyServices\ClipboardProxy.vb" />
-    <Compile Include="Microsoft.VisualBasic.MyServices\FileSystemProxy.vb" />
-    <Compile Include="Microsoft.VisualBasic.MyServices\RegistryProxy.jvm.vb" />
-    <Compile Include="Microsoft.VisualBasic.MyServices\RegistryProxy.vb" />
-    <Compile Include="Microsoft.VisualBasic.MyServices\SpecialDirectoriesProxy.vb" />
-    <Compile Include="Microsoft.VisualBasic.OSSpecific\LinuxDriver.vb" />
-    <Compile Include="Microsoft.VisualBasic.OSSpecific\OSDriver.vb" />
-    <Compile Include="Microsoft.VisualBasic.OSSpecific\Win32Driver.vb" />
-    <Compile Include="Microsoft.VisualBasic\AppWinStyle.vb" />
-    <Compile Include="Microsoft.VisualBasic\CallType.vb" />
-    <Compile Include="Microsoft.VisualBasic\Collection.vb" />
-    <Compile Include="Microsoft.VisualBasic\ComClassAttribute.vb" />
-    <Compile Include="Microsoft.VisualBasic\CompareMethod.vb" />
-    <Compile Include="Microsoft.VisualBasic\Constants.vb" />
-    <Compile Include="Microsoft.VisualBasic\ControlChars.vb" />
-    <Compile Include="Microsoft.VisualBasic\Conversion.vb" />
-    <Compile Include="Microsoft.VisualBasic\AudioPlayMode.vb" />
-    <Compile Include="Microsoft.VisualBasic\FileData.vb" />
-    <Compile Include="Microsoft.VisualBasic\Globals.vb" />
-    <Compile Include="Microsoft.VisualBasic\SpcInfo.vb" />
-    <Compile Include="Microsoft.VisualBasic\TabInfo.vb" />
-    <Compile Include="Microsoft.VisualBasic\VBFixedStringAttribute.vb" />
-    <Compile Include="Microsoft.VisualBasic\VBFixedArrayAttribute.vb" />
-    <Compile Include="Microsoft.VisualBasic\MyGroupCollectionAttribute.vb" />
-    <Compile Include="Microsoft.VisualBasic\DateAndTime.vb" />
-    <Compile Include="Microsoft.VisualBasic\DateFormat.vb" />
-    <Compile Include="Microsoft.VisualBasic\DateInterval.vb" />
-    <Compile Include="Microsoft.VisualBasic\DueDate.vb" />
-    <Compile Include="Microsoft.VisualBasic\ErrObject.vb" />
-    <Compile Include="Microsoft.VisualBasic\FileAttribute.vb" />
-    <Compile Include="Microsoft.VisualBasic\FileSystem.vb" />
-    <Compile Include="Microsoft.VisualBasic\Financial.vb" />
-    <Compile Include="Microsoft.VisualBasic\FirstDayOfWeek.vb" />
-    <Compile Include="Microsoft.VisualBasic\FirstWeekOfYear.vb" />
-    <Compile Include="Microsoft.VisualBasic\HideModuleNameAttribute.vb" />
-    <Compile Include="Microsoft.VisualBasic\Information.vb" />
-    <Compile Include="Microsoft.VisualBasic\Interaction.vb">
-      <SubType>Form</SubType>
-    </Compile>
-    <Compile Include="Microsoft.VisualBasic\MsgBoxResult.vb" />
-    <Compile Include="Microsoft.VisualBasic\MsgBoxStyle.vb" />
-    <Compile Include="Microsoft.VisualBasic\OpenAccess.vb" />
-    <Compile Include="Microsoft.VisualBasic\OpenMode.vb" />
-    <Compile Include="Microsoft.VisualBasic\OpenShare.vb" />
-    <Compile Include="Microsoft.VisualBasic\Strings.vb" />
-    <Compile Include="Microsoft.VisualBasic\TriState.vb" />
-    <Compile Include="Microsoft.VisualBasic\VariantType.vb" />
-    <Compile Include="Microsoft.VisualBasic\VBMath.vb" />
-    <Compile Include="Microsoft.VisualBasic\VbStrConv.vb" />
-    <Compile Include="MonoTODOAttribute.vb" />
-  </ItemGroup>
-  <ItemGroup>
-    <None Include="msfinal.pub" />
-    <None Include="My Project\Application.myapp">
-      <Generator>MyApplicationCodeGenerator</Generator>
-      <LastGenOutput>Application.Designer.vb</LastGenOutput>
-    </None>
-  </ItemGroup>
-  <ItemGroup>
-    <EmbeddedResource Include="strings.resources" />
-  </ItemGroup>
-  <Import Project="$(MSBuildBinPath)\Microsoft.VisualBasic.targets" />
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
-       Other similar extension points exist, see Microsoft.Common.targets.
-  <Target Name="BeforeBuild">
-  </Target>
-  <Target Name="AfterBuild">
-  </Target>
-  -->
-</Project>
\ No newline at end of file
diff --git a/vbruntime/Microsoft.VisualBasic/2010VB.vbproj b/vbruntime/Microsoft.VisualBasic/2010VB.vbproj
index c20d4e5..2b656cb 100644
--- a/vbruntime/Microsoft.VisualBasic/2010VB.vbproj
+++ b/vbruntime/Microsoft.VisualBasic/2010VB.vbproj
@@ -3,8 +3,6 @@
   <PropertyGroup>
     <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
     <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
-    <ProductVersion>9.0.30729</ProductVersion>
-    <SchemaVersion>2.0</SchemaVersion>
     <ProjectGuid>{3F2C04ED-C36A-4EF9-9479-0227E9CA7824}</ProjectGuid>
     <OutputType>Library</OutputType>
     <AssemblyName>Microsoft.VisualBasic</AssemblyName>
@@ -18,28 +16,11 @@
     <AssemblyName>Microsoft.VisualBasic</AssemblyName>
     <RootNamespace>
     </RootNamespace>
-    <NoVBRuntimeReference>true</NoVBRuntimeReference>
     <NoWarn>41008,40010</NoWarn>
     <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
-    <FileUpgradeFlags>
-    </FileUpgradeFlags>
-    <OldToolsVersion>3.5</OldToolsVersion>
-    <UpgradeBackupLocation />
-    <PublishUrl>publish\</PublishUrl>
-    <Install>true</Install>
-    <InstallFrom>Disk</InstallFrom>
-    <UpdateEnabled>false</UpdateEnabled>
-    <UpdateMode>Foreground</UpdateMode>
-    <UpdateInterval>7</UpdateInterval>
-    <UpdateIntervalUnits>Days</UpdateIntervalUnits>
-    <UpdatePeriodically>false</UpdatePeriodically>
-    <UpdateRequired>false</UpdateRequired>
-    <MapFileExtensions>true</MapFileExtensions>
-    <ApplicationRevision>0</ApplicationRevision>
-    <ApplicationVersion>1.0.0.%2a</ApplicationVersion>
-    <IsWebBootstrapper>false</IsWebBootstrapper>
-    <UseApplicationTrust>false</UseApplicationTrust>
-    <BootstrapperEnabled>true</BootstrapperEnabled>
+    <TargetFrameworkProfile>Client</TargetFrameworkProfile>
+    <!--    <VBRuntime>None</VBRuntime>-->
+    <NoVBRuntimeReference>True</NoVBRuntimeReference>
   </PropertyGroup>
   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
     <DebugSymbols>true</DebugSymbols>
@@ -51,7 +32,6 @@
     <Optimize>true</Optimize>
     <WarningLevel>4</WarningLevel>
     <TreatWarningsAsErrors>false</TreatWarningsAsErrors>
-    <UseHostCompilerIfAvailable>false</UseHostCompilerIfAvailable>
     <NoWarn>42353,42354,42355</NoWarn>
   </PropertyGroup>
   <ItemGroup>
@@ -238,28 +218,7 @@
   <ItemGroup>
     <EmbeddedResource Include="strings.resources" />
   </ItemGroup>
-  <ItemGroup>
-    <BootstrapperPackage Include=".NETFramework,Version=v4.0">
-      <Visible>False</Visible>
-      <ProductName>Microsoft .NET Framework 4 %28x86 and x64%29</ProductName>
-      <Install>true</Install>
-    </BootstrapperPackage>
-    <BootstrapperPackage Include="Microsoft.Net.Client.3.5">
-      <Visible>False</Visible>
-      <ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName>
-      <Install>false</Install>
-    </BootstrapperPackage>
-    <BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
-      <Visible>False</Visible>
-      <ProductName>.NET Framework 3.5 SP1</ProductName>
-      <Install>false</Install>
-    </BootstrapperPackage>
-    <BootstrapperPackage Include="Microsoft.Windows.Installer.3.1">
-      <Visible>False</Visible>
-      <ProductName>Windows Installer 3.1</ProductName>
-      <Install>true</Install>
-    </BootstrapperPackage>
-  </ItemGroup>
+  <ItemGroup />
   <Import Project="$(MSBuildBinPath)\Microsoft.VisualBasic.targets" />
   <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
        Other similar extension points exist, see Microsoft.Common.targets.
diff --git a/vbruntime/Microsoft.VisualBasic/AssemblyInfo.vb b/vbruntime/Microsoft.VisualBasic/AssemblyInfo.vb
index 64fe680..99b2f66 100644
--- a/vbruntime/Microsoft.VisualBasic/AssemblyInfo.vb
+++ b/vbruntime/Microsoft.VisualBasic/AssemblyInfo.vb
@@ -65,7 +65,19 @@ Imports System.Security
 <Assembly: AssemblyFileVersion("1.1.20806.0")> 
 <Assembly: AssemblyDefaultAlias("Microsoft.VisualBasic.dll")> 
 #Else
-#If NET_VER >= 4.0 Then
+#If NET_VER >= 4.5 Then
+<Assembly: AssemblyVersion("11.0.0.0")> 
+<Assembly: ComVisible(True)> 
+'<Assembly: Guid("aa353322-85a4-4601-a6b7-e3b724e9350c")> 
+<Assembly: CLSCompliant(True)> 
+<Assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default Or DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)> 
+<Assembly: CompilationRelaxations(CompilationRelaxations.NoStringInterning)> 
+<Assembly: RuntimeCompatibility(WrapNonExceptionThrows:=True)> 
+<Assembly: SatelliteContractVersion("11.0.0.0")> 
+<Assembly: AssemblyInformationalVersion("11.0.30319.17020")> 
+<Assembly: AssemblyFileVersion("11.0.30319.17020")> 
+<Assembly: AssemblyDefaultAlias("Microsoft.VisualBasic.dll")> 
+#ElseIf NET_VER >= 4.0 Then
 <Assembly: AssemblyVersion("10.0.0.0")> 
 <Assembly: ComVisible(True)> 
 '<Assembly: Guid("aa353322-85a4-4601-a6b7-e3b724e9350c")> 
diff --git a/vbruntime/Microsoft.VisualBasic/Makefile b/vbruntime/Microsoft.VisualBasic/Makefile
index b95c7d6..48d1648 100644
--- a/vbruntime/Microsoft.VisualBasic/Makefile
+++ b/vbruntime/Microsoft.VisualBasic/Makefile
@@ -39,9 +39,9 @@ DISTFILES =	\
 	$(wildcard *.sln)			\
 	$(wildcard *.vbproj)
 
-Microsoft.VisualBasic.dll.sources: 2005VB.vbproj
-	MONO_PATH="../../class/lib/bootstrap$(PLATFORM_PATH_SEPARATOR)$$MONO_PATH" mono ../../tools/extract-source/extract-source.exe -x:r -s:2005VB.vbproj -d:Microsoft.VisualBasic.dll.sources -m:l
-	MONO_PATH="../../class/lib/bootstrap$(PLATFORM_PATH_SEPARATOR)$$MONO_PATH" mono ../../tools/extract-source/extract-source.exe -x:r -s:2005VB.vbproj -d:Microsoft.VisualBasic.dll.sources.win -m:w
+Microsoft.VisualBasic.dll.sources: 2010VB.vbproj
+	MONO_PATH="../../class/lib/bootstrap$(PLATFORM_PATH_SEPARATOR)$$MONO_PATH" mono ../../tools/extract-source/extract-source.exe -x:r -s:2010VB.vbproj -d:Microsoft.VisualBasic.dll.sources -m:l
+	MONO_PATH="../../class/lib/bootstrap$(PLATFORM_PATH_SEPARATOR)$$MONO_PATH" mono ../../tools/extract-source/extract-source.exe -x:r -s:2010VB.vbproj -d:Microsoft.VisualBasic.dll.sources.win -m:w
 
 install-binary: default
 	cp ../../class/lib/net_4_0/Microsoft.VisualBasic.* ../../class/lib/bootstrap
diff --git a/vbruntime/Microsoft.VisualBasic/Microsoft.VisualBasic.CompilerServices/LateBinder.vb b/vbruntime/Microsoft.VisualBasic/Microsoft.VisualBasic.CompilerServices/LateBinder.vb
index 88024ca..21bc4f1 100644
--- a/vbruntime/Microsoft.VisualBasic/Microsoft.VisualBasic.CompilerServices/LateBinder.vb
+++ b/vbruntime/Microsoft.VisualBasic/Microsoft.VisualBasic.CompilerServices/LateBinder.vb
@@ -1118,7 +1118,7 @@ Namespace Microsoft.VisualBasic.CompilerServices
                     End If
                 End If
 
-                If type1.IsSubclassOf(type2) Then
+                If type1.IsSubclassOf(type2) OrElse type2.IsAssignableFrom (type1) Then
                     Return TypeConversion.Widening
                 ElseIf type2.IsSubclassOf(type1) Then
                     Return TypeConversion.Narrowing
diff --git a/vbruntime/Microsoft.VisualBasic/Microsoft.VisualBasic.CompilerServices/StringType.vb b/vbruntime/Microsoft.VisualBasic/Microsoft.VisualBasic.CompilerServices/StringType.vb
index ee60a30..ec3f570 100644
--- a/vbruntime/Microsoft.VisualBasic/Microsoft.VisualBasic.CompilerServices/StringType.vb
+++ b/vbruntime/Microsoft.VisualBasic/Microsoft.VisualBasic.CompilerServices/StringType.vb
@@ -236,7 +236,8 @@ Namespace Microsoft.VisualBasic.CompilerServices
 
         Private Shared Function ConvertLikeExpression(ByVal expression As String) As String
             Dim sb As StringBuilder = New StringBuilder
-            Dim bDigit As Boolean = False '' need it in order to clode the string pattern
+
+            sb.Append("^")
 
             For pos As Integer = 0 To expression.Length - 1
                 Select Case expression(pos)
@@ -244,13 +245,8 @@ Namespace Microsoft.VisualBasic.CompilerServices
                         sb.Append("."c)
                     Case "*"c
                         sb.Append("."c).Append("*"c)
-                    Case "#"c  '' only one digit and only once ->  "^\d{1}$"
-                        If bDigit Then
-                            sb.Append("\d{1}")
-                        Else
-                            sb.Append("^\d{1}")
-                            bDigit = True
-                        End If
+                    Case "#"c
+                        sb.Append("\d{1}")
                     Case "["c
                         Dim gsb As StringBuilder = ConvertGroupSubexpression(expression, pos)
                         ' skip groups of form [], i.e. empty strings
@@ -261,7 +257,8 @@ Namespace Microsoft.VisualBasic.CompilerServices
                         sb.Append(Regex.Escape(expression(pos).ToString()))
                 End Select
             Next
-            If bDigit Then sb.Append("$"c)
+
+            sb.Append("$")
 
             Return sb.ToString()
         End Function
diff --git a/vbruntime/Microsoft.VisualBasic/Microsoft.VisualBasic.CompilerServices/Utils.vb b/vbruntime/Microsoft.VisualBasic/Microsoft.VisualBasic.CompilerServices/Utils.vb
index a2416e2..cdeff0b 100644
--- a/vbruntime/Microsoft.VisualBasic/Microsoft.VisualBasic.CompilerServices/Utils.vb
+++ b/vbruntime/Microsoft.VisualBasic/Microsoft.VisualBasic.CompilerServices/Utils.vb
@@ -64,8 +64,8 @@ Namespace Microsoft.VisualBasic.CompilerServices
             Return array.GetLength(dimension)
         End Function
 
-        Friend Shared Sub Array_Copy(ByVal sourceArray As System.Array, ByVal sourceIndex As Integer, ByVal destinationArray As System.Array, ByVal destinationIndex As Integer, ByVal length As Integer)
-            System.Array.Copy(sourceArray, sourceIndex, destinationArray, destinationIndex, length)
+        Friend Shared Sub Array_Copy(ByVal sourceArray As System.Array, ByVal sourceIndex As Long, ByVal destinationArray As System.Array, ByVal destinationIndex As Long, ByVal length As Long)
+            System.Array.Copy(sourceArray, CInt(sourceIndex), destinationArray, CInt(destinationIndex), CInt(length))
         End Sub
 #End If
 
diff --git a/vbruntime/Microsoft.VisualBasic/Microsoft.VisualBasic.FileIO/MalformedLineException.vb b/vbruntime/Microsoft.VisualBasic/Microsoft.VisualBasic.FileIO/MalformedLineException.vb
index b6bd3a9..57c2c8f 100644
--- a/vbruntime/Microsoft.VisualBasic/Microsoft.VisualBasic.FileIO/MalformedLineException.vb
+++ b/vbruntime/Microsoft.VisualBasic/Microsoft.VisualBasic.FileIO/MalformedLineException.vb
@@ -69,8 +69,14 @@ Namespace Microsoft.VisualBasic.FileIO
             m_AnyMessage = Not String.IsNullOrEmpty(message)
         End Sub
 
+#If NET_VER >= 4.0 Then
         <EditorBrowsable(EditorBrowsableState.Advanced), SecurityPermission(SecurityAction.Demand, SerializationFormatter:=True)> _
+        <System.Security.SecurityCritical()> _
         Public Overrides Sub GetObjectData(ByVal info As SerializationInfo, ByVal context As StreamingContext)
+#Else
+        <EditorBrowsable(EditorBrowsableState.Advanced), SecurityPermission(SecurityAction.Demand, SerializationFormatter:=True)> _
+        Public Overrides Sub GetObjectData(ByVal info As SerializationInfo, ByVal context As StreamingContext)
+#End If
             MyBase.GetObjectData(info, context)
             If info IsNot Nothing Then info.AddValue("LineNumber", m_LineNumber)
         End Sub
diff --git a/vbruntime/Microsoft.VisualBasic/Microsoft.VisualBasic.OSSpecific/Win32Driver.vb b/vbruntime/Microsoft.VisualBasic/Microsoft.VisualBasic.OSSpecific/Win32Driver.vb
index fc2df86..a70c78c 100644
--- a/vbruntime/Microsoft.VisualBasic/Microsoft.VisualBasic.OSSpecific/Win32Driver.vb
+++ b/vbruntime/Microsoft.VisualBasic/Microsoft.VisualBasic.OSSpecific/Win32Driver.vb
@@ -35,7 +35,12 @@ Namespace Microsoft.VisualBasic.OSSpecific
     Friend Class Win32Driver
         Inherits OSDriver
 
+#If NET_VER >= 4.0 Then
+        <Security.SecuritySafeCritical()> _
         Public Overrides Sub SetDate(ByVal newDate As Date)
+#Else
+        Public Overrides Sub SetDate(ByVal newDate As Date)
+#End If
             Dim time As SystemTime
 
             GetLocalTime(time)
@@ -49,7 +54,12 @@ Namespace Microsoft.VisualBasic.OSSpecific
             End If
         End Sub
 
+#If NET_VER >= 4.0 Then
+        <Security.SecuritySafeCritical()> _
+        Public Overrides Sub SetTime(ByVal newTime As Date)
+#Else
         Public Overrides Sub SetTime(ByVal newTime As Date)
+#End If
             Dim time As SystemTime
 
             GetLocalTime(time)
diff --git a/vbruntime/Microsoft.VisualBasic/Microsoft.VisualBasic/Collection.vb b/vbruntime/Microsoft.VisualBasic/Microsoft.VisualBasic/Collection.vb
index e871fef..834216e 100644
--- a/vbruntime/Microsoft.VisualBasic/Microsoft.VisualBasic/Collection.vb
+++ b/vbruntime/Microsoft.VisualBasic/Microsoft.VisualBasic/Collection.vb
@@ -467,7 +467,12 @@ Namespace Microsoft.VisualBasic
             Return IEnumerable_GetEnumerator()
         End Function
 
+#If NET_VER >= 4.0 Then
+        <System.Security.SecurityCritical()> _
         Private Sub GetObjectData(ByVal info As System.Runtime.Serialization.SerializationInfo, ByVal context As System.Runtime.Serialization.StreamingContext) Implements System.Runtime.Serialization.ISerializable.GetObjectData
+#Else
+        Private Sub GetObjectData(ByVal info As System.Runtime.Serialization.SerializationInfo, ByVal context As System.Runtime.Serialization.StreamingContext) Implements System.Runtime.Serialization.ISerializable.GetObjectData
+#End If
             Throw New NotImplementedException
         End Sub
 
diff --git a/vbruntime/Microsoft.VisualBasic/Microsoft.VisualBasic/Hashtable.vb b/vbruntime/Microsoft.VisualBasic/Microsoft.VisualBasic/Hashtable.vb
index 1ca49e2..9b18a20 100644
--- a/vbruntime/Microsoft.VisualBasic/Microsoft.VisualBasic/Hashtable.vb
+++ b/vbruntime/Microsoft.VisualBasic/Microsoft.VisualBasic/Hashtable.vb
@@ -45,5 +45,16 @@ Friend Class Hashtable
             Return Me
         End Get
     End Property
+
+    Public Default Property Item (Key As Object) As Object
+        Get
+            Dim result As Object
+            If Not MyBase.TryGetValue (Key, result) Then Return Nothing
+            Return result
+        End Get
+        Set
+            MyBase (Key) = Value
+        End Set
+    End Property
 End Class
 #End If
\ No newline at end of file
diff --git a/vbruntime/Microsoft.VisualBasic/Microsoft.VisualBasic/Interaction.vb b/vbruntime/Microsoft.VisualBasic/Microsoft.VisualBasic/Interaction.vb
index 4bb77d3..1de1bbe 100644
--- a/vbruntime/Microsoft.VisualBasic/Microsoft.VisualBasic/Interaction.vb
+++ b/vbruntime/Microsoft.VisualBasic/Microsoft.VisualBasic/Interaction.vb
@@ -177,10 +177,22 @@ Namespace Microsoft.VisualBasic
         Public Shared Function GetSetting(ByVal AppName As String, ByVal Section As String, ByVal Key As String, Optional ByVal [Default] As String = "") As String
 #If TARGET_JVM = False Then
             Dim rkey As RegistryKey
+            Dim ret As Object
+            If ([Default] Is Nothing) Then
+                [Default] = ""
+            End If
             rkey = Registry.CurrentUser
             rkey = rkey.OpenSubKey("Software\VB and VBA Program Settings\" + AppName)
             rkey = rkey.OpenSubKey(Section)
-            Return rkey.GetValue(Key, CObj([Default])).ToString
+            If (rkey Is Nothing) Then
+                Return [Default]
+            End If
+
+            ret = rkey.GetValue(Key, CObj([Default]))
+            If (ret Is Nothing) Then
+                Return Nothing
+            End If
+            Return ret.ToString
 #Else
             Throw New NotImplementedException
 #End If
diff --git a/vbruntime/Microsoft.VisualBasic/vbruntime-net_4_5.rsp b/vbruntime/Microsoft.VisualBasic/vbruntime-net_4_5.rsp
new file mode 100644
index 0000000..9e12f3e
--- /dev/null
+++ b/vbruntime/Microsoft.VisualBasic/vbruntime-net_4_5.rsp
@@ -0,0 +1,20 @@
+/define:NET_VER=4.5
+/res:strings2.resources,strings.resources
+/debug:full
+/r:System.dll
+/r:mscorlib.dll
+/r:System.Windows.Forms.dll
+/r:System.Data.dll
+/r:System.Drawing.dll
+/r:System.Web.dll
+/r:System.Xml.dll
+/novbruntimeref
+/define:_MYTYPE=\"Empty\"
+/t:library
+/optionstrict+
+/imports:System,System.Collections,System.Data,System.Diagnostics
+/out:Microsoft.VisualBasic.dll
+/define:_MYTYPE=\"Empty\"
+/imports:System.Collections.Generic
+/codepage:65001
+/noconfig
diff --git a/vbruntime/Test/2008VB_test_CS.csproj b/vbruntime/Test/2008VB_test_CS.csproj
deleted file mode 100755
index 680c8f1..0000000
--- a/vbruntime/Test/2008VB_test_CS.csproj
+++ /dev/null
@@ -1,111 +0,0 @@
-<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5">
-  <PropertyGroup>
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
-    <ProductVersion>9.0.30729</ProductVersion>
-    <SchemaVersion>2.0</SchemaVersion>
-    <ProjectGuid>{D1E99600-0061-4184-9778-85422E238DB9}</ProjectGuid>
-    <OutputType>Library</OutputType>
-    <AppDesignerFolder>Properties</AppDesignerFolder>
-    <RootNamespace>MonoTests.Microsoft_VisualBasic</RootNamespace>
-    <AssemblyName>Microsoft.2005_VisualBasic_test</AssemblyName>
-    <FileUpgradeFlags>
-    </FileUpgradeFlags>
-    <OldToolsVersion>2.0</OldToolsVersion>
-    <UpgradeBackupLocation>
-    </UpgradeBackupLocation>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
-    <DebugSymbols>True</DebugSymbols>
-    <DebugType>full</DebugType>
-    <Optimize>False</Optimize>
-    <OutputPath>./bin/Debug/</OutputPath>
-    <DefineConstants>TRACE;DEBUG;NET_2_0,mono_not_yet</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-    <OutputType>Library</OutputType>
-    <AssemblyName>Microsoft.2005_VisualBasic_test</AssemblyName>
-    <AllowUnsafeBlocks>False</AllowUnsafeBlocks>
-    <CheckForOverflowUnderflow>True</CheckForOverflowUnderflow>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
-    <DebugType>pdbonly</DebugType>
-    <Optimize>True</Optimize>
-    <OutputPath>./bin/Release/</OutputPath>
-    <DefineConstants>TRACE</DefineConstants>
-    <DefineConstants>NET_2_0=true</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-    <OutputType>Library</OutputType>
-    <AssemblyName>Microsoft.2005_VisualBasic_test</AssemblyName>
-    <DebugSymbols>True</DebugSymbols>
-    <AllowUnsafeBlocks>False</AllowUnsafeBlocks>
-    <CheckForOverflowUnderflow>True</CheckForOverflowUnderflow>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Edit|AnyCPU' ">
-    <OutputPath>bin\Edit\</OutputPath>
-  </PropertyGroup>
-  <ItemGroup>
-    <Reference Include="nunit.framework, Version=2.2.0.0, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77">
-      <SpecificVersion>False</SpecificVersion>
-      <HintPath>bin\nunit.framework.dll</HintPath>
-    </Reference>
-    <Reference Include="System" />
-    <Reference Include="System.Data" />
-    <Reference Include="System.Windows.Forms" />
-    <Reference Include="System.Xml" />
-  </ItemGroup>
-  <ItemGroup>
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\BooleanTypeTest.cs" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\DecimalTypeTest.cs" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\DoubleTypeTest.cs" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\IntegerTypeTest.cs" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\LongTypeTest.cs" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\ShortTypeTest.cs" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\SingleTypeTest.cs" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\StringTypeTest.cs" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\UtilsTest.cs" />
-    <Compile Include="Microsoft.VisualBasic.FileIO\MalformedLineExceptionTest.cs" />
-    <Compile Include="Microsoft.VisualBasic.FileIO\SpecialDirectoriesTest.cs" />
-    <Compile Include="Microsoft.VisualBasic.FileIO\TextFieldParserTest.cs" />
-    <Compile Include="Microsoft.VisualBasic.Logging\FileLogTraceListener.cs" />
-    <Compile Include="Microsoft.VisualBasic.Logging\LogTest.cs" />
-    <Compile Include="Microsoft.VisualBasic.Logging\AspLogTest.cs" />
-    <Compile Include="Microsoft.VisualBasic.MyServices.Internal\ContextValueTest.cs" />
-    <Compile Include="Microsoft.VisualBasic.MyServices\ClipboardProxyTest.cs" />
-    <Compile Include="Microsoft.VisualBasic.MyServices\FileSystemProxyTest.cs" />
-    <Compile Include="Microsoft.VisualBasic.MyServices\RegistryProxyTest.cs" />
-    <Compile Include="Microsoft.VisualBasic.MyServices\SpecialDirectoriesProxyTest.cs" />
-    <Compile Include="Microsoft.VisualBasic\CollectionTests.cs" />
-    <Compile Include="Microsoft.VisualBasic\ConversionTests.cs" />
-    <Compile Include="Microsoft.VisualBasic\DateAndTimeTests.cs" />
-    <Compile Include="Microsoft.VisualBasic\ErrObjectTests.cs" />
-    <Compile Include="Microsoft.VisualBasic\FinancialTests.cs" />
-    <Compile Include="Microsoft.VisualBasic\InformationTests.cs" />
-    <Compile Include="Microsoft.VisualBasic\StringsTest.cs" />
-    <Compile Include="Microsoft.VisualBasic\VBMathTests.cs" />
-    <Compile Include="Microsoft.VisualBasic\Helper.cs" />
-  </ItemGroup>
-  <ItemGroup>
-    <ProjectReference Include="..\Microsoft.VisualBasic\2005VB.vbproj">
-      <Project>{3F2C04ED-C36A-4EF9-9479-0227E9CA7824}</Project>
-      <Name>2005VB</Name>
-    </ProjectReference>
-  </ItemGroup>
-  <ItemGroup>
-    <Folder Include="Properties\" />
-  </ItemGroup>
-  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
-       Other similar extension points exist, see Microsoft.Common.targets.
-  <Target Name="BeforeBuild">
-  </Target>
-  <Target Name="AfterBuild">
-  </Target>
-  -->
-  <PropertyGroup>
-    <PostBuildEvent>
-    </PostBuildEvent>
-    <ProjectGuid>{D1E99600-0061-4184-9778-85422E238DB9}</ProjectGuid>
-  </PropertyGroup>
-</Project>
\ No newline at end of file
diff --git a/vbruntime/Test/2008VB_test_VB.vbproj b/vbruntime/Test/2008VB_test_VB.vbproj
deleted file mode 100755
index ff90467..0000000
--- a/vbruntime/Test/2008VB_test_VB.vbproj
+++ /dev/null
@@ -1,166 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5">
-  <PropertyGroup>
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
-    <ProductVersion>9.0.30729</ProductVersion>
-    <SchemaVersion>2.0</SchemaVersion>
-    <ProjectGuid>{8F18790F-3A66-4267-98F0-B9980C1F8383}</ProjectGuid>
-    <OutputType>Library</OutputType>
-    <RootNamespace>MonoTests.Microsoft_VisualBasic</RootNamespace>
-    <AssemblyName>Microsoft.2005_VisualBasic_test_VB</AssemblyName>
-<!--    <CompilerResponseFile>2005VB_test_VB.rsp</CompilerResponseFile>-->
-    <MyType>Windows</MyType>
-    <FileUpgradeFlags>
-    </FileUpgradeFlags>
-    <OldToolsVersion>2.0</OldToolsVersion>
-    <UpgradeBackupLocation>
-    </UpgradeBackupLocation>
-    <PublishUrl>publish\</PublishUrl>
-    <Install>true</Install>
-    <InstallFrom>Disk</InstallFrom>
-    <UpdateEnabled>false</UpdateEnabled>
-    <UpdateMode>Foreground</UpdateMode>
-    <UpdateInterval>7</UpdateInterval>
-    <UpdateIntervalUnits>Days</UpdateIntervalUnits>
-    <UpdatePeriodically>false</UpdatePeriodically>
-    <UpdateRequired>false</UpdateRequired>
-    <MapFileExtensions>true</MapFileExtensions>
-    <ApplicationRevision>0</ApplicationRevision>
-    <ApplicationVersion>1.0.0.%2a</ApplicationVersion>
-    <IsWebBootstrapper>false</IsWebBootstrapper>
-    <UseApplicationTrust>false</UseApplicationTrust>
-    <BootstrapperEnabled>true</BootstrapperEnabled>
-    <NoVBRuntimeReference>true</NoVBRuntimeReference><!--          NoVBRuntimeReference="$(NoVBRuntimeReference)"-->
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
-    <DebugSymbols>true</DebugSymbols>
-    <DebugType>full</DebugType>
-    <DefineDebug>true</DefineDebug>
-    <DefineTrace>true</DefineTrace>
-    <OutputPath>bin\Debug\</OutputPath>
-    <DocumentationFile>Microsoft.xml</DocumentationFile>
-    <NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
-    <DefineConstants>NET_2_0=True,NET_VER=2.0,mono_not_yet=True</DefineConstants>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
-    <DebugType>pdbonly</DebugType>
-    <DefineDebug>false</DefineDebug>
-    <DefineTrace>true</DefineTrace>
-    <Optimize>true</Optimize>
-    <OutputPath>bin\Release\</OutputPath>
-    <DocumentationFile>Microsoft.xml</DocumentationFile>
-    <NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
-    <DefineConstants>NET_2_0=True</DefineConstants>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Edit|AnyCPU' ">
-    <OutputPath>bin\Edit\</OutputPath>
-  </PropertyGroup>
-  <ItemGroup>
-    <Reference Include="nunit.framework, Version=2.2.0.0, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77">
-      <SpecificVersion>False</SpecificVersion>
-      <HintPath>bin\nunit.framework.dll</HintPath>
-    </Reference>
-    <Reference Include="System" />
-    <Reference Include="System.Data" />
-    <Reference Include="System.Drawing" />
-    <Reference Include="System.Windows.Forms" />
-    <Reference Include="System.Xml" />
-  </ItemGroup>
-  <ItemGroup>
-    <Import Include="Microsoft.VisualBasic" />
-    <Import Include="NUnit.Framework" />
-    <Import Include="System" />
-    <Import Include="System.Collections" />
-    <Import Include="System.Collections.Generic" />
-    <Import Include="System.Data" />
-    <Import Include="System.Diagnostics" />
-  </ItemGroup>
-  <ItemGroup>
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\BooleanTypeTest.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\ByteTypeTest.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\ConversionsTests.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\DateTypeTest.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\DecimalTypeTest.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\DoubleTypeTest.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\IntegerTypeTest.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\LateBindingTests.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\LateBindingTests2.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\LateBindingTests3.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\LateBindingTests4.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\LateBindingTests5.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\LateBindingTests6.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\LongTypeTest.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\OperatorsTests.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\ShortTypeTest.vb" />
-    <Compile Include="Microsoft.VisualBasic.CompilerServices\SingleTypeTest.vb" />
-    <Compile Include="Microsoft.VisualBasic.Devices\ComputerInfoTests.vb" />
-    <Compile Include="Microsoft.VisualBasic.Devices\ComputerTests.vb" />
-    <Compile Include="Microsoft.VisualBasic.Devices\ClockTests.vb" />
-    <Compile Include="Microsoft.VisualBasic.Devices\AudioTests.vb" />
-    <Compile Include="Microsoft.VisualBasic.Devices\KeyboardTests.vb" />
-    <Compile Include="Microsoft.VisualBasic.Devices\MouseTests.vb" />
-    <Compile Include="Microsoft.VisualBasic.Devices\NetworkTests.vb" />
-    <Compile Include="Microsoft.VisualBasic.Devices\NetworkAvailableEventArgsTests.vb" />
-    <Compile Include="Microsoft.VisualBasic.Devices\PortsTests.vb" />
-    <Compile Include="Microsoft.VisualBasic.Devices\ServerComputerTests.vb" />
-    <Compile Include="Microsoft.VisualBasic.FileIO\FileSystemTest.vb" />
-    <Compile Include="Microsoft.VisualBasic\ErrObjectTests.vb" />
-    <Compile Include="Microsoft.VisualBasic\ExceptionFilteringTests.vb" />
-    <Compile Include="Microsoft.VisualBasic\FileSystemTestGenerated.vb" />
-    <Compile Include="Microsoft.VisualBasic\FileSystemTests.vb" />
-    <Compile Include="Microsoft.VisualBasic\FileSystemTests2.vb" />
-    <Compile Include="Microsoft.VisualBasic\GlobalsTests.vb" />
-    <Compile Include="Microsoft.VisualBasic\Helper.vb">
-    </Compile>
-    <Compile Include="Microsoft.VisualBasic\InformationTests.vb" />
-    <Compile Include="Microsoft.VisualBasic\InteractionTests.vb" />
-    <Compile Include="Microsoft.VisualBasic\StringsTest.vb" />
-    <Compile Include="Microsoft.VisualBasic\VBFixedArrayAttributeTest.vb" />
-    <Compile Include="Microsoft.VisualBasic\VBFixedStringAttributeTest.vb" />
-  </ItemGroup>
-  <ItemGroup>
-    <BootstrapperPackage Include="Microsoft.Net.Client.3.5">
-      <Visible>False</Visible>
-      <ProductName>.NET Framework Client Profile</ProductName>
-      <Install>false</Install>
-    </BootstrapperPackage>
-    <BootstrapperPackage Include="Microsoft.Net.Framework.2.0">
-      <Visible>False</Visible>
-      <ProductName>.NET Framework 2.0 %28x86%29</ProductName>
-      <Install>true</Install>
-    </BootstrapperPackage>
-    <BootstrapperPackage Include="Microsoft.Net.Framework.3.0">
-      <Visible>False</Visible>
-      <ProductName>.NET Framework 3.0 %28x86%29</ProductName>
-      <Install>false</Install>
-    </BootstrapperPackage>
-    <BootstrapperPackage Include="Microsoft.Net.Framework.3.5">
-      <Visible>False</Visible>
-      <ProductName>.NET Framework 3.5</ProductName>
-      <Install>false</Install>
-    </BootstrapperPackage>
-    <BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
-      <Visible>False</Visible>
-      <ProductName>.NET Framework 3.5 SP1</ProductName>
-      <Install>false</Install>
-    </BootstrapperPackage>
-  </ItemGroup>
-  <ItemGroup>
-    <ProjectReference Include="..\Microsoft.VisualBasic\2008VB.vbproj">
-      <Project>{3F2C04ED-C36A-4EF9-9479-0227E9CA7824}</Project>
-      <Name>2008VB</Name>
-    </ProjectReference>
-  </ItemGroup>
-  <ItemGroup>
-    <Folder Include="My Project\" />
-  </ItemGroup>
-  <Import Project="$(MSBuildBinPath)\Microsoft.VisualBasic.targets" />
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
-       Other similar extension points exist, see Microsoft.Common.targets.
-  <Target Name="BeforeBuild">
-  </Target>
-  <Target Name="AfterBuild">
-  </Target>
-  -->
-</Project>
\ No newline at end of file
diff --git a/vbruntime/Test/2010VB_test_CS.csproj b/vbruntime/Test/2010VB_test_CS.csproj
new file mode 100644
index 0000000..e660bee
--- /dev/null
+++ b/vbruntime/Test/2010VB_test_CS.csproj
@@ -0,0 +1,152 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProductVersion>9.0.30729</ProductVersion>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectGuid>{D1E99600-0061-4184-9778-85422E238DB9}</ProjectGuid>
+    <OutputType>Library</OutputType>
+    <AppDesignerFolder>Properties</AppDesignerFolder>
+    <RootNamespace>MonoTests.Microsoft_VisualBasic</RootNamespace>
+    <AssemblyName>Microsoft.2005_VisualBasic_test</AssemblyName>
+    <FileUpgradeFlags>
+    </FileUpgradeFlags>
+    <OldToolsVersion>3.5</OldToolsVersion>
+    <UpgradeBackupLocation>
+    </UpgradeBackupLocation>
+    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
+    <TargetFrameworkProfile />
+    <PublishUrl>publish\</PublishUrl>
+    <Install>true</Install>
+    <InstallFrom>Disk</InstallFrom>
+    <UpdateEnabled>false</UpdateEnabled>
+    <UpdateMode>Foreground</UpdateMode>
+    <UpdateInterval>7</UpdateInterval>
+    <UpdateIntervalUnits>Days</UpdateIntervalUnits>
+    <UpdatePeriodically>false</UpdatePeriodically>
+    <UpdateRequired>false</UpdateRequired>
+    <MapFileExtensions>true</MapFileExtensions>
+    <ApplicationRevision>0</ApplicationRevision>
+    <ApplicationVersion>1.0.0.%2a</ApplicationVersion>
+    <IsWebBootstrapper>false</IsWebBootstrapper>
+    <UseApplicationTrust>false</UseApplicationTrust>
+    <BootstrapperEnabled>true</BootstrapperEnabled>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DebugSymbols>True</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>False</Optimize>
+    <OutputPath>./bin/Debug/</OutputPath>
+    <DefineConstants>TRACE;DEBUG;NET_2_0,mono_not_yet</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <OutputType>Library</OutputType>
+    <AssemblyName>Microsoft.2005_VisualBasic_test</AssemblyName>
+    <AllowUnsafeBlocks>False</AllowUnsafeBlocks>
+    <CheckForOverflowUnderflow>True</CheckForOverflowUnderflow>
+    <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DebugType>pdbonly</DebugType>
+    <Optimize>True</Optimize>
+    <OutputPath>./bin/Release/</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <DefineConstants>NET_2_0=true</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <OutputType>Library</OutputType>
+    <AssemblyName>Microsoft.2005_VisualBasic_test</AssemblyName>
+    <DebugSymbols>True</DebugSymbols>
+    <AllowUnsafeBlocks>False</AllowUnsafeBlocks>
+    <CheckForOverflowUnderflow>True</CheckForOverflowUnderflow>
+    <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Edit|AnyCPU' ">
+    <OutputPath>bin\Edit\</OutputPath>
+    <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="nunit.framework, Version=2.2.0.0, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77">
+      <SpecificVersion>False</SpecificVersion>
+      <HintPath>bin\nunit.framework.dll</HintPath>
+    </Reference>
+    <Reference Include="System" />
+    <Reference Include="System.Data" />
+    <Reference Include="System.Windows.Forms" />
+    <Reference Include="System.Xml" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="Microsoft.VisualBasic.CompilerServices\BooleanTypeTest.cs" />
+    <Compile Include="Microsoft.VisualBasic.CompilerServices\DecimalTypeTest.cs" />
+    <Compile Include="Microsoft.VisualBasic.CompilerServices\DoubleTypeTest.cs" />
+    <Compile Include="Microsoft.VisualBasic.CompilerServices\IntegerTypeTest.cs" />
+    <Compile Include="Microsoft.VisualBasic.CompilerServices\LongTypeTest.cs" />
+    <Compile Include="Microsoft.VisualBasic.CompilerServices\ShortTypeTest.cs" />
+    <Compile Include="Microsoft.VisualBasic.CompilerServices\SingleTypeTest.cs" />
+    <Compile Include="Microsoft.VisualBasic.CompilerServices\StringTypeTest.cs" />
+    <Compile Include="Microsoft.VisualBasic.CompilerServices\UtilsTest.cs" />
+    <Compile Include="Microsoft.VisualBasic.FileIO\MalformedLineExceptionTest.cs" />
+    <Compile Include="Microsoft.VisualBasic.FileIO\SpecialDirectoriesTest.cs" />
+    <Compile Include="Microsoft.VisualBasic.FileIO\TextFieldParserTest.cs" />
+    <Compile Include="Microsoft.VisualBasic.Logging\FileLogTraceListener.cs" />
+    <Compile Include="Microsoft.VisualBasic.Logging\LogTest.cs" />
+    <Compile Include="Microsoft.VisualBasic.Logging\AspLogTest.cs" />
+    <Compile Include="Microsoft.VisualBasic.MyServices.Internal\ContextValueTest.cs" />
+    <Compile Include="Microsoft.VisualBasic.MyServices\ClipboardProxyTest.cs" />
+    <Compile Include="Microsoft.VisualBasic.MyServices\FileSystemProxyTest.cs" />
+    <Compile Include="Microsoft.VisualBasic.MyServices\RegistryProxyTest.cs" />
+    <Compile Include="Microsoft.VisualBasic.MyServices\SpecialDirectoriesProxyTest.cs" />
+    <Compile Include="Microsoft.VisualBasic\CollectionTests.cs" />
+    <Compile Include="Microsoft.VisualBasic\ConversionTests.cs" />
+    <Compile Include="Microsoft.VisualBasic\DateAndTimeTests.cs" />
+    <Compile Include="Microsoft.VisualBasic\ErrObjectTests.cs" />
+    <Compile Include="Microsoft.VisualBasic\FinancialTests.cs" />
+    <Compile Include="Microsoft.VisualBasic\InformationTests.cs" />
+    <Compile Include="Microsoft.VisualBasic\StringsTest.cs" />
+    <Compile Include="Microsoft.VisualBasic\VBMathTests.cs" />
+    <Compile Include="Microsoft.VisualBasic\Helper.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <Folder Include="Properties\" />
+  </ItemGroup>
+  <ItemGroup>
+    <BootstrapperPackage Include="Microsoft.Net.Client.3.5">
+      <Visible>False</Visible>
+      <ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName>
+      <Install>false</Install>
+    </BootstrapperPackage>
+    <BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
+      <Visible>False</Visible>
+      <ProductName>.NET Framework 3.5 SP1</ProductName>
+      <Install>true</Install>
+    </BootstrapperPackage>
+    <BootstrapperPackage Include="Microsoft.Windows.Installer.3.1">
+      <Visible>False</Visible>
+      <ProductName>Windows Installer 3.1</ProductName>
+      <Install>true</Install>
+    </BootstrapperPackage>
+  </ItemGroup>
+  <ItemGroup>
+    <WCFMetadata Include="Service References\" />
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="..\Microsoft.VisualBasic\2010VB.vbproj">
+      <Project>{3F2C04ED-C36A-4EF9-9479-0227E9CA7824}</Project>
+      <Name>2010VB</Name>
+    </ProjectReference>
+  </ItemGroup>
+  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
+       Other similar extension points exist, see Microsoft.Common.targets.
+  <Target Name="BeforeBuild">
+  </Target>
+  <Target Name="AfterBuild">
+  </Target>
+  -->
+  <PropertyGroup>
+    <PostBuildEvent>
+    </PostBuildEvent>
+    <ProjectGuid>{D1E99600-0061-4184-9778-85422E238DB9}</ProjectGuid>
+  </PropertyGroup>
+</Project>
\ No newline at end of file
diff --git a/vbruntime/Test/2008VB_test_CS.dll.rsp b/vbruntime/Test/2010VB_test_CS.dll.rsp
similarity index 100%
rename from vbruntime/Test/2008VB_test_CS.dll.rsp
rename to vbruntime/Test/2010VB_test_CS.dll.rsp
diff --git a/vbruntime/Test/2008VB_test_CS.dll.sources b/vbruntime/Test/2010VB_test_CS.dll.sources
similarity index 100%
rename from vbruntime/Test/2008VB_test_CS.dll.sources
rename to vbruntime/Test/2010VB_test_CS.dll.sources
diff --git a/vbruntime/Test/2008VB_test_CS.dll.sources.win b/vbruntime/Test/2010VB_test_CS.dll.sources.win
similarity index 100%
rename from vbruntime/Test/2008VB_test_CS.dll.sources.win
rename to vbruntime/Test/2010VB_test_CS.dll.sources.win
diff --git a/vbruntime/Test/2008VB_test_VB.dll.rsp b/vbruntime/Test/2010VB_test_VB.dll.rsp
similarity index 100%
rename from vbruntime/Test/2008VB_test_VB.dll.rsp
rename to vbruntime/Test/2010VB_test_VB.dll.rsp
diff --git a/vbruntime/Test/2008VB_test_VB.dll.sources b/vbruntime/Test/2010VB_test_VB.dll.sources
similarity index 100%
rename from vbruntime/Test/2008VB_test_VB.dll.sources
rename to vbruntime/Test/2010VB_test_VB.dll.sources
diff --git a/vbruntime/Test/2008VB_test_VB.dll.sources.win b/vbruntime/Test/2010VB_test_VB.dll.sources.win
similarity index 100%
rename from vbruntime/Test/2008VB_test_VB.dll.sources.win
rename to vbruntime/Test/2010VB_test_VB.dll.sources.win
diff --git a/vbruntime/Test/2010VB_test_VB.vbproj b/vbruntime/Test/2010VB_test_VB.vbproj
new file mode 100644
index 0000000..4ce4db6
--- /dev/null
+++ b/vbruntime/Test/2010VB_test_VB.vbproj
@@ -0,0 +1,144 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProjectGuid>{8F18790F-3A66-4267-98F0-B9980C1F8383}</ProjectGuid>
+    <OutputType>Library</OutputType>
+    <RootNamespace>MonoTests.Microsoft_VisualBasic</RootNamespace>
+    <AssemblyName>Microsoft.2005_VisualBasic_test_VB</AssemblyName>
+    <!--    <CompilerResponseFile>2005VB_test_VB.rsp</CompilerResponseFile>-->
+    <MyType>Windows</MyType>
+    <VBRuntime>bin/Debug/Microsoft.VisualBasic.dll</VBRuntime>
+    <UseHostCompilerIfAvailable>False</UseHostCompilerIfAvailable>
+    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <DefineDebug>true</DefineDebug>
+    <DefineTrace>true</DefineTrace>
+    <OutputPath>bin\Debug\</OutputPath>
+    <DocumentationFile>Microsoft.xml</DocumentationFile>
+    <NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022,42353,42354,42355</NoWarn>
+    <DefineConstants>NET_2_0=True,NET_VER=2.0,mono_not_yet=True</DefineConstants>
+    <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DebugType>pdbonly</DebugType>
+    <DefineDebug>false</DefineDebug>
+    <DefineTrace>true</DefineTrace>
+    <Optimize>true</Optimize>
+    <OutputPath>bin\Release\</OutputPath>
+    <DocumentationFile>Microsoft.xml</DocumentationFile>
+    <NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022,42353,42354,42355</NoWarn>
+    <DefineConstants>NET_2_0=True</DefineConstants>
+    <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Edit|AnyCPU' ">
+    <OutputPath>bin\Edit\</OutputPath>
+    <NoWarn>42353,42354,42355</NoWarn>
+    <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="nunit.framework, Version=2.2.0.0, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77">
+      <SpecificVersion>False</SpecificVersion>
+      <HintPath>bin\nunit.framework.dll</HintPath>
+    </Reference>
+    <Reference Include="System" />
+    <Reference Include="System.Data" />
+    <Reference Include="System.Drawing" />
+    <Reference Include="System.Windows.Forms" />
+    <Reference Include="System.Xml" />
+  </ItemGroup>
+  <ItemGroup>
+    <Import Include="Microsoft.VisualBasic" />
+    <Import Include="NUnit.Framework" />
+    <Import Include="System" />
+    <Import Include="System.Collections" />
+    <Import Include="System.Collections.Generic" />
+    <Import Include="System.Data" />
+    <Import Include="System.Diagnostics" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="Microsoft.VisualBasic.CompilerServices\BooleanTypeTest.vb" />
+    <Compile Include="Microsoft.VisualBasic.CompilerServices\ByteTypeTest.vb" />
+    <Compile Include="Microsoft.VisualBasic.CompilerServices\ConversionsTests.vb" />
+    <Compile Include="Microsoft.VisualBasic.CompilerServices\DateTypeTest.vb" />
+    <Compile Include="Microsoft.VisualBasic.CompilerServices\DecimalTypeTest.vb" />
+    <Compile Include="Microsoft.VisualBasic.CompilerServices\DoubleTypeTest.vb" />
+    <Compile Include="Microsoft.VisualBasic.CompilerServices\IntegerTypeTest.vb" />
+    <Compile Include="Microsoft.VisualBasic.CompilerServices\LateBindingTests.vb" />
+    <Compile Include="Microsoft.VisualBasic.CompilerServices\LateBindingTests2.vb" />
+    <Compile Include="Microsoft.VisualBasic.CompilerServices\LateBindingTests3.vb" />
+    <Compile Include="Microsoft.VisualBasic.CompilerServices\LateBindingTests4.vb" />
+    <Compile Include="Microsoft.VisualBasic.CompilerServices\LateBindingTests5.vb" />
+    <Compile Include="Microsoft.VisualBasic.CompilerServices\LateBindingTests6.vb" />
+    <Compile Include="Microsoft.VisualBasic.CompilerServices\LongTypeTest.vb" />
+    <Compile Include="Microsoft.VisualBasic.CompilerServices\OperatorsTests.vb" />
+    <Compile Include="Microsoft.VisualBasic.CompilerServices\ShortTypeTest.vb" />
+    <Compile Include="Microsoft.VisualBasic.CompilerServices\SingleTypeTest.vb" />
+    <Compile Include="Microsoft.VisualBasic.Devices\ComputerInfoTests.vb" />
+    <Compile Include="Microsoft.VisualBasic.Devices\ComputerTests.vb" />
+    <Compile Include="Microsoft.VisualBasic.Devices\ClockTests.vb" />
+    <Compile Include="Microsoft.VisualBasic.Devices\AudioTests.vb" />
+    <Compile Include="Microsoft.VisualBasic.Devices\KeyboardTests.vb" />
+    <Compile Include="Microsoft.VisualBasic.Devices\MouseTests.vb" />
+    <Compile Include="Microsoft.VisualBasic.Devices\NetworkTests.vb" />
+    <Compile Include="Microsoft.VisualBasic.Devices\NetworkAvailableEventArgsTests.vb" />
+    <Compile Include="Microsoft.VisualBasic.Devices\PortsTests.vb" />
+    <Compile Include="Microsoft.VisualBasic.Devices\ServerComputerTests.vb" />
+    <Compile Include="Microsoft.VisualBasic.FileIO\FileSystemTest.vb" />
+    <Compile Include="Microsoft.VisualBasic\ErrObjectTests.vb" />
+    <Compile Include="Microsoft.VisualBasic\ExceptionFilteringTests.vb" />
+    <Compile Include="Microsoft.VisualBasic\FileSystemTestGenerated.vb" />
+    <Compile Include="Microsoft.VisualBasic\FileSystemTests.vb" />
+    <Compile Include="Microsoft.VisualBasic\FileSystemTests2.vb" />
+    <Compile Include="Microsoft.VisualBasic\GlobalsTests.vb" />
+    <Compile Include="Microsoft.VisualBasic\Helper.vb">
+    </Compile>
+    <Compile Include="Microsoft.VisualBasic\InformationTests.vb" />
+    <Compile Include="Microsoft.VisualBasic\InteractionTests.vb" />
+    <Compile Include="Microsoft.VisualBasic\StringsTest.vb" />
+    <Compile Include="Microsoft.VisualBasic\VBFixedArrayAttributeTest.vb" />
+    <Compile Include="Microsoft.VisualBasic\VBFixedStringAttributeTest.vb" />
+  </ItemGroup>
+  <ItemGroup>
+    <BootstrapperPackage Include="Microsoft.Net.Client.3.5">
+      <Visible>False</Visible>
+      <ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName>
+      <Install>false</Install>
+    </BootstrapperPackage>
+    <BootstrapperPackage Include="Microsoft.Net.Framework.2.0">
+      <Visible>False</Visible>
+      <ProductName>.NET Framework 2.0 %28x86%29</ProductName>
+      <Install>true</Install>
+    </BootstrapperPackage>
+    <BootstrapperPackage Include="Microsoft.Net.Framework.3.0">
+      <Visible>False</Visible>
+      <ProductName>.NET Framework 3.0 %28x86%29</ProductName>
+      <Install>false</Install>
+    </BootstrapperPackage>
+    <BootstrapperPackage Include="Microsoft.Net.Framework.3.5">
+      <Visible>False</Visible>
+      <ProductName>.NET Framework 3.5</ProductName>
+      <Install>false</Install>
+    </BootstrapperPackage>
+    <BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
+      <Visible>False</Visible>
+      <ProductName>.NET Framework 3.5 SP1</ProductName>
+      <Install>false</Install>
+    </BootstrapperPackage>
+  </ItemGroup>
+  <ItemGroup>
+    <Folder Include="My Project\" />
+  </ItemGroup>
+  <Import Project="$(MSBuildBinPath)\Microsoft.VisualBasic.targets" />
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
+       Other similar extension points exist, see Microsoft.Common.targets.
+  <Target Name="BeforeBuild">
+  </Target>
+  <Target Name="AfterBuild">
+  </Target>
+  -->
+</Project>
\ No newline at end of file
diff --git a/vbruntime/Test/Makefile b/vbruntime/Test/Makefile
index e1e3d92..da15d2e 100644
--- a/vbruntime/Test/Makefile
+++ b/vbruntime/Test/Makefile
@@ -4,14 +4,14 @@ SUBDIRS =
 include ../../build/rules.make
 
 DISTFILES = \
-	2008VB_test_CS.csproj		\
-	2008VB_test_CS.dll.rsp		\
-	2008VB_test_CS.dll.sources	\
-	2008VB_test_CS.dll.sources.win	\
-	2008VB_test_VB.dll.rsp		\
-	2008VB_test_VB.dll.sources	\
-	2008VB_test_VB.dll.sources.win	\
-	2008VB_test_VB.vbproj		\
+	2010VB_test_CS.csproj		\
+	2010VB_test_CS.dll.rsp		\
+	2010VB_test_CS.dll.sources	\
+	2010VB_test_CS.dll.sources.win	\
+	2010VB_test_VB.dll.rsp		\
+	2010VB_test_VB.dll.sources	\
+	2010VB_test_VB.dll.sources.win	\
+	2010VB_test_VB.vbproj		\
 	ChangeLog
 
 DISTFILES += $(wildcard *.vb) $(wildcard *.cs) $(wildcard */*.vb) $(wildcard */*.cs)
@@ -52,38 +52,38 @@ init: bin/nunit-console.exe bin/nunit.framework.dll bin/nunit.core.dll bin/nunit
 	cp bin/nunit-console$(NUNIT_VERSION).exe.config bin/nunit-console.exe.config
 	$(WINTEST)
 
-2008VB_test_VB.dll.sources: 2008VB_test_VB.vbproj
-	MONO_PATH=$(MONO_VB_PATH) mono ../../tools/extract-source/extract-source.exe -s:2008VB_test_VB.vbproj -d:2008VB_test_VB.dll.sources -m:l
-	MONO_PATH=$(MONO_VB_PATH) mono ../../tools/extract-source/extract-source.exe -s:2008VB_test_VB.vbproj -d:2008VB_test_VB.dll.sources.win -m:w
+2010VB_test_VB.dll.sources: 2010VB_test_VB.vbproj
+	MONO_PATH=$(MONO_VB_PATH) mono ../../tools/extract-source/extract-source.exe -s:2010VB_test_VB.vbproj -d:2010VB_test_VB.dll.sources -m:l
+	MONO_PATH=$(MONO_VB_PATH) mono ../../tools/extract-source/extract-source.exe -s:2010VB_test_VB.vbproj -d:2010VB_test_VB.dll.sources.win -m:w
 	
-2008VB_test_CS.dll.sources: 2008VB_test_CS.csproj
-	MONO_PATH=$(MONO_VB_PATH) mono ../../tools/extract-source/extract-source.exe -s:2008VB_test_CS.csproj -d:2008VB_test_CS.dll.sources -m:l
-	MONO_PATH=$(MONO_VB_PATH) mono ../../tools/extract-source/extract-source.exe -s:2008VB_test_CS.csproj -d:2008VB_test_CS.dll.sources.win -m:w
+2010VB_test_CS.dll.sources: 2010VB_test_CS.csproj
+	MONO_PATH=$(MONO_VB_PATH) mono ../../tools/extract-source/extract-source.exe -s:2010VB_test_CS.csproj -d:2010VB_test_CS.dll.sources -m:l
+	MONO_PATH=$(MONO_VB_PATH) mono ../../tools/extract-source/extract-source.exe -s:2010VB_test_CS.csproj -d:2010VB_test_CS.dll.sources.win -m:w
 
 test-first:
 	cd ../Microsoft.VisualBasic && make && cp ../../class/lib/$(PROFILE)/Microsoft.VisualBasic.dll* ../Test/bin
 
-test-cs: test-first 2008VB_test_CS.dll.sources
-	$(CSCOMPILER) "-out:bin/2008VB_test_CS.dll" @2008VB_test_CS.dll.rsp @2008VB_test_CS.dll.sources -lib:bin $(CSDEFINES)
+test-cs: test-first 2010VB_test_CS.dll.sources
+	$(CSCOMPILER) "-out:bin/2010VB_test_CS.dll" @2010VB_test_CS.dll.rsp @2010VB_test_CS.dll.sources -lib:bin $(CSDEFINES)
 	
-test-vb: test-first 2008VB_test_VB.dll.sources
-	$(VBNC) -out:bin/2008VB_test_VB.dll @2008VB_test_VB.dll.rsp /d:NET_VER=2.0 @2008VB_test_VB.dll.sources /libpath:bin
+test-vb: test-first 2010VB_test_VB.dll.sources
+	$(VBNC) -out:bin/2010VB_test_VB.dll @2010VB_test_VB.dll.rsp /d:NET_VER=2.0 @2010VB_test_VB.dll.sources /libpath:bin
 
 test-local: init run-test-cs run-test-vb
 
 clean-local:
-	-rm -f bin/2008VB_test_VB.*
-	-rm -f bin/2008VB_test_CS.*
+	-rm -f bin/2010VB_test_VB.*
+	-rm -f bin/2010VB_test_CS.*
 	-rm -fR bin/data
 	-rm -f bin/nunit-console.exe bin/nunit.framework.dll bin/nunit.core.dll bin/nunit.util.dll bin/Microsoft.VisualBasic.dll*
 	-rm -fR bin/%temp%
 	-rm -f bin/TestResult.xml
 	
 run-test-cs: test-cs
-	-cd bin && mono --debug nunit-console.exe 2008VB_test_CS.dll /exclude:NotWorking /labels
+	-cd bin && mono --debug nunit-console.exe 2010VB_test_CS.dll /exclude:NotWorking /labels
 
 run-test-vb: test-vb
-	-cd bin && mono --debug nunit-console.exe 2008VB_test_VB.dll /exclude:NotWorking /labels
+	-cd bin && mono --debug nunit-console.exe 2010VB_test_VB.dll /exclude:NotWorking /labels
 
 run-test-local: run-test-cs run-test-vb
 	
diff --git a/vbruntime/Test/Microsoft.VisualBasic.CompilerServices/BooleanTypeTest.cs b/vbruntime/Test/Microsoft.VisualBasic.CompilerServices/BooleanTypeTest.cs
index 0f99eba..866d7dd 100644
--- a/vbruntime/Test/Microsoft.VisualBasic.CompilerServices/BooleanTypeTest.cs
+++ b/vbruntime/Test/Microsoft.VisualBasic.CompilerServices/BooleanTypeTest.cs
@@ -34,9 +34,9 @@ using Microsoft.VisualBasic;
 namespace MonoTests.Microsoft_VisualBasic.CompilerServices
 {
 	[TestFixture]
-	public class BooleanTypeTest 
+	public class BooleanTypeTestCS
 	{
-		public BooleanTypeTest()
+		public BooleanTypeTestCS()
 		{
 		}
 
diff --git a/vbruntime/Test/Microsoft.VisualBasic.CompilerServices/DecimalTypeTest.cs b/vbruntime/Test/Microsoft.VisualBasic.CompilerServices/DecimalTypeTest.cs
index 5fabf0a..d0f88f1 100644
--- a/vbruntime/Test/Microsoft.VisualBasic.CompilerServices/DecimalTypeTest.cs
+++ b/vbruntime/Test/Microsoft.VisualBasic.CompilerServices/DecimalTypeTest.cs
@@ -34,9 +34,9 @@ using Microsoft.VisualBasic;
 namespace MonoTests.Microsoft_VisualBasic.CompilerServices
 {
 	[TestFixture]
-	public class DecimalTypeTest 
+	public class DecimalTypeTestCS
 	{
-		public DecimalTypeTest()
+		public DecimalTypeTestCS()
 		{
 		}
 
diff --git a/vbruntime/Test/Microsoft.VisualBasic.CompilerServices/DoubleTypeTest.cs b/vbruntime/Test/Microsoft.VisualBasic.CompilerServices/DoubleTypeTest.cs
index d7dc11c..b73cc06 100644
--- a/vbruntime/Test/Microsoft.VisualBasic.CompilerServices/DoubleTypeTest.cs
+++ b/vbruntime/Test/Microsoft.VisualBasic.CompilerServices/DoubleTypeTest.cs
@@ -34,9 +34,9 @@ using Microsoft.VisualBasic;
 namespace MonoTests.Microsoft_VisualBasic.CompilerServices
 {
 	[TestFixture]
-	public class DoubleTypeTest 
+	public class DoubleTypeTestCS
 	{
-		public DoubleTypeTest()
+		public DoubleTypeTestCS()
 		{
 		}
 
diff --git a/vbruntime/Test/Microsoft.VisualBasic.CompilerServices/IntegerTypeTest.cs b/vbruntime/Test/Microsoft.VisualBasic.CompilerServices/IntegerTypeTest.cs
index 64a3a74..000f202 100644
--- a/vbruntime/Test/Microsoft.VisualBasic.CompilerServices/IntegerTypeTest.cs
+++ b/vbruntime/Test/Microsoft.VisualBasic.CompilerServices/IntegerTypeTest.cs
@@ -34,9 +34,9 @@ using Microsoft.VisualBasic;
 namespace MonoTests.Microsoft_VisualBasic.CompilerServices
 {
 	[TestFixture]
-	public class IntegerTypeTest 
+	public class IntegerTypeTestCS
 	{
-		public IntegerTypeTest()
+		public IntegerTypeTestCS()
 		{
 		}
 
diff --git a/vbruntime/Test/Microsoft.VisualBasic.CompilerServices/LongTypeTest.cs b/vbruntime/Test/Microsoft.VisualBasic.CompilerServices/LongTypeTest.cs
index 678b1b9..617cff0 100644
--- a/vbruntime/Test/Microsoft.VisualBasic.CompilerServices/LongTypeTest.cs
+++ b/vbruntime/Test/Microsoft.VisualBasic.CompilerServices/LongTypeTest.cs
@@ -33,9 +33,9 @@ using Microsoft.VisualBasic;
 namespace MonoTests.Microsoft_VisualBasic.CompilerServices
 {
 	[TestFixture]
-	public class LongTypeTest 
+	public class LongTypeTestCS
 	{
-		public LongTypeTest()
+		public LongTypeTestCS()
 		{
 		}
 
diff --git a/vbruntime/Test/Microsoft.VisualBasic.CompilerServices/OperatorsTests.vb b/vbruntime/Test/Microsoft.VisualBasic.CompilerServices/OperatorsTests.vb
index 52e43a8..77c3363 100755
--- a/vbruntime/Test/Microsoft.VisualBasic.CompilerServices/OperatorsTests.vb
+++ b/vbruntime/Test/Microsoft.VisualBasic.CompilerServices/OperatorsTests.vb
@@ -2990,6 +2990,26 @@ Public Class OperatorsTests
     End Sub
 
     <Test()> _
+    Sub TestOperatorsLikeString()
+        Assert.IsTrue(LikeOperator.LikeString("-1d", "-#*", CompareMethod.Binary), "1")
+        Assert.IsTrue(LikeOperator.LikeString("1", "#", CompareMethod.Binary), "2")
+        Assert.IsFalse(LikeOperator.LikeString("12", "#", CompareMethod.Binary), "3")
+        Assert.IsFalse(LikeOperator.LikeString("aa", "?", CompareMethod.Binary), "4")
+        Assert.IsTrue(LikeOperator.LikeString("F", "F", CompareMethod.Binary), "5")
+        Assert.IsTrue(LikeOperator.LikeString("F", "F", CompareMethod.Text), "6")
+        Assert.IsFalse(LikeOperator.LikeString("F", "f", CompareMethod.Binary), "7")
+        Assert.IsTrue(LikeOperator.LikeString("F", "f", CompareMethod.Text), "8")
+        Assert.IsFalse(LikeOperator.LikeString("F", "FFF", CompareMethod.Binary), "9")
+        Assert.IsTrue(LikeOperator.LikeString("aBBBa", "a*a", CompareMethod.Binary), "10")
+        Assert.IsTrue(LikeOperator.LikeString("F", "[A-Z]", CompareMethod.Binary), "11")
+        Assert.IsFalse(LikeOperator.LikeString("F", "[!A-Z]", CompareMethod.Binary), "12")
+        Assert.IsTrue(LikeOperator.LikeString("a2a", "a#a", CompareMethod.Binary), "13")
+        Assert.IsTrue(LikeOperator.LikeString("aM5b", "a[L-P]#[!c-e]", CompareMethod.Binary), "14")
+        Assert.IsTrue(LikeOperator.LikeString("BAT123khg", "B?T*", CompareMethod.Binary), "15")
+        Assert.IsFalse(LikeOperator.LikeString("CAT123khg", "B?T*", CompareMethod.Binary), "16")
+    End Sub
+
+    <Test()> _
     Sub TestOperatorsCompare()
         Dim _false As Object = False
         Dim _true As Object = True
diff --git a/vbruntime/Test/Microsoft.VisualBasic.CompilerServices/ShortTypeTest.cs b/vbruntime/Test/Microsoft.VisualBasic.CompilerServices/ShortTypeTest.cs
index db94201..f99e187 100644
--- a/vbruntime/Test/Microsoft.VisualBasic.CompilerServices/ShortTypeTest.cs
+++ b/vbruntime/Test/Microsoft.VisualBasic.CompilerServices/ShortTypeTest.cs
@@ -34,9 +34,9 @@ using Microsoft.VisualBasic;
 namespace MonoTests.Microsoft_VisualBasic.CompilerServices
 {
 	[TestFixture]
-	public class ShortTypeTest 
+	public class ShortTypeTestCS
 	{
-		public ShortTypeTest()
+		public ShortTypeTestCS()
 		{
 		}
 
diff --git a/vbruntime/Test/Microsoft.VisualBasic.CompilerServices/SingleTypeTest.cs b/vbruntime/Test/Microsoft.VisualBasic.CompilerServices/SingleTypeTest.cs
index c496a1a..167f2be 100644
--- a/vbruntime/Test/Microsoft.VisualBasic.CompilerServices/SingleTypeTest.cs
+++ b/vbruntime/Test/Microsoft.VisualBasic.CompilerServices/SingleTypeTest.cs
@@ -34,9 +34,9 @@ using Microsoft.VisualBasic;
 namespace MonoTests.Microsoft_VisualBasic.CompilerServices
 {
 	[TestFixture]
-	public class SingleTypeTest 
+	public class SingleTypeTestCS
 	{
-		public SingleTypeTest()
+		public SingleTypeTestCS()
 		{
 		}
 
diff --git a/vbruntime/Test/Microsoft.VisualBasic.CompilerServices/StringTypeTest.cs b/vbruntime/Test/Microsoft.VisualBasic.CompilerServices/StringTypeTest.cs
index 228529f..77a084f 100644
--- a/vbruntime/Test/Microsoft.VisualBasic.CompilerServices/StringTypeTest.cs
+++ b/vbruntime/Test/Microsoft.VisualBasic.CompilerServices/StringTypeTest.cs
@@ -34,9 +34,9 @@ using Microsoft.VisualBasic;
 namespace MonoTests.Microsoft_VisualBasic.CompilerServices
 {
 	[TestFixture]
-	public class StringTypeTest 
+	public class StringTypeTestCS
 	{
-		public StringTypeTest()
+		public StringTypeTestCS()
 		{
 		}
 
diff --git a/vbruntime/Test/Microsoft.VisualBasic.CompilerServices/UtilsTest.cs b/vbruntime/Test/Microsoft.VisualBasic.CompilerServices/UtilsTest.cs
index f0b707c..cfc57cc 100644
--- a/vbruntime/Test/Microsoft.VisualBasic.CompilerServices/UtilsTest.cs
+++ b/vbruntime/Test/Microsoft.VisualBasic.CompilerServices/UtilsTest.cs
@@ -35,9 +35,9 @@ using Microsoft.VisualBasic.CompilerServices;
 namespace MonoTests.Microsoft_VisualBasic.CompilerServices
 {
 	[TestFixture]
-	public class UtilsTests 
+	public class UtilsTestsCS
 	{
-		public UtilsTests()
+		public UtilsTestsCS()
 		{
 		}
 
diff --git a/vbruntime/Test/Tester.vb b/vbruntime/Test/Tester.vb
index 9475a95..fe419b7 100644
--- a/vbruntime/Test/Tester.vb
+++ b/vbruntime/Test/Tester.vb
@@ -18,6 +18,7 @@ Module Tester
         objects.Add(New MonoTests.Microsoft_VisualBasic.CompilerServices.DoubleTypeTest)
         objects.Add(New MonoTests.Microsoft_VisualBasic.CompilerServices.DateTypeTest)
         objects.Add(New MonoTests.Microsoft_VisualBasic.CompilerServices.DecimalTypeTest)
+        objects.Add(New MonoTests.Microsoft_VisualBasic.OperatorsTests)
         objects.Add(New MonoTests.Microsoft_VisualBasic.FileSystemTests2)
 
         Dim ms As New Microsoft.VisualBasic.CompilerServices.OptionCompareAttribute

-- 
mono-basic



More information about the Pkg-mono-svn-commits mailing list