User: xtoff
Date: 2009/10/26 12:38 PM

Modified:
 /DynamicProxy/trunk/src/Castle.DynamicProxy/
  DefaultProxyBuilder.cs
 /DynamicProxy/trunk/src/Castle.DynamicProxy/Contributors/
  ClassMembersCollector.cs
 /DynamicProxy/trunk/src/Castle.DynamicProxy/Generators/
  BaseProxyGenerator.cs

Log:
 - Minor fixed for Silverlight

File Changes:

Directory: /DynamicProxy/trunk/src/Castle.DynamicProxy/
=======================================================

File [modified]: DefaultProxyBuilder.cs
Delta lines: +13 -2
===================================================================

--- DynamicProxy/trunk/src/Castle.DynamicProxy/Generators/BaseProxyGenerator.cs 
2009-10-26 18:15:42 UTC (rev 6265)
+++ DynamicProxy/trunk/src/Castle.DynamicProxy/Generators/BaseProxyGenerator.cs 
2009-10-26 19:38:08 UTC (rev 6266)
@@ -242,12 +242,23 @@
 
                        foreach (ConstructorInfo constructor in constructors)
                        {
-                               if (constructor.IsPublic || 
constructor.IsFamily || constructor.IsFamilyOrAssembly
-                                       || (constructor.IsAssembly && 
InternalsHelper.IsInternalToDynamicProxy(constructor.DeclaringType.Assembly)))
+                               if (IsConstructorVisible(constructor))
                                        GenerateConstructor(emitter, 
constructor, fields);
                        }
                }
 
+               private bool IsConstructorVisible(ConstructorInfo constructor)
+               {
+                       return constructor.IsPublic
+                              || constructor.IsFamily
+                              || constructor.IsFamilyOrAssembly
+#if !Silverlight
+                              || (constructor.IsAssembly && 
InternalsHelper.IsInternalToDynamicProxy(constructor.DeclaringType.Assembly));
+#else
+            ;
+#endif
+               }
+
                protected ConstructorEmitter 
GenerateStaticConstructor(ClassEmitter emitter)
                {

Directory: /DynamicProxy/trunk/src/Castle.DynamicProxy/Contributors/
====================================================================

File [modified]: ClassMembersCollector.cs
Delta lines: +6 -4
===================================================================

--- DynamicProxy/trunk/src/Castle.DynamicProxy/DefaultProxyBuilder.cs   
2009-10-26 18:15:42 UTC (rev 6265)
+++ DynamicProxy/trunk/src/Castle.DynamicProxy/DefaultProxyBuilder.cs   
2009-10-26 19:38:08 UTC (rev 6266)
@@ -106,17 +106,19 @@
                private void AssertValidType(Type target)
                {
 #if SILVERLIGHT
-                       bool isTargetNested = target.IsNested();
+                       var isTargetNested = target.IsNested();
+                       var isAccessible = target.IsPublic || 
target.IsNestedPublic;
 #else
                        bool isTargetNested = target.IsNested;
-#endif
-
                        bool isNestedAndInternal = isTargetNested && 
(target.IsNestedAssembly || target.IsNestedFamORAssem);
                        bool isInternalNotNested = target.IsVisible == false && 
isTargetNested == false;
 
                        bool internalAndVisibleToDynProxy = 
(isInternalNotNested || isNestedAndInternal) &&
                                                                                
                InternalsHelper.IsInternalToDynamicProxy(target.Assembly);
-                       if (!target.IsPublic && !target.IsNestedPublic && 
!internalAndVisibleToDynProxy)
+                       var isAccessible = target.IsPublic || 
target.IsNestedPublic || internalAndVisibleToDynProxy;
+#endif
+
+                       if (!isAccessible)
                        {
                                throw new GeneratorException("Type " + 
target.FullName + "is not public. " +

Directory: /DynamicProxy/trunk/src/Castle.DynamicProxy/Generators/
==================================================================

File [modified]: BaseProxyGenerator.cs
Delta lines: +0 -0
===================================================================


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Castle Project Commits" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/castle-project-commits?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to