Exemplo n.º 1
0
 /// <summary>
 /// Gets the code for a property.
 /// </summary>
 /// <param name="propertyName">Name of the property.</param>
 /// <param name="externalType">The external (exposed) type.</param>
 /// <param name="internalType">The internal (underlying) type.</param>
 /// <param name="getterVisibility">The getter visibility.</param>
 /// <param name="setterVisibility">The setter visibility.</param>
 /// <param name="member">The member.</param>
 /// <param name="isVirtual">If this property is virtual.</param>
 /// <param name="isStatic">If this property is static.</param>
 /// <returns>The code.</returns>
 public string GetProperty(string propertyName, Type externalType, Type internalType,
                           MemberVisibilityLevel getterVisibility, MemberVisibilityLevel?setterVisibility, string member,
                           bool isVirtual, bool isStatic)
 {
     return(GetProperty(propertyName, GetTypeString(externalType), GetTypeString(internalType), getterVisibility,
                        setterVisibility, member, isVirtual, isStatic));
 }
Exemplo n.º 2
0
        /// <summary>
        /// Gets the name and visibility to use for a method.
        /// </summary>
        /// <param name="methodName">Name of the method.</param>
        /// <param name="visibility">The visibility.</param>
        /// <param name="returnType">Type of the return.</param>
        /// <param name="isVirtual">If this method will be virtual.</param>
        /// <param name="isStatic">If this method will be static.</param>
        /// <returns>The code.</returns>
        /// <exception cref="ArgumentException">A method cannot be both virtual and static.</exception>
        public virtual string GetMethodNameAndVisibility(string methodName, MemberVisibilityLevel visibility, string returnType,
                                                         bool isVirtual, bool isStatic)
        {
            if (isVirtual && isStatic)
            {
                throw new ArgumentException("A method cannot be both virtual and static.");
            }

            var sb = new StringBuilder();

            sb.Append(GetVisibilityLevel(visibility));
            sb.Append(" ");
            if (isVirtual)
            {
                sb.Append(VirtualString);
                sb.Append(" ");
            }
            else if (isStatic)
            {
                sb.Append(StaticString);
                sb.Append(" ");
            }
            if (!string.IsNullOrEmpty(returnType))
            {
                sb.Append(returnType);
                sb.Append(" ");
            }
            sb.Append(methodName);

            return(sb.ToString());
        }
Exemplo n.º 3
0
        /// <summary>
        /// Gets the code for a class.
        /// </summary>
        /// <param name="className">Name of the class.</param>
        /// <param name="visibility">The visibility.</param>
        /// <param name="isStatic">Whether or not it is a static class.</param>
        /// <param name="interfaces">The interfaces.</param>
        /// <returns>The code.</returns>
        public override string GetClass(string className, MemberVisibilityLevel visibility, bool isStatic, IEnumerable <string> interfaces)
        {
            var sb = new StringBuilder();

            sb.Append(GetVisibilityLevel(visibility));
            if (isStatic)
            {
                sb.Append(" static ");
            }
            sb.Append(" class ");
            sb.Append(className);

            if (interfaces != null && !interfaces.IsEmpty())
            {
                sb.Append(" : ");
                foreach (var i in interfaces)
                {
                    sb.Append(i);
                    sb.Append(ParameterSpacer);
                }
                sb.Length -= ParameterSpacer.Length;
            }

            return(sb.ToString());
        }
Exemplo n.º 4
0
        /// <summary>
        /// Gets the code for a field.
        /// </summary>
        /// <param name="memberName">Name of the member.</param>
        /// <param name="type">The type.</param>
        /// <param name="visibility">The visibility.</param>
        /// <param name="code">The code.</param>
        /// <param name="isReadonly">If this field is readonly.</param>
        /// <param name="isStatic">If this field is static.</param>
        /// <returns>The code.</returns>
        public override string GetField(string memberName, string type, MemberVisibilityLevel visibility, string code,
                                        bool isReadonly, bool isStatic)
        {
            var sb = new StringBuilder();

            if (visibility != MemberVisibilityLevel.Private)
            {
                sb.Append(GetVisibilityLevel(visibility));
                sb.Append(" ");
            }

            if (isStatic)
            {
                sb.Append(" static ");
            }

            if (isReadonly)
            {
                sb.Append(" readonly ");
            }

            sb.Append(type);
            sb.Append(" ");
            sb.Append(memberName);

            if (!string.IsNullOrEmpty(code))
            {
                sb.Append(" = ");
                sb.Append(code);
            }

            sb.Append(EndOfLine);

            return(sb.ToString());
        }
