Beispiel #1
0
 public override void TranslateMembers(IMemberParentType parent, IExpressionCoercionMembers coercionMembers)
 {
     foreach (IExpressionCoercionMember iecm in coercionMembers.Values)
     {
         if ((((IDeclarationTarget)(iecm.ParentTarget)) == ((IDeclarationTarget)(parent))) || ((!(options.AllowPartials)) && (parent is ISegmentableDeclarationTarget) && (iecm.ParentTarget is ISegmentableDeclarationTarget) && ((ISegmentableDeclarationTarget)(iecm.ParentTarget)).GetRootDeclaration() == ((ISegmentableDeclarationTarget)(parent)).GetRootDeclaration()))
         {
             if (iecm is IBinaryOperatorOverloadMember)
             {
                 this.TranslateMember <OverloadableBinaryOperators>((IBinaryOperatorOverloadMember)iecm);
             }
             else if (iecm is IUnaryOperatorOverloadMember)
             {
                 this.TranslateMember <OverloadableUnaryOperators>((IUnaryOperatorOverloadMember)iecm);
             }
             else if (iecm is ITypeConversionOverloadMember)
             {
                 this.TranslateMember((ITypeConversionOverloadMember)iecm);
             }
             else
             {
                 TranslateConceptComment(string.Format("The coercion member ({0}) is not recognized...", iecm.GetUniqueIdentifier()), false);
             }
         }
     }
 }
Beispiel #2
0
 public abstract void TranslateMembers(IMemberParentType parent, IExpressionCoercionMembers coercionMembers);