Exemplo n.º 1
0
        /// <summary>
        /// Produces the right visibility token for a node.
        /// </summary>
        /// <param name="tokenList">The <see cref="SyntaxTokenList"/> containing the list of modifiers.</param>
        /// <returns></returns>
        public static VisibilityToken Get(this SyntaxTokenList tokenList)
        {
            if (tokenList == null)
            {
                throw new ArgumentNullException("tokenList");
            }

            VisibilityToken visibility = VisibilityToken.None;

            foreach (SyntaxToken token in tokenList)
            {
                if (token.ValueText.CompareTo(TokenUtility.ToString(VisibilityToken.Public)) == 0)
                {
                    visibility = visibility | VisibilityToken.Public; continue;
                }
                if (token.ValueText.CompareTo(TokenUtility.ToString(VisibilityToken.Private)) == 0)
                {
                    visibility = visibility | VisibilityToken.Private; continue;
                }
                if (token.ValueText.CompareTo(TokenUtility.ToString(VisibilityToken.Internal)) == 0)
                {
                    visibility = visibility | VisibilityToken.Internal; continue;
                }
                if (token.ValueText.CompareTo(TokenUtility.ToString(VisibilityToken.Protected)) == 0)
                {
                    visibility = visibility | VisibilityToken.Protected; continue;
                }
                if (token.ValueText.CompareTo(TokenUtility.ToString(VisibilityToken.Static)) == 0)
                {
                    visibility = visibility | VisibilityToken.Static; continue;
                }
            }

            return(visibility);
        }
Exemplo n.º 2
0
        /// <summary>
        /// Converts the visibility into the appropriate TypeScript token.
        /// </summary>
        /// <param name="visibilityToken">The visibility.</param>
        /// <returns></returns>
        public static string ToString(this VisibilityToken visibilityToken)
        {
            string representation = string.Empty;

            if (visibilityToken != VisibilityToken.None)
            {
                var modifiers = new List <string>();

                foreach (VisibilityToken flag in Enum.GetValues(typeof(VisibilityToken)))
                {
                    if (flag == VisibilityToken.None)
                    {
                        continue;
                    }

                    if (visibilityToken.HasFlag(flag))
                    {
                        modifiers.Add(flag.ToString("G").ToLower());
                    }
                }

                representation = string.Join(" ", modifiers);
            }

            return(representation);
        }
Exemplo n.º 3
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="visibility"></param>
 /// <returns></returns>
 public static ConstructorDeclarationTranslationUnit Create(VisibilityToken visibility)
 {
     return(new ConstructorDeclarationTranslationUnit()
     {
         Visibility = visibility,
         ReturnType = null
     });
 }
        /// <summary>
        /// Initializes a new instance of the <see cref="PropertyDefinitionTranslationUnit"/> class.
        /// </summary>
        /// <param name="name"></param>
        /// <param name="returnType"></param>
        /// <param name="visibility"></param>
        protected PropertyDefinitionTranslationUnit(ITranslationUnit name, ITranslationUnit returnType, VisibilityToken visibility)
            : base(name, visibility)
        {
            this.type = returnType;

            this.hasGet = true;
            this.hasSet = true;
        }
 /// <summary>
 /// 
 /// </summary>
 /// <param name="visibility"></param>
 /// <returns></returns>
 public static ConstructorDeclarationTranslationUnit Create(VisibilityToken visibility)
 {
     return new ConstructorDeclarationTranslationUnit()
     {
         Visibility = visibility,
         ReturnType = null
     };
 }
 /// <summary>
 ///
 /// </summary>
 /// <param name="visibility"></param>
 /// <returns></returns>
 public static ConstructorDefinitionTranslationUnit Create(VisibilityToken visibility)
 {
     return(new ConstructorDefinitionTranslationUnit()
     {
         Visibility = visibility,
         Name = IdentifierTranslationUnit.Create(Lexems.ConstructorKeyword),
         ReturnType = null
     });
 }
Exemplo n.º 7
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="visibility"></param>
        /// <param name="name"></param>
        /// <returns></returns>
        public static ITranslationUnit BuildInterfaceTranslationUnit(VisibilityToken visibility, string name)
        {
            if (name == null)
            {
                throw new ArgumentNullException(nameof(name));
            }

            return(InterfaceDeclarationTranslationUnit.Create(
                       visibility, IdentifierTranslationUnit.Create(name)));
        }