Exemplo n.º 5
0
        /// <summary>
        /// Gets the code for a method header.
        /// </summary>
        /// <param name="methodName">Name of the method.</param>
        /// <param name="visibility">The visibility.</param>
        /// <param name="parameters">The parameters.</param>
        /// <param name="returnType">Type of the return.</param>
        /// <param name="isVirtual">If this method will be virtual.</param>
        /// <param name="isStatic">If this method will be static.</param>
        /// <returns>The code.</returns>
        public virtual string GetMethodHeader(string methodName, MemberVisibilityLevel visibility, MethodParameter[] parameters,
                                              string returnType, bool isVirtual, bool isStatic)
        {
            var sb = new StringBuilder(256);

            sb.Append(GetMethodNameAndVisibility(methodName, visibility, returnType, isVirtual, isStatic));

            // Parameters
            sb.Append(OpenParameterString);
            sb.Append(GetParameters(parameters));
            sb.Append(CloseParameterString);

            return(sb.ToString());
        }
Exemplo n.º 6
0
        /// <summary>
        /// Gets the code for a constant field.
        /// </summary>
        /// <param name="fieldName">Name of the field.</param>
        /// <param name="type">The type.</param>
        /// <param name="visibility">The visibility.</param>
        /// <param name="value">The value.</param>
        /// <returns>The code.</returns>
        public override string GetConstField(string fieldName, Type type, MemberVisibilityLevel visibility, string value)
        {
            var sb = new StringBuilder();

            sb.Append(GetVisibilityLevel(visibility));
            sb.Append(" const ");
            sb.Append(GetTypeString(type));
            sb.Append(" ");
            sb.Append(fieldName);
            sb.Append(" = ");
            sb.Append(value);
            sb.Append(EndOfLine);
            return(sb.ToString());
        }
Exemplo n.º 7
0
        /// <summary>
        /// Gets the code for a property.
        /// </summary>
        /// <param name="propertyName">Name of the property.</param>
        /// <param name="externalType">The external (exposed) type.</param>
        /// <param name="internalType">The internal (underlying) type.</param>
        /// <param name="getterVisibility">The getter visibility.</param>
        /// <param name="setterVisibility">The setter visibility.</param>
        /// <param name="member">The member.</param>
        /// <param name="isVirtual">If this property is virtual.</param>
        /// <param name="isStatic">If this property is static.</param>
        /// <returns>The code.</returns>
        public virtual string GetProperty(string propertyName, string externalType, string internalType,
                                          MemberVisibilityLevel getterVisibility, MemberVisibilityLevel?setterVisibility,
                                          string member, bool isVirtual, bool isStatic)
        {
            var sb = new StringBuilder();

            sb.AppendLine(GetMethodNameAndVisibility(propertyName, getterVisibility, externalType, isVirtual, isStatic));
            sb.AppendLine(OpenBrace);
            {
                // Getter
                sb.AppendLine(PropertyGetString);
                sb.AppendLine(OpenBrace);
                {
                    sb.Append(ReturnString);
                    sb.Append(" ");
                    sb.Append(GetCast(externalType));
                    sb.Append(member);
                    sb.AppendLine(EndOfLine);
                }
                sb.AppendLine(CloseBrace);

                // Setter
                if (setterVisibility.HasValue)
                {
                    if (setterVisibility.Value != getterVisibility)
                    {
                        sb.Append(GetVisibilityLevel(setterVisibility.Value) + " ");
                    }

                    sb.AppendLine(PropertySetString);
                    sb.AppendLine(OpenBrace);
                    {
                        sb.AppendLine(GetSetValue(member, PropertyValue, true, false, internalType));
                    }
                    sb.AppendLine(CloseBrace);
                }
            }
            sb.Append(CloseBrace);

            return(sb.ToString());
        }
