Beispiel #1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="translationUnit"></param>
        /// <param name="className"></param>
        /// <param name="baseClassName"></param>
        /// <returns></returns>
        public static ClassDeclarationTranslationUnit AddClass(this ModuleTranslationUnit translationUnit, string className, string baseClassName)
        {
            var classTranslationUnit = ClassDeclarationTranslationUnit.Create(
                VisibilityToken.Public, IdentifierTranslationUnit.Create(className), IdentifierTranslationUnit.Create(baseClassName));

            translationUnit.AddClass(classTranslationUnit);
            return(classTranslationUnit);
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="translationUnit"></param>
        /// <param name="className"></param>
        /// <returns></returns>
        public static ClassDeclarationTranslationUnit AddClass(this ModuleTranslationUnit translationUnit, string className)
        {
            var classTranslationUnit = ClassDeclarationTranslationUnit.Create(
                ModifierTokens.Public, IdentifierTranslationUnit.Create(className), null);

            translationUnit.AddClass(classTranslationUnit);
            return(classTranslationUnit);
        }
Beispiel #3
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="name"></param>
        /// <returns></returns>
        public static ITranslationUnit BuildModuleTranslationUnit(string name)
        {
            if (name == null)
            {
                throw new ArgumentNullException(nameof(name));
            }

            return(ModuleTranslationUnit.Create(IdentifierTranslationUnit.Create(name)));
        }
Beispiel #4
0
        public void ModuleAddsClass()
        {
            var translationUnit = ModuleTranslationUnit.Create(IdentifierTranslationUnit.Create("Module1"));

            TestInitialNestingLevel(translationUnit);

            var nestedTranslationUnit = ClassDeclarationTranslationUnit.Create(
                VisibilityToken.None, IdentifierTranslationUnit.Create("Class1"), null);

            translationUnit.AddClass(nestedTranslationUnit);
            TestNestingLevels(translationUnit, nestedTranslationUnit);
        }
Beispiel #5
0
        /// <summary>
        /// Initializes a new instance of the <see cref="NamespaceASTWalker"/> class.
        /// </summary>
        protected NamespaceASTWalker(CSharpSyntaxNode node)
        {
            var namespaceSyntaxNode = node as NamespaceDeclarationSyntax;

            if (namespaceSyntaxNode == null)
            {
                throw new ArgumentException(
                          string.Format("Specified node is not of type {0}",
                                        typeof(NamespaceDeclarationSyntax).Name));
            }

            this.node = node;
            NamespaceDeclaration namespaceHelper = new NamespaceDeclaration(namespaceSyntaxNode);

            this.module = ModuleTranslationUnit.Create(
                IdentifierTranslationUnit.Create(namespaceHelper.Name));
        }
Beispiel #6
0
        /// <summary>
        /// Initializes a new instance of the <see cref="NamespaceASTWalker"/> class.
        /// </summary>
        /// <param name="node"></param>
        /// <param name="module"></param>
        /// <param name="semanticModel">The semantic model.</param>
        protected NamespaceASTWalker(CSharpSyntaxNode node, ModuleTranslationUnit module, SemanticModel semanticModel)
            : base(node, semanticModel)
        {
            var namespaceSyntaxNode = node as NamespaceDeclarationSyntax;

            if (namespaceSyntaxNode == null)
            {
                throw new ArgumentException(
                          string.Format("Specified node is not of type {0}",
                                        typeof(NamespaceDeclarationSyntax).Name));
            }

            if (module == null)
            {
                throw new ArgumentNullException(nameof(module));
            }

            this.module = module;
        }
Beispiel #7
0
 /// <summary>
 /// Initializes a new instance of the <see cref="NamespaceDefinitionASTWalker"/> class.
 /// </summary>
 /// <param name="node"></param>
 /// <param name="module"></param>
 /// <param name="semanticModel">The semantic model.</param>
 protected NamespaceDefinitionASTWalker(CSharpSyntaxNode node, ModuleTranslationUnit module, SemanticModel semanticModel)
     : base(node, module, semanticModel)
 {
 }
 /// <summary>
 /// Creates the translation unit.
 /// </summary>
 /// <remarks>
 /// Must return a type inheriting from <see cref="ModuleTranslationUnit"/>.
 /// </remarks>
 /// <param name="name"></param>
 /// <returns></returns>
 protected virtual ITranslationUnit CreateTranslationUnit(ITranslationUnit name)
 {
     return(ModuleTranslationUnit.Create(name));
 }
 public static MockedModuleTranslationUnit Create(ModuleTranslationUnit moduleTranslationUnit)
 {
     return(new MockedModuleTranslationUnit(moduleTranslationUnit));
 }
 protected MockedModuleTranslationUnit(ModuleTranslationUnit original)
     : base(original)
 {
 }
Beispiel #11
0
 /// <summary>
 /// Copy initializes a new instance of the <see cref="NamespaceASTWalker"/> class.
 /// </summary>
 /// <param name="other"></param>
 /// <remarks>
 /// For testability.
 /// </remarks>
 public NamespaceASTWalker(NamespaceASTWalker other)
     : base(other)
 {
     this.module = other.module;
 }