Esempio n. 1
0
        public static void DumpTo(this CSharpVisibility visibility, CodeWriter writer)
        {
            switch (visibility)
            {
            case CSharpVisibility.None:
                break;

            case CSharpVisibility.Public:
                writer.Write("public ");
                break;

            case CSharpVisibility.Private:
                writer.Write("private ");
                break;

            case CSharpVisibility.Protected:
                writer.Write("protected ");
                break;

            case CSharpVisibility.Internal:
                writer.Write("internal ");
                break;

            case CSharpVisibility.ProtectedInternal:
                writer.Write("protected internal ");
                break;

            default:
                throw new ArgumentOutOfRangeException(nameof(visibility), visibility, null);
            }
        }
 public CMethod(string name, CType type, CSharpVisibility visibility, bool isStatic = false, bool isOverride = false)
 {
     this.Name       = name;
     this.Type       = type;
     this.Visibility = visibility;
     this.IsStatic   = isStatic;
     this.IsOverride = isOverride;
 }
 public CField(string name, CType type, CSharpVisibility visibility = CSharpVisibility.cvPublic, bool isStatic = false, string InitialValue = "")
 {
     this.Name             = name;
     this.Type             = type;
     this.CSharpVisibility = visibility;
     this.IsStatic         = isStatic;
     this.InitialValue     = InitialValue;
 }
 public CProperty(string name, CSharpVisibility visibility, CType type, bool hasGet, CSharpVisibility getVisibility = CSharpVisibility.cvPublic, bool hasSet = false, CSharpVisibility setVisibility = CSharpVisibility.cvProtected)
 {
     this.Visibility    = visibility;
     this.Name          = name;
     this.Type          = type;
     this.HasGet        = hasGet;
     this.GetVisibility = getVisibility;
     this.HasSet        = hasSet;
     this.SetVisibility = setVisibility;
 }
        internal void AddClassAssociation(CSharpClass c, CSharpVisibility visibility)
        {
            var ca = classAssociations.FirstOrDefault(a => a.Class == c);

            if (ca == null)
            {
                classAssociations.Add(new ClassAssociation
                {
                    Class      = c,
                    Visibility = visibility
                });
            }
            else if (ca.Visibility < visibility)
            {
                ca.Visibility = visibility;
            }
        }
        internal void AddInterfaceAssociation(CSharpInterface i, CSharpVisibility visibility)
        {
            var ia = interfaceAssociations.FirstOrDefault(a => a.Interface == i);

            if (ia == null)
            {
                interfaceAssociations.Add(new InterfaceAssociation
                {
                    Interface  = i,
                    Visibility = visibility
                });
            }
            else if (ia.Visibility < visibility)
            {
                ia.Visibility = visibility;
            }
        }
        public void SetAssociation(string className, string associatesTo, CSharpVisibility visibility)
        {
            var thisClass           = classes.FirstOrDefault(c => c.Name == className);
            var associatedClass     = classes.FirstOrDefault(c => c.Name == associatesTo);
            var associatedInterface = interfaces.FirstOrDefault(i => i.Name == associatesTo);

            if (thisClass != null)
            {
                if (associatedClass != null)
                {
                    thisClass.AddClassAssociation(associatedClass, visibility);
                }
                else if (associatedInterface != null)
                {
                    thisClass.AddInterfaceAssociation(associatedInterface, visibility);
                }
            }
        }
        internal static void WriteVisibility(CSourceWriter sw, CSharpVisibility cSharpVisibility)
        {
            switch (cSharpVisibility)
            {
            case CSharpVisibility.cvPublic:
                sw.Write("public");
                break;

            case CSharpVisibility.cvPrivate:
                sw.Write("private");
                break;

            case CSharpVisibility.cvProtected:
                sw.Write("protected");
                break;

            case CSharpVisibility.cvInternal:
                sw.Write("internal");
                break;
            }
        }
Esempio n. 9
0
        public static CppElementMappingRule Visibility(this CppElementMappingRule mappingRule, CSharpVisibility visibility)
        {
            mappingRule.CSharpElementActions.Add((converter, csElement, match) =>
            {
                if (!(csElement is ICSharpElementWithVisibility csElementWithVisibility))
                {
                    return;
                }

                csElementWithVisibility.Visibility = visibility;
            });
            return(mappingRule);
        }
 //*** Esto te ha quedado raro. El constructor de CConstructor guarda una referencia a la clase pero el método (CMethod) no. Es incongruente.
 public CConstructor(CClass Class, CSharpVisibility visibility)
 {
     this.Class      = Class;
     this.Visibility = visibility;
 }