Exemplo n.º 8
0
        /// <summary>
        /// Gets the code for a field.
        /// </summary>
        /// <param name="inputName">The name of the field (can be aliased).</param>
        /// <param name="visibility">The visibility.</param>
        /// <param name="type">The type.</param>
        /// <returns>The code.</returns>
        public virtual string GetFieldName(string inputName, MemberVisibilityLevel visibility, string type)
        {
            if (ApplyAlias(ref inputName))
            {
                if (visibility != MemberVisibilityLevel.Private)
                {
                    return(inputName);
                }
            }

            inputName = RemoveSeparatorCharacters(inputName);

            switch (visibility)
            {
            case MemberVisibilityLevel.Private:
                // Prefix _ and make the first character lowercase
                return("_" + inputName.Substring(0, 1).ToLower() + inputName.Substring(1));

            default:
                // Make first character uppercase
                return(inputName.Substring(0, 1).ToUpper() + inputName.Substring(1));
            }
        }
Exemplo n.º 9
0
        /// <summary>
        /// Gets the code to represent a visibility level.
        /// </summary>
        /// <param name="visibility">The visibility level.</param>
        /// <returns>The code.</returns>
        /// <exception cref="ArgumentOutOfRangeException"><c>visibility</c> contains an undefined
        /// <see cref="MemberVisibilityLevel"/> value.</exception>
        public override string GetVisibilityLevel(MemberVisibilityLevel visibility)
        {
            switch (visibility)
            {
            case MemberVisibilityLevel.Private:
                return("private");

            case MemberVisibilityLevel.Public:
                return("public");

            case MemberVisibilityLevel.Internal:
                return("internal");

            case MemberVisibilityLevel.Protected:
                return("protected");

            case MemberVisibilityLevel.ProtectedInternal:
                return("protected internal");

            default:
                throw new ArgumentOutOfRangeException("visibility");
            }
        }
Exemplo n.º 10
0
        /// <summary>
        /// Gets the code for a property.
        /// </summary>
        /// <param name="propertyName">Name of the property.</param>
        /// <param name="externalType">The external (exposed) type.</param>
        /// <param name="internalType">The internal (underlying) type.</param>
        /// <param name="getterVisibility">The getter visibility.</param>
        /// <param name="setterVisibility">The setter visibility.</param>
        /// <param name="member">The member.</param>
        /// <param name="isVirtual">If this property is virtual.</param>
        /// <param name="isStatic">If this property is static.</param>
        /// <returns>The code.</returns>
        public virtual string GetProperty(string propertyName, string externalType, string internalType,
                                          MemberVisibilityLevel getterVisibility, MemberVisibilityLevel? setterVisibility,
                                          string member, bool isVirtual, bool isStatic)
        {
            var sb = new StringBuilder();
            sb.AppendLine(GetMethodNameAndVisibility(propertyName, getterVisibility, externalType, isVirtual, isStatic));
            sb.AppendLine(OpenBrace);
            {
                // Getter
                sb.AppendLine(PropertyGetString);
                sb.AppendLine(OpenBrace);
                {
                    sb.Append(ReturnString);
                    sb.Append(" ");
                    sb.Append(GetCast(externalType));
                    sb.Append(member);
                    sb.AppendLine(EndOfLine);
                }
                sb.AppendLine(CloseBrace);

                // Setter
                if (setterVisibility.HasValue)
                {
                    if (setterVisibility.Value != getterVisibility)
                        sb.Append(GetVisibilityLevel(setterVisibility.Value) + " ");

                    sb.AppendLine(PropertySetString);
                    sb.AppendLine(OpenBrace);
                    {
                        sb.AppendLine(GetSetValue(member, PropertyValue, true, false, internalType));
                    }
                    sb.AppendLine(CloseBrace);
                }
            }
            sb.Append(CloseBrace);

            return sb.ToString();
        }
