Class describing a program.
Internal members protected for testability.
Inheritance: ITranslationUnit, ICompoundTranslationUnit
コード例 #1
0
        /// <summary>
        /// Initializes a new instance of the <see cref="ProgramASTWalker"/> class.
        /// </summary>
        /// <param name="node"></param>
        /// <param name="module"></param>
        /// <param name="semanticModel">The semantic model.</param>
        protected ProgramASTWalker(CSharpSyntaxNode node, ProgramTranslationUnit program, SemanticModel semanticModel)
            : base(node, semanticModel)
        {
            var programSyntaxNode = node as CompilationUnitSyntax;
            if (programSyntaxNode == null)
            {
                throw new ArgumentException(
                    string.Format("Specified node is not of type {0}",
                    typeof(CompilationUnitSyntax).Name));
            }

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

            this.program = program;
        }
コード例 #2
0
 public static MockedProgramTranslationUnit Create(ProgramTranslationUnit programTranslationUnit)
 {
     return new MockedProgramTranslationUnit(programTranslationUnit);
 }
コード例 #3
0
 protected MockedProgramTranslationUnit(ProgramTranslationUnit original)
     : base(original)
 {
 }
コード例 #4
0
 /// <summary>
 /// Copy initializes a new instance of the <see cref="ProgramTranslationUnit"/> class.
 /// </summary>
 /// <param name="other"></param>
 /// <remarks>
 /// For testability.
 /// </remarks>
 public ProgramTranslationUnit(ProgramTranslationUnit other)
 {
     this.content = other.content;
 }
コード例 #5
0
 /// <summary>
 /// Copy initializes a new instance of the <see cref="ProgramASTWalker"/> class.
 /// </summary>
 /// <param name="other"></param>
 /// <remarks>
 /// For testability.
 /// </remarks>
 public ProgramASTWalker(ProgramASTWalker other)
     : base(other)
 {
     this.program = other.program;
 }
コード例 #6
0
 /// <summary>
 /// Initializes a new instance of the <see cref="ProgramDefinitionASTWalker"/> class.
 /// </summary>
 /// <param name="node"></param>
 /// <param name="module"></param>
 /// <param name="semanticModel">The semantic model.</param>
 protected ProgramDefinitionASTWalker(CSharpSyntaxNode node, ProgramTranslationUnit program, SemanticModel semanticModel)
     : base(node, program, semanticModel)
 {
 }
コード例 #7
0
 /// <summary>
 /// Copy initializes a new instance of the <see cref="ProgramTranslationUnit"/> class.
 /// </summary>
 /// <param name="other"></param>
 /// <remarks>
 /// For testability.
 /// </remarks>
 public ProgramTranslationUnit(ProgramTranslationUnit other)
 {
     this.content = other.content;
 }