Hi,
In the article from 2010, Tomáš was describing the limitations on WP7:
“The most significant are calls to methods with out or ref parameters.
You also won’t be able to inherit a Ruby class from a CLR class or
implement a CLR interface since that requires us to emit a proper CLR
type. We are going to address both of these limitations in future
versions.”
Are these two addressed in the latest version of IronRuby for WP7?
Thanks!
This still is not supported in IronRuby, as the version of the CLR on
the Windows Phone (at least last i checked) was really the compact
framework, which does not support any types usually found in the full
.NET Framework’s System.Reflection.Emit namespace. Therefore, IronRuby
cannot emit the correct backing class. The ref params is also a CF
limitation.
We were thinking of doing some static analysis to generate C# code
which when compiled would produce the required static types, and then
know to use those as backing types, but any static analysis solution
would not always work in a dynamic language.
I haven’t used WP7 devtools in a while, so I’d be curious if the
Ref.Emit limitation still exists in Mango, but I suspect it is still
an issue.
~Jimmy
Hi James!
System.Reflection.Emit is available in Mango, partially
DynamicMethod, ILGenerator and OpCodes looks like they are fully
supported.
What do you think?
Jurassic for example has made his way on WP7.
I changed Silverlight 3 configuration to build against Mango reference
assemblies a couple of days ago. I’ll rename Silverlight3 configuration
to WP75 soon
Haven’t tested if it works (at runtime) but it at least builds
IronRuby now also builds against Silverlight 5 and MonoAndroid. Nothing
is tested though, help with testing on all these platforms is very
welcome. Support for Windows 8 might also be available soon - perhaps
with the next public preview release of Windows 8.
Tomas