[Mono-bugs] [Bug 47817][Nor] Changed - RealProxy implementing IRemotingTypeInfo.CanCastTo is ignored for casts

bugzilla-daemon@bugzilla.ximian.com bugzilla-daemon@bugzilla.ximian.com
Wed, 19 Nov 2003 11:09:11 -0500 (EST)


Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.

Changed by lluis@ximian.com.

http://bugzilla.ximian.com/show_bug.cgi?id=47817

--- shadow/47817	2003-11-19 11:08:42.000000000 -0500
+++ shadow/47817.tmp.3177	2003-11-19 11:09:11.000000000 -0500
@@ -89,6 +89,26 @@
 and executes under the MS CLR.)
 
 ------- Additional Comments From lluis@ximian.com  2003-11-19 11:08 -------
 Created an attachment (id=5967)
 Porposed patch
 
+
+------- Additional Comments From lluis@ximian.com  2003-11-19 11:09 -------
+This patch that adds support for IRemotingTypeInfo to the runtime. The
+patch does the following:
+
+* Add a flag in MonoTransparentProxy that is set when the real
+proxythat it represents implements the interface (named custom_type_info).
+
+* In mini.c, in mono_method_to_ir, CEE_ISINST and CEE_CASTCLASS
+cases,if the type being casted is marshalbyref it could be a proxy, so
+insteadof emitting the type check code, emit a call to a runtime
+method thatwill perform the check by calling CanCastTo if needed.
+
+* In object.c, implemented mono_object_isinst_mbyref
+andmono_object_castclass_mbyref, to support the jit.
+
+* In inssel.brg, removed the code that checks for transparent proxy.
+Notneeded since it is now handled in mini.c
+
+Comments are wellcome!