Exemplo n.º 11
0
 /// <summary>
 /// Gets the code for a constant field.
 /// </summary>
 /// <param name="fieldName">Name of the field.</param>
 /// <param name="type">The type.</param>
 /// <param name="visibility">The visibility.</param>
 /// <param name="value">The value.</param>
 /// <returns>The code.</returns>
 public abstract string GetConstField(string fieldName, Type type, MemberVisibilityLevel visibility, string value);
Exemplo n.º 12
0
        /// <summary>
        /// Gets the code for a method header.
        /// </summary>
        /// <param name="methodName">Name of the method.</param>
        /// <param name="visibility">The visibility.</param>
        /// <param name="parameters">The parameters.</param>
        /// <param name="returnType">Type of the return.</param>
        /// <param name="isVirtual">If this method will be virtual.</param>
        /// <param name="isStatic">If this method will be static.</param>
        /// <returns>The code.</returns>
        public virtual string GetMethodHeader(string methodName, MemberVisibilityLevel visibility, MethodParameter[] parameters,
                                              string returnType, bool isVirtual, bool isStatic)
        {
            var sb = new StringBuilder(256);
            sb.Append(GetMethodNameAndVisibility(methodName, visibility, returnType, isVirtual, isStatic));

            // Parameters
            sb.Append(OpenParameterString);
            sb.Append(GetParameters(parameters));
            sb.Append(CloseParameterString);

            return sb.ToString();
        }
Exemplo n.º 13
0
        /// <summary>
        /// Gets the name and visibility to use for a method.
        /// </summary>
        /// <param name="methodName">Name of the method.</param>
        /// <param name="visibility">The visibility.</param>
        /// <param name="returnType">Type of the return.</param>
        /// <param name="isVirtual">If this method will be virtual.</param>
        /// <param name="isStatic">If this method will be static.</param>
        /// <returns>The code.</returns>
        /// <exception cref="ArgumentException">A method cannot be both virtual and static.</exception>
        public virtual string GetMethodNameAndVisibility(string methodName, MemberVisibilityLevel visibility, string returnType,
                                                         bool isVirtual, bool isStatic)
        {
            if (isVirtual && isStatic)
                throw new ArgumentException("A method cannot be both virtual and static.");

            var sb = new StringBuilder();
            sb.Append(GetVisibilityLevel(visibility));
            sb.Append(" ");
            if (isVirtual)
            {
                sb.Append(VirtualString);
                sb.Append(" ");
            }
            else if (isStatic)
            {
                sb.Append(StaticString);
                sb.Append(" ");
            }
            if (!string.IsNullOrEmpty(returnType))
            {
                sb.Append(returnType);
                sb.Append(" ");
            }
            sb.Append(methodName);

            return sb.ToString();
        }
Exemplo n.º 14
0
 /// <summary>
 /// Gets the code for a field.
 /// </summary>
 /// <param name="inputName">The name of the field (can be aliased).</param>
 /// <param name="type">The type.</param>
 /// <param name="visibility">The visibility.</param>
 /// <returns>The code.</returns>
 public string GetFieldName(string inputName, MemberVisibilityLevel visibility, Type type)
 {
     return GetFieldName(inputName, visibility, GetTypeString(type));
 }
Exemplo n.º 15
0
 /// <summary>
 /// Gets the code for an interface.
 /// </summary>
 /// <param name="interfaceName">The interface name.</param>
 /// <param name="visibility">The visibility.</param>
 /// <returns>The code.</returns>
 public abstract string GetInterface(string interfaceName, MemberVisibilityLevel visibility);
Exemplo n.º 16
0
        /// <summary>
        /// Gets the code for a class.
        /// </summary>
        /// <param name="className">Name of the class.</param>
        /// <param name="visibility">The visibility.</param>
        /// <param name="isStatic">Whether or not it is a static class.</param>
        /// <param name="interfaces">The interfaces.</param>
        /// <returns>The code.</returns>
        public override string GetClass(string className, MemberVisibilityLevel visibility, bool isStatic, IEnumerable<string> interfaces)
        {
            var sb = new StringBuilder();
            sb.Append(GetVisibilityLevel(visibility));
            if (isStatic)
                sb.Append(" static ");
            sb.Append(" class ");
            sb.Append(className);

            if (interfaces != null && !interfaces.IsEmpty())
            {
                sb.Append(" : ");
                foreach (var i in interfaces)
                {
                    sb.Append(i);
                    sb.Append(ParameterSpacer);
                }
                sb.Length -= ParameterSpacer.Length;
            }

            return sb.ToString();
        }
