48 lines
1.4 KiB
C#
48 lines
1.4 KiB
C#
|
// Copyright (c) Microsoft Corporation. All rights reserved. See License.txt in the project root for license information.
|
|||
|
|
|||
|
using System.Diagnostics.CodeAnalysis;
|
|||
|
using System.Web.Razor.Parser.SyntaxTree;
|
|||
|
|
|||
|
namespace System.Web.Razor.Generator
|
|||
|
{
|
|||
|
public abstract class BlockCodeGenerator : CodeGeneratorBase, IBlockCodeGenerator
|
|||
|
{
|
|||
|
[SuppressMessage("Microsoft.Security", "CA2104:DoNotDeclareReadOnlyMutableReferenceTypes", Justification = "This class has no instance state")]
|
|||
|
public static readonly IBlockCodeGenerator Null = new NullBlockCodeGenerator();
|
|||
|
|
|||
|
public virtual void GenerateStartBlockCode(Block target, CodeGeneratorContext context)
|
|||
|
{
|
|||
|
}
|
|||
|
|
|||
|
public virtual void GenerateEndBlockCode(Block target, CodeGeneratorContext context)
|
|||
|
{
|
|||
|
}
|
|||
|
|
|||
|
public override bool Equals(object obj)
|
|||
|
{
|
|||
|
return (obj as IBlockCodeGenerator) != null;
|
|||
|
}
|
|||
|
|
|||
|
public override int GetHashCode()
|
|||
|
{
|
|||
|
return base.GetHashCode();
|
|||
|
}
|
|||
|
|
|||
|
private class NullBlockCodeGenerator : IBlockCodeGenerator
|
|||
|
{
|
|||
|
public void GenerateStartBlockCode(Block target, CodeGeneratorContext context)
|
|||
|
{
|
|||
|
}
|
|||
|
|
|||
|
public void GenerateEndBlockCode(Block target, CodeGeneratorContext context)
|
|||
|
{
|
|||
|
}
|
|||
|
|
|||
|
public override string ToString()
|
|||
|
{
|
|||
|
return "None";
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|