/// <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); }
/// <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))); }
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); }
/// <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)); }
/// <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; }
/// <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) { }
/// <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; }