Exemplo n.º 8
0
        /// <summary>
        /// 
        /// </summary>
        /// <param name="visibility"></param>
        /// <param name="name"></param>
        /// <param name="baseClassName"></param>
        /// <returns></returns>
        public static ITranslationUnit BuildClassTranslationUnit(VisibilityToken visibility, string name, string baseClassName)
        {
            if (name == null)
            {
                throw new ArgumentNullException(nameof(name));
            }

            return ClassDeclarationTranslationUnit.Create(
                visibility, IdentifierTranslationUnit.Create(name),
                baseClassName == null ? null : IdentifierTranslationUnit.Create(baseClassName));
        }
Exemplo n.º 9
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="visibility"></param>
        /// <param name="returnType"></param>
        /// <param name="name"></param>
        /// <returns></returns>
        public static ITranslationUnit BuildMethodSignatureTranslationUnit(VisibilityToken visibility, string returnType, string name)
        {
            if (name == null)
            {
                throw new ArgumentNullException(nameof(name));
            }

            return(MethodSignatureDeclarationTranslationUnit.Create(
                       visibility, returnType == null ? null : TypeIdentifierTranslationUnit.Create(returnType),
                       IdentifierTranslationUnit.Create(name)));
        }
Exemplo n.º 10
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="visibility"></param>
        /// <param name="name"></param>
        /// <param name="baseClassName"></param>
        /// <returns></returns>
        public static ITranslationUnit BuildClassTranslationUnit(VisibilityToken visibility, string name, string baseClassName)
        {
            if (name == null)
            {
                throw new ArgumentNullException(nameof(name));
            }

            return(ClassDeclarationTranslationUnit.Create(
                       visibility, IdentifierTranslationUnit.Create(name),
                       baseClassName == null ? null : IdentifierTranslationUnit.Create(baseClassName)));
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="PropertyDeclarationTranslationUnit"/> class.
        /// </summary>
        /// <param name="name"></param>
        /// <param name="returnType"></param>
        /// <param name="visibility"></param>
        protected PropertyDeclarationTranslationUnit(ITranslationUnit name, ITranslationUnit returnType, VisibilityToken visibility)
            : base(name, visibility)
        {
            // We create empty groups
            this.getStatements = StatementsGroupTranslationUnit.Create();
            this.setStatements = StatementsGroupTranslationUnit.Create();

            this.type = returnType;

            this.hasGet = true;
            this.hasSet = true;
        }
        /// <summary>
        /// 
        /// </summary>
        /// <param name="visibility"></param>
        /// <param name="name"></param>
        /// <returns></returns>
        public static new EmptyInterfaceDefinitionTranslationUnit Create(VisibilityToken visibility, ITranslationUnit name)
        {
            if (name == null)
            {
                throw new ArgumentNullException(nameof(name), "Interface name cannot be null!");
            }

            return new EmptyInterfaceDefinitionTranslationUnit()
            {
                Visibility = visibility,
                Name = name
            };
        }
Exemplo n.º 13
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="visibility"></param>
        /// <param name="name"></param>
        /// <returns></returns>
        public static EnumTranslationUnit Create(VisibilityToken visibility, ITranslationUnit name)
        {
            if (name == null)
            {
                throw new ArgumentNullException(nameof(name), "Enum name cannot be null!");
            }

            return(new EnumTranslationUnit()
            {
                Visibility = visibility,
                Name = name
            });
        }
Exemplo n.º 14
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="visibility"></param>
        /// <param name="name"></param>
        /// <returns></returns>
        public static new InterfaceDefinitionTranslationUnit Create(VisibilityToken visibility, ITranslationUnit name)
        {
            if (name == null)
            {
                throw new ArgumentNullException(nameof(name), "Interface name cannot be null!");
            }

            return(new InterfaceDefinitionTranslationUnit()
            {
                Visibility = visibility,
                Name = name
            });
        }
Exemplo n.º 15
0
        /// <summary>
        /// 
        /// </summary>
        /// <param name="visibility"></param>
        /// <param name="type"></param>
        /// <param name="name"></param>
        /// <returns></returns>
        public static ITranslationUnit BuildMemberTranslationUnit(VisibilityToken visibility, string type, string name)
        {
            if (name == null)
            {
                throw new ArgumentNullException(nameof(name));
            }
            if (type == null)
            {
                throw new ArgumentNullException(nameof(type));
            }

            return FieldDeclarationTranslationUnit.Create(
                visibility, IdentifierTranslationUnit.Create(type), IdentifierTranslationUnit.Create(name));
        }
Exemplo n.º 16
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="visibility"></param>
        /// <param name="returnType"></param>
        /// <param name="name"></param>
        /// <returns></returns>
        public new static MethodDeclarationTranslationUnit Create(VisibilityToken visibility, ITranslationUnit returnType, ITranslationUnit name)
        {
            if (name == null)
            {
                throw new ArgumentNullException(nameof(name));
            }

            return(new MethodDeclarationTranslationUnit()
            {
                Visibility = visibility,
                Name = name,
                ReturnType = returnType
            });
        }
Exemplo n.º 17
0
        public void Static()
        {
            VisibilityToken source = VisibilityToken.None;

            source |= VisibilityToken.Static;

            VisibilityToken equivalent = source.ConvertToTypeScriptEquivalent();

            Assert.IsFalse(equivalent.HasFlag(VisibilityToken.Public), "A flag was not expected in the equivalent modifiers list.");
            Assert.IsFalse(equivalent.HasFlag(VisibilityToken.Protected), "A flag was not expected in the equivalent modifiers list.");
            Assert.IsFalse(equivalent.HasFlag(VisibilityToken.Private), "A flag was not expected in the equivalent modifiers list.");
            Assert.IsFalse(equivalent.HasFlag(VisibilityToken.Internal), "A flag was not expected in the equivalent modifiers list.");
            Assert.IsTrue(equivalent.HasFlag(VisibilityToken.Static), "A flag was expected in the equivalent modifiers list.");
        }
Exemplo n.º 18
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="visibility"></param>
        /// <param name="type"></param>
        /// <param name="name"></param>
        /// <returns></returns>
        public static ITranslationUnit BuildMemberTranslationUnit(VisibilityToken visibility, string type, string name)
        {
            if (name == null)
            {
                throw new ArgumentNullException(nameof(name));
            }
            if (type == null)
            {
                throw new ArgumentNullException(nameof(type));
            }

            return(FieldDeclarationTranslationUnit.Create(
                       visibility, IdentifierTranslationUnit.Create(type), IdentifierTranslationUnit.Create(name)));
        }
Exemplo n.º 19
0
        /// <summary>
        /// 
        /// </summary>
        /// <param name="visibility"></param>
        /// <param name="statements"></param>
        /// <returns></returns>
        public static ITranslationUnit BuildConstructorTranslationUnit(VisibilityToken visibility, ITranslationUnit[] statements = null)
        {
            ConstructorDeclarationTranslationUnit translationUnit = ConstructorDeclarationTranslationUnit.Create(visibility);

            if (statements != null)
            {
                foreach (ITranslationUnit statement in statements)
                {
                    translationUnit.AddStatement(statement);
                }
            }

            return translationUnit;
        }
        /// <summary>
        /// 
        /// </summary>
        /// <param name="visibility"></param>
        /// <param name="name"></param>
        /// <param name="baseClassName"></param>
        /// <returns></returns>
        public static new ClassDefinitionTranslationUnit Create(VisibilityToken visibility, ITranslationUnit name, ITranslationUnit baseClassName)
        {
            if (name == null)
            {
                throw new ArgumentNullException(nameof(name), "Class name cannot be null!");
            }

            return new ClassDefinitionTranslationUnit()
            {
                Visibility = visibility,
                Name = name,
                BaseClassName = baseClassName
            };
        }
Exemplo n.º 21
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="visibility"></param>
        /// <param name="name"></param>
        /// <param name="baseClassName"></param>
        /// <returns></returns>
        public static new ClassDefinitionTranslationUnit Create(VisibilityToken visibility, ITranslationUnit name, ITranslationUnit baseClassName)
        {
            if (name == null)
            {
                throw new ArgumentNullException(nameof(name), "Class name cannot be null!");
            }

            return(new ClassDefinitionTranslationUnit()
            {
                Visibility = visibility,
                Name = name,
                BaseClassName = baseClassName
            });
        }
Exemplo n.º 22
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="visibility"></param>
        /// <param name="statements"></param>
        /// <returns></returns>
        public static ITranslationUnit BuildConstructorTranslationUnit(VisibilityToken visibility, ITranslationUnit[] statements = null)
        {
            ConstructorDeclarationTranslationUnit translationUnit = ConstructorDeclarationTranslationUnit.Create(visibility);

            if (statements != null)
            {
                foreach (ITranslationUnit statement in statements)
                {
                    translationUnit.AddStatement(statement);
                }
            }

            return(translationUnit);
        }
        /// <summary>
        /// 
        /// </summary>
        /// <param name="visibility"></param>
        /// <param name="returnType"></param>
        /// <param name="name"></param>
        /// <returns></returns>
        public static new MethodDeclarationTranslationUnit Create(
            VisibilityToken visibility, ITranslationUnit returnType, ITranslationUnit name)
        {
            if (name == null)
            {
                throw new ArgumentNullException(nameof(name));
            }

            return new MethodDeclarationTranslationUnit()
            {
                Visibility = visibility,
                Name = name,
                ReturnType = returnType
            };
        }
Exemplo n.º 24
0
        public void PrivateVisibilityTokenApplied()
        {
            VisibilityToken  visibility      = VisibilityToken.Private;
            ITranslationUnit translationUnit = MethodDeclarationTranslationUnit.Create(
                visibility, IdentifierTranslationUnit.Void, IdentifierTranslationUnit.Create("SampleMethod"));

            string typescript = translationUnit.Translate();

            new Utils.FileWriter(TestSuite.Context).WriteToFile(typescript,
                                                                string.Format("{0}.Method", nameof(this.PrivateVisibilityTokenApplied)),
                                                                Utils.FileType.TypeScript);

            Assert.IsTrue(typescript.Contains(TokenUtility.PrivateVisibilityToken),
                          string.Format("Token {0} expected!", TokenUtility.PrivateVisibilityToken));
        }
Exemplo n.º 25
0
        /// <summary>
        /// Generates a <see cref="VisibilityToken"/> which is fully TypeScript compliant.
        /// </summary>
        /// <param name="visibilityToken"></param>
        /// <returns></returns>
        public static VisibilityToken ConvertToTypeScriptEquivalent(this VisibilityToken visibilityToken)
        {
            VisibilityToken modifiers = VisibilityToken.None;

            if (visibilityToken.HasFlag(VisibilityToken.Static))
            {
                modifiers |= VisibilityToken.Static;
            }

            if (visibilityToken.HasFlag(VisibilityToken.Private))
            {
                modifiers |= VisibilityToken.Private;

                return(modifiers);
            }

            if (visibilityToken.HasFlag(VisibilityToken.Public))
            {
                modifiers |= VisibilityToken.Public;

                return(modifiers);
            }

            if (visibilityToken.HasFlag(VisibilityToken.Protected))
            {
                modifiers |= VisibilityToken.Protected;

                if (visibilityToken.HasFlag(VisibilityToken.Internal))
                {
                    modifiers &= ~VisibilityToken.Protected; // Remove protected
                    modifiers |= VisibilityToken.Public;     // Add public

                    return(modifiers);
                }

                return(modifiers);
            }

            if (visibilityToken.HasFlag(VisibilityToken.Internal))
            {
                modifiers |= VisibilityToken.Public;

                return(modifiers);
            }

            return(modifiers);
        }
Exemplo n.º 26
0
        public void NoVisibilityTokenApplied()
        {
            VisibilityToken  visibility      = VisibilityToken.None;
            ITranslationUnit translationUnit = ClassDeclarationTranslationUnit.Create(
                visibility, IdentifierTranslationUnit.Create("SampleClass"), null);

            string typescript = translationUnit.Translate();

            new Utils.FileWriter(TestSuite.Context).WriteToFile(typescript,
                                                                string.Format("{0}.Class", nameof(this.NoVisibilityTokenApplied)),
                                                                Utils.FileType.TypeScript);

            Assert.IsFalse(typescript.Contains(TokenUtility.PublicVisibilityToken),
                           string.Format("Token {0} not expected!", TokenUtility.PublicVisibilityToken));
            Assert.IsFalse(typescript.Contains(TokenUtility.PrivateVisibilityToken),
                           string.Format("Token {0} not expected!", TokenUtility.PrivateVisibilityToken));
        }
        /// <summary>
        /// 
        /// </summary>
        /// <param name="visibility"></param>
        /// <param name="type"></param>
        /// <param name="name"></param>
        /// <returns></returns>
        public static new FieldDefinitionTranslationUnit Create(VisibilityToken visibility, ITranslationUnit type, ITranslationUnit name)
        {
            if (type == null)
            {
                throw new ArgumentNullException(nameof(type));
            }
            if (name == null)
            {
                throw new ArgumentNullException(nameof(name));
            }

            return new FieldDefinitionTranslationUnit()
            {
                Visibility = visibility,
                Name = name,
                Type = type
            };
        }
Exemplo n.º 28
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="visibility"></param>
        /// <param name="type"></param>
        /// <param name="name"></param>
        /// <returns></returns>
        public static new FieldDefinitionTranslationUnit Create(VisibilityToken visibility, ITranslationUnit type, ITranslationUnit name)
        {
            if (type == null)
            {
                throw new ArgumentNullException(nameof(type));
            }
            if (name == null)
            {
                throw new ArgumentNullException(nameof(name));
            }

            return(new FieldDefinitionTranslationUnit()
            {
                Visibility = visibility,
                Name = name,
                Type = type
            });
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="visibility"></param>
        /// <param name="type"></param>
        /// <param name="name"></param>
        /// <param name="hasGet"></param>
        /// <param name="hasSet"></param>
        /// <returns></returns>
        public static PropertyDeclarationTranslationUnit Create(
            VisibilityToken visibility, ITranslationUnit type, ITranslationUnit name, bool hasGet = true, bool hasSet = true)
        {
            if (name == null)
            {
                throw new ArgumentNullException(nameof(name));
            }
            if (type == null)
            {
                throw new ArgumentNullException(nameof(type));
            }

            return(new PropertyDeclarationTranslationUnit()
            {
                Visibility = visibility,
                Name = name,
                type = type
            });
        }
Exemplo n.º 30
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="visibility"></param>
        /// <param name="returnType"></param>
        /// <param name="name"></param>
        /// <param name="statements"></param>
        /// <returns></returns>
        public static ITranslationUnit BuildMethodTranslationUnit(VisibilityToken visibility, string returnType, string name, ITranslationUnit[] statements = null)
        {
            if (name == null)
            {
                throw new ArgumentNullException(nameof(name));
            }

            MethodDeclarationTranslationUnit translationUnit = MethodDeclarationTranslationUnit.Create(
                visibility, returnType == null ? null : IdentifierTranslationUnit.Create(returnType),
                IdentifierTranslationUnit.Create(name));

            if (statements != null)
            {
                foreach (ITranslationUnit statement in statements)
                {
                    translationUnit.AddStatement(statement);
                }
            }

            return(translationUnit);
        }
Exemplo n.º 31
0
        /// <summary>
        /// 
        /// </summary>
        /// <param name="visibility"></param>
        /// <param name="returnType"></param>
        /// <param name="name"></param>
        /// <param name="statements"></param>
        /// <returns></returns>
        public static ITranslationUnit BuildMethodTranslationUnit(VisibilityToken visibility, string returnType, string name, ITranslationUnit[] statements = null)
        {
            if (name == null)
            {
                throw new ArgumentNullException(nameof(name));
            }

            MethodDeclarationTranslationUnit translationUnit =  MethodDeclarationTranslationUnit.Create(
                visibility, returnType == null ? null : IdentifierTranslationUnit.Create(returnType),
                IdentifierTranslationUnit.Create(name));

            if (statements != null)
            {
                foreach (ITranslationUnit statement in statements)
                {
                    translationUnit.AddStatement(statement);
                }
            }

            return translationUnit;
        }
Exemplo n.º 32
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="visibility"></param>
        /// <param name="returnType"></param>
        /// <param name="name"></param>
        /// <param name="getStatements"></param>
        /// <param name="setStatements"></param>
        /// <returns></returns>
        public static ITranslationUnit BuildPropertyTranslationUnit(VisibilityToken visibility, string returnType, string name, ITranslationUnit[] getStatements = null, ITranslationUnit[] setStatements = null)
        {
            if (name == null)
            {
                throw new ArgumentNullException(nameof(name));
            }
            if (returnType == null)
            {
                throw new ArgumentNullException(nameof(returnType));
            }

            PropertyDeclarationTranslationUnit translationUnit = PropertyDeclarationTranslationUnit.Create(
                visibility, TypeIdentifierTranslationUnit.Create(returnType), IdentifierTranslationUnit.Create(name), true, true);

            if (getStatements != null)
            {
                var statementsGroup = StatementsGroupTranslationUnit.Create();
                foreach (ITranslationUnit statement in getStatements)
                {
                    statementsGroup.AddStatement(statement);
                }
                translationUnit.SetGetAccessor(statementsGroup);
            }

            if (setStatements != null)
            {
                var statementsGroup = StatementsGroupTranslationUnit.Create();
                foreach (ITranslationUnit statement in setStatements)
                {
                    statementsGroup.AddStatement(statement);
                }
                translationUnit.SetSetAccessor(statementsGroup);
            }

            return(translationUnit);
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="ScopedElementTranslationUnit"/>.
 /// </summary>
 /// <param name="visibility"></param>
 /// <param name="nestingLevel"></param>
 protected ScopedElementTranslationUnit(VisibilityToken visibility, int nestingLevel)
     : base(nestingLevel)
 {
     this.Visibility = visibility;
 }
 /// <summary>
 /// Creates the translation unit.
 /// </summary>
 /// <remarks>
 /// Must return a type inheriting from <see cref="MethodSignatureDeclarationTranslationUnit"/>.
 /// </remarks>
 /// <param name="visibility"></param>
 /// <returns></returns>
 protected virtual ITranslationUnit CreateTranslationUnit(VisibilityToken visibility)
 {
     return ConstructorDeclarationTranslationUnit.Create(visibility);
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="ScopedElementTranslationUnit"/>.
 /// </summary>
 /// <param name="visibility"></param>
 protected ScopedElementTranslationUnit(VisibilityToken visibility)
     : this(visibility, AutomaticNestingLevel)
 {
 }
Exemplo n.º 36
0
 /// <summary>
 /// Converts the visibility into the appropriate TypeScript token.
 /// </summary>
 /// <param name="visibilityToken">The visibility.</param>
 /// <returns></returns>
 public static string ToString(this VisibilityToken visibilityToken)
 {
     return(visibilityToken != VisibilityToken.None ? visibilityToken.ToString("G").ToLower() : string.Empty);
 }
Exemplo n.º 37
0
 /// <summary>
 /// Gets a value indicating whether the visibility is expression access to member.
 /// </summary>
 /// <param name="visibilityToken"></param>
 /// <returns></returns>
 public static bool IsExposedVisibility(this VisibilityToken visibilityToken)
 {
     return(visibilityToken.HasFlag(VisibilityToken.Public) ||
            visibilityToken.HasFlag(VisibilityToken.Internal));
 }
 /// <summary>
 /// Creates the translation unit.
 /// </summary>
 /// <remarks>
 /// Must return a type inheriting from <see cref="InterfaceDeclarationTranslationUnit"/>.
 /// </remarks>
 /// <param name="visibility"></param>
 /// <param name="name"></param>
 /// <returns></returns>
 protected virtual ITranslationUnit CreateTranslationUnit(VisibilityToken visibility, ITranslationUnit name)
 {
     return InterfaceDeclarationTranslationUnit.Create(visibility, name);
 }
 /// <summary>
 /// Creates the translation unit.
 /// </summary>
 /// <param name="visibility"></param>
 /// <param name="type"></param>
 /// <param name="name"></param>
 /// <param name="hasGet"></param>
 /// <param name="hasSet"></param>
 /// <returns></returns>
 protected override ITranslationUnit CreateTranslationUnit(
     VisibilityToken visibility, ITranslationUnit type, ITranslationUnit name, bool hasGet, bool hasSet)
 {
     return PropertyDefinitionTranslationUnit.Create(visibility, type, name, hasGet, hasSet);
 }
 /// <summary>
 /// Creates the translation unit.
 /// </summary>
 /// <remarks>
 /// Must return a type inheriting from <see cref="MethodSignatureDeclarationTranslationUnit"/>.
 /// </remarks>
 /// <param name="visibility"></param>
 /// <returns></returns>
 protected override ITranslationUnit CreateTranslationUnit(VisibilityToken visibility)
 {
     return ConstructorDefinitionTranslationUnit.Create(visibility);
 }
 /// <summary>
 /// Creates the translation unit.
 /// </summary>
 /// <param name="visibility"></param>
 /// <param name="type"></param>
 /// <param name="name"></param>
 /// <returns></returns>
 protected virtual ITranslationUnit CreateTranslationUnit(
     VisibilityToken visibility, ITranslationUnit type, ITranslationUnit name)
 {
     return FieldDeclarationTranslationUnit.Create(visibility, type, name);
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="FieldDefinitionTranslationUnit"/> class.
 /// </summary>
 /// <param name="name"></param>
 /// <param name="visibility"></param>
 protected FieldDefinitionTranslationUnit(ITranslationUnit name, VisibilityToken visibility)
     : base(name, visibility)
 {
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="FieldDeclarationTranslationUnit"/> class.
 /// </summary>
 /// <param name="name"></param>
 /// <param name="visibility"></param>
 protected FieldDeclarationTranslationUnit(ITranslationUnit name, VisibilityToken visibility)
     : base(name, visibility)
 {
     this.Type = null;
 }
 /// <summary>
 /// Creates the translation unit.
 /// </summary>
 /// <remarks>
 /// Must return a type inheriting from <see cref="MethodSignatureDeclarationTranslationUnit"/>.
 /// </remarks>
 /// <param name="visibility"></param>
 /// <param name="returnType"></param>
 /// <param name="name"></param>
 /// <returns></returns>
 protected virtual ITranslationUnit CreateTranslationUnit(
     VisibilityToken visibility, ITranslationUnit returnType, ITranslationUnit name)
 {
     return MethodDeclarationTranslationUnit.Create(visibility, returnType, name);
 }
 /// <summary>
 /// Creates the translation unit.
 /// </summary>
 /// <remarks>
 /// Must return a type inheriting from <see cref="ClassDeclarationTranslationUnit"/>.
 /// </remarks>
 /// <param name="visibility"></param>
 /// <param name="name"></param>
 /// <param name="baseClassName"></param>
 /// <returns></returns>
 protected override ITranslationUnit CreateTranslationUnit(
     VisibilityToken visibility, ITranslationUnit name, ITranslationUnit baseClassName)
 {
     return(ClassDefinitionTranslationUnit.Create(visibility, name, baseClassName));
 }
        /// <summary>
        /// Initializes a new instance of the <see cref="PropertyDefinitionTranslationUnit"/> class.
        /// </summary>
        /// <param name="name"></param>
        /// <param name="returnType"></param>
        /// <param name="visibility"></param>
        protected PropertyDefinitionTranslationUnit(ITranslationUnit name, ITranslationUnit returnType, VisibilityToken visibility)
            : base(name, visibility)
        {
            this.type = returnType;

            this.hasGet = true;
            this.hasSet = true;
        }
Exemplo n.º 47
0
        /// <summary>
        /// 
        /// </summary>
        /// <param name="visibility"></param>
        /// <param name="name"></param>
        /// <returns></returns>
        public static EnumTranslationUnit Create(VisibilityToken visibility, ITranslationUnit name)
        {
            if (name == null)
            {
                throw new ArgumentNullException(nameof(name), "Enum name cannot be null!");
            }

            return new EnumTranslationUnit()
            {
                Visibility = visibility,
                Name = name
            };
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="PropertyDeclarationTranslationUnit"/> class.
        /// </summary>
        /// <param name="name"></param>
        /// <param name="returnType"></param>
        /// <param name="visibility"></param>
        protected PropertyDeclarationTranslationUnit(ITranslationUnit name, ITranslationUnit returnType, VisibilityToken visibility)
            : base(name, visibility)
        {
            // We create empty groups
            this.getStatements = StatementsGroupTranslationUnit.Create();
            this.setStatements = StatementsGroupTranslationUnit.Create();

            this.type = returnType;

            this.hasGet = true;
            this.hasSet = true;
        }
Exemplo n.º 49
0
 /// <summary>
 /// Creates the translation unit.
 /// </summary>
 /// <remarks>
 /// Must return a type inheriting from <see cref="EnumTranslationUnit"/>.
 /// </remarks>
 /// <param name="visibility"></param>
 /// <param name="name"></param>
 /// <returns></returns>
 protected virtual ITranslationUnit CreateTranslationUnit(VisibilityToken visibility, ITranslationUnit name)
 {
     return(EnumTranslationUnit.Create(visibility, name));
 }
        /// <summary>
        /// 
        /// </summary>
        /// <param name="visibility"></param>
        /// <param name="type"></param>
        /// <param name="name"></param>
        /// <param name="hasGet"></param>
        /// <param name="hasSet"></param>
        /// <returns></returns>
        public static PropertyDeclarationTranslationUnit Create(
            VisibilityToken visibility, ITranslationUnit type, ITranslationUnit name, bool hasGet = true, bool hasSet = true)
        {
            if (name == null)
            {
                throw new ArgumentNullException(nameof(name));
            }
            if (type == null)
            {
                throw new ArgumentNullException(nameof(type));
            }

            return new PropertyDeclarationTranslationUnit()
            {
                Visibility = visibility,
                Name = name,
                type = type
            };
        }
 /// <summary>
 /// Creates the translation unit.
 /// </summary>
 /// <remarks>
 /// Must return a type inheriting from <see cref="InterfaceDeclarationTranslationUnit"/>.
 /// </remarks>
 /// <param name="visibility"></param>
 /// <param name="name"></param>
 /// <returns></returns>
 protected virtual ITranslationUnit CreateTranslationUnit(VisibilityToken visibility, ITranslationUnit name)
 {
     return(InterfaceDeclarationTranslationUnit.Create(visibility, name));
 }
 /// <summary>
 /// Creates the translation unit.
 /// </summary>
 /// <remarks>
 /// Must return a type inheriting from <see cref="ClassDeclarationTranslationUnit"/>.
 /// </remarks>
 /// <param name="visibility"></param>
 /// <param name="name"></param>
 /// <param name="baseClassName"></param>
 /// <returns></returns>
 protected override ITranslationUnit CreateTranslationUnit(
     VisibilityToken visibility, ITranslationUnit name, ITranslationUnit baseClassName)
 {
     return ClassDefinitionTranslationUnit.Create(visibility, name, baseClassName);
 }
 /// <summary>
 /// Creates the translation unit.
 /// </summary>
 /// <remarks>
 /// Must return a type inheriting from <see cref="ClassDeclarationTranslationUnit"/>.
 /// </remarks>
 /// <param name="visibility"></param>
 /// <param name="name"></param>
 /// <param name="baseClassName"></param>
 /// <returns></returns>
 protected virtual ITranslationUnit CreateTranslationUnit(
     VisibilityToken visibility, ITranslationUnit name, ITranslationUnit baseClassName)
 {
     return ClassDeclarationTranslationUnit.Create(visibility, name, baseClassName);
 }
Exemplo n.º 54
0
 /// <summary>
 /// Creates the translation unit.
 /// </summary>
 /// <remarks>
 /// Must return a type inheriting from <see cref="MethodSignatureDeclarationTranslationUnit"/>.
 /// </remarks>
 /// <param name="visibility"></param>
 /// <returns></returns>
 protected virtual ITranslationUnit CreateTranslationUnit(VisibilityToken visibility)
 {
     return(ConstructorDeclarationTranslationUnit.Create(visibility));
 }
 /// <summary>
 /// Creates the translation unit.
 /// </summary>
 /// <remarks>
 /// Must return a type inheriting from <see cref="MethodSignatureDeclarationTranslationUnit"/>.
 /// </remarks>
 /// <param name="visibility"></param>
 /// <param name="returnType"></param>
 /// <param name="name"></param>
 /// <returns></returns>
 protected override ITranslationUnit CreateTranslationUnit(
     VisibilityToken visibility, ITranslationUnit returnType, ITranslationUnit name)
 {
     return MethodDefinitionTranslationUnit.Create(visibility, returnType, name);
 }
 /// <summary>
 /// Creates the translation unit.
 /// </summary>
 /// <param name="visibility"></param>
 /// <param name="type"></param>
 /// <param name="name"></param>
 /// <returns></returns>
 protected override ITranslationUnit CreateTranslationUnit(
     VisibilityToken visibility, ITranslationUnit type, ITranslationUnit name)
 {
     return FieldDefinitionTranslationUnit.Create(visibility, type, name);
 }
Exemplo n.º 57
0
        /// <summary>
        /// 
        /// </summary>
        /// <param name="visibility"></param>
        /// <param name="returnType"></param>
        /// <param name="name"></param>
        /// <param name="getStatements"></param>
        /// <param name="setStatements"></param>
        /// <returns></returns>
        public static ITranslationUnit BuildPropertyTranslationUnit(VisibilityToken visibility, string returnType, string name, ITranslationUnit[] getStatements = null, ITranslationUnit[] setStatements = null)
        {
            if (name == null)
            {
                throw new ArgumentNullException(nameof(name));
            }
            if (returnType == null)
            {
                throw new ArgumentNullException(nameof(returnType));
            }

            PropertyDeclarationTranslationUnit translationUnit = PropertyDeclarationTranslationUnit.Create(
                visibility, TypeIdentifierTranslationUnit.Create(returnType), IdentifierTranslationUnit.Create(name), true, true);

            if (getStatements != null)
            {
                var statementsGroup = StatementsGroupTranslationUnit.Create();
                foreach (ITranslationUnit statement in getStatements)
                {
                    statementsGroup.AddStatement(statement);
                }
                translationUnit.SetGetAccessor(statementsGroup);
            }

            if (setStatements != null)
            {
                var statementsGroup = StatementsGroupTranslationUnit.Create();
                foreach (ITranslationUnit statement in setStatements)
                {
                    statementsGroup.AddStatement(statement);
                }
                translationUnit.SetSetAccessor(statementsGroup);
            }

            return translationUnit;
        }
Exemplo n.º 58
0
 /// <summary>
 /// Creates the translation unit.
 /// </summary>
 /// <remarks>
 /// Must return a type inheriting from <see cref="MethodSignatureDeclarationTranslationUnit"/>.
 /// </remarks>
 /// <param name="visibility"></param>
 /// <returns></returns>
 protected override ITranslationUnit CreateTranslationUnit(VisibilityToken visibility)
 {
     return(ConstructorDefinitionTranslationUnit.Create(visibility));
 }
 /// <summary>
 /// Creates the translation unit.
 /// </summary>
 /// <remarks>
 /// Must return a type inheriting from <see cref="InterfaceDeclarationTranslationUnit"/>.
 /// </remarks>
 /// <param name="visibility"></param>
 /// <param name="name"></param>
 /// <returns></returns>
 protected override ITranslationUnit CreateTranslationUnit(VisibilityToken visibility, ITranslationUnit name)
 {
     return InterfaceDefinitionTranslationUnit.Create(visibility, name);
 }
Exemplo n.º 60
0
 /// <summary>
 /// Initializes a new instance of the <see cref="MemberTranslationUnit"/>.
 /// </summary>
 /// <param name="name"></param>
 /// <param name="visibility"></param>
 protected MemberTranslationUnit(ITranslationUnit name, VisibilityToken visibility)
     : base(visibility)
 {
     this.Name = name;
 }