예제 #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);
             }
         }
     }
 }
예제 #2
0
 public virtual void TranslateMemberParentTypeMembers(IMemberParentType parent)
 {
     TranslateMembers(parent, parent.Fields);
     TranslateMembers(parent, parent.Properties);
     TranslateMembers(parent, parent.Methods);
     TranslateMembers(parent, parent.Constructors);
     TranslateMembers(parent, parent.Coercions);
 }
예제 #3
0
        public override void TranslateMembers(IMemberParentType parent, IConstructorMembers ctorMembers)
        {
            string regionText = "";
            bool   bRegion    = false;

            if (bRegion = (options.AutoRegionsFor(AutoRegionAreas.Constructors) && (ctorMembers.GetCountForTarget(parent) > 0)))
            {
                regionText = String.Format(_OIL._Core.MaintenanceResources.AutoRegions_BasePattern, parent.Name, " .ctors");
                this.TranslateConceptRegionStart(regionText);
            }
            base.TranslateMembers(parent, ctorMembers);
            if (bRegion)
            {
                this.TranslateConceptRegionEnd(regionText);
            }
        }
예제 #4
0
 public virtual void TranslateMembers(IMemberParentType parent, IConstructorMembers ctorMembers)
 {
     this.TranslateMembers <IConstructorMember, IMemberParentType, CodeConstructor>(parent, ctorMembers);
 }
예제 #5
0
 public abstract void TranslateMembers(IMemberParentType parent, IExpressionCoercionMembers coercionMembers);
예제 #6
0
 public virtual void TranslateMembers(IMemberParentType parent, IMethodMembers methodMembers)
 {
     this.TranslateMembers <IMethodParameterMember, IMethodTypeParameterMember, CodeMemberMethod, IMemberParentType>(parent, methodMembers);
 }
예제 #7
0
 public virtual void TranslateMembers(IMemberParentType parent, IPropertyMembers propertyMembers)
 {
     this.TranslateMembers <IPropertyMember, IMemberParentType>(parent, propertyMembers);
 }
예제 #8
0
 public IndexerMember(string name, ITypeReference indexerType, IMemberParentType parentTarget)
     : base(new TypedName(name, indexerType), parentTarget)
 {
 }
예제 #9
0
 public IndexerMember(ITypeReference indexerType, IMemberParentType parentTarget)
     : base(new TypedName(Resources.IndexerName, indexerType), parentTarget)
 {
 }