Exemplo n.º 17
0
 /// <summary>
 /// Gets the code for a field.
 /// </summary>
 /// <param name="memberName">Name of the member.</param>
 /// <param name="type">The type.</param>
 /// <param name="visibility">The visibility.</param>
 /// <param name="value">The value.</param>
 /// <param name="isReadonly">If this field is readonly.</param>
 /// <param name="isStatic">If this field is static.</param>
 /// <returns>The code.</returns>
 public string GetField(string memberName, Type type, MemberVisibilityLevel visibility, string value, bool isReadonly,
                        bool isStatic)
 {
     return GetField(memberName, GetTypeString(type), visibility, value, isReadonly, isStatic);
 }
Exemplo n.º 18
0
 /// <summary>
 /// Gets the code for a field.
 /// </summary>
 /// <param name="memberName">Name of the member.</param>
 /// <param name="type">The type.</param>
 /// <param name="visibility">The visibility.</param>
 /// <param name="value">The value.</param>
 /// <param name="isReadonly">If this field is readonly.</param>
 /// <param name="isStatic">If this field is static.</param>
 /// <returns>The code.</returns>
 public string GetField(string memberName, Type type, MemberVisibilityLevel visibility, string value, bool isReadonly,
                        bool isStatic)
 {
     return(GetField(memberName, GetTypeString(type), visibility, value, isReadonly, isStatic));
 }
Exemplo n.º 19
0
 /// <summary>
 /// Gets the code for a field.
 /// </summary>
 /// <param name="memberName">Name of the member.</param>
 /// <param name="type">The type.</param>
 /// <param name="visibility">The visibility.</param>
 /// <param name="value">The value.</param>
 /// <param name="isReadonly">If this field is readonly.</param>
 /// <param name="isStatic">If this field is static.</param>
 /// <returns>The code.</returns>
 public abstract string GetField(string memberName, string type, MemberVisibilityLevel visibility, string value,
                                 bool isReadonly, bool isStatic);
Exemplo n.º 20
0
 /// <summary>
 /// Gets the code for a field.
 /// </summary>
 /// <param name="memberName">Name of the member.</param>
 /// <param name="type">The type.</param>
 /// <param name="visibility">The visibility.</param>
 /// <returns>The code.</returns>
 public string GetField(string memberName, string type, MemberVisibilityLevel visibility)
 {
     return(GetField(memberName, type, visibility, string.Empty, false, false));
 }
Exemplo n.º 21
0
 /// <summary>
 /// Gets the name and visibility to use for a method.
 /// </summary>
 /// <param name="methodName">Name of the method.</param>
 /// <param name="visibility">The visibility.</param>
 /// <param name="returnType">Type of the return.</param>
 /// <param name="isVirtual">If this method will be virtual.</param>
 /// <param name="isStatic">If this method will be static.</param>
 /// <returns>The code.</returns>
 public virtual string GetMethodNameAndVisibility(string methodName, MemberVisibilityLevel visibility, Type returnType,
                                                  bool isVirtual, bool isStatic)
 {
     return(GetMethodNameAndVisibility(methodName, visibility, GetTypeString(returnType), isVirtual, isStatic));
 }
Exemplo n.º 22
0
 /// <summary>
 /// Gets the code for a field.
 /// </summary>
 /// <param name="inputName">The name of the field (can be aliased).</param>
 /// <param name="type">The type.</param>
 /// <param name="visibility">The visibility.</param>
 /// <returns>The code.</returns>
 public string GetFieldName(string inputName, MemberVisibilityLevel visibility, Type type)
 {
     return(GetFieldName(inputName, visibility, GetTypeString(type)));
 }
