/// <summary>
        /// Gets an instance of the chunk generator and is provided an opportunity to decorate or replace it
        /// </summary>
        /// <param name="incomingChunkGenerator">The chunk generator</param>
        /// <returns>Either the same chunk generator, after modifications, or a different chunk generator</returns>
        public virtual RazorChunkGenerator DecorateChunkGenerator(RazorChunkGenerator incomingChunkGenerator)
        {
            if (incomingChunkGenerator == null)
            {
                throw new ArgumentNullException(nameof(incomingChunkGenerator));
            }

            return(incomingChunkGenerator);
        }
Beispiel #2
0
        public void DecorateChunkGeneratorReturnsIncomingChunkGenerator()
        {
            // Arrange
            var expected = new RazorChunkGenerator("Foo", "Bar", "Baz", CreateHost());

            // Act
            var actual = CreateHost().DecorateChunkGenerator(expected);

            // Assert
            Assert.Same(expected, actual);
        }
Beispiel #3
0
        public void DecorateChunkGeneratorReturnsIncomingChunkGenerator()
        {
            // Arrange
            var expected = new RazorChunkGenerator("Foo", "Bar", "Baz", CreateHost());

            // Act
            var actual = CreateHost().DecorateChunkGenerator(expected);

            // Assert
            Assert.Same(expected, actual);
        }
Beispiel #4
0
        public RazorChunkTree Execute(RazorCodeDocument document, RazorSyntaxTree syntaxTree)
        {
            var classInfo = document.GetClassName();

            var generator = new RazorChunkGenerator(classInfo.Class, classInfo.Namespace, document.Source.Filename, _host);

            syntaxTree.Root.Accept(generator);
            foreach (var error in syntaxTree.Diagnostics)
            {
                generator.VisitError(error);
            }
            generator.OnComplete();

            return(new DefaultRazorChunkTree(generator.Context.ChunkTreeBuilder.Root));
        }
Beispiel #5
0
 /// <summary>
 /// Gets an instance of the chunk generator and is provided an opportunity to decorate or replace it
 /// </summary>
 /// <param name="incomingChunkGenerator">The chunk generator</param>
 /// <returns>Either the same chunk generator, after modifications, or a different chunk generator</returns>
 public virtual RazorChunkGenerator DecorateChunkGenerator([NotNull] RazorChunkGenerator incomingChunkGenerator)
 {
     return(incomingChunkGenerator);
 }
Beispiel #6
0
        /// <summary>
        /// Gets an instance of the chunk generator and is provided an opportunity to decorate or replace it
        /// </summary>
        /// <param name="incomingChunkGenerator">The chunk generator</param>
        /// <returns>Either the same chunk generator, after modifications, or a different chunk generator</returns>
        public virtual RazorChunkGenerator DecorateChunkGenerator(RazorChunkGenerator incomingChunkGenerator)
        {
            if (incomingChunkGenerator == null)
            {
                throw new ArgumentNullException(nameof(incomingChunkGenerator));
            }

            return incomingChunkGenerator;
        }