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
-~----------~----~----~----~------~----~------~--~---