Exemplo n.º 23
0
 /// <summary>
 /// Gets the code for a method header.
 /// </summary>
 /// <param name="methodName">Name of the method.</param>
 /// <param name="visibility">The visibility.</param>
 /// <param name="parameters">The parameters.</param>
 /// <param name="returnType">Type of the return.</param>
 /// <param name="isVirtual">If this method will be virtual.</param>
 /// <param name="isStatic">If this method will be static.</param>
 /// <returns>The code.</returns>
 public string GetMethodHeader(string methodName, MemberVisibilityLevel visibility, MethodParameter[] parameters,
                               Type returnType, bool isVirtual, bool isStatic)
 {
     return(GetMethodHeader(methodName, visibility, parameters, GetTypeString(returnType), isVirtual, isStatic));
 }
Exemplo n.º 24
0
 /// <summary>
 /// Gets the code for a constant field.
 /// </summary>
 /// <param name="fieldName">Name of the field.</param>
 /// <param name="type">The type.</param>
 /// <param name="visibility">The visibility.</param>
 /// <param name="value">The value.</param>
 /// <returns>The code.</returns>
 public override string GetConstField(string fieldName, Type type, MemberVisibilityLevel visibility, string value)
 {
     var sb = new StringBuilder();
     sb.Append(GetVisibilityLevel(visibility));
     sb.Append(" const ");
     sb.Append(GetTypeString(type));
     sb.Append(" ");
     sb.Append(fieldName);
     sb.Append(" = ");
     sb.Append(value);
     sb.Append(EndOfLine);
     return sb.ToString();
 }
Exemplo n.º 25
0
 /// <summary>
 /// Gets the code for a field.
 /// </summary>
 /// <param name="memberName">Name of the member.</param>
 /// <param name="type">The type.</param>
 /// <param name="visibility">The visibility.</param>
 /// <param name="value">The value.</param>
 /// <param name="isReadonly">If this field is readonly.</param>
 /// <param name="isStatic">If this field is static.</param>
 /// <returns>The code.</returns>
 public abstract string GetField(string memberName, string type, MemberVisibilityLevel visibility, string value,
                                 bool isReadonly, bool isStatic);
Exemplo n.º 26
0
        /// <summary>
        /// Gets the code for a field.
        /// </summary>
        /// <param name="memberName">Name of the member.</param>
        /// <param name="type">The type.</param>
        /// <param name="visibility">The visibility.</param>
        /// <param name="code">The code.</param>
        /// <param name="isReadonly">If this field is readonly.</param>
        /// <param name="isStatic">If this field is static.</param>
        /// <returns>The code.</returns>
        public override string GetField(string memberName, string type, MemberVisibilityLevel visibility, string code,
                                        bool isReadonly, bool isStatic)
        {
            var sb = new StringBuilder();

            if (visibility != MemberVisibilityLevel.Private)
            {
                sb.Append(GetVisibilityLevel(visibility));
                sb.Append(" ");
            }

            if (isStatic)
                sb.Append(" static ");

            if (isReadonly)
                sb.Append(" readonly ");

            sb.Append(type);
            sb.Append(" ");
            sb.Append(memberName);

            if (!string.IsNullOrEmpty(code))
            {
                sb.Append(" = ");
                sb.Append(code);
            }

            sb.Append(EndOfLine);

            return sb.ToString();
        }
Exemplo n.º 27
0
 /// <summary>
 /// Gets the code for a field.
 /// </summary>
 /// <param name="memberName">Name of the member.</param>
 /// <param name="type">The type.</param>
 /// <param name="visibility">The visibility.</param>
 /// <returns>The code.</returns>
 public string GetField(string memberName, string type, MemberVisibilityLevel visibility)
 {
     return GetField(memberName, type, visibility, string.Empty, false, false);
 }
Exemplo n.º 28
0
 /// <summary>
 /// Gets the code for an interface.
 /// </summary>
 /// <param name="interfaceName">The interface name.</param>
 /// <param name="visibility">The visibility.</param>
 /// <returns>The code.</returns>
 public override string GetInterface(string interfaceName, MemberVisibilityLevel visibility)
 {
     return GetVisibilityLevel(visibility) + " interface " + interfaceName;
 }
