Rationalize some names and namespaces

- #320
- `ParserErrorSink` -> `ErrorSink`
- move `ErrorSink`, `RazorError`, and `SourceLocation` to root namespace
- move `RazorErrorTest` and `SourceLocationTest` to root test namespace
This commit is contained in:
Doug Bunting 2015-04-07 16:03:47 -07:00
parent 1831ff57e3
commit e469b26b45
35 changed files with 139 additions and 130 deletions

View File

@ -43,7 +43,7 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
public static IEnumerable<TagHelperDescriptor> CreateDescriptors( public static IEnumerable<TagHelperDescriptor> CreateDescriptors(
string assemblyName, string assemblyName,
[NotNull] Type type, [NotNull] Type type,
[NotNull] ParserErrorSink errorSink) [NotNull] ErrorSink errorSink)
{ {
var typeInfo = type.GetTypeInfo(); var typeInfo = type.GetTypeInfo();
var attributeDescriptors = GetAttributeDescriptors(type); var attributeDescriptors = GetAttributeDescriptors(type);
@ -60,7 +60,7 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
private static IEnumerable<TargetElementAttribute> GetValidTargetElementAttributes( private static IEnumerable<TargetElementAttribute> GetValidTargetElementAttributes(
TypeInfo typeInfo, TypeInfo typeInfo,
ParserErrorSink errorSink) ErrorSink errorSink)
{ {
var targetElementAttributes = typeInfo.GetCustomAttributes<TargetElementAttribute>(inherit: false); var targetElementAttributes = typeInfo.GetCustomAttributes<TargetElementAttribute>(inherit: false);
@ -146,7 +146,7 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
/// </summary> /// </summary>
internal static bool ValidTargetElementAttributeNames( internal static bool ValidTargetElementAttributeNames(
TargetElementAttribute attribute, TargetElementAttribute attribute,
ParserErrorSink errorSink) ErrorSink errorSink)
{ {
var validTagName = ValidateName(attribute.Tag, targetingAttributes: false, errorSink: errorSink); var validTagName = ValidateName(attribute.Tag, targetingAttributes: false, errorSink: errorSink);
var validAttributeNames = true; var validAttributeNames = true;
@ -166,7 +166,7 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
private static bool ValidateName( private static bool ValidateName(
string name, string name,
bool targetingAttributes, bool targetingAttributes,
ParserErrorSink errorSink) ErrorSink errorSink)
{ {
var targetName = targetingAttributes ? var targetName = targetingAttributes ?
Resources.TagHelperDescriptorFactory_Attribute : Resources.TagHelperDescriptorFactory_Attribute :

View File

@ -122,7 +122,7 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
protected virtual IEnumerable<TagHelperDescriptor> ResolveDescriptorsInAssembly( protected virtual IEnumerable<TagHelperDescriptor> ResolveDescriptorsInAssembly(
string assemblyName, string assemblyName,
SourceLocation documentLocation, SourceLocation documentLocation,
ParserErrorSink errorSink) ErrorSink errorSink)
{ {
// Resolve valid tag helper types from the assembly. // Resolve valid tag helper types from the assembly.
var tagHelperTypes = _typeResolver.Resolve(assemblyName, documentLocation, errorSink); var tagHelperTypes = _typeResolver.Resolve(assemblyName, documentLocation, errorSink);
@ -191,7 +191,7 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
private static bool EnsureValidPrefix( private static bool EnsureValidPrefix(
string prefix, string prefix,
SourceLocation directiveLocation, SourceLocation directiveLocation,
ParserErrorSink errorSink) ErrorSink errorSink)
{ {
foreach (var character in prefix) foreach (var character in prefix)
{ {
@ -233,7 +233,7 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
} }
private static LookupInfo GetLookupInfo(TagHelperDirectiveDescriptor directiveDescriptor, private static LookupInfo GetLookupInfo(TagHelperDirectiveDescriptor directiveDescriptor,
ParserErrorSink errorSink) ErrorSink errorSink)
{ {
var lookupText = directiveDescriptor.DirectiveText; var lookupText = directiveDescriptor.DirectiveText;
var lookupStrings = lookupText?.Split(new[] { ',' }); var lookupStrings = lookupText?.Split(new[] { ',' });

View File

@ -33,13 +33,13 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
/// <param name="documentLocation">The <see cref="SourceLocation"/> of the associated /// <param name="documentLocation">The <see cref="SourceLocation"/> of the associated
/// <see cref="Parser.SyntaxTree.SyntaxTreeNode"/> responsible for the current <see cref="Resolve"/> call. /// <see cref="Parser.SyntaxTree.SyntaxTreeNode"/> responsible for the current <see cref="Resolve"/> call.
/// </param> /// </param>
/// <param name="errorSink">The <see cref="ParserErrorSink"/> used to record errors found when resolving /// <param name="errorSink">The <see cref="ErrorSink"/> used to record errors found when resolving
/// <see cref="ITagHelper"/> <see cref="Type"/>s.</param> /// <see cref="ITagHelper"/> <see cref="Type"/>s.</param>
/// <returns>An <see cref="IEnumerable{Type}"/> of valid <see cref="ITagHelper"/> <see cref="Type"/>s. /// <returns>An <see cref="IEnumerable{Type}"/> of valid <see cref="ITagHelper"/> <see cref="Type"/>s.
/// </returns> /// </returns>
public IEnumerable<Type> Resolve(string name, public IEnumerable<Type> Resolve(string name,
SourceLocation documentLocation, SourceLocation documentLocation,
[NotNull] ParserErrorSink errorSink) [NotNull] ErrorSink errorSink)
{ {
if (string.IsNullOrEmpty(name)) if (string.IsNullOrEmpty(name))
{ {

View File

@ -2,22 +2,20 @@
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using System.Collections.Generic; using System.Collections.Generic;
using Microsoft.AspNet.Razor.Parser.SyntaxTree;
using Microsoft.AspNet.Razor.Text;
namespace Microsoft.AspNet.Razor.Parser namespace Microsoft.AspNet.Razor
{ {
/// <summary> /// <summary>
/// Used to manage <see cref="RazorError"/>s encountered during the Razor parsing phase. /// Used to manage <see cref="RazorError"/>s encountered during the Razor parsing phase.
/// </summary> /// </summary>
public class ParserErrorSink public class ErrorSink
{ {
private readonly List<RazorError> _errors; private readonly List<RazorError> _errors;
/// <summary> /// <summary>
/// Instantiates a new instance of <see cref="ParserErrorSink"/>. /// Instantiates a new instance of <see cref="ErrorSink"/>.
/// </summary> /// </summary>
public ParserErrorSink() public ErrorSink()
{ {
_errors = new List<RazorError>(); _errors = new List<RazorError>();
} }

View File

@ -15,10 +15,10 @@ namespace Microsoft.AspNet.Razor.Generator
/// </summary> /// </summary>
/// <param name="generatorContext">A <see cref="CodeGeneratorContext"/> to copy information from.</param> /// <param name="generatorContext">A <see cref="CodeGeneratorContext"/> to copy information from.</param>
/// <param name="errorSink"> /// <param name="errorSink">
/// The <see cref="ParserErrorSink"/> used to collect <see cref="Parser.SyntaxTree.RazorError"/>s encountered /// The <see cref="ErrorSink"/> used to collect <see cref="RazorError"/>s encountered
/// when parsing the current Razor document. /// when parsing the current Razor document.
/// </param> /// </param>
public CodeBuilderContext(CodeGeneratorContext generatorContext, ParserErrorSink errorSink) public CodeBuilderContext(CodeGeneratorContext generatorContext, ErrorSink errorSink)
: base(generatorContext) : base(generatorContext)
{ {
ErrorSink = errorSink; ErrorSink = errorSink;
@ -31,7 +31,7 @@ namespace Microsoft.AspNet.Razor.Generator
string rootNamespace, string rootNamespace,
string sourceFile, string sourceFile,
bool shouldGenerateLinePragmas, bool shouldGenerateLinePragmas,
ParserErrorSink errorSink) ErrorSink errorSink)
: base(host, className, rootNamespace, sourceFile, shouldGenerateLinePragmas) : base(host, className, rootNamespace, sourceFile, shouldGenerateLinePragmas)
{ {
ErrorSink = errorSink; ErrorSink = errorSink;
@ -67,8 +67,8 @@ namespace Microsoft.AspNet.Razor.Generator
public string Checksum { get; set; } public string Checksum { get; set; }
/// <summary> /// <summary>
/// Used to aggregate <see cref="Parser.SyntaxTree.RazorError"/>s. /// Used to aggregate <see cref="RazorError"/>s.
/// </summary> /// </summary>
public ParserErrorSink ErrorSink { get; } public ErrorSink ErrorSink { get; }
} }
} }

View File

@ -39,14 +39,14 @@ namespace Microsoft.AspNet.Razor
/// The <see cref="TagHelperDescriptor"/>s that apply to the current Razor document. /// The <see cref="TagHelperDescriptor"/>s that apply to the current Razor document.
/// </param> /// </param>
/// <param name="errorSink"> /// <param name="errorSink">
/// The <see cref="ParserErrorSink"/> used to collect <see cref="RazorError"/>s encountered when parsing the /// The <see cref="ErrorSink"/> used to collect <see cref="RazorError"/>s encountered when parsing the
/// current Razor document. /// current Razor document.
/// </param> /// </param>
/// <param name="codeBuilderResult">The results of generating code for the document.</param> /// <param name="codeBuilderResult">The results of generating code for the document.</param>
/// <param name="codeTree">A <see cref="CodeTree"/> for the document.</param> /// <param name="codeTree">A <see cref="CodeTree"/> for the document.</param>
public GeneratorResults([NotNull] Block document, public GeneratorResults([NotNull] Block document,
[NotNull] IEnumerable<TagHelperDescriptor> tagHelperDescriptors, [NotNull] IEnumerable<TagHelperDescriptor> tagHelperDescriptors,
[NotNull] ParserErrorSink errorSink, [NotNull] ErrorSink errorSink,
[NotNull] CodeBuilderResult codeBuilderResult, [NotNull] CodeBuilderResult codeBuilderResult,
[NotNull] CodeTree codeTree) [NotNull] CodeTree codeTree)
: base(document, tagHelperDescriptors, errorSink) : base(document, tagHelperDescriptors, errorSink)

View File

@ -22,13 +22,13 @@ namespace Microsoft.AspNet.Razor.Parser
private bool _terminated = false; private bool _terminated = false;
private Stack<BlockBuilder> _blockStack = new Stack<BlockBuilder>(); private Stack<BlockBuilder> _blockStack = new Stack<BlockBuilder>();
private readonly ParserErrorSink _errorSink; private readonly ErrorSink _errorSink;
public ParserContext([NotNull] ITextDocument source, public ParserContext([NotNull] ITextDocument source,
[NotNull] ParserBase codeParser, [NotNull] ParserBase codeParser,
[NotNull] ParserBase markupParser, [NotNull] ParserBase markupParser,
[NotNull] ParserBase activeParser, [NotNull] ParserBase activeParser,
[NotNull] ParserErrorSink errorSink) [NotNull] ErrorSink errorSink)
{ {
if (activeParser != codeParser && activeParser != markupParser) if (activeParser != codeParser && activeParser != markupParser)
{ {

View File

@ -148,7 +148,7 @@ namespace Microsoft.AspNet.Razor.Parser
private ParserResults ParseCore(ITextDocument input) private ParserResults ParseCore(ITextDocument input)
{ {
// Setup the parser context // Setup the parser context
var errorSink = new ParserErrorSink(); var errorSink = new ErrorSink();
var context = new ParserContext(input, CodeParser, MarkupParser, MarkupParser, errorSink) var context = new ParserContext(input, CodeParser, MarkupParser, MarkupParser, errorSink)
{ {
DesignTimeMode = DesignTimeMode DesignTimeMode = DesignTimeMode
@ -210,7 +210,7 @@ namespace Microsoft.AspNet.Razor.Parser
/// <returns><see cref="TagHelperDescriptor"/>s that are applicable to the <paramref name="documentRoot"/> /// <returns><see cref="TagHelperDescriptor"/>s that are applicable to the <paramref name="documentRoot"/>
/// </returns> /// </returns>
protected virtual IEnumerable<TagHelperDescriptor> GetTagHelperDescriptors([NotNull] Block documentRoot, protected virtual IEnumerable<TagHelperDescriptor> GetTagHelperDescriptors([NotNull] Block documentRoot,
[NotNull] ParserErrorSink errorSink) [NotNull] ErrorSink errorSink)
{ {
var addOrRemoveTagHelperSpanVisitor = var addOrRemoveTagHelperSpanVisitor =
new TagHelperDirectiveSpanVisitor(TagHelperDescriptorResolver, errorSink); new TagHelperDirectiveSpanVisitor(TagHelperDescriptorResolver, errorSink);

View File

@ -16,7 +16,7 @@ namespace Microsoft.AspNet.Razor.Parser
/// <summary> /// <summary>
/// Instantiates a new <see cref="RewritingContext"/>. /// Instantiates a new <see cref="RewritingContext"/>.
/// </summary> /// </summary>
public RewritingContext(Block syntaxTree, ParserErrorSink errorSink) public RewritingContext(Block syntaxTree, ErrorSink errorSink)
{ {
_errors = new List<RazorError>(); _errors = new List<RazorError>();
SyntaxTree = syntaxTree; SyntaxTree = syntaxTree;
@ -29,6 +29,6 @@ namespace Microsoft.AspNet.Razor.Parser
/// </summary> /// </summary>
public Block SyntaxTree { get; set; } public Block SyntaxTree { get; set; }
public ParserErrorSink ErrorSink { get; } public ErrorSink ErrorSink { get; }
} }
} }

View File

@ -35,7 +35,8 @@ namespace Microsoft.AspNet.Razor.Parser.SyntaxTree
/// </summary> /// </summary>
/// <param name="node">The node to compare this node with</param> /// <param name="node">The node to compare this node with</param>
/// <returns> /// <returns>
/// true if the provided node has all the same content and metadata, though the specific quantity and type of symbols may be different. /// true if the provided node has all the same content and metadata, though the specific quantity and type of
/// symbols may be different.
/// </returns> /// </returns>
public abstract bool EquivalentTo(SyntaxTreeNode node); public abstract bool EquivalentTo(SyntaxTreeNode node);
} }

View File

@ -22,7 +22,7 @@ namespace Microsoft.AspNet.Razor.Parser.TagHelpers.Internal
bool validStructure, bool validStructure,
Block tag, Block tag,
IEnumerable<TagHelperDescriptor> descriptors, IEnumerable<TagHelperDescriptor> descriptors,
ParserErrorSink errorSink) ErrorSink errorSink)
{ {
// There will always be at least one child for the '<'. // There will always be at least one child for the '<'.
var start = tag.Children.First().Start; var start = tag.Children.First().Start;
@ -37,7 +37,7 @@ namespace Microsoft.AspNet.Razor.Parser.TagHelpers.Internal
bool validStructure, bool validStructure,
Block tagBlock, Block tagBlock,
IEnumerable<TagHelperDescriptor> descriptors, IEnumerable<TagHelperDescriptor> descriptors,
ParserErrorSink errorSink) ErrorSink errorSink)
{ {
var attributes = new Dictionary<string, SyntaxTreeNode>(StringComparer.OrdinalIgnoreCase); var attributes = new Dictionary<string, SyntaxTreeNode>(StringComparer.OrdinalIgnoreCase);
@ -109,7 +109,7 @@ namespace Microsoft.AspNet.Razor.Parser.TagHelpers.Internal
private static bool TryParseSpan( private static bool TryParseSpan(
Span span, Span span,
IReadOnlyDictionary<string, string> attributeValueTypes, IReadOnlyDictionary<string, string> attributeValueTypes,
ParserErrorSink errorSink, ErrorSink errorSink,
out KeyValuePair<string, SyntaxTreeNode> attribute) out KeyValuePair<string, SyntaxTreeNode> attribute)
{ {
var afterEquals = false; var afterEquals = false;
@ -249,7 +249,7 @@ namespace Microsoft.AspNet.Razor.Parser.TagHelpers.Internal
string tagName, string tagName,
Block block, Block block,
IReadOnlyDictionary<string, string> attributeValueTypes, IReadOnlyDictionary<string, string> attributeValueTypes,
ParserErrorSink errorSink, ErrorSink errorSink,
out KeyValuePair<string, SyntaxTreeNode> attribute) out KeyValuePair<string, SyntaxTreeNode> attribute)
{ {
// TODO: Accept more than just spans: https://github.com/aspnet/Razor/issues/96. // TODO: Accept more than just spans: https://github.com/aspnet/Razor/issues/96.

View File

@ -15,18 +15,18 @@ namespace Microsoft.AspNet.Razor.Parser.TagHelpers
public class TagHelperDirectiveSpanVisitor : ParserVisitor public class TagHelperDirectiveSpanVisitor : ParserVisitor
{ {
private readonly ITagHelperDescriptorResolver _descriptorResolver; private readonly ITagHelperDescriptorResolver _descriptorResolver;
private readonly ParserErrorSink _errorSink; private readonly ErrorSink _errorSink;
private List<TagHelperDirectiveDescriptor> _directiveDescriptors; private List<TagHelperDirectiveDescriptor> _directiveDescriptors;
// Internal for testing use // Internal for testing use
internal TagHelperDirectiveSpanVisitor(ITagHelperDescriptorResolver descriptorResolver) internal TagHelperDirectiveSpanVisitor(ITagHelperDescriptorResolver descriptorResolver)
: this(descriptorResolver, new ParserErrorSink()) : this(descriptorResolver, new ErrorSink())
{ {
} }
public TagHelperDirectiveSpanVisitor([NotNull] ITagHelperDescriptorResolver descriptorResolver, public TagHelperDirectiveSpanVisitor([NotNull] ITagHelperDescriptorResolver descriptorResolver,
[NotNull] ParserErrorSink errorSink) [NotNull] ErrorSink errorSink)
{ {
_descriptorResolver = descriptorResolver; _descriptorResolver = descriptorResolver;
_errorSink = errorSink; _errorSink = errorSink;
@ -48,7 +48,7 @@ namespace Microsoft.AspNet.Razor.Parser.TagHelpers
// Allows MVC a chance to override the TagHelperDescriptorResolutionContext // Allows MVC a chance to override the TagHelperDescriptorResolutionContext
protected virtual TagHelperDescriptorResolutionContext GetTagHelperDescriptorResolutionContext( protected virtual TagHelperDescriptorResolutionContext GetTagHelperDescriptorResolutionContext(
[NotNull] IEnumerable<TagHelperDirectiveDescriptor> descriptors, [NotNull] IEnumerable<TagHelperDirectiveDescriptor> descriptors,
[NotNull] ParserErrorSink errorSink) [NotNull] ErrorSink errorSink)
{ {
return new TagHelperDescriptorResolutionContext(descriptors, errorSink); return new TagHelperDescriptorResolutionContext(descriptors, errorSink);
} }

View File

@ -22,12 +22,12 @@ namespace Microsoft.AspNet.Razor
/// The <see cref="TagHelperDescriptor"/>s that apply to the current Razor document. /// The <see cref="TagHelperDescriptor"/>s that apply to the current Razor document.
/// </param> /// </param>
/// <param name="errorSink"> /// <param name="errorSink">
/// The <see cref="ParserErrorSink"/> used to collect <see cref="RazorError"/>s encountered when parsing the /// The <see cref="ErrorSink"/> used to collect <see cref="RazorError"/>s encountered when parsing the
/// current Razor document. /// current Razor document.
/// </param> /// </param>
public ParserResults([NotNull] Block document, public ParserResults([NotNull] Block document,
[NotNull] IEnumerable<TagHelperDescriptor> tagHelperDescriptors, [NotNull] IEnumerable<TagHelperDescriptor> tagHelperDescriptors,
[NotNull] ParserErrorSink errorSink) [NotNull] ErrorSink errorSink)
: this(!errorSink.Errors.Any(), document, tagHelperDescriptors, errorSink) : this(!errorSink.Errors.Any(), document, tagHelperDescriptors, errorSink)
{ {
} }
@ -41,13 +41,13 @@ namespace Microsoft.AspNet.Razor
/// The <see cref="TagHelperDescriptor"/>s that apply to the current Razor document. /// The <see cref="TagHelperDescriptor"/>s that apply to the current Razor document.
/// </param> /// </param>
/// <param name="errorSink"> /// <param name="errorSink">
/// The <see cref="ParserErrorSink"/> used to collect <see cref="RazorError"/>s encountered when parsing the /// The <see cref="ErrorSink"/> used to collect <see cref="RazorError"/>s encountered when parsing the
/// current Razor document. /// current Razor document.
/// </param> /// </param>
protected ParserResults(bool success, protected ParserResults(bool success,
[NotNull] Block document, [NotNull] Block document,
[NotNull] IEnumerable<TagHelperDescriptor> tagHelperDescriptors, [NotNull] IEnumerable<TagHelperDescriptor> tagHelperDescriptors,
[NotNull] ParserErrorSink errorSink) [NotNull] ErrorSink errorSink)
{ {
Success = success; Success = success;
Document = document; Document = document;
@ -71,7 +71,7 @@ namespace Microsoft.AspNet.Razor
/// <summary> /// <summary>
/// Used to aggregate <see cref="RazorError"/>s. /// Used to aggregate <see cref="RazorError"/>s.
/// </summary> /// </summary>
public ParserErrorSink ErrorSink { get; } public ErrorSink ErrorSink { get; }
/// <summary> /// <summary>
/// The list of errors which occurred during parsing. /// The list of errors which occurred during parsing.

View File

@ -3,9 +3,8 @@
using System; using System;
using System.Globalization; using System.Globalization;
using Microsoft.AspNet.Razor.Text;
namespace Microsoft.AspNet.Razor.Parser.SyntaxTree namespace Microsoft.AspNet.Razor
{ {
public class RazorError : IEquatable<RazorError> public class RazorError : IEquatable<RazorError>
{ {
@ -48,7 +47,7 @@ namespace Microsoft.AspNet.Razor.Parser.SyntaxTree
public override bool Equals(object obj) public override bool Equals(object obj)
{ {
var err = obj as RazorError; var err = obj as RazorError;
return (err != null) && (Equals(err)); return (err != null) && Equals(err);
} }
public override int GetHashCode() public override int GetHashCode()

View File

@ -3,8 +3,9 @@
using System; using System;
using System.Globalization; using System.Globalization;
using Microsoft.AspNet.Razor.Text;
namespace Microsoft.AspNet.Razor.Text namespace Microsoft.AspNet.Razor
{ {
#if NET45 #if NET45
// No Serializable attribute in CoreCLR (no need for it anymore?) // No Serializable attribute in CoreCLR (no need for it anymore?)
@ -36,7 +37,12 @@ namespace Microsoft.AspNet.Razor.Text
public override string ToString() public override string ToString()
{ {
return String.Format(CultureInfo.CurrentCulture, "({0}:{1},{2})", AbsoluteIndex, LineIndex, CharacterIndex); return String.Format(
CultureInfo.CurrentCulture,
"({0}:{1},{2})",
AbsoluteIndex,
LineIndex,
CharacterIndex);
} }
public override bool Equals(object obj) public override bool Equals(object obj)
@ -74,19 +80,26 @@ namespace Microsoft.AspNet.Razor.Text
if (right.LineIndex > 0) if (right.LineIndex > 0)
{ {
// Column index doesn't matter // Column index doesn't matter
return new SourceLocation(left.AbsoluteIndex + right.AbsoluteIndex, left.LineIndex + right.LineIndex, right.CharacterIndex); return new SourceLocation(
left.AbsoluteIndex + right.AbsoluteIndex,
left.LineIndex + right.LineIndex,
right.CharacterIndex);
} }
else else
{ {
return new SourceLocation(left.AbsoluteIndex + right.AbsoluteIndex, left.LineIndex + right.LineIndex, left.CharacterIndex + right.CharacterIndex); return new SourceLocation(
left.AbsoluteIndex + right.AbsoluteIndex,
left.LineIndex + right.LineIndex,
left.CharacterIndex + right.CharacterIndex);
} }
} }
public static SourceLocation Subtract(SourceLocation left, SourceLocation right) public static SourceLocation Subtract(SourceLocation left, SourceLocation right)
{ {
return new SourceLocation(left.AbsoluteIndex - right.AbsoluteIndex, return new SourceLocation(
left.LineIndex - right.LineIndex, left.AbsoluteIndex - right.AbsoluteIndex,
left.LineIndex != right.LineIndex ? left.CharacterIndex : left.CharacterIndex - right.CharacterIndex); left.LineIndex - right.LineIndex,
left.LineIndex != right.LineIndex ? left.CharacterIndex : left.CharacterIndex - right.CharacterIndex);
} }
private static SourceLocation CreateUndefined() private static SourceLocation CreateUndefined()

View File

@ -13,7 +13,7 @@ namespace Microsoft.AspNet.Razor.TagHelpers
{ {
// Internal for testing purposes // Internal for testing purposes
internal TagHelperDescriptorResolutionContext(IEnumerable<TagHelperDirectiveDescriptor> directiveDescriptors) internal TagHelperDescriptorResolutionContext(IEnumerable<TagHelperDirectiveDescriptor> directiveDescriptors)
: this(directiveDescriptors, new ParserErrorSink()) : this(directiveDescriptors, new ErrorSink())
{ {
} }
@ -22,10 +22,10 @@ namespace Microsoft.AspNet.Razor.TagHelpers
/// </summary> /// </summary>
/// <param name="directiveDescriptors"><see cref="TagHelperDirectiveDescriptor"/>s used to resolve /// <param name="directiveDescriptors"><see cref="TagHelperDirectiveDescriptor"/>s used to resolve
/// <see cref="TagHelperDescriptor"/>s.</param> /// <see cref="TagHelperDescriptor"/>s.</param>
/// <param name="errorSink">Used to aggregate <see cref="Parser.SyntaxTree.RazorError"/>s.</param> /// <param name="errorSink">Used to aggregate <see cref="RazorError"/>s.</param>
public TagHelperDescriptorResolutionContext( public TagHelperDescriptorResolutionContext(
[NotNull] IEnumerable<TagHelperDirectiveDescriptor> directiveDescriptors, [NotNull] IEnumerable<TagHelperDirectiveDescriptor> directiveDescriptors,
[NotNull] ParserErrorSink errorSink) [NotNull] ErrorSink errorSink)
{ {
DirectiveDescriptors = new List<TagHelperDirectiveDescriptor>(directiveDescriptors); DirectiveDescriptors = new List<TagHelperDirectiveDescriptor>(directiveDescriptors);
ErrorSink = errorSink; ErrorSink = errorSink;
@ -37,8 +37,8 @@ namespace Microsoft.AspNet.Razor.TagHelpers
public IList<TagHelperDirectiveDescriptor> DirectiveDescriptors { get; private set; } public IList<TagHelperDirectiveDescriptor> DirectiveDescriptors { get; private set; }
/// <summary> /// <summary>
/// Used to aggregate <see cref="Parser.SyntaxTree.RazorError"/>s. /// Used to aggregate <see cref="RazorError"/>s.
/// </summary> /// </summary>
public ParserErrorSink ErrorSink { get; private set; } public ErrorSink ErrorSink { get; private set; }
} }
} }

View File

@ -181,7 +181,7 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
IEnumerable<TagHelperDescriptor> expectedDescriptors) IEnumerable<TagHelperDescriptor> expectedDescriptors)
{ {
// Arrange // Arrange
var errorSink = new ParserErrorSink(); var errorSink = new ErrorSink();
// Act // Act
var descriptors = TagHelperDescriptorFactory.CreateDescriptors( var descriptors = TagHelperDescriptorFactory.CreateDescriptors(
@ -229,7 +229,7 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
string expectedAttributeName) string expectedAttributeName)
{ {
// Arrange // Arrange
var errorSink = new ParserErrorSink(); var errorSink = new ErrorSink();
// Act // Act
var descriptors = TagHelperDescriptorFactory.CreateDescriptors( var descriptors = TagHelperDescriptorFactory.CreateDescriptors(
@ -249,7 +249,7 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
public void CreateDescriptor_OverridesAttributeNameFromAttribute() public void CreateDescriptor_OverridesAttributeNameFromAttribute()
{ {
// Arrange // Arrange
var errorSink = new ParserErrorSink(); var errorSink = new ErrorSink();
var validProperty1 = typeof(OverriddenAttributeTagHelper).GetProperty( var validProperty1 = typeof(OverriddenAttributeTagHelper).GetProperty(
nameof(OverriddenAttributeTagHelper.ValidAttribute1)); nameof(OverriddenAttributeTagHelper.ValidAttribute1));
var validProperty2 = typeof(OverriddenAttributeTagHelper).GetProperty( var validProperty2 = typeof(OverriddenAttributeTagHelper).GetProperty(
@ -280,7 +280,7 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
public void CreateDescriptor_DoesNotInheritOverridenAttributeName() public void CreateDescriptor_DoesNotInheritOverridenAttributeName()
{ {
// Arrange // Arrange
var errorSink = new ParserErrorSink(); var errorSink = new ErrorSink();
var validProperty1 = typeof(InheritedOverriddenAttributeTagHelper).GetProperty( var validProperty1 = typeof(InheritedOverriddenAttributeTagHelper).GetProperty(
nameof(InheritedOverriddenAttributeTagHelper.ValidAttribute1)); nameof(InheritedOverriddenAttributeTagHelper.ValidAttribute1));
var validProperty2 = typeof(InheritedOverriddenAttributeTagHelper).GetProperty( var validProperty2 = typeof(InheritedOverriddenAttributeTagHelper).GetProperty(
@ -312,7 +312,7 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
public void CreateDescriptor_AllowsOverridenAttributeNameOnUnimplementedVirtual() public void CreateDescriptor_AllowsOverridenAttributeNameOnUnimplementedVirtual()
{ {
// Arrange // Arrange
var errorSink = new ParserErrorSink(); var errorSink = new ErrorSink();
var validProperty1 = typeof(InheritedNotOverriddenAttributeTagHelper).GetProperty( var validProperty1 = typeof(InheritedNotOverriddenAttributeTagHelper).GetProperty(
nameof(InheritedNotOverriddenAttributeTagHelper.ValidAttribute1)); nameof(InheritedNotOverriddenAttributeTagHelper.ValidAttribute1));
var validProperty2 = typeof(InheritedNotOverriddenAttributeTagHelper).GetProperty( var validProperty2 = typeof(InheritedNotOverriddenAttributeTagHelper).GetProperty(
@ -343,7 +343,7 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
public void CreateDescriptor_BuildsDescriptorsFromSimpleTypes() public void CreateDescriptor_BuildsDescriptorsFromSimpleTypes()
{ {
// Arrange // Arrange
var errorSink = new ParserErrorSink(); var errorSink = new ErrorSink();
var objectAssemblyName = typeof(object).GetTypeInfo().Assembly.GetName().Name; var objectAssemblyName = typeof(object).GetTypeInfo().Assembly.GetName().Name;
var expectedDescriptor = var expectedDescriptor =
new TagHelperDescriptor("object", "System.Object", objectAssemblyName); new TagHelperDescriptor("object", "System.Object", objectAssemblyName);
@ -364,7 +364,7 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
public void CreateDescriptor_BuildsDescriptorsWithInheritedProperties() public void CreateDescriptor_BuildsDescriptorsWithInheritedProperties()
{ {
// Arrange // Arrange
var errorSink = new ParserErrorSink(); var errorSink = new ErrorSink();
var intProperty = typeof(InheritedSingleAttributeTagHelper).GetProperty( var intProperty = typeof(InheritedSingleAttributeTagHelper).GetProperty(
nameof(InheritedSingleAttributeTagHelper.IntAttribute)); nameof(InheritedSingleAttributeTagHelper.IntAttribute));
var expectedDescriptor = new TagHelperDescriptor( var expectedDescriptor = new TagHelperDescriptor(
@ -391,7 +391,7 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
public void CreateDescriptor_BuildsDescriptorsWithConventionNames() public void CreateDescriptor_BuildsDescriptorsWithConventionNames()
{ {
// Arrange // Arrange
var errorSink = new ParserErrorSink(); var errorSink = new ErrorSink();
var intProperty = typeof(SingleAttributeTagHelper).GetProperty(nameof(SingleAttributeTagHelper.IntAttribute)); var intProperty = typeof(SingleAttributeTagHelper).GetProperty(nameof(SingleAttributeTagHelper.IntAttribute));
var expectedDescriptor = new TagHelperDescriptor( var expectedDescriptor = new TagHelperDescriptor(
"single-attribute", "single-attribute",
@ -405,7 +405,7 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
var descriptors = TagHelperDescriptorFactory.CreateDescriptors( var descriptors = TagHelperDescriptorFactory.CreateDescriptors(
AssemblyName, AssemblyName,
typeof(SingleAttributeTagHelper), typeof(SingleAttributeTagHelper),
new ParserErrorSink()); new ErrorSink());
// Assert // Assert
Assert.Empty(errorSink.Errors); Assert.Empty(errorSink.Errors);
@ -417,7 +417,7 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
public void CreateDescriptor_OnlyAcceptsPropertiesWithGetAndSet() public void CreateDescriptor_OnlyAcceptsPropertiesWithGetAndSet()
{ {
// Arrange // Arrange
var errorSink = new ParserErrorSink(); var errorSink = new ErrorSink();
var validProperty = typeof(MissingAccessorTagHelper).GetProperty( var validProperty = typeof(MissingAccessorTagHelper).GetProperty(
nameof(MissingAccessorTagHelper.ValidAttribute)); nameof(MissingAccessorTagHelper.ValidAttribute));
var expectedDescriptor = new TagHelperDescriptor( var expectedDescriptor = new TagHelperDescriptor(
@ -444,7 +444,7 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
public void CreateDescriptor_OnlyAcceptsPropertiesWithPublicGetAndSet() public void CreateDescriptor_OnlyAcceptsPropertiesWithPublicGetAndSet()
{ {
// Arrange // Arrange
var errorSink = new ParserErrorSink(); var errorSink = new ErrorSink();
var validProperty = typeof(PrivateAccessorTagHelper).GetProperty( var validProperty = typeof(PrivateAccessorTagHelper).GetProperty(
nameof(PrivateAccessorTagHelper.ValidAttribute)); nameof(PrivateAccessorTagHelper.ValidAttribute));
var expectedDescriptor = new TagHelperDescriptor( var expectedDescriptor = new TagHelperDescriptor(
@ -472,7 +472,7 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
public void CreateDescriptor_ResolvesMultipleTagHelperDescriptorsFromSingleType() public void CreateDescriptor_ResolvesMultipleTagHelperDescriptorsFromSingleType()
{ {
// Arrange // Arrange
var errorSink = new ParserErrorSink(); var errorSink = new ErrorSink();
var validProp = typeof(MultiTagTagHelper).GetProperty(nameof(MultiTagTagHelper.ValidAttribute)); var validProp = typeof(MultiTagTagHelper).GetProperty(nameof(MultiTagTagHelper.ValidAttribute));
var expectedDescriptors = new[] { var expectedDescriptors = new[] {
new TagHelperDescriptor( new TagHelperDescriptor(
@ -511,7 +511,7 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
public void CreateDescriptor_DoesntResolveInheritedTagNames() public void CreateDescriptor_DoesntResolveInheritedTagNames()
{ {
// Arrange // Arrange
var errorSink = new ParserErrorSink(); var errorSink = new ErrorSink();
var validProp = typeof(InheritedMultiTagTagHelper).GetProperty(nameof(InheritedMultiTagTagHelper.ValidAttribute)); var validProp = typeof(InheritedMultiTagTagHelper).GetProperty(nameof(InheritedMultiTagTagHelper.ValidAttribute));
var expectedDescriptor = new TagHelperDescriptor( var expectedDescriptor = new TagHelperDescriptor(
"inherited-multi-tag", "inherited-multi-tag",
@ -537,7 +537,7 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
public void CreateDescriptor_IgnoresDuplicateTagNamesFromAttribute() public void CreateDescriptor_IgnoresDuplicateTagNamesFromAttribute()
{ {
// Arrange // Arrange
var errorSink = new ParserErrorSink(); var errorSink = new ErrorSink();
var expectedDescriptors = new[] { var expectedDescriptors = new[] {
new TagHelperDescriptor( new TagHelperDescriptor(
"div", "div",
@ -569,7 +569,7 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
public void CreateDescriptor_OverridesTagNameFromAttribute() public void CreateDescriptor_OverridesTagNameFromAttribute()
{ {
// Arrange // Arrange
var errorSink = new ParserErrorSink(); var errorSink = new ErrorSink();
var expectedDescriptors = new[] { var expectedDescriptors = new[] {
new TagHelperDescriptor("data-condition", new TagHelperDescriptor("data-condition",
typeof(OverrideNameTagHelper).FullName, typeof(OverrideNameTagHelper).FullName,
@ -801,7 +801,7 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
string name, string[] expectedErrorMessages) string name, string[] expectedErrorMessages)
{ {
// Arrange // Arrange
var errorSink = new ParserErrorSink(); var errorSink = new ErrorSink();
var attribute = new TargetElementAttribute(name); var attribute = new TargetElementAttribute(name);
// Act // Act

View File

@ -326,7 +326,7 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
var tagHelperDescriptorResolver = var tagHelperDescriptorResolver =
new TestTagHelperDescriptorResolver( new TestTagHelperDescriptorResolver(
new LookupBasedTagHelperTypeResolver(descriptorAssemblyLookups)); new LookupBasedTagHelperTypeResolver(descriptorAssemblyLookups));
var errorSink = new ParserErrorSink(); var errorSink = new ErrorSink();
var resolutionContext = new TagHelperDescriptorResolutionContext( var resolutionContext = new TagHelperDescriptorResolutionContext(
directiveDescriptors, directiveDescriptors,
errorSink); errorSink);
@ -513,7 +513,7 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
new LookupBasedTagHelperTypeResolver(descriptorAssemblyLookups)); new LookupBasedTagHelperTypeResolver(descriptorAssemblyLookups));
var resolutionContext = new TagHelperDescriptorResolutionContext( var resolutionContext = new TagHelperDescriptorResolutionContext(
directiveDescriptors, directiveDescriptors,
new ParserErrorSink()); new ErrorSink());
// Act // Act
var descriptors = tagHelperDescriptorResolver.Resolve(resolutionContext); var descriptors = tagHelperDescriptorResolver.Resolve(resolutionContext);
@ -536,7 +536,7 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
var tagHelperDescriptorResolver = new AssemblyCheckingTagHelperDescriptorResolver(); var tagHelperDescriptorResolver = new AssemblyCheckingTagHelperDescriptorResolver();
var context = new TagHelperDescriptorResolutionContext( var context = new TagHelperDescriptorResolutionContext(
new[] { new TagHelperDirectiveDescriptor(lookupText, TagHelperDirectiveType.AddTagHelper) }, new[] { new TagHelperDirectiveDescriptor(lookupText, TagHelperDirectiveType.AddTagHelper) },
new ParserErrorSink()); new ErrorSink());
// Act // Act
tagHelperDescriptorResolver.Resolve(context); tagHelperDescriptorResolver.Resolve(context);
@ -964,7 +964,7 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
new LookupBasedTagHelperTypeResolver(descriptorAssemblyLookups)); new LookupBasedTagHelperTypeResolver(descriptorAssemblyLookups));
var resolutionContext = new TagHelperDescriptorResolutionContext( var resolutionContext = new TagHelperDescriptorResolutionContext(
directiveDescriptors, directiveDescriptors,
new ParserErrorSink()); new ErrorSink());
// Act // Act
var descriptors = tagHelperDescriptorResolver.Resolve(resolutionContext); var descriptors = tagHelperDescriptorResolver.Resolve(resolutionContext);
@ -1144,7 +1144,7 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
new LookupBasedTagHelperTypeResolver(descriptorAssemblyLookups)); new LookupBasedTagHelperTypeResolver(descriptorAssemblyLookups));
var resolutionContext = new TagHelperDescriptorResolutionContext( var resolutionContext = new TagHelperDescriptorResolutionContext(
directiveDescriptors, directiveDescriptors,
new ParserErrorSink()); new ErrorSink());
// Act // Act
var descriptors = tagHelperDescriptorResolver.Resolve(resolutionContext); var descriptors = tagHelperDescriptorResolver.Resolve(resolutionContext);
@ -1307,7 +1307,7 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
public void DescriptorResolver_CreatesErrorIfInvalidLookupText_DoesNotThrow(string lookupText) public void DescriptorResolver_CreatesErrorIfInvalidLookupText_DoesNotThrow(string lookupText)
{ {
// Arrange // Arrange
var errorSink = new ParserErrorSink(); var errorSink = new ErrorSink();
var tagHelperDescriptorResolver = var tagHelperDescriptorResolver =
new TestTagHelperDescriptorResolver( new TestTagHelperDescriptorResolver(
new TestTagHelperTypeResolver(InvalidTestableTagHelpers)); new TestTagHelperTypeResolver(InvalidTestableTagHelpers));
@ -1340,7 +1340,7 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
"custom exception"; "custom exception";
var documentLocation = new SourceLocation(1, 2, 3); var documentLocation = new SourceLocation(1, 2, 3);
var directiveType = TagHelperDirectiveType.AddTagHelper; var directiveType = TagHelperDirectiveType.AddTagHelper;
var errorSink = new ParserErrorSink(); var errorSink = new ErrorSink();
var expectedError = new Exception("A custom exception"); var expectedError = new Exception("A custom exception");
var tagHelperDescriptorResolver = new ThrowingTagHelperDescriptorResolver(expectedError); var tagHelperDescriptorResolver = new ThrowingTagHelperDescriptorResolver(expectedError);
var resolutionContext = new TagHelperDescriptorResolutionContext( var resolutionContext = new TagHelperDescriptorResolutionContext(
@ -1416,7 +1416,7 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
lookupTexts.Select( lookupTexts.Select(
lookupText => lookupText =>
new TagHelperDirectiveDescriptor(lookupText, TagHelperDirectiveType.AddTagHelper)), new TagHelperDirectiveDescriptor(lookupText, TagHelperDirectiveType.AddTagHelper)),
new ParserErrorSink())); new ErrorSink()));
} }
} }
@ -1451,7 +1451,7 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
protected override IEnumerable<TagHelperDescriptor> ResolveDescriptorsInAssembly( protected override IEnumerable<TagHelperDescriptor> ResolveDescriptorsInAssembly(
string assemblyName, string assemblyName,
SourceLocation documentLocation, SourceLocation documentLocation,
ParserErrorSink errorSink) ErrorSink errorSink)
{ {
CalledWithAssemblyName = assemblyName; CalledWithAssemblyName = assemblyName;
@ -1471,7 +1471,7 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
protected override IEnumerable<TagHelperDescriptor> ResolveDescriptorsInAssembly( protected override IEnumerable<TagHelperDescriptor> ResolveDescriptorsInAssembly(
string assemblyName, string assemblyName,
SourceLocation documentLocation, SourceLocation documentLocation,
ParserErrorSink errorSink) ErrorSink errorSink)
{ {
throw _error; throw _error;
} }

View File

@ -39,7 +39,7 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
{ {
// Arrange // Arrange
var tagHelperTypeResolver = new TagHelperTypeResolver(); var tagHelperTypeResolver = new TagHelperTypeResolver();
var errorSink = new ParserErrorSink(); var errorSink = new ErrorSink();
var documentLocation = new SourceLocation(1, 2, 3); var documentLocation = new SourceLocation(1, 2, 3);
var expectedErrorMessage = "Cannot resolve TagHelper containing assembly 'abcd'. Error: " + var expectedErrorMessage = "Cannot resolve TagHelper containing assembly 'abcd'. Error: " +
"Could not load file or assembly '" + "Could not load file or assembly '" +
@ -67,7 +67,7 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
var tagHelperTypeResolver = new TestTagHelperTypeResolver(TestableTagHelpers); var tagHelperTypeResolver = new TestTagHelperTypeResolver(TestableTagHelpers);
// Act // Act
var types = tagHelperTypeResolver.Resolve("Foo", SourceLocation.Zero, new ParserErrorSink()); var types = tagHelperTypeResolver.Resolve("Foo", SourceLocation.Zero, new ErrorSink());
// Assert // Assert
Assert.Equal(ValidTestableTagHelpers, types); Assert.Equal(ValidTestableTagHelpers, types);
@ -80,7 +80,7 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
var tagHelperTypeResolver = new TestTagHelperTypeResolver(InvalidTestableTagHelpers); var tagHelperTypeResolver = new TestTagHelperTypeResolver(InvalidTestableTagHelpers);
// Act // Act
var types = tagHelperTypeResolver.Resolve("Foo", SourceLocation.Zero, new ParserErrorSink()); var types = tagHelperTypeResolver.Resolve("Foo", SourceLocation.Zero, new ErrorSink());
// Assert // Assert
Assert.Empty(types); Assert.Empty(types);
@ -93,7 +93,7 @@ namespace Microsoft.AspNet.Razor.Runtime.TagHelpers
{ {
// Arrange // Arrange
var tagHelperTypeResolver = new TestTagHelperTypeResolver(InvalidTestableTagHelpers); var tagHelperTypeResolver = new TestTagHelperTypeResolver(InvalidTestableTagHelpers);
var errorSink = new ParserErrorSink(); var errorSink = new ErrorSink();
var documentLocation = new SourceLocation(1, 2, 3); var documentLocation = new SourceLocation(1, 2, 3);
var expectedErrorMessage = "Tag helper directive assembly name cannot be null or empty."; var expectedErrorMessage = "Tag helper directive assembly name cannot be null or empty.";

View File

@ -55,7 +55,7 @@ namespace Microsoft.AspNet.Razor.Test
"myns", "myns",
string.Empty, string.Empty,
shouldGenerateLinePragmas: false, shouldGenerateLinePragmas: false,
errorSink: new ParserErrorSink()); errorSink: new ErrorSink());
// Act // Act
var generator = language.CreateCodeBuilder(codeBuilderContext); var generator = language.CreateCodeBuilder(codeBuilderContext);

View File

@ -36,7 +36,7 @@ namespace Microsoft.AspNet.Razor.Test.Framework
public virtual ParserContext CreateParserContext(ITextDocument input, public virtual ParserContext CreateParserContext(ITextDocument input,
ParserBase codeParser, ParserBase codeParser,
ParserBase markupParser, ParserBase markupParser,
ParserErrorSink errorSink) ErrorSink errorSink)
{ {
return new ParserContext(input, return new ParserContext(input,
codeParser, codeParser,
@ -161,14 +161,14 @@ namespace Microsoft.AspNet.Razor.Test.Framework
return ParseDocument(document, designTimeParser: false, errorSink: null); return ParseDocument(document, designTimeParser: false, errorSink: null);
} }
protected virtual ParserResults ParseDocument(string document, ParserErrorSink errorSink) protected virtual ParserResults ParseDocument(string document, ErrorSink errorSink)
{ {
return ParseDocument(document, designTimeParser: false, errorSink: errorSink); return ParseDocument(document, designTimeParser: false, errorSink: errorSink);
} }
protected virtual ParserResults ParseDocument(string document, protected virtual ParserResults ParseDocument(string document,
bool designTimeParser, bool designTimeParser,
ParserErrorSink errorSink) ErrorSink errorSink)
{ {
return RunParse(document, return RunParse(document,
parser => parser.ParseDocument, parser => parser.ParseDocument,
@ -191,10 +191,10 @@ namespace Microsoft.AspNet.Razor.Test.Framework
Func<ParserBase, Action> parserActionSelector, Func<ParserBase, Action> parserActionSelector,
bool designTimeParser, bool designTimeParser,
Func<ParserContext, ParserBase> parserSelector = null, Func<ParserContext, ParserBase> parserSelector = null,
ParserErrorSink errorSink = null) ErrorSink errorSink = null)
{ {
parserSelector = parserSelector ?? (c => c.ActiveParser); parserSelector = parserSelector ?? (c => c.ActiveParser);
errorSink = errorSink ?? new ParserErrorSink(); errorSink = errorSink ?? new ErrorSink();
// Create the source // Create the source
ParserResults results = null; ParserResults results = null;

View File

@ -163,7 +163,7 @@ namespace Microsoft.AspNet.Razor.Test.Generator
"MyNamespace", "MyNamespace",
string.Empty, string.Empty,
shouldGenerateLinePragmas: true), shouldGenerateLinePragmas: true),
new ParserErrorSink()); new ErrorSink());
} }
private class TrackingUniqueIdsTagHelperCodeRenderer : CSharpTagHelperCodeRenderer private class TrackingUniqueIdsTagHelperCodeRenderer : CSharpTagHelperCodeRenderer

View File

@ -25,7 +25,7 @@ namespace Microsoft.AspNet.Razor.Test.Generator.CodeTree
"TestNamespace", "TestNamespace",
"Foo.cs", "Foo.cs",
shouldGenerateLinePragmas: false, shouldGenerateLinePragmas: false,
errorSink: new ParserErrorSink()); errorSink: new ErrorSink());
codeBuilderContext.CodeTreeBuilder.AddUsingChunk("FakeNamespace1", syntaxTreeNode.Object); codeBuilderContext.CodeTreeBuilder.AddUsingChunk("FakeNamespace1", syntaxTreeNode.Object);
codeBuilderContext.CodeTreeBuilder.AddUsingChunk("FakeNamespace2.SubNamespace", syntaxTreeNode.Object); codeBuilderContext.CodeTreeBuilder.AddUsingChunk("FakeNamespace2.SubNamespace", syntaxTreeNode.Object);
var codeBuilder = new CodeGenTestCodeBuilder(codeBuilderContext); var codeBuilder = new CodeGenTestCodeBuilder(codeBuilderContext);

View File

@ -36,7 +36,7 @@ namespace Microsoft.AspNet.Razor
"myns", "myns",
string.Empty, string.Empty,
shouldGenerateLinePragmas: false, shouldGenerateLinePragmas: false,
errorSink: new ParserErrorSink()); errorSink: new ErrorSink());
var writer = Mock.Of<CodeWriter>(); var writer = Mock.Of<CodeWriter>();
return new Mock<ChunkVisitor<CodeWriter>>(writer, codeBuilderContext); return new Mock<ChunkVisitor<CodeWriter>>(writer, codeBuilderContext);
} }

View File

@ -184,7 +184,7 @@ namespace Microsoft.AspNet.Razor.Test.Parser.Html
{ {
// Act // Act
var results = ParseDocument("<a href='~/Foo/Bar' />"); var results = ParseDocument("<a href='~/Foo/Bar' />");
var rewritingContext = new RewritingContext(results.Document, new ParserErrorSink()); var rewritingContext = new RewritingContext(results.Document, new ErrorSink());
new ConditionalAttributeCollapser(new HtmlMarkupParser().BuildSpan).Rewrite(rewritingContext); new ConditionalAttributeCollapser(new HtmlMarkupParser().BuildSpan).Rewrite(rewritingContext);
new MarkupCollapser(new HtmlMarkupParser().BuildSpan).Rewrite(rewritingContext); new MarkupCollapser(new HtmlMarkupParser().BuildSpan).Rewrite(rewritingContext);
var rewritten = rewritingContext.SyntaxTree; var rewritten = rewritingContext.SyntaxTree;
@ -271,7 +271,7 @@ namespace Microsoft.AspNet.Razor.Test.Parser.Html
// Act // Act
var results = ParseDocument(code); var results = ParseDocument(code);
var rewritingContext = new RewritingContext(results.Document, new ParserErrorSink()); var rewritingContext = new RewritingContext(results.Document, new ErrorSink());
new ConditionalAttributeCollapser(new HtmlMarkupParser().BuildSpan).Rewrite(rewritingContext); new ConditionalAttributeCollapser(new HtmlMarkupParser().BuildSpan).Rewrite(rewritingContext);
new MarkupCollapser(new HtmlMarkupParser().BuildSpan).Rewrite(rewritingContext); new MarkupCollapser(new HtmlMarkupParser().BuildSpan).Rewrite(rewritingContext);
var rewritten = rewritingContext.SyntaxTree; var rewritten = rewritingContext.SyntaxTree;

View File

@ -27,7 +27,7 @@ namespace Microsoft.AspNet.Razor.Test.Parser
codeParser: new CSharpCodeParser(), codeParser: new CSharpCodeParser(),
markupParser: new HtmlMarkupParser(), markupParser: new HtmlMarkupParser(),
activeParser: new CSharpCodeParser(), activeParser: new CSharpCodeParser(),
errorSink: new ParserErrorSink())); errorSink: new ErrorSink()));
ExceptionHelpers.ValidateArgumentException(parameterName, RazorResources.ActiveParser_Must_Be_Code_Or_Markup_Parser, exception); ExceptionHelpers.ValidateArgumentException(parameterName, RazorResources.ActiveParser_Must_Be_Code_Or_Markup_Parser, exception);
} }
@ -36,7 +36,7 @@ namespace Microsoft.AspNet.Razor.Test.Parser
{ {
var codeParser = new CSharpCodeParser(); var codeParser = new CSharpCodeParser();
var markupParser = new HtmlMarkupParser(); var markupParser = new HtmlMarkupParser();
var errorSink = new ParserErrorSink(); var errorSink = new ErrorSink();
new ParserContext( new ParserContext(
new SeekableTextReader(TextReader.Null), codeParser, markupParser, codeParser, errorSink); new SeekableTextReader(TextReader.Null), codeParser, markupParser, codeParser, errorSink);
new ParserContext( new ParserContext(
@ -56,7 +56,7 @@ namespace Microsoft.AspNet.Razor.Test.Parser
expectedCodeParser, expectedCodeParser,
expectedMarkupParser, expectedMarkupParser,
expectedCodeParser, expectedCodeParser,
new ParserErrorSink()); new ErrorSink());
// Assert // Assert
Assert.NotNull(context.Source); Assert.NotNull(context.Source);
@ -233,7 +233,7 @@ namespace Microsoft.AspNet.Razor.Test.Parser
codeParser, codeParser,
markupParser, markupParser,
activeParser, activeParser,
new ParserErrorSink()); new ErrorSink());
positioningAction(context.Source); positioningAction(context.Source);
return context; return context;

View File

@ -19,7 +19,7 @@ namespace Microsoft.AspNet.Razor.Test.Parser
public void VisitThrowsOnNullVisitor() public void VisitThrowsOnNullVisitor()
{ {
ParserVisitor target = null; ParserVisitor target = null;
var errorSink = new ParserErrorSink(); var errorSink = new ErrorSink();
var results = new ParserResults(new BlockBuilder() { Type = BlockType.Comment }.Build(), var results = new ParserResults(new BlockBuilder() { Type = BlockType.Comment }.Build(),
Enumerable.Empty<TagHelperDescriptor>(), Enumerable.Empty<TagHelperDescriptor>(),
errorSink); errorSink);
@ -40,7 +40,7 @@ namespace Microsoft.AspNet.Razor.Test.Parser
// Arrange // Arrange
Mock<ParserVisitor> targetMock = new Mock<ParserVisitor>(); Mock<ParserVisitor> targetMock = new Mock<ParserVisitor>();
var root = new BlockBuilder() { Type = BlockType.Comment }.Build(); var root = new BlockBuilder() { Type = BlockType.Comment }.Build();
var errorSink = new ParserErrorSink(); var errorSink = new ErrorSink();
var results = new ParserResults(root, var results = new ParserResults(root,
Enumerable.Empty<TagHelperDescriptor>(), Enumerable.Empty<TagHelperDescriptor>(),
errorSink); errorSink);
@ -58,7 +58,7 @@ namespace Microsoft.AspNet.Razor.Test.Parser
// Arrange // Arrange
Mock<ParserVisitor> targetMock = new Mock<ParserVisitor>(); Mock<ParserVisitor> targetMock = new Mock<ParserVisitor>();
var root = new BlockBuilder() { Type = BlockType.Comment }.Build(); var root = new BlockBuilder() { Type = BlockType.Comment }.Build();
var errorSink = new ParserErrorSink(); var errorSink = new ErrorSink();
List<RazorError> errors = new List<RazorError> List<RazorError> errors = new List<RazorError>
{ {
new RazorError("Foo", 1, 0, 1), new RazorError("Foo", 1, 0, 1),
@ -84,7 +84,7 @@ namespace Microsoft.AspNet.Razor.Test.Parser
// Arrange // Arrange
Mock<ParserVisitor> targetMock = new Mock<ParserVisitor>(); Mock<ParserVisitor> targetMock = new Mock<ParserVisitor>();
var root = new BlockBuilder() { Type = BlockType.Comment }.Build(); var root = new BlockBuilder() { Type = BlockType.Comment }.Build();
var errorSink = new ParserErrorSink(); var errorSink = new ErrorSink();
errorSink.OnError(new RazorError("Foo", 1, 0, 1)); errorSink.OnError(new RazorError("Foo", 1, 0, 1));
errorSink.OnError(new RazorError("Bar", 2, 0, 2)); errorSink.OnError(new RazorError("Bar", 2, 0, 2));
var results = new ParserResults(root, Enumerable.Empty<TagHelperDescriptor>(), errorSink); var results = new ParserResults(root, Enumerable.Empty<TagHelperDescriptor>(), errorSink);

View File

@ -79,7 +79,7 @@ namespace Microsoft.AspNet.Razor.Test.Parser
parser.Protected() parser.Protected()
.Setup<IEnumerable<TagHelperDescriptor>>("GetTagHelperDescriptors", .Setup<IEnumerable<TagHelperDescriptor>>("GetTagHelperDescriptors",
ItExpr.IsAny<Block>(), ItExpr.IsAny<Block>(),
ItExpr.IsAny<ParserErrorSink>()) ItExpr.IsAny<ErrorSink>())
.Returns(Enumerable.Empty<TagHelperDescriptor>()) .Returns(Enumerable.Empty<TagHelperDescriptor>())
.Verifiable(); .Verifiable();
@ -152,7 +152,7 @@ namespace Microsoft.AspNet.Razor.Test.Parser
get { return Context.CodeParser; } get { return Context.CodeParser; }
} }
public override void BuildSpan(SpanBuilder span, Razor.Text.SourceLocation start, string content) public override void BuildSpan(SpanBuilder span, SourceLocation start, string content)
{ {
throw new NotImplementedException(); throw new NotImplementedException();
} }

View File

@ -31,7 +31,7 @@ namespace Microsoft.AspNet.Razor.Test.Parser
factory.Markup("test") factory.Markup("test")
); );
var rewriter = new WhiteSpaceRewriter(new HtmlMarkupParser().BuildSpan); var rewriter = new WhiteSpaceRewriter(new HtmlMarkupParser().BuildSpan);
var rewritingContext = new RewritingContext(start, new ParserErrorSink()); var rewritingContext = new RewritingContext(start, new ErrorSink());
// Act // Act
rewriter.Rewrite(rewritingContext); rewriter.Rewrite(rewritingContext);

View File

@ -2,11 +2,10 @@
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using System; using System;
using Microsoft.AspNet.Razor.Text;
using Newtonsoft.Json; using Newtonsoft.Json;
using Xunit; using Xunit;
namespace Microsoft.AspNet.Razor.Parser.SyntaxTree namespace Microsoft.AspNet.Razor
{ {
public class RazorErrorTest public class RazorErrorTest
{ {

View File

@ -120,7 +120,7 @@ namespace Microsoft.AspNet.Razor.Test
"different-ns", "different-ns",
string.Empty, string.Empty,
shouldGenerateLinePragmas: true, shouldGenerateLinePragmas: true,
errorSink: new ParserErrorSink()); errorSink: new ErrorSink());
var expected = new CSharpCodeBuilder(codeBuilderContext); var expected = new CSharpCodeBuilder(codeBuilderContext);

View File

@ -1,10 +1,9 @@
// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. // Copyright (c) Microsoft Open Technologies, Inc. All rights reserved.
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using Microsoft.AspNet.Razor.Text;
using Xunit; using Xunit;
namespace Microsoft.AspNet.Razor.Test.Text namespace Microsoft.AspNet.Razor
{ {
public class SourceLocationTest public class SourceLocationTest
{ {

View File

@ -30,7 +30,7 @@ namespace Microsoft.AspNet.Razor.TagHelpers
.Returns(Enumerable.Empty<TagHelperDescriptor>()); .Returns(Enumerable.Empty<TagHelperDescriptor>());
var tagHelperDirectiveSpanVisitor = new TagHelperDirectiveSpanVisitor( var tagHelperDirectiveSpanVisitor = new TagHelperDirectiveSpanVisitor(
resolver.Object, resolver.Object,
new ParserErrorSink()); new ErrorSink());
var document = new MarkupBlock( var document = new MarkupBlock(
Factory.Code("\"one\"").AsAddTagHelper("one"), Factory.Code("\"one\"").AsAddTagHelper("one"),
Factory.Code("\"two\"").AsRemoveTagHelper("two"), Factory.Code("\"two\"").AsRemoveTagHelper("two"),
@ -50,7 +50,7 @@ namespace Microsoft.AspNet.Razor.TagHelpers
{ {
// Arrange // Arrange
var resolver = new TestTagHelperDescriptorResolver(); var resolver = new TestTagHelperDescriptorResolver();
var tagHelperDirectiveSpanVisitor = new TagHelperDirectiveSpanVisitor(resolver, new ParserErrorSink()); var tagHelperDirectiveSpanVisitor = new TagHelperDirectiveSpanVisitor(resolver, new ErrorSink());
var document = new MarkupBlock( var document = new MarkupBlock(
Factory.Code("\"one\"").AsAddTagHelper("one"), Factory.Code("\"one\"").AsAddTagHelper("one"),
Factory.Code("\"two\"").AsRemoveTagHelper("two"), Factory.Code("\"two\"").AsRemoveTagHelper("two"),
@ -122,7 +122,7 @@ namespace Microsoft.AspNet.Razor.TagHelpers
{ {
// Arrange // Arrange
var resolver = new TestTagHelperDescriptorResolver(); var resolver = new TestTagHelperDescriptorResolver();
var tagHelperDirectiveSpanVisitor = new TagHelperDirectiveSpanVisitor(resolver, new ParserErrorSink()); var tagHelperDirectiveSpanVisitor = new TagHelperDirectiveSpanVisitor(resolver, new ErrorSink());
var document = new MarkupBlock( var document = new MarkupBlock(
new DirectiveBlock( new DirectiveBlock(
Factory.CodeTransition(), Factory.CodeTransition(),
@ -149,7 +149,7 @@ namespace Microsoft.AspNet.Razor.TagHelpers
{ {
// Arrange // Arrange
var resolver = new TestTagHelperDescriptorResolver(); var resolver = new TestTagHelperDescriptorResolver();
var tagHelperDirectiveSpanVisitor = new TagHelperDirectiveSpanVisitor(resolver, new ParserErrorSink()); var tagHelperDirectiveSpanVisitor = new TagHelperDirectiveSpanVisitor(resolver, new ErrorSink());
var document = new MarkupBlock( var document = new MarkupBlock(
new DirectiveBlock( new DirectiveBlock(
Factory.CodeTransition(), Factory.CodeTransition(),
@ -173,7 +173,7 @@ namespace Microsoft.AspNet.Razor.TagHelpers
{ {
// Arrange // Arrange
var resolver = new TestTagHelperDescriptorResolver(); var resolver = new TestTagHelperDescriptorResolver();
var tagHelperDirectiveSpanVisitor = new TagHelperDirectiveSpanVisitor(resolver, new ParserErrorSink()); var tagHelperDirectiveSpanVisitor = new TagHelperDirectiveSpanVisitor(resolver, new ErrorSink());
var document = new MarkupBlock( var document = new MarkupBlock(
new DirectiveBlock( new DirectiveBlock(
Factory.CodeTransition(), Factory.CodeTransition(),
@ -199,7 +199,7 @@ namespace Microsoft.AspNet.Razor.TagHelpers
var tagHelperDirectiveSpanVisitor = var tagHelperDirectiveSpanVisitor =
new TagHelperDirectiveSpanVisitor( new TagHelperDirectiveSpanVisitor(
new TestTagHelperDescriptorResolver(), new TestTagHelperDescriptorResolver(),
new ParserErrorSink()); new ErrorSink());
var document = new MarkupBlock(Factory.Markup("Hello World")); var document = new MarkupBlock(Factory.Markup("Hello World"));
// Act // Act
@ -256,22 +256,22 @@ namespace Microsoft.AspNet.Razor.TagHelpers
private class CustomTagHelperDirectiveSpanVisitor : TagHelperDirectiveSpanVisitor private class CustomTagHelperDirectiveSpanVisitor : TagHelperDirectiveSpanVisitor
{ {
private Func<IEnumerable<TagHelperDirectiveDescriptor>, private Func<IEnumerable<TagHelperDirectiveDescriptor>,
ParserErrorSink, ErrorSink,
TagHelperDescriptorResolutionContext> _replacer; TagHelperDescriptorResolutionContext> _replacer;
public CustomTagHelperDirectiveSpanVisitor( public CustomTagHelperDirectiveSpanVisitor(
ITagHelperDescriptorResolver descriptorResolver, ITagHelperDescriptorResolver descriptorResolver,
Func<IEnumerable<TagHelperDirectiveDescriptor>, Func<IEnumerable<TagHelperDirectiveDescriptor>,
ParserErrorSink, ErrorSink,
TagHelperDescriptorResolutionContext> replacer) TagHelperDescriptorResolutionContext> replacer)
: base(descriptorResolver, new ParserErrorSink()) : base(descriptorResolver, new ErrorSink())
{ {
_replacer = replacer; _replacer = replacer;
} }
protected override TagHelperDescriptorResolutionContext GetTagHelperDescriptorResolutionContext( protected override TagHelperDescriptorResolutionContext GetTagHelperDescriptorResolutionContext(
IEnumerable<TagHelperDirectiveDescriptor> descriptors, IEnumerable<TagHelperDirectiveDescriptor> descriptors,
ParserErrorSink errorSink) ErrorSink errorSink)
{ {
return _replacer(descriptors, errorSink); return _replacer(descriptors, errorSink);
} }

View File

@ -4894,7 +4894,7 @@ namespace Microsoft.AspNet.Razor.Test.TagHelpers
public override ParserContext CreateParserContext(ITextDocument input, public override ParserContext CreateParserContext(ITextDocument input,
ParserBase codeParser, ParserBase codeParser,
ParserBase markupParser, ParserBase markupParser,
ParserErrorSink errorSink) ErrorSink errorSink)
{ {
return base.CreateParserContext(input, codeParser, markupParser, errorSink); return base.CreateParserContext(input, codeParser, markupParser, errorSink);
} }
@ -4904,7 +4904,7 @@ namespace Microsoft.AspNet.Razor.Test.TagHelpers
MarkupBlock expectedOutput, MarkupBlock expectedOutput,
IEnumerable<RazorError> expectedErrors) IEnumerable<RazorError> expectedErrors)
{ {
var errorSink = new ParserErrorSink(); var errorSink = new ErrorSink();
var results = ParseDocument(documentContent, errorSink); var results = ParseDocument(documentContent, errorSink);
var rewritingContext = new RewritingContext(results.Document, errorSink); var rewritingContext = new RewritingContext(results.Document, errorSink);
new TagHelperParseTreeRewriter(provider).Rewrite(rewritingContext); new TagHelperParseTreeRewriter(provider).Rewrite(rewritingContext);