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); } } } }
public abstract void TranslateMembers(IMemberParentType parent, IExpressionCoercionMembers coercionMembers);