Exemplo n.º 29
0
        /// <summary>
        /// Gets the code for a field.
        /// </summary>
        /// <param name="inputName">The name of the field (can be aliased).</param>
        /// <param name="visibility">The visibility.</param>
        /// <param name="type">The type.</param>
        /// <returns>The code.</returns>
        public virtual string GetFieldName(string inputName, MemberVisibilityLevel visibility, string type)
        {
            if (ApplyAlias(ref inputName))
            {
                if (visibility != MemberVisibilityLevel.Private)
                    return inputName;
            }

            inputName = RemoveSeparatorCharacters(inputName);

            switch (visibility)
            {
                case MemberVisibilityLevel.Private:
                    // Prefix _ and make the first character lowercase
                    return "_" + inputName.Substring(0, 1).ToLower() + inputName.Substring(1);

                default:
                    // Make first character uppercase
                    return inputName.Substring(0, 1).ToUpper() + inputName.Substring(1);
            }
        }
Exemplo n.º 30
0
 /// <summary>
 /// Gets the code for an interface.
 /// </summary>
 /// <param name="interfaceName">The interface name.</param>
 /// <param name="visibility">The visibility.</param>
 /// <returns>The code.</returns>
 public override string GetInterface(string interfaceName, MemberVisibilityLevel visibility)
 {
     return(GetVisibilityLevel(visibility) + " interface " + interfaceName);
 }
Exemplo n.º 31
0
 /// <summary>
 /// Gets the code for a method header.
 /// </summary>
 /// <param name="methodName">Name of the method.</param>
 /// <param name="visibility">The visibility.</param>
 /// <param name="parameters">The parameters.</param>
 /// <param name="returnType">Type of the return.</param>
 /// <param name="isVirtual">If this method will be virtual.</param>
 /// <param name="isStatic">If this method will be static.</param>
 /// <returns>The code.</returns>
 public string GetMethodHeader(string methodName, MemberVisibilityLevel visibility, MethodParameter[] parameters,
                               Type returnType, bool isVirtual, bool isStatic)
 {
     return GetMethodHeader(methodName, visibility, parameters, GetTypeString(returnType), isVirtual, isStatic);
 }
Exemplo n.º 32
0
 /// <summary>
 /// Gets the code for a class.
 /// </summary>
 /// <param name="className">Name of the class.</param>
 /// <param name="visibility">The visibility.</param>
 /// <param name="isStatic">Whether or not it is a static class.</param>
 /// <param name="interfaces">The interfaces.</param>
 /// <returns>The code.</returns>
 public abstract string GetClass(string className, MemberVisibilityLevel visibility, bool isStatic,
                                 IEnumerable <string> interfaces);
Exemplo n.º 33
0
 /// <summary>
 /// Gets the name and visibility to use for a method.
 /// </summary>
 /// <param name="methodName">Name of the method.</param>
 /// <param name="visibility">The visibility.</param>
 /// <param name="returnType">Type of the return.</param>
 /// <param name="isVirtual">If this method will be virtual.</param>
 /// <param name="isStatic">If this method will be static.</param>
 /// <returns>The code.</returns>
 public virtual string GetMethodNameAndVisibility(string methodName, MemberVisibilityLevel visibility, Type returnType,
                                                  bool isVirtual, bool isStatic)
 {
     return GetMethodNameAndVisibility(methodName, visibility, GetTypeString(returnType), isVirtual, isStatic);
 }
Exemplo n.º 34
0
 /// <summary>
 /// Gets the code for a class.
 /// </summary>
 /// <param name="className">Name of the class.</param>
 /// <param name="visibility">The visibility.</param>
 /// <param name="isStatic">Whether or not it is a static class.</param>
 /// <param name="interfaces">The interfaces.</param>
 /// <returns>The code.</returns>
 public abstract string GetClass(string className, MemberVisibilityLevel visibility, bool isStatic,
                                 IEnumerable<string> interfaces);
