[Mono-list] VBNC in Mono.

Rafael Mizrahi rafim at mainsoft.com
Wed Sep 13 01:56:07 EDT 2006

Hi Kornél,

Help me understand, do you suggest that we will stop using CFoo functions inside CompilerServices ? 
I see that 
CStr CBool CLng CDbl changed into DirectCast
Convert.ToString changed into DirectCast
Value.ToString changed into DirectCast

If so, go ahead and commit, I have no problems with that rule.
But what is the reason for changing some of the .ToString into DirectCast ? 


-----Original Message-----
From: Kornél Pál [mailto:kornelpal at gmail.com] 
Sent: Wednesday, September 13, 2006 1:23
To: Miguel de Icaza
Cc: mono-list at lists.ximian.com; Rafael Mizrahi; Rolf Bjarne Kvinge
Subject: Re: [Mono-list] VBNC in Mono.


Use "VB.replace.bat 2" then try to bootstrap vbnc on MS.NET.

For an example have a look at the attached vbrun.diff.

The bug I found when trying to compile vbnc was:
                Case TypeCode.Decimal
                    Return CDec(Value)

This results in a recursiong with Conversions.ToDecimal because CDec (and 
all the other CType conversions are done at runtime unless the type is known 
to the compiler as well. And anyway there is no use to do reinterpretation 
when the exact type is know. A simple unbox is enough.

But there are other bugs (and I guess a lot of them) in VB runtime for sure.

And I found a bug in vbnc as well that was possible because of a bug in 


----- Original Message ----- 
From: "Miguel de Icaza" <miguel at novell.com>
To: "Kornél Pál" <kornelpal at gmail.com>
Cc: <mono-list at lists.ximian.com>
Sent: Wednesday, September 13, 2006 12:04 AM
Subject: Re: [Mono-list] VBNC in Mono.

> Hey!
>> But it's unable to bootstrap itself on MS.NET using our VB runtime so the 
>> VB
>> runtime should be fixed as well before trying to fix vbnc on Mono.
> Do you have some details for me?
> This is a good observation, before we launch ourselves into a quest to
> fix bugs on the Mono side (although we already fixed a known problem) 

More information about the Mono-list mailing list