Exemplo n.º 35
0
 /// <summary>
 /// Gets the code for a property.
 /// </summary>
 /// <param name="propertyName">Name of the property.</param>
 /// <param name="externalType">The external (exposed) type.</param>
 /// <param name="internalType">The internal (underlying) type.</param>
 /// <param name="getterVisibility">The getter visibility.</param>
 /// <param name="setterVisibility">The setter visibility.</param>
 /// <param name="member">The member.</param>
 /// <param name="isVirtual">If this property is virtual.</param>
 /// <param name="isStatic">If this property is static.</param>
 /// <returns>The code.</returns>
 public string GetProperty(string propertyName, Type externalType, Type internalType,
                           MemberVisibilityLevel getterVisibility, MemberVisibilityLevel? setterVisibility, string member,
                           bool isVirtual, bool isStatic)
 {
     return GetProperty(propertyName, GetTypeString(externalType), GetTypeString(internalType), getterVisibility,
         setterVisibility, member, isVirtual, isStatic);
 }
Exemplo n.º 36
0
 /// <summary>
 /// Gets the code for a constant field.
 /// </summary>
 /// <param name="fieldName">Name of the field.</param>
 /// <param name="type">The type.</param>
 /// <param name="visibility">The visibility.</param>
 /// <param name="value">The value.</param>
 /// <returns>The code.</returns>
 public abstract string GetConstField(string fieldName, Type type, MemberVisibilityLevel visibility, string value);
Exemplo n.º 37
0
 /// <summary>
 /// Gets the header for a constructor.
 /// </summary>
 /// <param name="className">Name of the class.</param>
 /// <param name="visibility">The visibility.</param>
 /// <param name="parameters">The parameters.</param>
 /// <returns>The code.</returns>
 public virtual string GetConstructorHeader(string className, MemberVisibilityLevel visibility,
                                            MethodParameter[] parameters)
 {
     return(GetMethodHeader(className, visibility, parameters, string.Empty, false, false));
 }
Exemplo n.º 38
0
 /// <summary>
 /// Gets the header for a constructor.
 /// </summary>
 /// <param name="className">Name of the class.</param>
 /// <param name="visibility">The visibility.</param>
 /// <param name="parameters">The parameters.</param>
 /// <returns>The code.</returns>
 public virtual string GetConstructorHeader(string className, MemberVisibilityLevel visibility,
                                            MethodParameter[] parameters)
 {
     return GetMethodHeader(className, visibility, parameters, string.Empty, false, false);
 }
Exemplo n.º 39
0
 /// <summary>
 /// Gets the code to represent a visibility level.
 /// </summary>
 /// <param name="visibility">The visibility level.</param>
 /// <returns>The code.</returns>
 /// <exception cref="ArgumentOutOfRangeException"><c>visibility</c> contains an undefined
 /// <see cref="MemberVisibilityLevel"/> value.</exception>
 public override string GetVisibilityLevel(MemberVisibilityLevel visibility)
 {
     switch (visibility)
     {
         case MemberVisibilityLevel.Private:
             return "private";
         case MemberVisibilityLevel.Public:
             return "public";
         case MemberVisibilityLevel.Internal:
             return "internal";
         case MemberVisibilityLevel.Protected:
             return "protected";
         case MemberVisibilityLevel.ProtectedInternal:
             return "protected internal";
         default:
             throw new ArgumentOutOfRangeException("visibility");
     }
 }
Exemplo n.º 40
0
 /// <summary>
 /// Gets the code for an interface.
 /// </summary>
 /// <param name="interfaceName">The interface name.</param>
 /// <param name="visibility">The visibility.</param>
 /// <returns>The code.</returns>
 public abstract string GetInterface(string interfaceName, MemberVisibilityLevel visibility);
Exemplo n.º 41
0
 /// <summary>
 /// Gets the code to represent a visibility level.
 /// </summary>
 /// <param name="visibility">The visibility level.</param>
 /// <returns>The code.</returns>
 public abstract string GetVisibilityLevel(MemberVisibilityLevel visibility);
Exemplo n.º 42
0
 /// <summary>
 /// Gets the code to represent a visibility level.
 /// </summary>
 /// <param name="visibility">The visibility level.</param>
 /// <returns>The code.</returns>
 public abstract string GetVisibilityLevel(MemberVisibilityLevel visibility);