MQ: Cleanup to use var

This commit is contained in:
Pranav K 2014-10-22 13:17:59 -07:00
parent d12bb79714
commit 21d64b4ae2
95 changed files with 549 additions and 549 deletions

View File

@ -23,7 +23,7 @@ namespace Microsoft.Internal.Web.Utils
} }
else else
{ {
int count = 0; var count = 0;
foreach (object o in e) foreach (object o in e)
{ {
Add(o); Add(o);
@ -42,7 +42,7 @@ namespace Microsoft.Internal.Web.Utils
public HashCodeCombiner Add(object o) public HashCodeCombiner Add(object o)
{ {
int hashCode = (o != null) ? o.GetHashCode() : 0; var hashCode = (o != null) ? o.GetHashCode() : 0;
Add(hashCode); Add(hashCode);
return this; return this;
} }

View File

@ -47,7 +47,7 @@ namespace Microsoft.AspNet.Razor.Parser.SyntaxTree
public override bool Equals(object obj) public override bool Equals(object obj)
{ {
AutoCompleteEditHandler other = obj as AutoCompleteEditHandler; var other = obj as AutoCompleteEditHandler;
return base.Equals(obj) && return base.Equals(obj) &&
other != null && other != null &&
String.Equals(other.AutoCompleteString, AutoCompleteString, StringComparison.Ordinal) && String.Equals(other.AutoCompleteString, AutoCompleteString, StringComparison.Ordinal) &&

View File

@ -86,19 +86,19 @@ namespace Microsoft.AspNet.Razor.Editor
foreach (TextChange change in changes) foreach (TextChange change in changes)
{ {
cancelToken.ThrowIfCancellationRequested(); cancelToken.ThrowIfCancellationRequested();
Span changeOwner = leftTree.LocateOwner(change); var changeOwner = leftTree.LocateOwner(change);
// Apply the change to the tree // Apply the change to the tree
if (changeOwner == null) if (changeOwner == null)
{ {
return true; return true;
} }
EditResult result = changeOwner.EditHandler.ApplyChange(changeOwner, change, force: true); var result = changeOwner.EditHandler.ApplyChange(changeOwner, change, force: true);
changeOwner.ReplaceWith(result.EditedSpan); changeOwner.ReplaceWith(result.EditedSpan);
} }
// Now compare the trees // Now compare the trees
bool treesDifferent = !leftTree.EquivalentTo(rightTree); var treesDifferent = !leftTree.EquivalentTo(rightTree);
return treesDifferent; return treesDifferent;
} }
@ -143,13 +143,13 @@ namespace Microsoft.AspNet.Razor.Editor
private class MainThreadState : ThreadStateBase, IDisposable private class MainThreadState : ThreadStateBase, IDisposable
{ {
private CancellationTokenSource _cancelSource = new CancellationTokenSource(); private readonly CancellationTokenSource _cancelSource = new CancellationTokenSource();
private ManualResetEventSlim _hasParcel = new ManualResetEventSlim(false); private readonly ManualResetEventSlim _hasParcel = new ManualResetEventSlim(false);
private CancellationTokenSource _currentParcelCancelSource; private CancellationTokenSource _currentParcelCancelSource;
[SuppressMessage("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields", Justification = "Field is used in debug code and may be used later")] [SuppressMessage("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields", Justification = "Field is used in debug code and may be used later")]
private string _fileName; private string _fileName;
private object _stateLock = new object(); private readonly object _stateLock = new object();
private IList<TextChange> _changes = new List<TextChange>(); private IList<TextChange> _changes = new List<TextChange>();
public MainThreadState(string fileName) public MainThreadState(string fileName)
@ -299,9 +299,9 @@ namespace Microsoft.AspNet.Razor.Editor
private void WorkerLoop() private void WorkerLoop()
{ {
long? elapsedMs = null; long? elapsedMs = null;
string fileNameOnly = Path.GetFileName(_fileName); var fileNameOnly = Path.GetFileName(_fileName);
#if EDITOR_TRACING #if EDITOR_TRACING
Stopwatch sw = new Stopwatch(); var sw = new Stopwatch();
#endif #endif
try try
@ -316,7 +316,7 @@ namespace Microsoft.AspNet.Razor.Editor
while (!_shutdownToken.IsCancellationRequested) while (!_shutdownToken.IsCancellationRequested)
{ {
// Grab the parcel of work to do // Grab the parcel of work to do
WorkParcel parcel = _main.GetParcel(); var parcel = _main.GetParcel();
if (parcel.Changes.Any()) if (parcel.Changes.Any())
{ {
RazorEditorTrace.TraceLine(RazorResources.FormatTrace_ChangesArrived(fileNameOnly, parcel.Changes.Count)); RazorEditorTrace.TraceLine(RazorResources.FormatTrace_ChangesArrived(fileNameOnly, parcel.Changes.Count));
@ -345,11 +345,11 @@ namespace Microsoft.AspNet.Razor.Editor
allChanges = parcel.Changes.ToList(); allChanges = parcel.Changes.ToList();
} }
TextChange finalChange = allChanges.Last(); var finalChange = allChanges.Last();
#if EDITOR_TRACING #if EDITOR_TRACING
sw.Start(); sw.Start();
#endif #endif
GeneratorResults results = ParseChange(finalChange.NewBuffer, linkedCancel.Token); var results = ParseChange(finalChange.NewBuffer, linkedCancel.Token);
#if EDITOR_TRACING #if EDITOR_TRACING
sw.Stop(); sw.Stop();
elapsedMs = sw.ElapsedMilliseconds; elapsedMs = sw.ElapsedMilliseconds;
@ -369,7 +369,7 @@ namespace Microsoft.AspNet.Razor.Editor
#if EDITOR_TRACING #if EDITOR_TRACING
sw.Start(); sw.Start();
#endif #endif
bool treeStructureChanged = _currentParseTree == null || TreesAreDifferent(_currentParseTree, results.Document, allChanges, parcel.CancelToken); var treeStructureChanged = _currentParseTree == null || TreesAreDifferent(_currentParseTree, results.Document, allChanges, parcel.CancelToken);
#if EDITOR_TRACING #if EDITOR_TRACING
sw.Stop(); sw.Stop();
elapsedMs = sw.ElapsedMilliseconds; elapsedMs = sw.ElapsedMilliseconds;
@ -401,7 +401,7 @@ namespace Microsoft.AspNet.Razor.Editor
{ {
// Rewind the buffer and sanity check the line mappings // Rewind the buffer and sanity check the line mappings
finalChange.NewBuffer.Position = 0; finalChange.NewBuffer.Position = 0;
int lineCount = finalChange.NewBuffer.ReadToEnd().Split(new string[] { Environment.NewLine, "\r", "\n" }, StringSplitOptions.None).Count(); var lineCount = finalChange.NewBuffer.ReadToEnd().Split(new string[] { Environment.NewLine, "\r", "\n" }, StringSplitOptions.None).Count();
Debug.Assert( Debug.Assert(
!args.GeneratorResults.DesignTimeLineMappings.Any(pair => pair.Value.StartLine > lineCount), !args.GeneratorResults.DesignTimeLineMappings.Any(pair => pair.Value.StartLine > lineCount),
"Found a design-time line mapping referring to a line outside the source file!"); "Found a design-time line mapping referring to a line outside the source file!");
@ -456,7 +456,7 @@ namespace Microsoft.AspNet.Razor.Editor
EnsureOnThread(); EnsureOnThread();
// Create a template engine // Create a template engine
RazorTemplateEngine engine = new RazorTemplateEngine(_host); var engine = new RazorTemplateEngine(_host);
// Seek the buffer to the beginning // Seek the buffer to the beginning
buffer.Position = 0; buffer.Position = 0;

View File

@ -35,7 +35,7 @@ namespace Microsoft.AspNet.Razor.Editor
public override bool Equals(object obj) public override bool Equals(object obj)
{ {
ImplicitExpressionEditHandler other = obj as ImplicitExpressionEditHandler; var other = obj as ImplicitExpressionEditHandler;
return other != null && return other != null &&
base.Equals(other) && base.Equals(other) &&
Keywords.SetEquals(other.Keywords) && Keywords.SetEquals(other.Keywords) &&
@ -74,7 +74,7 @@ namespace Microsoft.AspNet.Razor.Editor
{ {
return HandleReplacement(target, normalizedChange); return HandleReplacement(target, normalizedChange);
} }
int changeRelativePosition = normalizedChange.OldPosition - target.Start.AbsoluteIndex; var changeRelativePosition = normalizedChange.OldPosition - target.Start.AbsoluteIndex;
// Get the edit context // Get the edit context
char? lastChar = null; char? lastChar = null;
@ -186,13 +186,13 @@ namespace Microsoft.AspNet.Razor.Editor
private static bool RemainingIsWhitespace(Span target, TextChange change) private static bool RemainingIsWhitespace(Span target, TextChange change)
{ {
int offset = (change.OldPosition - target.Start.AbsoluteIndex) + change.OldLength; var offset = (change.OldPosition - target.Start.AbsoluteIndex) + change.OldLength;
return String.IsNullOrWhiteSpace(target.Content.Substring(offset)); return String.IsNullOrWhiteSpace(target.Content.Substring(offset));
} }
private PartialParseResult HandleDotlessCommitInsertion(Span target) private PartialParseResult HandleDotlessCommitInsertion(Span target)
{ {
PartialParseResult result = PartialParseResult.Accepted; var result = PartialParseResult.Accepted;
if (!AcceptTrailingDot && target.Content.LastOrDefault() == '.') if (!AcceptTrailingDot && target.Content.LastOrDefault() == '.')
{ {
result |= PartialParseResult.Provisional; result |= PartialParseResult.Provisional;
@ -207,9 +207,9 @@ namespace Microsoft.AspNet.Razor.Editor
// 1. Insert "." at the end of this span // 1. Insert "." at the end of this span
// 2. Replace the "Date." at the end of the span with "DateTime." // 2. Replace the "Date." at the end of the span with "DateTime."
// We need partial parsing to accept case #2. // We need partial parsing to accept case #2.
string oldText = GetOldText(target, change); var oldText = GetOldText(target, change);
PartialParseResult result = PartialParseResult.Rejected; var result = PartialParseResult.Rejected;
if (EndsWithDot(oldText) && EndsWithDot(change.NewText)) if (EndsWithDot(oldText) && EndsWithDot(change.NewText))
{ {
result = PartialParseResult.Accepted; result = PartialParseResult.Accepted;
@ -265,7 +265,7 @@ namespace Microsoft.AspNet.Razor.Editor
else if (EndsWithDot(change.NewText)) else if (EndsWithDot(change.NewText))
{ {
// Accept it, possibly provisionally // Accept it, possibly provisionally
PartialParseResult result = PartialParseResult.Accepted; var result = PartialParseResult.Accepted;
if (!AcceptTrailingDot) if (!AcceptTrailingDot)
{ {
result |= PartialParseResult.Provisional; result |= PartialParseResult.Provisional;
@ -297,7 +297,7 @@ namespace Microsoft.AspNet.Razor.Editor
private PartialParseResult TryAcceptChange(Span target, TextChange change, PartialParseResult acceptResult = PartialParseResult.Accepted) private PartialParseResult TryAcceptChange(Span target, TextChange change, PartialParseResult acceptResult = PartialParseResult.Accepted)
{ {
string content = change.ApplyChange(target); var content = change.ApplyChange(target);
if (StartsWithKeyword(content)) if (StartsWithKeyword(content))
{ {
return PartialParseResult.Rejected | PartialParseResult.SpanContextChanged; return PartialParseResult.Rejected | PartialParseResult.SpanContextChanged;
@ -308,7 +308,7 @@ namespace Microsoft.AspNet.Razor.Editor
private bool StartsWithKeyword(string newContent) private bool StartsWithKeyword(string newContent)
{ {
using (StringReader reader = new StringReader(newContent)) using (var reader = new StringReader(newContent))
{ {
return Keywords.Contains(reader.ReadWhile(ParserHelpers.IsIdentifierPart)); return Keywords.Contains(reader.ReadWhile(ParserHelpers.IsIdentifierPart));
} }

View File

@ -56,8 +56,8 @@ namespace Microsoft.AspNet.Razor.Editor
public virtual EditResult ApplyChange(Span target, TextChange change, bool force) public virtual EditResult ApplyChange(Span target, TextChange change, bool force)
{ {
PartialParseResult result = PartialParseResult.Accepted; var result = PartialParseResult.Accepted;
TextChange normalized = change.Normalize(); var normalized = change.Normalize();
if (!force) if (!force)
{ {
result = CanAcceptChange(target, normalized); result = CanAcceptChange(target, normalized);
@ -73,8 +73,8 @@ namespace Microsoft.AspNet.Razor.Editor
public virtual bool OwnsChange(Span target, TextChange change) public virtual bool OwnsChange(Span target, TextChange change)
{ {
int end = target.Start.AbsoluteIndex + target.Length; var end = target.Start.AbsoluteIndex + target.Length;
int changeOldEnd = change.OldPosition + change.OldLength; var changeOldEnd = change.OldPosition + change.OldLength;
return change.OldPosition >= target.Start.AbsoluteIndex && return change.OldPosition >= target.Start.AbsoluteIndex &&
(changeOldEnd < end || (changeOldEnd == end && AcceptedCharacters != AcceptedCharacters.None)); (changeOldEnd < end || (changeOldEnd == end && AcceptedCharacters != AcceptedCharacters.None));
} }
@ -86,8 +86,8 @@ namespace Microsoft.AspNet.Razor.Editor
protected virtual SpanBuilder UpdateSpan(Span target, TextChange normalizedChange) protected virtual SpanBuilder UpdateSpan(Span target, TextChange normalizedChange)
{ {
string newContent = normalizedChange.ApplyChange(target); var newContent = normalizedChange.ApplyChange(target);
SpanBuilder newSpan = new SpanBuilder(target); var newSpan = new SpanBuilder(target);
newSpan.ClearSymbols(); newSpan.ClearSymbols();
foreach (ISymbol sym in Tokenizer(newContent)) foreach (ISymbol sym in Tokenizer(newContent))
{ {
@ -96,7 +96,7 @@ namespace Microsoft.AspNet.Razor.Editor
} }
if (target.Next != null) if (target.Next != null)
{ {
SourceLocation newEnd = SourceLocationTracker.CalculateNewLocation(target.Start, newContent); var newEnd = SourceLocationTracker.CalculateNewLocation(target.Start, newContent);
target.Next.ChangeStart(newEnd); target.Next.ChangeStart(newEnd);
} }
return newSpan; return newSpan;
@ -104,7 +104,7 @@ namespace Microsoft.AspNet.Razor.Editor
protected internal static bool IsAtEndOfFirstLine(Span target, TextChange change) protected internal static bool IsAtEndOfFirstLine(Span target, TextChange change)
{ {
int endOfFirstLine = target.Content.IndexOfAny(new char[] { (char)0x000d, (char)0x000a, (char)0x2028, (char)0x2029 }); var endOfFirstLine = target.Content.IndexOfAny(new char[] { (char)0x000d, (char)0x000a, (char)0x2028, (char)0x2029 });
return (endOfFirstLine == -1 || (change.OldPosition - target.Start.AbsoluteIndex) <= endOfFirstLine); return (endOfFirstLine == -1 || (change.OldPosition - target.Start.AbsoluteIndex) <= endOfFirstLine);
} }
@ -168,7 +168,7 @@ namespace Microsoft.AspNet.Razor.Editor
public override bool Equals(object obj) public override bool Equals(object obj)
{ {
SpanEditHandler other = obj as SpanEditHandler; var other = obj as SpanEditHandler;
return other != null && return other != null &&
AcceptedCharacters == other.AcceptedCharacters && AcceptedCharacters == other.AcceptedCharacters &&
EditorHints == other.EditorHints; EditorHints == other.EditorHints;

View File

@ -20,7 +20,7 @@ namespace Microsoft.AspNet.Razor.Generator
public override void GenerateCode(Span target, CodeGeneratorContext context) public override void GenerateCode(Span target, CodeGeneratorContext context)
{ {
string ns = Namespace; var ns = Namespace;
if (!String.IsNullOrEmpty(ns) && Char.IsWhiteSpace(ns[0])) if (!String.IsNullOrEmpty(ns) && Char.IsWhiteSpace(ns[0]))
{ {
@ -37,7 +37,7 @@ namespace Microsoft.AspNet.Razor.Generator
public override bool Equals(object obj) public override bool Equals(object obj)
{ {
AddImportCodeGenerator other = obj as AddImportCodeGenerator; var other = obj as AddImportCodeGenerator;
return other != null && return other != null &&
String.Equals(Namespace, other.Namespace, StringComparison.Ordinal) && String.Equals(Namespace, other.Namespace, StringComparison.Ordinal) &&
NamespaceKeywordLength == other.NamespaceKeywordLength; NamespaceKeywordLength == other.NamespaceKeywordLength;

View File

@ -44,7 +44,7 @@ namespace Microsoft.AspNet.Razor.Generator
public override bool Equals(object obj) public override bool Equals(object obj)
{ {
AttributeBlockCodeGenerator other = obj as AttributeBlockCodeGenerator; var other = obj as AttributeBlockCodeGenerator;
return other != null && return other != null &&
String.Equals(other.Name, Name, StringComparison.Ordinal) && String.Equals(other.Name, Name, StringComparison.Ordinal) &&
Equals(other.Prefix, Prefix) && Equals(other.Prefix, Prefix) &&

View File

@ -120,7 +120,7 @@ namespace Microsoft.AspNet.Razor.Generator.Compiler.CSharp
writer.WriteUsing(import); writer.WriteUsing(import);
} }
string taskNamespace = typeof(Task).Namespace; var taskNamespace = typeof(Task).Namespace;
// We need to add the task namespace but ONLY if it hasn't been added by the default imports or using imports yet. // We need to add the task namespace but ONLY if it hasn't been added by the default imports or using imports yet.
if (!defaultImports.Contains(taskNamespace) && !usingVisitor.ImportedUsings.Contains(taskNamespace)) if (!defaultImports.Contains(taskNamespace) && !usingVisitor.ImportedUsings.Contains(taskNamespace))

View File

@ -93,7 +93,7 @@ namespace Microsoft.AspNet.Razor.Generator.Compiler.CSharp
{ {
// Need to add an additional line at the end IF there wasn't one already written. // Need to add an additional line at the end IF there wasn't one already written.
// This is needed to work with the C# editor's handling of #line ... // This is needed to work with the C# editor's handling of #line ...
bool endsWithNewline = _writer.GenerateCode().EndsWith("\n"); var endsWithNewline = _writer.GenerateCode().EndsWith("\n");
// Always write at least 1 empty line to potentially separate code from pragmas. // Always write at least 1 empty line to potentially separate code from pragmas.
_writer.WriteLine(); _writer.WriteLine();

View File

@ -26,7 +26,7 @@ namespace Microsoft.AspNet.Razor.Generator.Compiler.CSharp
throw new ArgumentNullException("target"); throw new ArgumentNullException("target");
} }
int padding = CalculatePadding(target, generatedStart: 0); var padding = CalculatePadding(target, generatedStart: 0);
// We treat statement padding specially so for brace positioning, so that in the following example: // We treat statement padding specially so for brace positioning, so that in the following example:
// @if (foo > 0) // @if (foo > 0)
@ -42,7 +42,7 @@ namespace Microsoft.AspNet.Razor.Generator.Compiler.CSharp
padding--; padding--;
} }
string generatedCode = BuildPaddingInternal(padding); var generatedCode = BuildPaddingInternal(padding);
return generatedCode; return generatedCode;
} }
@ -54,7 +54,7 @@ namespace Microsoft.AspNet.Razor.Generator.Compiler.CSharp
public string BuildExpressionPadding(Span target, int generatedStart) public string BuildExpressionPadding(Span target, int generatedStart)
{ {
int padding = CalculatePadding(target, generatedStart); var padding = CalculatePadding(target, generatedStart);
return BuildPaddingInternal(padding); return BuildPaddingInternal(padding);
} }
@ -91,8 +91,8 @@ namespace Microsoft.AspNet.Razor.Generator.Compiler.CSharp
{ {
if (_host.DesignTimeMode && _host.IsIndentingWithTabs) if (_host.DesignTimeMode && _host.IsIndentingWithTabs)
{ {
int spaces = padding % _host.TabSize; var spaces = padding % _host.TabSize;
int tabs = padding / _host.TabSize; var tabs = padding / _host.TabSize;
return new string('\t', tabs) + new string(' ', spaces); return new string('\t', tabs) + new string(' ', spaces);
} }
@ -104,7 +104,7 @@ namespace Microsoft.AspNet.Razor.Generator.Compiler.CSharp
private static int CollectSpacesAndTabs(Span target, int tabSize) private static int CollectSpacesAndTabs(Span target, int tabSize)
{ {
Span firstSpanInLine = target; var firstSpanInLine = target;
string currentContent = null; string currentContent = null;
@ -113,9 +113,9 @@ namespace Microsoft.AspNet.Razor.Generator.Compiler.CSharp
// When scanning previous spans we need to be break down the spans with spaces. The parser combines // When scanning previous spans we need to be break down the spans with spaces. The parser combines
// whitespace into existing spans so you'll see tabs, newlines etc. within spans. We only care about // whitespace into existing spans so you'll see tabs, newlines etc. within spans. We only care about
// the \t in existing spans. // the \t in existing spans.
String previousContent = firstSpanInLine.Previous.Content ?? String.Empty; var previousContent = firstSpanInLine.Previous.Content ?? String.Empty;
int lastNewLineIndex = previousContent.LastIndexOfAny(_newLineChars); var lastNewLineIndex = previousContent.LastIndexOfAny(_newLineChars);
if (lastNewLineIndex < 0) if (lastNewLineIndex < 0)
{ {
@ -134,14 +134,14 @@ namespace Microsoft.AspNet.Razor.Generator.Compiler.CSharp
} }
// We need to walk from the beginning of the line, because space + tab(tabSize) = tabSize columns, but tab(tabSize) + space = tabSize+1 columns. // We need to walk from the beginning of the line, because space + tab(tabSize) = tabSize columns, but tab(tabSize) + space = tabSize+1 columns.
Span currentSpanInLine = firstSpanInLine; var currentSpanInLine = firstSpanInLine;
if (currentContent == null) if (currentContent == null)
{ {
currentContent = currentSpanInLine.Content; currentContent = currentSpanInLine.Content;
} }
int padding = 0; var padding = 0;
while (currentSpanInLine != target) while (currentSpanInLine != target)
{ {
if (currentContent != null) if (currentContent != null)

View File

@ -69,7 +69,7 @@ namespace Microsoft.AspNet.Razor.Generator.Compiler.CSharp
Writer.Write(ItemParameterName).Write(" => ") Writer.Write(ItemParameterName).Write(" => ")
.WriteStartNewObject(Context.Host.GeneratedClassContext.TemplateTypeName); .WriteStartNewObject(Context.Host.GeneratedClassContext.TemplateTypeName);
string currentTargetWriterName = Context.TargetWriterName; var currentTargetWriterName = Context.TargetWriterName;
Context.TargetWriterName = TemplateWriterName; Context.TargetWriterName = TemplateWriterName;
using (Writer.BuildLambda(endLine: false, parameterNames: TemplateWriterName)) using (Writer.BuildLambda(endLine: false, parameterNames: TemplateWriterName))
@ -184,8 +184,8 @@ namespace Microsoft.AspNet.Razor.Generator.Compiler.CSharp
return; return;
} }
ExpressionRenderingMode currentRenderingMode = Context.ExpressionRenderingMode; var currentRenderingMode = Context.ExpressionRenderingMode;
string currentTargetWriterName = Context.TargetWriterName; var currentTargetWriterName = Context.TargetWriterName;
Context.TargetWriterName = ValueWriterName; Context.TargetWriterName = ValueWriterName;
@ -261,7 +261,7 @@ namespace Microsoft.AspNet.Razor.Generator.Compiler.CSharp
{ {
Writer.WriteStartMethodInvocation("Tuple.Create", new string[] { "System.Object", "System.Int32" }); Writer.WriteStartMethodInvocation("Tuple.Create", new string[] { "System.Object", "System.Int32" });
ExpressionRenderingMode currentRenderingMode = Context.ExpressionRenderingMode; var currentRenderingMode = Context.ExpressionRenderingMode;
Context.ExpressionRenderingMode = ExpressionRenderingMode.InjectCode; Context.ExpressionRenderingMode = ExpressionRenderingMode.InjectCode;
Accept(chunk.Children); Accept(chunk.Children);
@ -339,8 +339,8 @@ namespace Microsoft.AspNet.Razor.Generator.Compiler.CSharp
if (firstChild != null) if (firstChild != null)
{ {
int currentIndent = Writer.CurrentIndent; var currentIndent = Writer.CurrentIndent;
string designTimeAssignment = "__o = "; var designTimeAssignment = "__o = ";
Writer.ResetIndent(); Writer.ResetIndent();
var documentLocation = firstChild.Association.Start; var documentLocation = firstChild.Association.Start;

View File

@ -23,10 +23,10 @@ namespace Microsoft.AspNet.Razor.Generator.Compiler.CSharp
{ {
IDisposable lambdaScope = null; IDisposable lambdaScope = null;
string accessibility = "public " + (Context.Host.StaticHelpers ? "static" : String.Empty); var accessibility = "public " + (Context.Host.StaticHelpers ? "static" : String.Empty);
// We want to write the method signature at 0 indentation so if helper's are formatted they format correctly. // We want to write the method signature at 0 indentation so if helper's are formatted they format correctly.
int currentIndentation = Writer.CurrentIndent; var currentIndentation = Writer.CurrentIndent;
Writer.ResetIndent(); Writer.ResetIndent();
Writer.Write(accessibility).Write(" ").Write(Context.Host.GeneratedClassContext.TemplateTypeName).Write(" "); Writer.Write(accessibility).Write(" ").Write(Context.Host.GeneratedClassContext.TemplateTypeName).Write(" ");
Writer.SetIndent(currentIndentation); Writer.SetIndent(currentIndentation);
@ -44,7 +44,7 @@ namespace Microsoft.AspNet.Razor.Generator.Compiler.CSharp
lambdaScope = Writer.BuildLambda(endLine: false, parameterNames: HelperWriterName); lambdaScope = Writer.BuildLambda(endLine: false, parameterNames: HelperWriterName);
} }
string currentTargetWriterName = Context.TargetWriterName; var currentTargetWriterName = Context.TargetWriterName;
Context.TargetWriterName = HelperWriterName; Context.TargetWriterName = HelperWriterName;
// Generate children code // Generate children code

View File

@ -23,8 +23,8 @@ namespace Microsoft.AspNet.Razor.Generator.Compiler.CSharp
protected override void Visit(UsingChunk chunk) protected override void Visit(UsingChunk chunk)
{ {
string documentContent = ((Span)chunk.Association).Content.Trim(); var documentContent = ((Span)chunk.Association).Content.Trim();
bool mapSemicolon = false; var mapSemicolon = false;
if (documentContent.LastOrDefault() == ';') if (documentContent.LastOrDefault() == ';')
{ {

View File

@ -21,7 +21,7 @@ namespace Microsoft.AspNet.Razor.Generator.Compiler
public override bool Equals(object obj) public override bool Equals(object obj)
{ {
LineMapping other = obj as LineMapping; var other = obj as LineMapping;
return DocumentLocation.Equals(other.DocumentLocation) && return DocumentLocation.Equals(other.DocumentLocation) &&
GeneratedLocation.Equals(other.GeneratedLocation); GeneratedLocation.Equals(other.GeneratedLocation);
} }

View File

@ -24,7 +24,7 @@ namespace Microsoft.AspNet.Razor.Generator.Compiler
public override bool Equals(object obj) public override bool Equals(object obj)
{ {
MappingLocation other = obj as MappingLocation; var other = obj as MappingLocation;
return AbsoluteIndex == other.AbsoluteIndex && return AbsoluteIndex == other.AbsoluteIndex &&
ContentLength == other.ContentLength && ContentLength == other.ContentLength &&

View File

@ -45,7 +45,7 @@ namespace Microsoft.AspNet.Razor.Generator
public override bool Equals(object obj) public override bool Equals(object obj)
{ {
DynamicAttributeBlockCodeGenerator other = obj as DynamicAttributeBlockCodeGenerator; var other = obj as DynamicAttributeBlockCodeGenerator;
return other != null && return other != null &&
Equals(other.Prefix, Prefix); Equals(other.Prefix, Prefix);
} }

View File

@ -37,7 +37,7 @@ namespace Microsoft.AspNet.Razor.Generator
public override bool Equals(object obj) public override bool Equals(object obj)
{ {
HelperCodeGenerator other = obj as HelperCodeGenerator; var other = obj as HelperCodeGenerator;
return other != null && return other != null &&
base.Equals(other) && base.Equals(other) &&
HeaderComplete == other.HeaderComplete && HeaderComplete == other.HeaderComplete &&

View File

@ -60,7 +60,7 @@ namespace Microsoft.AspNet.Razor.Generator
public override bool Equals(object obj) public override bool Equals(object obj)
{ {
LiteralAttributeCodeGenerator other = obj as LiteralAttributeCodeGenerator; var other = obj as LiteralAttributeCodeGenerator;
return other != null && return other != null &&
Equals(other.Prefix, Prefix) && Equals(other.Prefix, Prefix) &&
Equals(other.Value, Value) && Equals(other.Value, Value) &&

View File

@ -38,7 +38,7 @@ namespace Microsoft.AspNet.Razor.Generator
public override bool Equals(object obj) public override bool Equals(object obj)
{ {
RazorDirectiveAttributeCodeGenerator other = obj as RazorDirectiveAttributeCodeGenerator; var other = obj as RazorDirectiveAttributeCodeGenerator;
return other != null && return other != null &&
Name.Equals(other.Name, StringComparison.OrdinalIgnoreCase) && Name.Equals(other.Name, StringComparison.OrdinalIgnoreCase) &&
Value.Equals(other.Value, StringComparison.OrdinalIgnoreCase); Value.Equals(other.Value, StringComparison.OrdinalIgnoreCase);

View File

@ -31,7 +31,7 @@ namespace Microsoft.AspNet.Razor.Generator
public override bool Equals(object obj) public override bool Equals(object obj)
{ {
SectionCodeGenerator other = obj as SectionCodeGenerator; var other = obj as SectionCodeGenerator;
return other != null && return other != null &&
base.Equals(other) && base.Equals(other) &&
String.Equals(SectionName, other.SectionName, StringComparison.Ordinal); String.Equals(SectionName, other.SectionName, StringComparison.Ordinal);

View File

@ -27,7 +27,7 @@ namespace Microsoft.AspNet.Razor.Generator
public override bool Equals(object obj) public override bool Equals(object obj)
{ {
SetBaseTypeCodeGenerator other = obj as SetBaseTypeCodeGenerator; var other = obj as SetBaseTypeCodeGenerator;
return other != null && return other != null &&
String.Equals(BaseType, other.BaseType, StringComparison.Ordinal); String.Equals(BaseType, other.BaseType, StringComparison.Ordinal);
} }

View File

@ -27,7 +27,7 @@ namespace Microsoft.AspNet.Razor.Generator
public override bool Equals(object obj) public override bool Equals(object obj)
{ {
SetLayoutCodeGenerator other = obj as SetLayoutCodeGenerator; var other = obj as SetLayoutCodeGenerator;
return other != null && String.Equals(other.LayoutPath, LayoutPath, StringComparison.Ordinal); return other != null && String.Equals(other.LayoutPath, LayoutPath, StringComparison.Ordinal);
} }

View File

@ -43,7 +43,7 @@ namespace Microsoft.AspNet.Razor.Parser
Context.CurrentBlock.Type = BlockType.Directive; Context.CurrentBlock.Type = BlockType.Directive;
// Accept spaces, but not newlines // Accept spaces, but not newlines
bool foundSomeWhitespace = At(CSharpSymbolType.WhiteSpace); var foundSomeWhitespace = At(CSharpSymbolType.WhiteSpace);
AcceptWhile(CSharpSymbolType.WhiteSpace); AcceptWhile(CSharpSymbolType.WhiteSpace);
Output(SpanKind.MetaCode, foundSomeWhitespace ? AcceptedCharacters.None : AcceptedCharacters.Any); Output(SpanKind.MetaCode, foundSomeWhitespace ? AcceptedCharacters.None : AcceptedCharacters.Any);
@ -51,7 +51,7 @@ namespace Microsoft.AspNet.Razor.Parser
AcceptUntil(CSharpSymbolType.NewLine); AcceptUntil(CSharpSymbolType.NewLine);
Span.CodeGenerator = new SetLayoutCodeGenerator(Span.GetContent()); Span.CodeGenerator = new SetLayoutCodeGenerator(Span.GetContent());
Span.EditHandler.EditorHints = EditorHints.LayoutPage | EditorHints.VirtualPath; Span.EditHandler.EditorHints = EditorHints.LayoutPage | EditorHints.VirtualPath;
bool foundNewline = Optional(CSharpSymbolType.NewLine); var foundNewline = Optional(CSharpSymbolType.NewLine);
AddMarkerSymbolIfNecessary(); AddMarkerSymbolIfNecessary();
Output(SpanKind.MetaCode, foundNewline ? AcceptedCharacters.None : AcceptedCharacters.Any); Output(SpanKind.MetaCode, foundNewline ? AcceptedCharacters.None : AcceptedCharacters.Any);
} }
@ -75,7 +75,7 @@ namespace Microsoft.AspNet.Razor.Parser
Context.CurrentBlock.Type = BlockType.Directive; Context.CurrentBlock.Type = BlockType.Directive;
// Accept whitespace // Accept whitespace
CSharpSymbol remainingWs = AcceptSingleWhiteSpaceCharacter(); var remainingWs = AcceptSingleWhiteSpaceCharacter();
if (Span.Symbols.Count > 1) if (Span.Symbols.Count > 1)
{ {
@ -97,7 +97,7 @@ namespace Microsoft.AspNet.Razor.Parser
} }
// Pull out the type name // Pull out the type name
string sessionStateValue = String.Concat( var sessionStateValue = String.Concat(
Span.Symbols Span.Symbols
.Cast<CSharpSymbol>() .Cast<CSharpSymbol>()
.Select(sym => sym.Content)).Trim(); .Select(sym => sym.Content)).Trim();
@ -119,14 +119,14 @@ namespace Microsoft.AspNet.Razor.Parser
[SuppressMessage("Microsoft.Globalization", "CA1308:NormalizeStringsToUppercase", Justification = "C# Keywords are always lower-case")] [SuppressMessage("Microsoft.Globalization", "CA1308:NormalizeStringsToUppercase", Justification = "C# Keywords are always lower-case")]
protected virtual void HelperDirective() protected virtual void HelperDirective()
{ {
bool nested = Context.IsWithin(BlockType.Helper); var nested = Context.IsWithin(BlockType.Helper);
// Set the block and span type // Set the block and span type
Context.CurrentBlock.Type = BlockType.Helper; Context.CurrentBlock.Type = BlockType.Helper;
// Verify we're on "helper" and accept // Verify we're on "helper" and accept
AssertDirective(SyntaxConstants.CSharp.HelperKeyword); AssertDirective(SyntaxConstants.CSharp.HelperKeyword);
Block block = new Block(CurrentSymbol.Content.ToString().ToLowerInvariant(), CurrentLocation); var block = new Block(CurrentSymbol.Content.ToString().ToLowerInvariant(), CurrentLocation);
AcceptAndMoveNext(); AcceptAndMoveNext();
if (nested) if (nested)
@ -159,7 +159,7 @@ namespace Microsoft.AspNet.Razor.Parser
return; return;
} }
CSharpSymbol remainingWs = AcceptSingleWhiteSpaceCharacter(); var remainingWs = AcceptSingleWhiteSpaceCharacter();
// Output metacode and continue // Output metacode and continue
Output(SpanKind.MetaCode); Output(SpanKind.MetaCode);
@ -170,7 +170,7 @@ namespace Microsoft.AspNet.Razor.Parser
AcceptWhile(IsSpacingToken(includeNewLines: false, includeComments: true)); // Don't accept newlines. AcceptWhile(IsSpacingToken(includeNewLines: false, includeComments: true)); // Don't accept newlines.
// Expecting an identifier (helper name) // Expecting an identifier (helper name)
bool errorReported = !Required(CSharpSymbolType.Identifier, errorIfNotFound: true, errorBase: RazorResources.FormatParseError_Unexpected_Character_At_Helper_Name_Start); var errorReported = !Required(CSharpSymbolType.Identifier, errorIfNotFound: true, errorBase: RazorResources.FormatParseError_Unexpected_Character_At_Helper_Name_Start);
if (!errorReported) if (!errorReported)
{ {
Assert(CSharpSymbolType.Identifier); Assert(CSharpSymbolType.Identifier);
@ -180,7 +180,7 @@ namespace Microsoft.AspNet.Razor.Parser
AcceptWhile(IsSpacingToken(includeNewLines: false, includeComments: true)); AcceptWhile(IsSpacingToken(includeNewLines: false, includeComments: true));
// Expecting parameter list start: "(" // Expecting parameter list start: "("
SourceLocation bracketErrorPos = CurrentLocation; var bracketErrorPos = CurrentLocation;
if (!Optional(CSharpSymbolType.LeftParenthesis)) if (!Optional(CSharpSymbolType.LeftParenthesis))
{ {
if (!errorReported) if (!errorReported)
@ -193,7 +193,7 @@ namespace Microsoft.AspNet.Razor.Parser
} }
else else
{ {
SourceLocation bracketStart = CurrentLocation; var bracketStart = CurrentLocation;
if (!Balance(BalancingModes.NoErrorOnFailure, if (!Balance(BalancingModes.NoErrorOnFailure,
CSharpSymbolType.LeftParenthesis, CSharpSymbolType.LeftParenthesis,
CSharpSymbolType.RightParenthesis, CSharpSymbolType.RightParenthesis,
@ -207,12 +207,12 @@ namespace Microsoft.AspNet.Razor.Parser
Optional(CSharpSymbolType.RightParenthesis); Optional(CSharpSymbolType.RightParenthesis);
} }
int bookmark = CurrentLocation.AbsoluteIndex; var bookmark = CurrentLocation.AbsoluteIndex;
IEnumerable<CSharpSymbol> ws = ReadWhile(IsSpacingToken(includeNewLines: true, includeComments: true)); IEnumerable<CSharpSymbol> ws = ReadWhile(IsSpacingToken(includeNewLines: true, includeComments: true));
// Expecting a "{" // Expecting a "{"
SourceLocation errorLocation = CurrentLocation; var errorLocation = CurrentLocation;
bool headerComplete = At(CSharpSymbolType.LeftBrace); var headerComplete = At(CSharpSymbolType.LeftBrace);
if (headerComplete) if (headerComplete)
{ {
Accept(ws); Accept(ws);
@ -235,7 +235,7 @@ namespace Microsoft.AspNet.Razor.Parser
// Grab the signature and build the code generator // Grab the signature and build the code generator
AddMarkerSymbolIfNecessary(); AddMarkerSymbolIfNecessary();
LocationTagged<string> signature = Span.GetContent(); LocationTagged<string> signature = Span.GetContent();
HelperCodeGenerator blockGen = new HelperCodeGenerator(signature, headerComplete); var blockGen = new HelperCodeGenerator(signature, headerComplete);
Context.CurrentBlock.CodeGenerator = blockGen; Context.CurrentBlock.CodeGenerator = blockGen;
// The block will generate appropriate code, // The block will generate appropriate code,
@ -254,7 +254,7 @@ namespace Microsoft.AspNet.Razor.Parser
} }
// We're valid, so parse the nested block // We're valid, so parse the nested block
AutoCompleteEditHandler bodyEditHandler = new AutoCompleteEditHandler(Language.TokenizeString); var bodyEditHandler = new AutoCompleteEditHandler(Language.TokenizeString);
using (PushSpanConfig(DefaultSpanConfig)) using (PushSpanConfig(DefaultSpanConfig))
{ {
using (Context.StartBlock(BlockType.Statement)) using (Context.StartBlock(BlockType.Statement))
@ -289,8 +289,8 @@ namespace Microsoft.AspNet.Razor.Parser
protected virtual void SectionDirective() protected virtual void SectionDirective()
{ {
bool nested = Context.IsWithin(BlockType.Section); var nested = Context.IsWithin(BlockType.Section);
bool errorReported = false; var errorReported = false;
// Set the block and span type // Set the block and span type
Context.CurrentBlock.Type = BlockType.Section; Context.CurrentBlock.Type = BlockType.Section;
@ -308,7 +308,7 @@ namespace Microsoft.AspNet.Razor.Parser
IEnumerable<CSharpSymbol> ws = ReadWhile(IsSpacingToken(includeNewLines: true, includeComments: false)); IEnumerable<CSharpSymbol> ws = ReadWhile(IsSpacingToken(includeNewLines: true, includeComments: false));
// Get the section name // Get the section name
string sectionName = String.Empty; var sectionName = String.Empty;
if (!Required(CSharpSymbolType.Identifier, if (!Required(CSharpSymbolType.Identifier,
errorIfNotFound: true, errorIfNotFound: true,
errorBase: RazorResources.FormatParseError_Unexpected_Character_At_Section_Name_Start)) errorBase: RazorResources.FormatParseError_Unexpected_Character_At_Section_Name_Start))
@ -330,11 +330,11 @@ namespace Microsoft.AspNet.Razor.Parser
} }
Context.CurrentBlock.CodeGenerator = new SectionCodeGenerator(sectionName); Context.CurrentBlock.CodeGenerator = new SectionCodeGenerator(sectionName);
SourceLocation errorLocation = CurrentLocation; var errorLocation = CurrentLocation;
ws = ReadWhile(IsSpacingToken(includeNewLines: true, includeComments: false)); ws = ReadWhile(IsSpacingToken(includeNewLines: true, includeComments: false));
// Get the starting brace // Get the starting brace
bool sawStartingBrace = At(CSharpSymbolType.LeftBrace); var sawStartingBrace = At(CSharpSymbolType.LeftBrace);
if (!sawStartingBrace) if (!sawStartingBrace)
{ {
if (!errorReported) if (!errorReported)
@ -357,7 +357,7 @@ namespace Microsoft.AspNet.Razor.Parser
} }
// Set up edit handler // Set up edit handler
AutoCompleteEditHandler editHandler = new AutoCompleteEditHandler(Language.TokenizeString) { AutoCompleteAtEndOfSpan = true }; var editHandler = new AutoCompleteEditHandler(Language.TokenizeString) { AutoCompleteAtEndOfSpan = true };
Span.EditHandler = editHandler; Span.EditHandler = editHandler;
Span.Accept(CurrentSymbol); Span.Accept(CurrentSymbol);
@ -391,7 +391,7 @@ namespace Microsoft.AspNet.Razor.Parser
// Verify we're on "functions" and accept // Verify we're on "functions" and accept
AssertDirective(SyntaxConstants.CSharp.FunctionsKeyword); AssertDirective(SyntaxConstants.CSharp.FunctionsKeyword);
Block block = new Block(CurrentSymbol); var block = new Block(CurrentSymbol);
AcceptAndMoveNext(); AcceptAndMoveNext();
AcceptWhile(IsSpacingToken(includeNewLines: true, includeComments: false)); AcceptWhile(IsSpacingToken(includeNewLines: true, includeComments: false));
@ -410,13 +410,13 @@ namespace Microsoft.AspNet.Razor.Parser
} }
// Capture start point and continue // Capture start point and continue
SourceLocation blockStart = CurrentLocation; var blockStart = CurrentLocation;
AcceptAndMoveNext(); AcceptAndMoveNext();
// Output what we've seen and continue // Output what we've seen and continue
Output(SpanKind.MetaCode); Output(SpanKind.MetaCode);
AutoCompleteEditHandler editHandler = new AutoCompleteEditHandler(Language.TokenizeString); var editHandler = new AutoCompleteEditHandler(Language.TokenizeString);
Span.EditHandler = editHandler; Span.EditHandler = editHandler;
Balance(BalancingModes.NoErrorOnFailure, CSharpSymbolType.LeftBrace, CSharpSymbolType.RightBrace, blockStart); Balance(BalancingModes.NoErrorOnFailure, CSharpSymbolType.LeftBrace, CSharpSymbolType.RightBrace, blockStart);
@ -469,7 +469,7 @@ namespace Microsoft.AspNet.Razor.Parser
Context.CurrentBlock.Type = BlockType.Directive; Context.CurrentBlock.Type = BlockType.Directive;
// Accept whitespace // Accept whitespace
CSharpSymbol remainingWs = AcceptSingleWhiteSpaceCharacter(); var remainingWs = AcceptSingleWhiteSpaceCharacter();
if (Span.Symbols.Count > 1) if (Span.Symbols.Count > 1)
{ {

View File

@ -94,7 +94,7 @@ namespace Microsoft.AspNet.Razor.Parser
private void UsingKeyword(bool topLevel) private void UsingKeyword(bool topLevel)
{ {
Assert(CSharpKeyword.Using); Assert(CSharpKeyword.Using);
Block block = new Block(CurrentSymbol); var block = new Block(CurrentSymbol);
AcceptAndMoveNext(); AcceptAndMoveNext();
AcceptWhile(IsSpacingToken(includeNewLines: false, includeComments: true)); AcceptWhile(IsSpacingToken(includeNewLines: false, includeComments: true));
@ -293,7 +293,7 @@ namespace Microsoft.AspNet.Razor.Parser
{ {
return; return;
} }
Block block = new Block(CurrentSymbol); var block = new Block(CurrentSymbol);
AcceptAndMoveNext(); AcceptAndMoveNext();
AcceptWhile(IsSpacingToken(includeNewLines: true, includeComments: true)); AcceptWhile(IsSpacingToken(includeNewLines: true, includeComments: true));
@ -332,7 +332,7 @@ namespace Microsoft.AspNet.Razor.Parser
private void UnconditionalBlock() private void UnconditionalBlock()
{ {
Assert(CSharpSymbolType.Keyword); Assert(CSharpSymbolType.Keyword);
Block block = new Block(CurrentSymbol); var block = new Block(CurrentSymbol);
AcceptAndMoveNext(); AcceptAndMoveNext();
AcceptWhile(IsSpacingToken(includeNewLines: true, includeComments: true)); AcceptWhile(IsSpacingToken(includeNewLines: true, includeComments: true));
ExpectCodeBlock(block); ExpectCodeBlock(block);
@ -341,7 +341,7 @@ namespace Microsoft.AspNet.Razor.Parser
private void ConditionalBlock(bool topLevel) private void ConditionalBlock(bool topLevel)
{ {
Assert(CSharpSymbolType.Keyword); Assert(CSharpSymbolType.Keyword);
Block block = new Block(CurrentSymbol); var block = new Block(CurrentSymbol);
ConditionalBlock(block); ConditionalBlock(block);
if (topLevel) if (topLevel)
{ {
@ -366,7 +366,7 @@ namespace Microsoft.AspNet.Razor.Parser
{ {
if (At(CSharpSymbolType.LeftParenthesis)) if (At(CSharpSymbolType.LeftParenthesis))
{ {
bool complete = Balance(BalancingModes.BacktrackOnFailure | BalancingModes.AllowCommentsAndTemplates); var complete = Balance(BalancingModes.BacktrackOnFailure | BalancingModes.AllowCommentsAndTemplates);
if (!complete) if (!complete)
{ {
AcceptUntil(CSharpSymbolType.NewLine); AcceptUntil(CSharpSymbolType.NewLine);
@ -390,7 +390,7 @@ namespace Microsoft.AspNet.Razor.Parser
Span.EditHandler.AcceptedCharacters = AcceptedCharacters.Any; Span.EditHandler.AcceptedCharacters = AcceptedCharacters.Any;
// Accept whitespace but always keep the last whitespace node so we can put it back if necessary // Accept whitespace but always keep the last whitespace node so we can put it back if necessary
CSharpSymbol lastWs = AcceptWhiteSpaceInLines(); var lastWs = AcceptWhiteSpaceInLines();
Debug.Assert(lastWs == null || (lastWs.Start.AbsoluteIndex + lastWs.Content.Length == CurrentLocation.AbsoluteIndex)); Debug.Assert(lastWs == null || (lastWs.Start.AbsoluteIndex + lastWs.Content.Length == CurrentLocation.AbsoluteIndex));
if (EndOfFile) if (EndOfFile)
@ -402,13 +402,13 @@ namespace Microsoft.AspNet.Razor.Parser
return; return;
} }
CSharpSymbolType type = CurrentSymbol.Type; var type = CurrentSymbol.Type;
SourceLocation loc = CurrentLocation; var loc = CurrentLocation;
bool isSingleLineMarkup = type == CSharpSymbolType.Transition && NextIs(CSharpSymbolType.Colon); var isSingleLineMarkup = type == CSharpSymbolType.Transition && NextIs(CSharpSymbolType.Colon);
bool isMarkup = isSingleLineMarkup || var isMarkup = isSingleLineMarkup ||
type == CSharpSymbolType.LessThan || type == CSharpSymbolType.LessThan ||
(type == CSharpSymbolType.Transition && NextIs(CSharpSymbolType.LessThan)); (type == CSharpSymbolType.Transition && NextIs(CSharpSymbolType.LessThan));
if (Context.DesignTimeMode || !isMarkup) if (Context.DesignTimeMode || !isMarkup)
{ {
@ -487,7 +487,7 @@ namespace Microsoft.AspNet.Razor.Parser
{ {
// First, verify the type of the block // First, verify the type of the block
Assert(CSharpSymbolType.Transition); Assert(CSharpSymbolType.Transition);
CSharpSymbol transition = CurrentSymbol; var transition = CurrentSymbol;
NextToken(); NextToken();
if (At(CSharpSymbolType.Transition)) if (At(CSharpSymbolType.Transition))
@ -527,7 +527,7 @@ namespace Microsoft.AspNet.Razor.Parser
{ {
while (!EndOfFile) while (!EndOfFile)
{ {
int bookmark = CurrentLocation.AbsoluteIndex; var bookmark = CurrentLocation.AbsoluteIndex;
IEnumerable<CSharpSymbol> read = ReadWhile(sym => sym.Type != CSharpSymbolType.Semicolon && IEnumerable<CSharpSymbol> read = ReadWhile(sym => sym.Type != CSharpSymbolType.Semicolon &&
sym.Type != CSharpSymbolType.RazorCommentTransition && sym.Type != CSharpSymbolType.RazorCommentTransition &&
sym.Type != CSharpSymbolType.Transition && sym.Type != CSharpSymbolType.Transition &&

View File

@ -147,7 +147,7 @@ namespace Microsoft.AspNet.Razor.Parser
AcceptWhile(IsSpacingToken(includeNewLines: true, includeComments: true)); AcceptWhile(IsSpacingToken(includeNewLines: true, includeComments: true));
CSharpSymbol current = CurrentSymbol; var current = CurrentSymbol;
if (At(CSharpSymbolType.StringLiteral) && CurrentSymbol.Content.Length > 0 && CurrentSymbol.Content[0] == SyntaxConstants.TransitionCharacter) if (At(CSharpSymbolType.StringLiteral) && CurrentSymbol.Content.Length > 0 && CurrentSymbol.Content[0] == SyntaxConstants.TransitionCharacter)
{ {
Tuple<CSharpSymbol, CSharpSymbol> split = Language.SplitSymbol(CurrentSymbol, 1, CSharpSymbolType.Transition); Tuple<CSharpSymbol, CSharpSymbol> split = Language.SplitSymbol(CurrentSymbol, 1, CSharpSymbolType.Transition);
@ -279,7 +279,7 @@ namespace Microsoft.AspNet.Razor.Parser
private void VerbatimBlock() private void VerbatimBlock()
{ {
Assert(CSharpSymbolType.LeftBrace); Assert(CSharpSymbolType.LeftBrace);
Block block = new Block(RazorResources.BlockName_Code, CurrentLocation); var block = new Block(RazorResources.BlockName_Code, CurrentLocation);
AcceptAndMoveNext(); AcceptAndMoveNext();
// Set up the "{" span and output // Set up the "{" span and output
@ -288,7 +288,7 @@ namespace Microsoft.AspNet.Razor.Parser
Output(SpanKind.MetaCode); Output(SpanKind.MetaCode);
// Set up auto-complete and parse the code block // Set up auto-complete and parse the code block
AutoCompleteEditHandler editHandler = new AutoCompleteEditHandler(Language.TokenizeString); var editHandler = new AutoCompleteEditHandler(Language.TokenizeString);
Span.EditHandler = editHandler; Span.EditHandler = editHandler;
CodeBlock(false, block); CodeBlock(false, block);
@ -391,7 +391,7 @@ namespace Microsoft.AspNet.Razor.Parser
} }
if (CurrentSymbol.Type == CSharpSymbolType.Dot) if (CurrentSymbol.Type == CSharpSymbolType.Dot)
{ {
CSharpSymbol dot = CurrentSymbol; var dot = CurrentSymbol;
if (NextToken()) if (NextToken())
{ {
if (At(CSharpSymbolType.Identifier) || At(CSharpSymbolType.Keyword)) if (At(CSharpSymbolType.Identifier) || At(CSharpSymbolType.Keyword))
@ -485,7 +485,7 @@ namespace Microsoft.AspNet.Razor.Parser
private void ExplicitExpression() private void ExplicitExpression()
{ {
Block block = new Block(RazorResources.BlockName_ExplicitExpression, CurrentLocation); var block = new Block(RazorResources.BlockName_ExplicitExpression, CurrentLocation);
Assert(CSharpSymbolType.LeftParenthesis); Assert(CSharpSymbolType.LeftParenthesis);
AcceptAndMoveNext(); AcceptAndMoveNext();
Span.EditHandler.AcceptedCharacters = AcceptedCharacters.None; Span.EditHandler.AcceptedCharacters = AcceptedCharacters.None;
@ -493,7 +493,7 @@ namespace Microsoft.AspNet.Razor.Parser
Output(SpanKind.MetaCode); Output(SpanKind.MetaCode);
using (PushSpanConfig(ConfigureExplicitExpressionSpan)) using (PushSpanConfig(ConfigureExplicitExpressionSpan))
{ {
bool success = Balance( var success = Balance(
BalancingModes.BacktrackOnFailure | BalancingModes.NoErrorOnFailure | BalancingModes.AllowCommentsAndTemplates, BalancingModes.BacktrackOnFailure | BalancingModes.NoErrorOnFailure | BalancingModes.AllowCommentsAndTemplates,
CSharpSymbolType.LeftParenthesis, CSharpSymbolType.LeftParenthesis,
CSharpSymbolType.RightParenthesis, CSharpSymbolType.RightParenthesis,
@ -553,7 +553,7 @@ namespace Microsoft.AspNet.Razor.Parser
private void NestedBlock() private void NestedBlock()
{ {
Output(SpanKind.Code); Output(SpanKind.Code);
bool wasNested = IsNested; var wasNested = IsNested;
IsNested = true; IsNested = true;
using (PushSpanConfig()) using (PushSpanConfig())
{ {

View File

@ -20,17 +20,17 @@ namespace Microsoft.AspNet.Razor.Parser
protected override bool CanRewrite(Block block) protected override bool CanRewrite(Block block)
{ {
AttributeBlockCodeGenerator gen = block.CodeGenerator as AttributeBlockCodeGenerator; var gen = block.CodeGenerator as AttributeBlockCodeGenerator;
return gen != null && block.Children.Any() && block.Children.All(IsLiteralAttributeValue); return gen != null && block.Children.Any() && block.Children.All(IsLiteralAttributeValue);
} }
protected override SyntaxTreeNode RewriteBlock(BlockBuilder parent, Block block) protected override SyntaxTreeNode RewriteBlock(BlockBuilder parent, Block block)
{ {
// Collect the content of this node // Collect the content of this node
string content = String.Concat(block.Children.Cast<Span>().Select(s => s.Content)); var content = String.Concat(block.Children.Cast<Span>().Select(s => s.Content));
// Create a new span containing this content // Create a new span containing this content
SpanBuilder span = new SpanBuilder(); var span = new SpanBuilder();
span.EditHandler = new SpanEditHandler(HtmlTokenizer.Tokenize); span.EditHandler = new SpanEditHandler(HtmlTokenizer.Tokenize);
FillSpan(span, block.Children.Cast<Span>().First().Start, content); FillSpan(span, block.Children.Cast<Span>().First().Start, content);
return span.Build(); return span.Build();
@ -42,10 +42,10 @@ namespace Microsoft.AspNet.Razor.Parser
{ {
return false; return false;
} }
Span span = node as Span; var span = node as Span;
Debug.Assert(span != null); Debug.Assert(span != null);
LiteralAttributeCodeGenerator litGen = span.CodeGenerator as LiteralAttributeCodeGenerator; var litGen = span.CodeGenerator as LiteralAttributeCodeGenerator;
return span != null && return span != null &&
((litGen != null && litGen.ValueGenerator == null) || ((litGen != null && litGen.ValueGenerator == null) ||

View File

@ -104,7 +104,7 @@ namespace Microsoft.AspNet.Razor.Parser
{ {
// Parse until a newline, it's that simple! // Parse until a newline, it's that simple!
// First, signal to code parser that whitespace is significant to us. // First, signal to code parser that whitespace is significant to us.
bool old = Context.WhiteSpaceIsSignificantToAncestorBlock; var old = Context.WhiteSpaceIsSignificantToAncestorBlock;
Context.WhiteSpaceIsSignificantToAncestorBlock = true; Context.WhiteSpaceIsSignificantToAncestorBlock = true;
Span.EditHandler = new SingleLineMarkupEditHandler(Language.TokenizeString); Span.EditHandler = new SingleLineMarkupEditHandler(Language.TokenizeString);
SkipToAndParseCode(HtmlSymbolType.NewLine); SkipToAndParseCode(HtmlSymbolType.NewLine);
@ -121,7 +121,7 @@ namespace Microsoft.AspNet.Razor.Parser
private void TagBlock(Stack<Tuple<HtmlSymbol, SourceLocation>> tags) private void TagBlock(Stack<Tuple<HtmlSymbol, SourceLocation>> tags)
{ {
// Skip Whitespace and Text // Skip Whitespace and Text
bool complete = false; var complete = false;
do do
{ {
SkipToAndParseCode(HtmlSymbolType.OpenAngle); SkipToAndParseCode(HtmlSymbolType.OpenAngle);
@ -149,7 +149,7 @@ namespace Microsoft.AspNet.Razor.Parser
_lastTagStart = CurrentLocation; _lastTagStart = CurrentLocation;
Assert(HtmlSymbolType.OpenAngle); Assert(HtmlSymbolType.OpenAngle);
_bufferedOpenAngle = CurrentSymbol; _bufferedOpenAngle = CurrentSymbol;
SourceLocation tagStart = CurrentLocation; var tagStart = CurrentLocation;
if (!NextToken()) if (!NextToken())
{ {
Accept(_bufferedOpenAngle); Accept(_bufferedOpenAngle);
@ -275,7 +275,7 @@ namespace Microsoft.AspNet.Razor.Parser
{ {
// Accept "/" and move next // Accept "/" and move next
Assert(HtmlSymbolType.ForwardSlash); Assert(HtmlSymbolType.ForwardSlash);
HtmlSymbol solidus = CurrentSymbol; var solidus = CurrentSymbol;
if (!NextToken()) if (!NextToken())
{ {
Accept(_bufferedOpenAngle); Accept(_bufferedOpenAngle);
@ -284,12 +284,12 @@ namespace Microsoft.AspNet.Razor.Parser
} }
else else
{ {
string tagName = String.Empty; var tagName = String.Empty;
if (At(HtmlSymbolType.Text)) if (At(HtmlSymbolType.Text))
{ {
tagName = CurrentSymbol.Content; tagName = CurrentSymbol.Content;
} }
bool matched = RemoveTag(tags, tagName, tagStart); var matched = RemoveTag(tags, tagName, tagStart);
if (tags.Count == 0 && if (tags.Count == 0 &&
String.Equals(tagName, SyntaxConstants.TextTagName, StringComparison.OrdinalIgnoreCase) && String.Equals(tagName, SyntaxConstants.TextTagName, StringComparison.OrdinalIgnoreCase) &&
@ -318,7 +318,7 @@ namespace Microsoft.AspNet.Razor.Parser
private bool EndTextTag(HtmlSymbol solidus, IDisposable tagBlockWrapper) private bool EndTextTag(HtmlSymbol solidus, IDisposable tagBlockWrapper)
{ {
SourceLocation start = _bufferedOpenAngle.Start; var start = _bufferedOpenAngle.Start;
Accept(_bufferedOpenAngle); Accept(_bufferedOpenAngle);
Accept(solidus); Accept(solidus);
@ -326,7 +326,7 @@ namespace Microsoft.AspNet.Razor.Parser
Assert(HtmlSymbolType.Text); Assert(HtmlSymbolType.Text);
AcceptAndMoveNext(); AcceptAndMoveNext();
bool seenCloseAngle = Optional(HtmlSymbolType.CloseAngle); var seenCloseAngle = Optional(HtmlSymbolType.CloseAngle);
if (!seenCloseAngle) if (!seenCloseAngle)
{ {
@ -456,14 +456,14 @@ namespace Microsoft.AspNet.Razor.Parser
{ {
// First, determine if this is a 'data-' attribute (since those can't use conditional attributes) // First, determine if this is a 'data-' attribute (since those can't use conditional attributes)
LocationTagged<string> name = nameSymbols.GetContent(Span.Start); LocationTagged<string> name = nameSymbols.GetContent(Span.Start);
bool attributeCanBeConditional = !name.Value.StartsWith("data-", StringComparison.OrdinalIgnoreCase); var attributeCanBeConditional = !name.Value.StartsWith("data-", StringComparison.OrdinalIgnoreCase);
// Accept the whitespace and name // Accept the whitespace and name
Accept(whitespace); Accept(whitespace);
Accept(nameSymbols); Accept(nameSymbols);
Assert(HtmlSymbolType.Equals); // We should be at "=" Assert(HtmlSymbolType.Equals); // We should be at "="
AcceptAndMoveNext(); AcceptAndMoveNext();
HtmlSymbolType quote = HtmlSymbolType.Unknown; var quote = HtmlSymbolType.Unknown;
if (At(HtmlSymbolType.SingleQuote) || At(HtmlSymbolType.DoubleQuote)) if (At(HtmlSymbolType.SingleQuote) || At(HtmlSymbolType.DoubleQuote))
{ {
quote = CurrentSymbol.Type; quote = CurrentSymbol.Type;
@ -516,13 +516,13 @@ namespace Microsoft.AspNet.Razor.Parser
private void AttributeValue(HtmlSymbolType quote) private void AttributeValue(HtmlSymbolType quote)
{ {
SourceLocation prefixStart = CurrentLocation; var prefixStart = CurrentLocation;
var prefix = ReadWhile(sym => sym.Type == HtmlSymbolType.WhiteSpace || sym.Type == HtmlSymbolType.NewLine); var prefix = ReadWhile(sym => sym.Type == HtmlSymbolType.WhiteSpace || sym.Type == HtmlSymbolType.NewLine);
Accept(prefix); Accept(prefix);
if (At(HtmlSymbolType.Transition)) if (At(HtmlSymbolType.Transition))
{ {
SourceLocation valueStart = CurrentLocation; var valueStart = CurrentLocation;
PutCurrentBack(); PutCurrentBack();
// Output the prefix but as a null-span. DynamicAttributeBlockCodeGenerator will render it // Output the prefix but as a null-span. DynamicAttributeBlockCodeGenerator will render it
@ -543,7 +543,7 @@ namespace Microsoft.AspNet.Razor.Parser
NextIs(HtmlSymbolType.ForwardSlash)) NextIs(HtmlSymbolType.ForwardSlash))
{ {
// Virtual Path value // Virtual Path value
SourceLocation valueStart = CurrentLocation; var valueStart = CurrentLocation;
VirtualPath(); VirtualPath();
Span.CodeGenerator = new LiteralAttributeCodeGenerator( Span.CodeGenerator = new LiteralAttributeCodeGenerator(
prefix.GetContent(prefixStart), prefix.GetContent(prefixStart),
@ -634,7 +634,7 @@ namespace Microsoft.AspNet.Razor.Parser
private void ParseQuoted() private void ParseQuoted()
{ {
HtmlSymbolType type = CurrentSymbol.Type; var type = CurrentSymbol.Type;
AcceptAndMoveNext(); AcceptAndMoveNext();
ParseQuoted(type); ParseQuoted(type);
} }
@ -674,9 +674,9 @@ namespace Microsoft.AspNet.Razor.Parser
AcceptAndMoveNext(); AcceptAndMoveNext();
int bookmark = CurrentLocation.AbsoluteIndex; var bookmark = CurrentLocation.AbsoluteIndex;
IEnumerable<HtmlSymbol> tokens = ReadWhile(IsSpacingToken(includeNewLines: true)); IEnumerable<HtmlSymbol> tokens = ReadWhile(IsSpacingToken(includeNewLines: true));
bool empty = At(HtmlSymbolType.ForwardSlash); var empty = At(HtmlSymbolType.ForwardSlash);
if (empty) if (empty)
{ {
Accept(tokens); Accept(tokens);
@ -727,7 +727,7 @@ namespace Microsoft.AspNet.Razor.Parser
return false; return false;
} }
bool isEmpty = At(HtmlSymbolType.ForwardSlash); var isEmpty = At(HtmlSymbolType.ForwardSlash);
// Found a solidus, so don't accept it but DON'T push the tag to the stack // Found a solidus, so don't accept it but DON'T push the tag to the stack
if (isEmpty) if (isEmpty)
{ {
@ -735,7 +735,7 @@ namespace Microsoft.AspNet.Razor.Parser
} }
// Check for the '>' to determine if the tag is finished // Check for the '>' to determine if the tag is finished
bool seenClose = Optional(HtmlSymbolType.CloseAngle); var seenClose = Optional(HtmlSymbolType.CloseAngle);
if (!seenClose) if (!seenClose)
{ {
Context.OnError(tag.Item2, RazorResources.FormatParseError_UnfinishedTag(tag.Item1.Content)); Context.OnError(tag.Item2, RazorResources.FormatParseError_UnfinishedTag(tag.Item1.Content));
@ -745,7 +745,7 @@ namespace Microsoft.AspNet.Razor.Parser
if (!isEmpty) if (!isEmpty)
{ {
// Is this a void element? // Is this a void element?
string tagName = tag.Item1.Content.Trim(); var tagName = tag.Item1.Content.Trim();
if (VoidElements.Contains(tagName)) if (VoidElements.Contains(tagName))
{ {
CompleteTagBlockWithSpan(tagBlockWrapper, AcceptedCharacters.None, SpanKind.Markup); CompleteTagBlockWithSpan(tagBlockWrapper, AcceptedCharacters.None, SpanKind.Markup);
@ -753,7 +753,7 @@ namespace Microsoft.AspNet.Razor.Parser
// Technically, void elements like "meta" are not allowed to have end tags. Just in case they do, // Technically, void elements like "meta" are not allowed to have end tags. Just in case they do,
// we need to look ahead at the next set of tokens. If we see "<", "/", tag name, accept it and the ">" following it // we need to look ahead at the next set of tokens. If we see "<", "/", tag name, accept it and the ">" following it
// Place a bookmark // Place a bookmark
int bookmark = CurrentLocation.AbsoluteIndex; var bookmark = CurrentLocation.AbsoluteIndex;
// Skip whitespace // Skip whitespace
IEnumerable<HtmlSymbol> whiteSpace = ReadWhile(IsSpacingToken(includeNewLines: true)); IEnumerable<HtmlSymbol> whiteSpace = ReadWhile(IsSpacingToken(includeNewLines: true));
@ -761,10 +761,10 @@ namespace Microsoft.AspNet.Razor.Parser
// Open Angle // Open Angle
if (At(HtmlSymbolType.OpenAngle) && NextIs(HtmlSymbolType.ForwardSlash)) if (At(HtmlSymbolType.OpenAngle) && NextIs(HtmlSymbolType.ForwardSlash))
{ {
HtmlSymbol openAngle = CurrentSymbol; var openAngle = CurrentSymbol;
NextToken(); NextToken();
Assert(HtmlSymbolType.ForwardSlash); Assert(HtmlSymbolType.ForwardSlash);
HtmlSymbol solidus = CurrentSymbol; var solidus = CurrentSymbol;
NextToken(); NextToken();
if (At(HtmlSymbolType.Text) && string.Equals(CurrentSymbol.Content, tagName, StringComparison.OrdinalIgnoreCase)) if (At(HtmlSymbolType.Text) && string.Equals(CurrentSymbol.Content, tagName, StringComparison.OrdinalIgnoreCase))
{ {
@ -819,12 +819,12 @@ namespace Microsoft.AspNet.Razor.Parser
private void SkipToEndScriptAndParseCode(AcceptedCharacters endTagAcceptedCharacters = AcceptedCharacters.Any) private void SkipToEndScriptAndParseCode(AcceptedCharacters endTagAcceptedCharacters = AcceptedCharacters.Any)
{ {
// Special case for <script>: Skip to end of script tag and parse code // Special case for <script>: Skip to end of script tag and parse code
bool seenEndScript = false; var seenEndScript = false;
while (!seenEndScript && !EndOfFile) while (!seenEndScript && !EndOfFile)
{ {
SkipToAndParseCode(HtmlSymbolType.OpenAngle); SkipToAndParseCode(HtmlSymbolType.OpenAngle);
SourceLocation tagStart = CurrentLocation; var tagStart = CurrentLocation;
if (NextIs(HtmlSymbolType.ForwardSlash)) if (NextIs(HtmlSymbolType.ForwardSlash))
{ {

View File

@ -62,7 +62,7 @@ namespace Microsoft.AspNet.Razor.Parser
private void NestingSection(Tuple<string, string> nestingSequences) private void NestingSection(Tuple<string, string> nestingSequences)
{ {
int nesting = 1; var nesting = 1;
while (nesting > 0 && !EndOfFile) while (nesting > 0 && !EndOfFile)
{ {
SkipToAndParseCode(sym => SkipToAndParseCode(sym =>
@ -92,7 +92,7 @@ namespace Microsoft.AspNet.Razor.Parser
EnsureCurrent(); EnsureCurrent();
if (String.Equals(CurrentSymbol.Content, nestingSequenceComponents[0], Comparison)) if (String.Equals(CurrentSymbol.Content, nestingSequenceComponents[0], Comparison))
{ {
int bookmark = CurrentSymbol.Start.AbsoluteIndex; var bookmark = CurrentSymbol.Start.AbsoluteIndex;
try try
{ {
foreach (string component in nestingSequenceComponents) foreach (string component in nestingSequenceComponents)
@ -122,7 +122,7 @@ namespace Microsoft.AspNet.Razor.Parser
{ {
for (int i = 0; i < CurrentSymbol.Content.Length; i++) for (int i = 0; i < CurrentSymbol.Content.Length; i++)
{ {
int nestingDelta = HandleNestingSequence(nestingSequences.Item1, i, currentNesting, 1); var nestingDelta = HandleNestingSequence(nestingSequences.Item1, i, currentNesting, 1);
if (nestingDelta == 0) if (nestingDelta == 0)
{ {
nestingDelta = HandleNestingSequence(nestingSequences.Item2, i, currentNesting, -1); nestingDelta = HandleNestingSequence(nestingSequences.Item2, i, currentNesting, -1);
@ -142,21 +142,21 @@ namespace Microsoft.AspNet.Razor.Parser
CurrentSymbol.Content[position] == sequence[0] && CurrentSymbol.Content[position] == sequence[0] &&
position + sequence.Length <= CurrentSymbol.Content.Length) position + sequence.Length <= CurrentSymbol.Content.Length)
{ {
string possibleStart = CurrentSymbol.Content.Substring(position, sequence.Length); var possibleStart = CurrentSymbol.Content.Substring(position, sequence.Length);
if (String.Equals(possibleStart, sequence, Comparison)) if (String.Equals(possibleStart, sequence, Comparison))
{ {
// Capture the current symbol and "put it back" (really we just want to clear CurrentSymbol) // Capture the current symbol and "put it back" (really we just want to clear CurrentSymbol)
int bookmark = Context.Source.Position; var bookmark = Context.Source.Position;
HtmlSymbol sym = CurrentSymbol; var sym = CurrentSymbol;
PutCurrentBack(); PutCurrentBack();
// Carve up the symbol // Carve up the symbol
Tuple<HtmlSymbol, HtmlSymbol> pair = Language.SplitSymbol(sym, position, HtmlSymbolType.Text); Tuple<HtmlSymbol, HtmlSymbol> pair = Language.SplitSymbol(sym, position, HtmlSymbolType.Text);
HtmlSymbol preSequence = pair.Item1; var preSequence = pair.Item1;
Debug.Assert(pair.Item2 != null); Debug.Assert(pair.Item2 != null);
pair = Language.SplitSymbol(pair.Item2, sequence.Length, HtmlSymbolType.Text); pair = Language.SplitSymbol(pair.Item2, sequence.Length, HtmlSymbolType.Text);
HtmlSymbol sequenceToken = pair.Item1; var sequenceToken = pair.Item1;
HtmlSymbol postSequence = pair.Item2; var postSequence = pair.Item2;
// Accept the first chunk (up to the nesting sequence we just saw) // Accept the first chunk (up to the nesting sequence we just saw)
if (!String.IsNullOrEmpty(preSequence.Content)) if (!String.IsNullOrEmpty(preSequence.Content))

View File

@ -69,7 +69,7 @@ namespace Microsoft.AspNet.Razor.Parser
protected void SkipToAndParseCode(Func<HtmlSymbol, bool> condition) protected void SkipToAndParseCode(Func<HtmlSymbol, bool> condition)
{ {
HtmlSymbol last = null; HtmlSymbol last = null;
bool startOfLine = false; var startOfLine = false;
while (!EndOfFile && !condition(CurrentSymbol)) while (!EndOfFile && !condition(CurrentSymbol))
{ {
if (At(HtmlSymbolType.NewLine)) if (At(HtmlSymbolType.NewLine))
@ -86,7 +86,7 @@ namespace Microsoft.AspNet.Razor.Parser
} }
else if (At(HtmlSymbolType.Transition)) else if (At(HtmlSymbolType.Transition))
{ {
HtmlSymbol transition = CurrentSymbol; var transition = CurrentSymbol;
NextToken(); NextToken();
if (At(HtmlSymbolType.Transition)) if (At(HtmlSymbolType.Transition))
{ {

View File

@ -31,7 +31,7 @@ namespace Microsoft.AspNet.Razor.Parser
{ {
using (SeekableTextReader reader = new SeekableTextReader(input)) using (SeekableTextReader reader = new SeekableTextReader(input))
{ {
TTokenizer tok = CreateTokenizer(reader); var tok = CreateTokenizer(reader);
TSymbol sym; TSymbol sym;
while ((sym = tok.NextSymbol()) != null) while ((sym = tok.NextSymbol()) != null)
{ {
@ -93,7 +93,7 @@ namespace Microsoft.AspNet.Razor.Parser
public virtual Tuple<TSymbol, TSymbol> SplitSymbol(TSymbol symbol, int splitAt, TSymbolType leftType) public virtual Tuple<TSymbol, TSymbol> SplitSymbol(TSymbol symbol, int splitAt, TSymbolType leftType)
{ {
TSymbol left = CreateSymbol(symbol.Start, symbol.Content.Substring(0, splitAt), leftType, Enumerable.Empty<RazorError>()); var left = CreateSymbol(symbol.Start, symbol.Content.Substring(0, splitAt), leftType, Enumerable.Empty<RazorError>());
TSymbol right = null; TSymbol right = null;
if (splitAt < symbol.Content.Length) if (splitAt < symbol.Content.Length)
{ {

View File

@ -23,7 +23,7 @@ namespace Microsoft.AspNet.Razor.Parser
protected override SyntaxTreeNode RewriteSpan(BlockBuilder parent, Span span) protected override SyntaxTreeNode RewriteSpan(BlockBuilder parent, Span span)
{ {
// Only rewrite if we have a previous that is also markup (CanRewrite does this check for us!) // Only rewrite if we have a previous that is also markup (CanRewrite does this check for us!)
Span previous = parent.Children.LastOrDefault() as Span; var previous = parent.Children.LastOrDefault() as Span;
if (previous == null || !CanRewrite(previous)) if (previous == null || !CanRewrite(previous))
{ {
return span; return span;
@ -31,7 +31,7 @@ namespace Microsoft.AspNet.Razor.Parser
// Merge spans // Merge spans
parent.Children.Remove(previous); parent.Children.Remove(previous);
SpanBuilder merged = new SpanBuilder(); var merged = new SpanBuilder();
FillSpan(merged, previous.Start, previous.Content + span.Content); FillSpan(merged, previous.Start, previous.Content + span.Content);
return merged.Build(); return merged.Build();
} }

View File

@ -39,7 +39,7 @@ namespace Microsoft.AspNet.Razor.Parser
{ {
if (CanRewrite(block)) if (CanRewrite(block))
{ {
SyntaxTreeNode newNode = RewriteBlock(_blocks.Peek(), block); var newNode = RewriteBlock(_blocks.Peek(), block);
if (newNode != null) if (newNode != null)
{ {
_blocks.Peek().Children.Add(newNode); _blocks.Peek().Children.Add(newNode);
@ -48,7 +48,7 @@ namespace Microsoft.AspNet.Razor.Parser
else else
{ {
// Not rewritable. // Not rewritable.
BlockBuilder builder = new BlockBuilder(block); var builder = new BlockBuilder(block);
builder.Children.Clear(); builder.Children.Clear();
_blocks.Push(builder); _blocks.Push(builder);
base.VisitBlock(block); base.VisitBlock(block);
@ -66,7 +66,7 @@ namespace Microsoft.AspNet.Razor.Parser
{ {
if (CanRewrite(span)) if (CanRewrite(span))
{ {
SyntaxTreeNode newNode = RewriteSpan(_blocks.Peek(), span); var newNode = RewriteSpan(_blocks.Peek(), span);
if (newNode != null) if (newNode != null)
{ {
_blocks.Peek().Children.Add(newNode); _blocks.Peek().Children.Add(newNode);

View File

@ -100,7 +100,7 @@ namespace Microsoft.AspNet.Razor.Parser
return '\0'; return '\0';
} }
#endif #endif
int ch = Source.Peek(); var ch = Source.Peek();
if (ch == -1) if (ch == -1)
{ {
return '\0'; return '\0';
@ -162,7 +162,7 @@ namespace Microsoft.AspNet.Razor.Parser
} }
if (_blockStack.Count > 1) if (_blockStack.Count > 1)
{ {
BlockBuilder block = _blockStack.Pop(); var block = _blockStack.Pop();
_blockStack.Peek().Children.Add(block.Build()); _blockStack.Peek().Children.Add(block.Build());
} }
else else
@ -269,7 +269,7 @@ namespace Microsoft.AspNet.Razor.Parser
{ {
get get
{ {
string remaining = Source.ReadToEnd(); var remaining = Source.ReadToEnd();
Source.Position -= remaining.Length; Source.Position -= remaining.Length;
return remaining; return remaining;
} }

View File

@ -99,7 +99,7 @@ namespace Microsoft.AspNet.Razor.Parser
public static bool IsLetter(char value) public static bool IsLetter(char value)
{ {
UnicodeCategory cat = CharUnicodeInfo.GetUnicodeCategory(value); var cat = CharUnicodeInfo.GetUnicodeCategory(value);
return cat == UnicodeCategory.UppercaseLetter return cat == UnicodeCategory.UppercaseLetter
|| cat == UnicodeCategory.LowercaseLetter || cat == UnicodeCategory.LowercaseLetter

View File

@ -92,7 +92,7 @@ namespace Microsoft.AspNet.Razor.Parser
[Obsolete("Lookahead-based readers have been deprecated, use overrides which accept a TextReader or ITextDocument instead")] [Obsolete("Lookahead-based readers have been deprecated, use overrides which accept a TextReader or ITextDocument instead")]
public virtual void Parse(LookaheadTextReader input, ParserVisitor visitor) public virtual void Parse(LookaheadTextReader input, ParserVisitor visitor)
{ {
ParserResults results = ParseCore(new SeekableTextReader(input)); var results = ParseCore(new SeekableTextReader(input));
// Replay the results on the visitor // Replay the results on the visitor
visitor.Visit(results); visitor.Visit(results);
@ -149,7 +149,7 @@ namespace Microsoft.AspNet.Razor.Parser
private ParserResults ParseCore(ITextDocument input) private ParserResults ParseCore(ITextDocument input)
{ {
// Setup the parser context // Setup the parser context
ParserContext context = new ParserContext(input, CodeParser, MarkupParser, MarkupParser) var context = new ParserContext(input, CodeParser, MarkupParser, MarkupParser)
{ {
DesignTimeMode = DesignTimeMode DesignTimeMode = DesignTimeMode
}; };
@ -161,7 +161,7 @@ namespace Microsoft.AspNet.Razor.Parser
MarkupParser.ParseDocument(); MarkupParser.ParseDocument();
// Get the result // Get the result
ParserResults results = context.CompleteParse(); var results = context.CompleteParse();
// Rewrite whitespace if supported // Rewrite whitespace if supported
var rewritingContext = new RewritingContext(results.Document); var rewritingContext = new RewritingContext(results.Document);

View File

@ -109,7 +109,7 @@ namespace Microsoft.AspNet.Razor.Parser.SyntaxTree
public override bool Equals(object obj) public override bool Equals(object obj)
{ {
Block other = obj as Block; var other = obj as Block;
return other != null && return other != null &&
Type == other.Type && Type == other.Type &&
Equals(CodeGenerator, other.CodeGenerator) && Equals(CodeGenerator, other.CodeGenerator) &&
@ -126,14 +126,14 @@ namespace Microsoft.AspNet.Razor.Parser.SyntaxTree
// Create an enumerable that flattens the tree for use by syntax highlighters, etc. // Create an enumerable that flattens the tree for use by syntax highlighters, etc.
foreach (SyntaxTreeNode element in Children) foreach (SyntaxTreeNode element in Children)
{ {
Span span = element as Span; var span = element as Span;
if (span != null) if (span != null)
{ {
yield return span; yield return span;
} }
else else
{ {
Block block = element as Block; var block = element as Block;
foreach (Span childSpan in block.Flatten()) foreach (Span childSpan in block.Flatten())
{ {
yield return childSpan; yield return childSpan;
@ -148,7 +148,7 @@ namespace Microsoft.AspNet.Razor.Parser.SyntaxTree
Span owner = null; Span owner = null;
foreach (SyntaxTreeNode element in Children) foreach (SyntaxTreeNode element in Children)
{ {
Span span = element as Span; var span = element as Span;
if (span == null) if (span == null)
{ {
owner = ((Block)element).LocateOwner(change); owner = ((Block)element).LocateOwner(change);
@ -196,7 +196,7 @@ namespace Microsoft.AspNet.Razor.Parser.SyntaxTree
public override bool EquivalentTo(SyntaxTreeNode node) public override bool EquivalentTo(SyntaxTreeNode node)
{ {
Block other = node as Block; var other = node as Block;
if (other == null || other.Type != Type) if (other == null || other.Type != Type)
{ {
return false; return false;

View File

@ -42,7 +42,7 @@ namespace Microsoft.AspNet.Razor.Parser.SyntaxTree
public override bool Equals(object obj) public override bool Equals(object obj)
{ {
RazorError err = obj as RazorError; var err = obj as RazorError;
return (err != null) && (Equals(err)); return (err != null) && (Equals(err));
} }

View File

@ -52,7 +52,7 @@ namespace Microsoft.AspNet.Razor.Parser.SyntaxTree
public void Change(Action<SpanBuilder> changes) public void Change(Action<SpanBuilder> changes)
{ {
SpanBuilder builder = new SpanBuilder(this); var builder = new SpanBuilder(this);
changes(builder); changes(builder);
ReplaceWith(builder); ReplaceWith(builder);
} }
@ -87,7 +87,7 @@ namespace Microsoft.AspNet.Razor.Parser.SyntaxTree
public override string ToString() public override string ToString()
{ {
StringBuilder builder = new StringBuilder(); var builder = new StringBuilder();
builder.Append(Kind); builder.Append(Kind);
builder.AppendFormat(" Span at {0}::{1} - [{2}]", Start, Length, Content); builder.AppendFormat(" Span at {0}::{1} - [{2}]", Start, Length, Content);
builder.Append(" Edit: <"); builder.Append(" Edit: <");
@ -104,8 +104,8 @@ namespace Microsoft.AspNet.Razor.Parser.SyntaxTree
public void ChangeStart(SourceLocation newStart) public void ChangeStart(SourceLocation newStart)
{ {
_start = newStart; _start = newStart;
Span current = this; var current = this;
SourceLocationTracker tracker = new SourceLocationTracker(newStart); var tracker = new SourceLocationTracker(newStart);
tracker.UpdateLocation(Content); tracker.UpdateLocation(Content);
while ((current = current.Next) != null) while ((current = current.Next) != null)
{ {
@ -124,7 +124,7 @@ namespace Microsoft.AspNet.Razor.Parser.SyntaxTree
/// </summary> /// </summary>
public override bool EquivalentTo(SyntaxTreeNode node) public override bool EquivalentTo(SyntaxTreeNode node)
{ {
Span other = node as Span; var other = node as Span;
return other != null && return other != null &&
Kind.Equals(other.Kind) && Kind.Equals(other.Kind) &&
Start.Equals(other.Start) && Start.Equals(other.Start) &&
@ -134,7 +134,7 @@ namespace Microsoft.AspNet.Razor.Parser.SyntaxTree
public override bool Equals(object obj) public override bool Equals(object obj)
{ {
Span other = obj as Span; var other = obj as Span;
return other != null && return other != null &&
Kind.Equals(other.Kind) && Kind.Equals(other.Kind) &&
EditHandler.Equals(other.EditHandler) && EditHandler.Equals(other.EditHandler) &&

View File

@ -62,8 +62,8 @@ namespace Microsoft.AspNet.Razor.Parser
throw new ArgumentNullException("condition"); throw new ArgumentNullException("condition");
} }
StringBuilder builder = new StringBuilder(); var builder = new StringBuilder();
int ch = -1; var ch = -1;
while ((ch = reader.Peek()) != -1 && !condition((char)ch)) while ((ch = reader.Peek()) != -1 && !condition((char)ch))
{ {
reader.Read(); // Advance the reader reader.Read(); // Advance the reader

View File

@ -66,9 +66,9 @@ namespace Microsoft.AspNet.Razor.Parser
protected internal bool Balance(BalancingModes mode) protected internal bool Balance(BalancingModes mode)
{ {
TSymbolType left = CurrentSymbol.Type; var left = CurrentSymbol.Type;
TSymbolType right = Language.FlipBracket(left); var right = Language.FlipBracket(left);
SourceLocation start = CurrentLocation; var start = CurrentLocation;
AcceptAndMoveNext(); AcceptAndMoveNext();
if (EndOfFile && ((mode & BalancingModes.NoErrorOnFailure) != BalancingModes.NoErrorOnFailure)) if (EndOfFile && ((mode & BalancingModes.NoErrorOnFailure) != BalancingModes.NoErrorOnFailure))
{ {
@ -83,8 +83,8 @@ namespace Microsoft.AspNet.Razor.Parser
protected internal bool Balance(BalancingModes mode, TSymbolType left, TSymbolType right, SourceLocation start) protected internal bool Balance(BalancingModes mode, TSymbolType left, TSymbolType right, SourceLocation start)
{ {
int startPosition = CurrentLocation.AbsoluteIndex; var startPosition = CurrentLocation.AbsoluteIndex;
int nesting = 1; var nesting = 1;
if (!EndOfFile) if (!EndOfFile)
{ {
IList<TSymbol> syms = new List<TSymbol>(); IList<TSymbol> syms = new List<TSymbol>();
@ -156,9 +156,9 @@ namespace Microsoft.AspNet.Razor.Parser
protected internal bool NextIs(Func<TSymbol, bool> condition) protected internal bool NextIs(Func<TSymbol, bool> condition)
{ {
TSymbol cur = CurrentSymbol; var cur = CurrentSymbol;
NextToken(); NextToken();
bool result = condition(CurrentSymbol); var result = condition(CurrentSymbol);
PutCurrentBack(); PutCurrentBack();
PutBack(cur); PutBack(cur);
EnsureCurrent(); EnsureCurrent();
@ -335,7 +335,7 @@ namespace Microsoft.AspNet.Razor.Parser
protected internal bool Required(TSymbolType expected, bool errorIfNotFound, Func<string, string> errorBase) protected internal bool Required(TSymbolType expected, bool errorIfNotFound, Func<string, string> errorBase)
{ {
bool found = At(expected); var found = At(expected);
if (!found && errorIfNotFound) if (!found && errorIfNotFound)
{ {
string error; string error;
@ -506,7 +506,7 @@ namespace Microsoft.AspNet.Razor.Parser
using (Context.StartBlock(BlockType.Comment)) using (Context.StartBlock(BlockType.Comment))
{ {
Context.CurrentBlock.CodeGenerator = new RazorCommentCodeGenerator(); Context.CurrentBlock.CodeGenerator = new RazorCommentCodeGenerator();
SourceLocation start = CurrentLocation; var start = CurrentLocation;
Expected(KnownSymbolType.CommentStart); Expected(KnownSymbolType.CommentStart);
Output(SpanKind.Transition, AcceptedCharacters.None); Output(SpanKind.Transition, AcceptedCharacters.None);
@ -518,7 +518,7 @@ namespace Microsoft.AspNet.Razor.Parser
AddMarkerSymbolIfNecessary(); AddMarkerSymbolIfNecessary();
Output(SpanKind.Comment); Output(SpanKind.Comment);
bool errorReported = false; var errorReported = false;
if (!Optional(KnownSymbolType.CommentStar)) if (!Optional(KnownSymbolType.CommentStar))
{ {
errorReported = true; errorReported = true;

View File

@ -52,14 +52,14 @@ namespace Microsoft.AspNet.Razor.Parser
protected override SyntaxTreeNode RewriteBlock(BlockBuilder parent, Block block) protected override SyntaxTreeNode RewriteBlock(BlockBuilder parent, Block block)
{ {
BlockBuilder newBlock = new BlockBuilder(block); var newBlock = new BlockBuilder(block);
newBlock.Children.Clear(); newBlock.Children.Clear();
Span ws = block.Children.FirstOrDefault() as Span; var ws = block.Children.FirstOrDefault() as Span;
IEnumerable<SyntaxTreeNode> newNodes = block.Children; IEnumerable<SyntaxTreeNode> newNodes = block.Children;
if (ws.Content.All(Char.IsWhiteSpace)) if (ws.Content.All(Char.IsWhiteSpace))
{ {
// Add this node to the parent // Add this node to the parent
SpanBuilder builder = new SpanBuilder(ws); var builder = new SpanBuilder(ws);
builder.ClearSymbols(); builder.ClearSymbols();
FillSpan(builder, ws.Start, ws.Content); FillSpan(builder, ws.Start, ws.Content);
parent.Children.Add(builder.Build()); parent.Children.Add(builder.Build());

View File

@ -48,8 +48,8 @@ namespace Microsoft.AspNet.Razor
RunTask(() => RunTask(() =>
{ {
string outputFileName = Normalize(sourceFile) + "_tree"; var outputFileName = Normalize(sourceFile) + "_tree";
string outputPath = Path.Combine(Path.GetDirectoryName(sourceFile), outputFileName); var outputPath = Path.Combine(Path.GetDirectoryName(sourceFile), outputFileName);
var treeBuilder = new StringBuilder(); var treeBuilder = new StringBuilder();
WriteTree(document, treeBuilder); WriteTree(document, treeBuilder);
@ -140,7 +140,7 @@ namespace Microsoft.AspNet.Razor
private static string ConvertEscapseSequences(string value) private static string ConvertEscapseSequences(string value)
{ {
StringBuilder sb = new StringBuilder(); var sb = new StringBuilder();
foreach (var ch in value) foreach (var ch in value)
{ {
sb.Append(GetCharValue(ch)); sb.Append(GetCharValue(ch));

View File

@ -29,7 +29,7 @@ namespace Microsoft.AspNet.Razor
public override bool Equals(object obj) public override bool Equals(object obj)
{ {
RazorDirectiveAttribute attribute = obj as RazorDirectiveAttribute; var attribute = obj as RazorDirectiveAttribute;
return attribute != null && return attribute != null &&
Name.Equals(attribute.Name, StringComparison.OrdinalIgnoreCase) && Name.Equals(attribute.Name, StringComparison.OrdinalIgnoreCase) &&
StringComparer.OrdinalIgnoreCase.Equals(Value, attribute.Value); StringComparer.OrdinalIgnoreCase.Equals(Value, attribute.Value);

View File

@ -104,7 +104,7 @@ namespace Microsoft.AspNet.Razor
{ {
if (_lastAutoCompleteSpan != null) if (_lastAutoCompleteSpan != null)
{ {
AutoCompleteEditHandler editHandler = _lastAutoCompleteSpan.EditHandler as AutoCompleteEditHandler; var editHandler = _lastAutoCompleteSpan.EditHandler as AutoCompleteEditHandler;
if (editHandler != null) if (editHandler != null)
{ {
return editHandler.AutoCompleteString; return editHandler.AutoCompleteString;
@ -128,7 +128,7 @@ namespace Microsoft.AspNet.Razor
// Validate the change // Validate the change
long? elapsedMs = null; long? elapsedMs = null;
#if EDITOR_TRACING #if EDITOR_TRACING
Stopwatch sw = new Stopwatch(); var sw = new Stopwatch();
sw.Start(); sw.Start();
#endif #endif
RazorEditorTrace.TraceLine(RazorResources.FormatTrace_EditorReceivedChange(Path.GetFileName(FileName), change)); RazorEditorTrace.TraceLine(RazorResources.FormatTrace_EditorReceivedChange(Path.GetFileName(FileName), change));
@ -139,10 +139,10 @@ namespace Microsoft.AspNet.Razor
"TextChange"), "change"); "TextChange"), "change");
} }
PartialParseResult result = PartialParseResult.Rejected; var result = PartialParseResult.Rejected;
// If there isn't already a parse underway, try partial-parsing // If there isn't already a parse underway, try partial-parsing
string changeString = String.Empty; var changeString = String.Empty;
using (_parser.SynchronizeMainThreadState()) using (_parser.SynchronizeMainThreadState())
{ {
// Capture the string value of the change while we're synchronized // Capture the string value of the change while we're synchronized
@ -199,12 +199,12 @@ namespace Microsoft.AspNet.Razor
private PartialParseResult TryPartialParse(TextChange change) private PartialParseResult TryPartialParse(TextChange change)
{ {
PartialParseResult result = PartialParseResult.Rejected; var result = PartialParseResult.Rejected;
// Try the last change owner // Try the last change owner
if (_lastChangeOwner != null && _lastChangeOwner.EditHandler.OwnsChange(_lastChangeOwner, change)) if (_lastChangeOwner != null && _lastChangeOwner.EditHandler.OwnsChange(_lastChangeOwner, change))
{ {
EditResult editResult = _lastChangeOwner.EditHandler.ApplyChange(_lastChangeOwner, change); var editResult = _lastChangeOwner.EditHandler.ApplyChange(_lastChangeOwner, change);
result = editResult.Result; result = editResult.Result;
if ((editResult.Result & PartialParseResult.Rejected) != PartialParseResult.Rejected) if ((editResult.Result & PartialParseResult.Rejected) != PartialParseResult.Rejected)
{ {
@ -224,7 +224,7 @@ namespace Microsoft.AspNet.Razor
} }
else if (_lastChangeOwner != null) else if (_lastChangeOwner != null)
{ {
EditResult editResult = _lastChangeOwner.EditHandler.ApplyChange(_lastChangeOwner, change); var editResult = _lastChangeOwner.EditHandler.ApplyChange(_lastChangeOwner, change);
result = editResult.Result; result = editResult.Result;
if ((editResult.Result & PartialParseResult.Rejected) != PartialParseResult.Rejected) if ((editResult.Result & PartialParseResult.Rejected) != PartialParseResult.Rejected)
{ {

View File

@ -46,7 +46,7 @@ namespace Microsoft.AspNet.Razor.Text
public override int Read() public override int Read()
{ {
int ch = CurrentCharacter; var ch = CurrentCharacter;
NextCharacter(); NextCharacter();
return ch; return ch;
} }
@ -85,7 +85,7 @@ namespace Microsoft.AspNet.Razor.Text
// Mark the position to return to when we backtrack // Mark the position to return to when we backtrack
// Use the closures and the "using" statement rather than an explicit stack // Use the closures and the "using" statement rather than an explicit stack
BacktrackContext context = new BacktrackContext() var context = new BacktrackContext()
{ {
BufferIndex = _currentBufferPosition, BufferIndex = _currentBufferPosition,
Location = CurrentLocation Location = CurrentLocation
@ -123,7 +123,7 @@ namespace Microsoft.AspNet.Razor.Text
protected virtual void NextCharacter() protected virtual void NextCharacter()
{ {
int prevChar = CurrentCharacter; var prevChar = CurrentCharacter;
if (prevChar == -1) if (prevChar == -1)
{ {
return; // We're at the end of the source return; // We're at the end of the source
@ -166,7 +166,7 @@ namespace Microsoft.AspNet.Razor.Text
protected bool ExpandBuffer() protected bool ExpandBuffer()
{ {
// Pull another character into the buffer and update the position // Pull another character into the buffer and update the position
int ch = InnerReader.Read(); var ch = InnerReader.Read();
// Only append the character to the buffer if there actually is one // Only append the character to the buffer if there actually is one
if (ch != -1) if (ch != -1)

View File

@ -48,12 +48,12 @@ namespace Microsoft.AspNet.Razor.Text
public CharacterReference CharAt(int absoluteIndex) public CharacterReference CharAt(int absoluteIndex)
{ {
TextLine line = FindLine(absoluteIndex); var line = FindLine(absoluteIndex);
if (line == null) if (line == null)
{ {
throw new ArgumentOutOfRangeException("absoluteIndex"); throw new ArgumentOutOfRangeException("absoluteIndex");
} }
int idx = absoluteIndex - line.Start; var idx = absoluteIndex - line.Start;
return new CharacterReference(line.Content[idx], new SourceLocation(absoluteIndex, line.Index, idx)); return new CharacterReference(line.Content[idx], new SourceLocation(absoluteIndex, line.Index, idx));
} }
@ -103,7 +103,7 @@ namespace Microsoft.AspNet.Razor.Text
{ {
for (int i = 0; i < _lines.Count; i++) for (int i = 0; i < _lines.Count; i++)
{ {
int idx = (i + startPos) % _lines.Count; var idx = (i + startPos) % _lines.Count;
Debug.Assert(idx >= 0 && idx < _lines.Count); Debug.Assert(idx >= 0 && idx < _lines.Count);
if (_lines[idx].Contains(absoluteIndex)) if (_lines[idx].Contains(absoluteIndex))

View File

@ -62,7 +62,7 @@ namespace Microsoft.AspNet.Razor.Text
{ {
return -1; return -1;
} }
char chr = _current.Value; var chr = _current.Value;
_position++; _position++;
UpdateState(); UpdateState();
return chr; return chr;

View File

@ -74,7 +74,7 @@ namespace Microsoft.AspNet.Razor.Text
public static SourceLocation Advance(SourceLocation left, string text) public static SourceLocation Advance(SourceLocation left, string text)
{ {
SourceLocationTracker tracker = new SourceLocationTracker(left); var tracker = new SourceLocationTracker(left);
tracker.UpdateLocation(text); tracker.UpdateLocation(text);
return tracker.CurrentLocation; return tracker.CurrentLocation;
} }
@ -101,7 +101,7 @@ namespace Microsoft.AspNet.Razor.Text
private static SourceLocation CreateUndefined() private static SourceLocation CreateUndefined()
{ {
SourceLocation sl = new SourceLocation(); var sl = new SourceLocation();
sl._absoluteIndex = -1; sl._absoluteIndex = -1;
sl._lineIndex = -1; sl._lineIndex = -1;
sl._characterIndex = -1; sl._characterIndex = -1;

View File

@ -50,7 +50,7 @@ namespace Microsoft.AspNet.Razor.Text
{ {
for (int i = 0; i < content.Length; i++) for (int i = 0; i < content.Length; i++)
{ {
char nextCharacter = '\0'; var nextCharacter = '\0';
if (i < content.Length - 1) if (i < content.Length - 1)
{ {
nextCharacter = content[i + 1]; nextCharacter = content[i + 1];

View File

@ -36,11 +36,11 @@ namespace Microsoft.AspNet.Razor.Text
public override int Read() public override int Read()
{ {
int read = InnerBuffer.Read(); var read = InnerBuffer.Read();
if (read != -1) if (read != -1)
{ {
char nextChar = '\0'; var nextChar = '\0';
int next = Peek(); var next = Peek();
if (next != -1) if (next != -1)
{ {
nextChar = (char)next; nextChar = (char)next;
@ -54,7 +54,7 @@ namespace Microsoft.AspNet.Razor.Text
{ {
if (disposing) if (disposing)
{ {
IDisposable disposable = InnerBuffer as IDisposable; var disposable = InnerBuffer as IDisposable;
if (disposable != null) if (disposable != null)
{ {
disposable.Dispose(); disposable.Dispose();
@ -65,7 +65,7 @@ namespace Microsoft.AspNet.Razor.Text
public override IDisposable BeginLookahead() public override IDisposable BeginLookahead()
{ {
BacktrackContext context = new BacktrackContext() { Location = CurrentLocation }; var context = new BacktrackContext() { Location = CurrentLocation };
_bookmarks.Push(context); _bookmarks.Push(context);
return new DisposableAction(() => return new DisposableAction(() =>
{ {

View File

@ -121,7 +121,7 @@ namespace Microsoft.AspNet.Razor.Text
{ {
return false; return false;
} }
TextChange change = (TextChange)obj; var change = (TextChange)obj;
return (change.OldPosition == OldPosition) && return (change.OldPosition == OldPosition) &&
(change.NewPosition == NewPosition) && (change.NewPosition == NewPosition) &&
(change.OldLength == OldLength) && (change.OldLength == OldLength) &&
@ -132,7 +132,7 @@ namespace Microsoft.AspNet.Razor.Text
public string ApplyChange(string content, int changeOffset) public string ApplyChange(string content, int changeOffset)
{ {
int changeRelativePosition = OldPosition - changeOffset; var changeRelativePosition = OldPosition - changeOffset;
Debug.Assert(changeRelativePosition >= 0); Debug.Assert(changeRelativePosition >= 0);
return content.Remove(changeRelativePosition, OldLength) return content.Remove(changeRelativePosition, OldLength)
@ -185,7 +185,7 @@ namespace Microsoft.AspNet.Razor.Text
return String.Empty; return String.Empty;
} }
int oldPosition = buffer.Position; var oldPosition = buffer.Position;
try try
{ {
buffer.Position = position; buffer.Position = position;
@ -200,7 +200,7 @@ namespace Microsoft.AspNet.Razor.Text
var builder = new StringBuilder(); var builder = new StringBuilder();
for (int i = 0; i < length; i++) for (int i = 0; i < length; i++)
{ {
char c = (char)buffer.Read(); var c = (char)buffer.Read();
builder.Append(c); builder.Append(c);
// This check is probably not necessary, will revisit when fixing https://aspnetwebstack.codeplex.com/workitem/1317 // This check is probably not necessary, will revisit when fixing https://aspnetwebstack.codeplex.com/workitem/1317

View File

@ -16,7 +16,7 @@ namespace Microsoft.AspNet.Razor.Text
[SuppressMessage("Microsoft.Reliability", "CA2000:Dispose objects before losing scope", Justification = "The consumer is expected to dispose this object")] [SuppressMessage("Microsoft.Reliability", "CA2000:Dispose objects before losing scope", Justification = "The consumer is expected to dispose this object")]
public static ITextDocument ToDocument(this ITextBuffer self) public static ITextDocument ToDocument(this ITextBuffer self)
{ {
ITextDocument ret = self as ITextDocument; var ret = self as ITextDocument;
if (ret == null) if (ret == null)
{ {
ret = new SeekableTextReader(self); ret = new SeekableTextReader(self);
@ -26,7 +26,7 @@ namespace Microsoft.AspNet.Razor.Text
public static LookaheadToken BeginLookahead(this ITextBuffer self) public static LookaheadToken BeginLookahead(this ITextBuffer self)
{ {
int start = self.Position; var start = self.Position;
return new LookaheadToken(() => return new LookaheadToken(() =>
{ {
self.Position = start; self.Position = start;
@ -35,7 +35,7 @@ namespace Microsoft.AspNet.Razor.Text
public static string ReadToEnd(this ITextBuffer self) public static string ReadToEnd(this ITextBuffer self)
{ {
StringBuilder builder = new StringBuilder(); var builder = new StringBuilder();
int read; int read;
while ((read = self.Read()) != -1) while ((read = self.Read()) != -1)
{ {

View File

@ -35,7 +35,7 @@ namespace Microsoft.AspNet.Razor.Tokenizer
private static bool IsIdentifierPartByUnicodeCategory(char character) private static bool IsIdentifierPartByUnicodeCategory(char character)
{ {
UnicodeCategory category = CharUnicodeInfo.GetUnicodeCategory(character); var category = CharUnicodeInfo.GetUnicodeCategory(character);
return category == UnicodeCategory.NonSpacingMark || // Mn return category == UnicodeCategory.NonSpacingMark || // Mn
category == UnicodeCategory.SpacingCombiningMark || // Mc category == UnicodeCategory.SpacingCombiningMark || // Mc

View File

@ -78,7 +78,7 @@ namespace Microsoft.AspNet.Razor.Tokenizer
if (ParserHelpers.IsNewLine(CurrentCharacter)) if (ParserHelpers.IsNewLine(CurrentCharacter))
{ {
// CSharp Spec §2.3.1 // CSharp Spec §2.3.1
bool checkTwoCharNewline = CurrentCharacter == '\r'; var checkTwoCharNewline = CurrentCharacter == '\r';
TakeCurrent(); TakeCurrent();
if (checkTwoCharNewline && CurrentCharacter == '\n') if (checkTwoCharNewline && CurrentCharacter == '\n')
{ {
@ -168,7 +168,7 @@ namespace Microsoft.AspNet.Razor.Tokenizer
private CSharpSymbolType Operator() private CSharpSymbolType Operator()
{ {
char first = CurrentCharacter; var first = CurrentCharacter;
TakeCurrent(); TakeCurrent();
Func<CSharpSymbolType> handler; Func<CSharpSymbolType> handler;
if (_operatorHandlers.TryGetValue(first, out handler)) if (_operatorHandlers.TryGetValue(first, out handler))
@ -418,8 +418,8 @@ namespace Microsoft.AspNet.Razor.Tokenizer
CSharpSymbol sym = null; CSharpSymbol sym = null;
if (HaveContent) if (HaveContent)
{ {
CSharpKeyword? kwd = CSharpKeywordDetector.SymbolTypeForIdentifier(Buffer.ToString()); var kwd = CSharpKeywordDetector.SymbolTypeForIdentifier(Buffer.ToString());
CSharpSymbolType type = CSharpSymbolType.Identifier; var type = CSharpSymbolType.Identifier;
if (kwd != null) if (kwd != null)
{ {
type = CSharpSymbolType.Keyword; type = CSharpSymbolType.Keyword;

View File

@ -45,7 +45,7 @@ namespace Microsoft.AspNet.Razor.Tokenizer
{ {
using (SeekableTextReader reader = new SeekableTextReader(content)) using (SeekableTextReader reader = new SeekableTextReader(content))
{ {
HtmlTokenizer tok = new HtmlTokenizer(reader); var tok = new HtmlTokenizer(reader);
HtmlSymbol sym; HtmlSymbol sym;
while ((sym = tok.NextSymbol()) != null) while ((sym = tok.NextSymbol()) != null)
{ {
@ -100,7 +100,7 @@ namespace Microsoft.AspNet.Razor.Tokenizer
private StateResult Text() private StateResult Text()
{ {
char prev = '\0'; var prev = '\0';
while (!EndOfFile && !ParserHelpers.IsWhitespaceOrNewLine(CurrentCharacter) && !AtSymbol()) while (!EndOfFile && !ParserHelpers.IsWhitespaceOrNewLine(CurrentCharacter) && !AtSymbol())
{ {
prev = CurrentCharacter; prev = CurrentCharacter;
@ -109,7 +109,7 @@ namespace Microsoft.AspNet.Razor.Tokenizer
if (CurrentCharacter == '@') if (CurrentCharacter == '@')
{ {
char next = Peek(); var next = Peek();
if (ParserHelpers.IsLetterOrDecimalDigit(prev) && ParserHelpers.IsLetterOrDecimalDigit(next)) if (ParserHelpers.IsLetterOrDecimalDigit(prev) && ParserHelpers.IsLetterOrDecimalDigit(next))
{ {
TakeCurrent(); // Take the "@" TakeCurrent(); // Take the "@"
@ -124,7 +124,7 @@ namespace Microsoft.AspNet.Razor.Tokenizer
private HtmlSymbol Symbol() private HtmlSymbol Symbol()
{ {
Debug.Assert(AtSymbol()); Debug.Assert(AtSymbol());
char sym = CurrentCharacter; var sym = CurrentCharacter;
TakeCurrent(); TakeCurrent();
switch (sym) switch (sym)
{ {
@ -177,7 +177,7 @@ namespace Microsoft.AspNet.Razor.Tokenizer
{ {
Debug.Assert(ParserHelpers.IsNewLine(CurrentCharacter)); Debug.Assert(ParserHelpers.IsNewLine(CurrentCharacter));
// CSharp Spec §2.3.1 // CSharp Spec §2.3.1
bool checkTwoCharNewline = CurrentCharacter == '\r'; var checkTwoCharNewline = CurrentCharacter == '\r';
TakeCurrent(); TakeCurrent();
if (checkTwoCharNewline && CurrentCharacter == '\n') if (checkTwoCharNewline && CurrentCharacter == '\n')
{ {

View File

@ -36,7 +36,7 @@ namespace Microsoft.AspNet.Razor.Tokenizer.Symbols
public override bool Equals(object obj) public override bool Equals(object obj)
{ {
CSharpSymbol other = obj as CSharpSymbol; var other = obj as CSharpSymbol;
return base.Equals(obj) && other.Keyword == Keyword; return base.Equals(obj) && other.Keyword == Keyword;
} }

View File

@ -55,7 +55,7 @@ namespace Microsoft.AspNet.Razor.Tokenizer
{ {
get get
{ {
int peek = Source.Peek(); var peek = Source.Peek();
return peek == -1 ? '\0' : (char)peek; return peek == -1 ? '\0' : (char)peek;
} }
} }
@ -77,7 +77,7 @@ namespace Microsoft.AspNet.Razor.Tokenizer
{ {
return null; return null;
} }
TSymbol sym = Turn(); var sym = Turn();
// Post-Condition: Buffer should be empty at the end of Next() // Post-Condition: Buffer should be empty at the end of Next()
Debug.Assert(Buffer.Length == 0); Debug.Assert(Buffer.Length == 0);
@ -100,7 +100,7 @@ namespace Microsoft.AspNet.Razor.Tokenizer
protected bool TakeString(string input, bool caseSensitive) protected bool TakeString(string input, bool caseSensitive)
{ {
int position = 0; var position = 0;
Func<char, char> charFilter = c => c; Func<char, char> charFilter = c => c;
if (caseSensitive) if (caseSensitive)
{ {
@ -148,7 +148,7 @@ namespace Microsoft.AspNet.Razor.Tokenizer
CurrentStart = previous.Start; CurrentStart = previous.Start;
// Capture the current buffer content // Capture the current buffer content
string newContent = Buffer.ToString(); var newContent = Buffer.ToString();
// Clear the buffer, then put the old content back and add the new content to the end // Clear the buffer, then put the old content back and add the new content to the end
Buffer.Clear(); Buffer.Clear();
@ -227,8 +227,8 @@ namespace Microsoft.AspNet.Razor.Tokenizer
TakeUntil(c => c == '*'); TakeUntil(c => c == '*');
if (CurrentCharacter == '*') if (CurrentCharacter == '*')
{ {
char star = CurrentCharacter; var star = CurrentCharacter;
SourceLocation start = CurrentLocation; var start = CurrentLocation;
MoveNext(); MoveNext();
if (!EndOfFile && CurrentCharacter == '@') if (!EndOfFile && CurrentCharacter == '@')
{ {
@ -351,7 +351,7 @@ namespace Microsoft.AspNet.Razor.Tokenizer
{ {
get get
{ {
string remaining = Source.ReadToEnd(); var remaining = Source.ReadToEnd();
Source.Seek(-remaining.Length); Source.Seek(-remaining.Length);
return remaining; return remaining;
} }

View File

@ -14,10 +14,10 @@ namespace Microsoft.AspNet.Razor.Test
public void CreateCodeParserReturnsNewCSharpCodeParser() public void CreateCodeParserReturnsNewCSharpCodeParser()
{ {
// Arrange // Arrange
RazorCodeLanguage service = new CSharpRazorCodeLanguage(); var service = new CSharpRazorCodeLanguage();
// Act // Act
ParserBase parser = service.CreateCodeParser(); var parser = service.CreateCodeParser();
// Assert // Assert
Assert.NotNull(parser); Assert.NotNull(parser);
@ -28,11 +28,11 @@ namespace Microsoft.AspNet.Razor.Test
public void CreateCodeGeneratorParserListenerReturnsNewCSharpCodeGeneratorParserListener() public void CreateCodeGeneratorParserListenerReturnsNewCSharpCodeGeneratorParserListener()
{ {
// Arrange // Arrange
RazorCodeLanguage service = new CSharpRazorCodeLanguage(); var service = new CSharpRazorCodeLanguage();
// Act // Act
RazorEngineHost host = new RazorEngineHost(service); var host = new RazorEngineHost(service);
RazorCodeGenerator generator = service.CreateCodeGenerator("Foo", "Bar", "Baz", host); var generator = service.CreateCodeGenerator("Foo", "Bar", "Baz", host);
// Assert // Assert
Assert.NotNull(generator); Assert.NotNull(generator);

View File

@ -43,20 +43,20 @@ namespace Microsoft.AspNet.Razor.Test.Editor
public void TreesAreDifferentReturnsTrueIfTreeStructureIsDifferent() public void TreesAreDifferentReturnsTrueIfTreeStructureIsDifferent()
{ {
var factory = SpanFactory.CreateCsHtml(); var factory = SpanFactory.CreateCsHtml();
Block original = new MarkupBlock( var original = new MarkupBlock(
factory.Markup("<p>"), factory.Markup("<p>"),
new ExpressionBlock( new ExpressionBlock(
factory.CodeTransition()), factory.CodeTransition()),
factory.Markup("</p>")); factory.Markup("</p>"));
Block modified = new MarkupBlock( var modified = new MarkupBlock(
factory.Markup("<p>"), factory.Markup("<p>"),
new ExpressionBlock( new ExpressionBlock(
factory.CodeTransition("@"), factory.CodeTransition("@"),
factory.Code("f") factory.Code("f")
.AsImplicitExpression(CSharpCodeParser.DefaultKeywords, acceptTrailingDot: false)), .AsImplicitExpression(CSharpCodeParser.DefaultKeywords, acceptTrailingDot: false)),
factory.Markup("</p>")); factory.Markup("</p>"));
ITextBuffer oldBuffer = new StringTextBuffer("<p>@</p>"); var oldBuffer = new StringTextBuffer("<p>@</p>");
ITextBuffer newBuffer = new StringTextBuffer("<p>@f</p>"); var newBuffer = new StringTextBuffer("<p>@f</p>");
Assert.True(BackgroundParser.TreesAreDifferent( Assert.True(BackgroundParser.TreesAreDifferent(
original, modified, new[] { original, modified, new[] {
new TextChange(position: 4, oldLength: 0, oldBuffer: oldBuffer, newLength: 1, newBuffer: newBuffer) new TextChange(position: 4, oldLength: 0, oldBuffer: oldBuffer, newLength: 1, newBuffer: newBuffer)
@ -67,7 +67,7 @@ namespace Microsoft.AspNet.Razor.Test.Editor
public void TreesAreDifferentReturnsFalseIfTreeStructureIsSame() public void TreesAreDifferentReturnsFalseIfTreeStructureIsSame()
{ {
var factory = SpanFactory.CreateCsHtml(); var factory = SpanFactory.CreateCsHtml();
Block original = new MarkupBlock( var original = new MarkupBlock(
factory.Markup("<p>"), factory.Markup("<p>"),
new ExpressionBlock( new ExpressionBlock(
factory.CodeTransition(), factory.CodeTransition(),
@ -75,7 +75,7 @@ namespace Microsoft.AspNet.Razor.Test.Editor
.AsImplicitExpression(CSharpCodeParser.DefaultKeywords, acceptTrailingDot: false)), .AsImplicitExpression(CSharpCodeParser.DefaultKeywords, acceptTrailingDot: false)),
factory.Markup("</p>")); factory.Markup("</p>"));
factory.Reset(); factory.Reset();
Block modified = new MarkupBlock( var modified = new MarkupBlock(
factory.Markup("<p>"), factory.Markup("<p>"),
new ExpressionBlock( new ExpressionBlock(
factory.CodeTransition(), factory.CodeTransition(),
@ -84,8 +84,8 @@ namespace Microsoft.AspNet.Razor.Test.Editor
factory.Markup("</p>")); factory.Markup("</p>"));
original.LinkNodes(); original.LinkNodes();
modified.LinkNodes(); modified.LinkNodes();
ITextBuffer oldBuffer = new StringTextBuffer("<p>@f</p>"); var oldBuffer = new StringTextBuffer("<p>@f</p>");
ITextBuffer newBuffer = new StringTextBuffer("<p>@foo</p>"); var newBuffer = new StringTextBuffer("<p>@foo</p>");
Assert.False(BackgroundParser.TreesAreDifferent( Assert.False(BackgroundParser.TreesAreDifferent(
original, modified, new[] { original, modified, new[] {
new TextChange(position: 5, oldLength: 0, oldBuffer: oldBuffer, newLength: 2, newBuffer: newBuffer) new TextChange(position: 5, oldLength: 0, oldBuffer: oldBuffer, newLength: 2, newBuffer: newBuffer)
@ -95,7 +95,7 @@ namespace Microsoft.AspNet.Razor.Test.Editor
[Fact] [Fact]
public void CheckForStructureChangesRequiresNonNullBufferInChange() public void CheckForStructureChangesRequiresNonNullBufferInChange()
{ {
TextChange change = new TextChange(); var change = new TextChange();
var parameterName = "change"; var parameterName = "change";
var exception = Assert.Throws<ArgumentException>( var exception = Assert.Throws<ArgumentException>(
parameterName, parameterName,
@ -117,10 +117,10 @@ namespace Microsoft.AspNet.Razor.Test.Editor
// Arrange // Arrange
using (RazorEditorParser parser = CreateClientParser()) using (RazorEditorParser parser = CreateClientParser())
{ {
StringTextBuffer input = new StringTextBuffer(SimpleCSHTMLDocument.ReadAllText()); var input = new StringTextBuffer(SimpleCSHTMLDocument.ReadAllText());
DocumentParseCompleteEventArgs capturedArgs = null; DocumentParseCompleteEventArgs capturedArgs = null;
ManualResetEventSlim parseComplete = new ManualResetEventSlim(false); var parseComplete = new ManualResetEventSlim(false);
parser.DocumentParseComplete += (sender, args) => parser.DocumentParseComplete += (sender, args) =>
{ {
@ -144,13 +144,13 @@ namespace Microsoft.AspNet.Razor.Test.Editor
public void CheckForStructureChangesStartsFullReparseIfChangeOverlapsMultipleSpans() public void CheckForStructureChangesStartsFullReparseIfChangeOverlapsMultipleSpans()
{ {
// Arrange // Arrange
RazorEditorParser parser = new RazorEditorParser(CreateHost(), TestLinePragmaFileName); var parser = new RazorEditorParser(CreateHost(), TestLinePragmaFileName);
ITextBuffer original = new StringTextBuffer("Foo @bar Baz"); var original = new StringTextBuffer("Foo @bar Baz");
ITextBuffer changed = new StringTextBuffer("Foo @bap Daz"); var changed = new StringTextBuffer("Foo @bap Daz");
TextChange change = new TextChange(7, 3, original, 3, changed); var change = new TextChange(7, 3, original, 3, changed);
ManualResetEventSlim parseComplete = new ManualResetEventSlim(); var parseComplete = new ManualResetEventSlim();
int parseCount = 0; var parseCount = 0;
parser.DocumentParseComplete += (sender, args) => parser.DocumentParseComplete += (sender, args) =>
{ {
Interlocked.Increment(ref parseCount); Interlocked.Increment(ref parseCount);
@ -162,7 +162,7 @@ namespace Microsoft.AspNet.Razor.Test.Editor
parseComplete.Reset(); parseComplete.Reset();
// Act // Act
PartialParseResult result = parser.CheckForStructureChanges(change); var result = parser.CheckForStructureChanges(change);
// Assert // Assert
Assert.Equal(PartialParseResult.Rejected, result); Assert.Equal(PartialParseResult.Rejected, result);

View File

@ -58,7 +58,7 @@ namespace Microsoft.AspNet.Razor.Test.Framework
protected override void SingleSpanBlockTest(string document, string spanContent, BlockType blockType, SpanKind spanType, AcceptedCharacters acceptedCharacters, params RazorError[] expectedErrors) protected override void SingleSpanBlockTest(string document, string spanContent, BlockType blockType, SpanKind spanType, AcceptedCharacters acceptedCharacters, params RazorError[] expectedErrors)
{ {
Block b = CreateSimpleBlockAndSpan(spanContent, blockType, spanType, acceptedCharacters); var b = CreateSimpleBlockAndSpan(spanContent, blockType, spanType, acceptedCharacters);
ParseBlockTest(document, b, expectedErrors ?? new RazorError[0]); ParseBlockTest(document, b, expectedErrors ?? new RazorError[0]);
} }

View File

@ -15,7 +15,7 @@ namespace Microsoft.AspNet.Razor.Test.Framework
protected virtual void SingleSpanDocumentTest(string document, BlockType blockType, SpanKind spanType) protected virtual void SingleSpanDocumentTest(string document, BlockType blockType, SpanKind spanType)
{ {
Block b = CreateSimpleBlockAndSpan(document, blockType, spanType); var b = CreateSimpleBlockAndSpan(document, blockType, spanType);
ParseDocumentTest(document, b); ParseDocumentTest(document, b);
} }
} }

View File

@ -110,7 +110,7 @@ namespace Microsoft.AspNet.Razor.Test.Framework
protected virtual void SingleSpanBlockTest(string document, string spanContent, BlockType blockType, SpanKind spanType, AcceptedCharacters acceptedCharacters, params RazorError[] expectedErrors) protected virtual void SingleSpanBlockTest(string document, string spanContent, BlockType blockType, SpanKind spanType, AcceptedCharacters acceptedCharacters, params RazorError[] expectedErrors)
{ {
BlockBuilder builder = new BlockBuilder(); var builder = new BlockBuilder();
builder.Type = blockType; builder.Type = blockType;
ParseBlockTest( ParseBlockTest(
document, document,
@ -167,13 +167,13 @@ namespace Microsoft.AspNet.Razor.Test.Framework
// Create the source // Create the source
ParserResults results = null; ParserResults results = null;
using (SeekableTextReader reader = new SeekableTextReader(document)) using (var reader = new SeekableTextReader(document))
{ {
try try
{ {
ParserBase codeParser = CreateCodeParser(); var codeParser = CreateCodeParser();
ParserBase markupParser = CreateMarkupParser(); var markupParser = CreateMarkupParser();
ParserContext context = CreateParserContext(reader, codeParser, markupParser); var context = CreateParserContext(reader, codeParser, markupParser);
context.DesignTimeMode = designTimeParser; context.DesignTimeMode = designTimeParser;
codeParser.Context = context; codeParser.Context = context;
@ -199,7 +199,7 @@ namespace Microsoft.AspNet.Razor.Test.Framework
protected virtual void RunParseTest(string document, Func<ParserBase, Action> parserActionSelector, Block expectedRoot, IList<RazorError> expectedErrors, bool designTimeParser, Func<ParserContext, ParserBase> parserSelector = null) protected virtual void RunParseTest(string document, Func<ParserBase, Action> parserActionSelector, Block expectedRoot, IList<RazorError> expectedErrors, bool designTimeParser, Func<ParserContext, ParserBase> parserSelector = null)
{ {
// Create the source // Create the source
ParserResults results = RunParse(document, parserActionSelector, designTimeParser, parserSelector); var results = RunParse(document, parserActionSelector, designTimeParser, parserSelector);
// Evaluate the results // Evaluate the results
if (!ReferenceEquals(expectedRoot, IgnoreOutput)) if (!ReferenceEquals(expectedRoot, IgnoreOutput))
@ -211,7 +211,7 @@ namespace Microsoft.AspNet.Razor.Test.Framework
[Conditional("PARSER_TRACE")] [Conditional("PARSER_TRACE")]
private void WriteNode(int indent, SyntaxTreeNode node) private void WriteNode(int indent, SyntaxTreeNode node)
{ {
string content = node.ToString().Replace("\r", "\\r") var content = node.ToString().Replace("\r", "\\r")
.Replace("\n", "\\n") .Replace("\n", "\\n")
.Replace("{", "{{") .Replace("{", "{{")
.Replace("}", "}}"); .Replace("}", "}}");
@ -220,7 +220,7 @@ namespace Microsoft.AspNet.Razor.Test.Framework
content = new String('.', indent * 2) + content; content = new String('.', indent * 2) + content;
} }
WriteTraceLine(content); WriteTraceLine(content);
Block block = node as Block; var block = node as Block;
if (block != null) if (block != null)
{ {
foreach (SyntaxTreeNode child in block.Children) foreach (SyntaxTreeNode child in block.Children)
@ -244,7 +244,7 @@ namespace Microsoft.AspNet.Razor.Test.Framework
public static void EvaluateParseTree(Block actualRoot, Block expectedRoot) public static void EvaluateParseTree(Block actualRoot, Block expectedRoot)
{ {
// Evaluate the result // Evaluate the result
ErrorCollector collector = new ErrorCollector(); var collector = new ErrorCollector();
// Link all the nodes // Link all the nodes
expectedRoot.LinkNodes(); expectedRoot.LinkNodes();
@ -429,7 +429,7 @@ namespace Microsoft.AspNet.Razor.Test.Framework
return "\t<< No Errors >>"; return "\t<< No Errors >>";
} }
StringBuilder builder = new StringBuilder(); var builder = new StringBuilder();
foreach (RazorError err in errors) foreach (RazorError err in errors)
{ {
builder.AppendFormat("\t{0}", err); builder.AppendFormat("\t{0}", err);
@ -446,8 +446,8 @@ namespace Microsoft.AspNet.Razor.Test.Framework
protected virtual Block CreateSimpleBlockAndSpan(string spanContent, BlockType blockType, SpanKind spanType, AcceptedCharacters acceptedCharacters = AcceptedCharacters.Any) protected virtual Block CreateSimpleBlockAndSpan(string spanContent, BlockType blockType, SpanKind spanType, AcceptedCharacters acceptedCharacters = AcceptedCharacters.Any)
{ {
SpanConstructor span = Factory.Span(spanType, spanContent, spanType == SpanKind.Markup).Accepts(acceptedCharacters); var span = Factory.Span(spanType, spanContent, spanType == SpanKind.Markup).Accepts(acceptedCharacters);
BlockBuilder b = new BlockBuilder() var b = new BlockBuilder()
{ {
Type = blockType Type = blockType
}; };

View File

@ -28,7 +28,7 @@ namespace Microsoft.AspNet.Razor.Test.Framework
public override bool Equals(object obj) public override bool Equals(object obj)
{ {
RawTextSymbol other = obj as RawTextSymbol; var other = obj as RawTextSymbol;
return Equals(Start, other.Start) && Equals(Content, other.Content); return Equals(Start, other.Start) && Equals(Content, other.Content);
} }

View File

@ -116,7 +116,7 @@ namespace Microsoft.AspNet.Razor.Test.Framework
public static SourceLocation GetLocationAndAdvance(this SourceLocationTracker self, string content) public static SourceLocation GetLocationAndAdvance(this SourceLocationTracker self, string content)
{ {
SourceLocation ret = self.CurrentLocation; var ret = self.CurrentLocation;
self.UpdateLocation(content); self.UpdateLocation(content);
return ret; return ret;
} }
@ -169,7 +169,7 @@ namespace Microsoft.AspNet.Razor.Test.Framework
private SpanConstructor CreateSymbolSpan(SpanKind kind, string content, Func<SourceLocation, ISymbol> ctor) private SpanConstructor CreateSymbolSpan(SpanKind kind, string content, Func<SourceLocation, ISymbol> ctor)
{ {
SourceLocation start = LocationTracker.CurrentLocation; var start = LocationTracker.CurrentLocation;
LocationTracker.UpdateLocation(content); LocationTracker.UpdateLocation(content);
return new SpanConstructor(kind, new[] { ctor(start) }); return new SpanConstructor(kind, new[] { ctor(start) });
} }
@ -186,7 +186,7 @@ namespace Microsoft.AspNet.Razor.Test.Framework
private IEnumerable<ISymbol> Tokenize(string content, bool markup) private IEnumerable<ISymbol> Tokenize(string content, bool markup)
{ {
ITokenizer tok = MakeTokenizer(markup, new SeekableTextReader(content)); var tok = MakeTokenizer(markup, new SeekableTextReader(content));
ISymbol sym; ISymbol sym;
ISymbol last = null; ISymbol last = null;
while ((sym = tok.NextSymbol()) != null) while ((sym = tok.NextSymbol()) != null)

View File

@ -456,7 +456,7 @@ namespace Microsoft.AspNet.Razor.Test.Generator
private void OpenedIf(bool withTabs) private void OpenedIf(bool withTabs)
{ {
int tabOffsetForMapping = 7; var tabOffsetForMapping = 7;
// where the test is running with tabs, the offset into the CS buffer changes for the whitespace mapping // where the test is running with tabs, the offset into the CS buffer changes for the whitespace mapping
// with spaces we get 7xspace -> offset of 8 (column = offset+1) // with spaces we get 7xspace -> offset of 8 (column = offset+1)

View File

@ -43,7 +43,7 @@ namespace Microsoft.AspNet.Razor.Test.Generator
var paddingBuilder = new CSharpPaddingBuilder(host); var paddingBuilder = new CSharpPaddingBuilder(host);
// Act // Act
int padding = paddingBuilder.CalculatePadding(span, 1); var padding = paddingBuilder.CalculatePadding(span, 1);
// Assert // Assert
Assert.Equal(5, padding); Assert.Equal(5, padding);
@ -229,7 +229,7 @@ namespace Microsoft.AspNet.Razor.Test.Generator
using (var reader = new StringReader(text)) using (var reader = new StringReader(text))
{ {
ParserResults results = parser.Parse(reader); var results = parser.Parse(reader);
spans = results.Document.Flatten().ToArray(); spans = results.Document.Flatten().ToArray();
} }

View File

@ -41,7 +41,7 @@ namespace Microsoft.AspNet.Razor.Test.Generator
Func<RazorTemplateEngine, RazorTemplateEngine> templateEngineConfig = null, Func<RazorTemplateEngine, RazorTemplateEngine> templateEngineConfig = null,
Action<GeneratorResults> onResults = null) Action<GeneratorResults> onResults = null)
{ {
bool testRun = false; var testRun = false;
if ((tabTest & TabTest.Tabs) == TabTest.Tabs) if ((tabTest & TabTest.Tabs) == TabTest.Tabs)
{ {
@ -103,11 +103,11 @@ namespace Microsoft.AspNet.Razor.Test.Generator
baselineName = name; baselineName = name;
} }
string sourceLocation = string.Format("TestFiles/CodeGenerator/{1}/Source/{0}.{2}", name, LanguageName, FileExtension); var sourceLocation = string.Format("TestFiles/CodeGenerator/{1}/Source/{0}.{2}", name, LanguageName, FileExtension);
string expectedOutput = TestFile.Create(string.Format("TestFiles/CodeGenerator/CS/Output/{0}.{1}", baselineName, BaselineExtension)).ReadAllText(); var expectedOutput = TestFile.Create(string.Format("TestFiles/CodeGenerator/CS/Output/{0}.{1}", baselineName, BaselineExtension)).ReadAllText();
// Set up the host and engine // Set up the host and engine
RazorEngineHost host = CreateHost(); var host = CreateHost();
host.NamespaceImports.Add("System"); host.NamespaceImports.Add("System");
host.DesignTimeMode = designTimeMode; host.DesignTimeMode = designTimeMode;
host.StaticHelpers = true; host.StaticHelpers = true;
@ -136,7 +136,7 @@ namespace Microsoft.AspNet.Razor.Test.Generator
host.IsIndentingWithTabs = withTabs; host.IsIndentingWithTabs = withTabs;
host.EnableInstrumentation = true; host.EnableInstrumentation = true;
RazorTemplateEngine engine = new RazorTemplateEngine(host); var engine = new RazorTemplateEngine(host);
if(templateEngineConfig != null) if(templateEngineConfig != null)
{ {
@ -154,7 +154,7 @@ namespace Microsoft.AspNet.Razor.Test.Generator
BaselineWriter.WriteBaseline(String.Format(@"test\Microsoft.AspNet.Razor.Test\TestFiles\CodeGenerator\{0}\Output\{1}.{2}", LanguageName, baselineName, BaselineExtension), results.GeneratedCode); BaselineWriter.WriteBaseline(String.Format(@"test\Microsoft.AspNet.Razor.Test\TestFiles\CodeGenerator\{0}\Output\{1}.{2}", LanguageName, baselineName, BaselineExtension), results.GeneratedCode);
#if !GENERATE_BASELINES #if !GENERATE_BASELINES
string textOutput = results.GeneratedCode; var textOutput = results.GeneratedCode;
if (onResults != null) if (onResults != null)
{ {

View File

@ -39,7 +39,7 @@ namespace Microsoft.AspNet.Razor.Test.Generator
public override bool Equals(object obj) public override bool Equals(object obj)
{ {
TestSpan other = obj as TestSpan; var other = obj as TestSpan;
if (other != null) if (other != null)
{ {

View File

@ -17,12 +17,12 @@ namespace Microsoft.AspNet.Razor.Test.Parser
public void ConstructorWithBlockBuilderSetsParent() public void ConstructorWithBlockBuilderSetsParent()
{ {
// Arrange // Arrange
BlockBuilder builder = new BlockBuilder() { Type = BlockType.Comment }; var builder = new BlockBuilder() { Type = BlockType.Comment };
Span span = new SpanBuilder() { Kind = SpanKind.Code }.Build(); var span = new SpanBuilder() { Kind = SpanKind.Code }.Build();
builder.Children.Add(span); builder.Children.Add(span);
// Act // Act
Block block = builder.Build(); var block = builder.Build();
// Assert // Assert
Assert.Same(block, span.Parent); Assert.Same(block, span.Parent);
@ -32,15 +32,15 @@ namespace Microsoft.AspNet.Razor.Test.Parser
public void ConstructorTransfersInstanceOfCodeGeneratorFromBlockBuilder() public void ConstructorTransfersInstanceOfCodeGeneratorFromBlockBuilder()
{ {
// Arrange // Arrange
IBlockCodeGenerator expected = new ExpressionCodeGenerator(); var expected = new ExpressionCodeGenerator();
BlockBuilder builder = new BlockBuilder() var builder = new BlockBuilder()
{ {
Type = BlockType.Helper, Type = BlockType.Helper,
CodeGenerator = expected CodeGenerator = expected
}; };
// Act // Act
Block actual = builder.Build(); var actual = builder.Build();
// Assert // Assert
Assert.Same(expected, actual.CodeGenerator); Assert.Same(expected, actual.CodeGenerator);
@ -50,15 +50,15 @@ namespace Microsoft.AspNet.Razor.Test.Parser
public void ConstructorTransfersChildrenFromBlockBuilder() public void ConstructorTransfersChildrenFromBlockBuilder()
{ {
// Arrange // Arrange
Span expected = new SpanBuilder() { Kind = SpanKind.Code }.Build(); var expected = new SpanBuilder() { Kind = SpanKind.Code }.Build();
BlockBuilder builder = new BlockBuilder() var builder = new BlockBuilder()
{ {
Type = BlockType.Functions Type = BlockType.Functions
}; };
builder.Children.Add(expected); builder.Children.Add(expected);
// Act // Act
Block block = builder.Build(); var block = builder.Build();
// Assert // Assert
Assert.Same(expected, block.Children.Single()); Assert.Same(expected, block.Children.Single());
@ -69,16 +69,16 @@ namespace Microsoft.AspNet.Razor.Test.Parser
{ {
// Arrange // Arrange
var factory = SpanFactory.CreateCsHtml(); var factory = SpanFactory.CreateCsHtml();
Block block = new MarkupBlock( var block = new MarkupBlock(
factory.Markup("Foo "), factory.Markup("Foo "),
new StatementBlock( new StatementBlock(
factory.CodeTransition(), factory.CodeTransition(),
factory.Code("bar").AsStatement()), factory.Code("bar").AsStatement()),
factory.Markup(" Baz")); factory.Markup(" Baz"));
TextChange change = new TextChange(128, 1, new StringTextBuffer("Foo @bar Baz"), 1, new StringTextBuffer("Foo @bor Baz")); var change = new TextChange(128, 1, new StringTextBuffer("Foo @bar Baz"), 1, new StringTextBuffer("Foo @bor Baz"));
// Act // Act
Span actual = block.LocateOwner(change); var actual = block.LocateOwner(change);
// Assert // Assert
Assert.Null(actual); Assert.Null(actual);
@ -89,16 +89,16 @@ namespace Microsoft.AspNet.Razor.Test.Parser
{ {
// Arrange // Arrange
var factory = SpanFactory.CreateCsHtml(); var factory = SpanFactory.CreateCsHtml();
Block block = new MarkupBlock( var block = new MarkupBlock(
factory.Markup("Foo "), factory.Markup("Foo "),
new StatementBlock( new StatementBlock(
factory.CodeTransition(), factory.CodeTransition(),
factory.Code("bar").AsStatement()), factory.Code("bar").AsStatement()),
factory.Markup(" Baz")); factory.Markup(" Baz"));
TextChange change = new TextChange(4, 10, new StringTextBuffer("Foo @bar Baz"), 10, new StringTextBuffer("Foo @bor Baz")); var change = new TextChange(4, 10, new StringTextBuffer("Foo @bar Baz"), 10, new StringTextBuffer("Foo @bor Baz"));
// Act // Act
Span actual = block.LocateOwner(change); var actual = block.LocateOwner(change);
// Assert // Assert
Assert.Null(actual); Assert.Null(actual);

View File

@ -18,7 +18,7 @@ namespace Microsoft.AspNet.Razor.Test.Parser.CSharp
public void ParseBlockMethodThrowsArgNullExceptionOnNullContext() public void ParseBlockMethodThrowsArgNullExceptionOnNullContext()
{ {
// Arrange // Arrange
CSharpCodeParser parser = new CSharpCodeParser(); var parser = new CSharpCodeParser();
// Act and Assert // Act and Assert
var exception = Assert.Throws<InvalidOperationException>(() => parser.ParseBlock()); var exception = Assert.Throws<InvalidOperationException>(() => parser.ParseBlock());
@ -567,14 +567,14 @@ catch(bar) { baz(); }", BlockType.Statement, SpanKind.Code);
[Fact] [Fact]
public void ParseBlockStopsParsingCatchClausesAfterFinallyBlock() public void ParseBlockStopsParsingCatchClausesAfterFinallyBlock()
{ {
string expectedContent = "try { var foo = new { } } finally { var foo = new { } }"; var expectedContent = "try { var foo = new { } } finally { var foo = new { } }";
SingleSpanBlockTest(expectedContent + " catch(Foo Bar Baz) { }", expectedContent, BlockType.Statement, SpanKind.Code, acceptedCharacters: AcceptedCharacters.None); SingleSpanBlockTest(expectedContent + " catch(Foo Bar Baz) { }", expectedContent, BlockType.Statement, SpanKind.Code, acceptedCharacters: AcceptedCharacters.None);
} }
[Fact] [Fact]
public void ParseBlockDoesNotAllowMultipleFinallyBlocks() public void ParseBlockDoesNotAllowMultipleFinallyBlocks()
{ {
string expectedContent = "try { var foo = new { } } finally { var foo = new { } }"; var expectedContent = "try { var foo = new { } } finally { var foo = new { } }";
SingleSpanBlockTest(expectedContent + " finally { }", expectedContent, BlockType.Statement, SpanKind.Code, acceptedCharacters: AcceptedCharacters.None); SingleSpanBlockTest(expectedContent + " finally { }", expectedContent, BlockType.Statement, SpanKind.Code, acceptedCharacters: AcceptedCharacters.None);
} }

View File

@ -384,7 +384,7 @@ namespace Microsoft.AspNet.Razor.Test.Parser.CSharp
[Fact] [Fact]
public void ParseBlockRequiresControlFlowStatementsToHaveBraces() public void ParseBlockRequiresControlFlowStatementsToHaveBraces()
{ {
string expectedMessage = RazorResources.FormatParseError_SingleLine_ControlFlowStatements_Not_Allowed("{", "<"); var expectedMessage = RazorResources.FormatParseError_SingleLine_ControlFlowStatements_Not_Allowed("{", "<");
ParseBlockTest("if(foo) <p>Bar</p> else if(bar) <p>Baz</p> else <p>Boz</p>", ParseBlockTest("if(foo) <p>Bar</p> else if(bar) <p>Baz</p> else <p>Boz</p>",
new StatementBlock( new StatementBlock(
Factory.Code("if(foo) ").AsStatement(), Factory.Code("if(foo) ").AsStatement(),

View File

@ -27,7 +27,7 @@ namespace Microsoft.AspNet.Razor.Test.Parser
{ {
// Arrange // Arrange
Action<Span> spanCallback = _ => { }; Action<Span> spanCallback = _ => { };
CallbackVisitor listener = new CallbackVisitor(spanCallback); var listener = new CallbackVisitor(spanCallback);
// Act/Assert // Act/Assert
listener.VisitStartBlock(new FunctionsBlock()); listener.VisitStartBlock(new FunctionsBlock());
@ -114,7 +114,7 @@ namespace Microsoft.AspNet.Razor.Test.Parser
// Act/Assert // Act/Assert
RunCallbackTest<T>(default(T), callback => RunCallbackTest<T>(default(T), callback =>
{ {
CallbackVisitor listener = ctor(callback); var listener = ctor(callback);
listener.SynchronizationContext = mockContext.Object; listener.SynchronizationContext = mockContext.Object;
return listener; return listener;
}, call, (original, actual) => }, call, (original, actual) =>
@ -151,7 +151,7 @@ namespace Microsoft.AspNet.Razor.Test.Parser
object actual = null; object actual = null;
Action<T> callback = t => actual = t; Action<T> callback = t => actual = t;
CallbackVisitor listener = ctor(callback); var listener = ctor(callback);
// Act // Act
call(listener, expected); call(listener, expected);

View File

@ -184,7 +184,7 @@ namespace Microsoft.AspNet.Razor.Test.Parser.Html
public void ConditionalAttributeCollapserDoesNotRemoveUrlAttributeValues() public void ConditionalAttributeCollapserDoesNotRemoveUrlAttributeValues()
{ {
// Act // Act
ParserResults results = ParseDocument("<a href='~/Foo/Bar' />"); var results = ParseDocument("<a href='~/Foo/Bar' />");
var rewritingContext = new RewritingContext(results.Document); var rewritingContext = new RewritingContext(results.Document);
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);
@ -271,7 +271,7 @@ namespace Microsoft.AspNet.Razor.Test.Parser.Html
</div>"; </div>";
// Act // Act
ParserResults results = ParseDocument(code); var results = ParseDocument(code);
var rewritingContext = new RewritingContext(results.Document); var rewritingContext = new RewritingContext(results.Document);
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);

View File

@ -19,7 +19,7 @@ namespace Microsoft.AspNet.Razor.Test.Parser.Html
public void ParseBlockMethodThrowsArgNullExceptionOnNullContext() public void ParseBlockMethodThrowsArgNullExceptionOnNullContext()
{ {
// Arrange // Arrange
HtmlMarkupParser parser = new HtmlMarkupParser(); var parser = new HtmlMarkupParser();
// Act and Assert // Act and Assert
var exception = Assert.Throws<InvalidOperationException>(() => parser.ParseBlock()); var exception = Assert.Throws<InvalidOperationException>(() => parser.ParseBlock());

View File

@ -19,7 +19,7 @@ namespace Microsoft.AspNet.Razor.Test.Parser.Html
public void ParseDocumentMethodThrowsArgNullExceptionOnNullContext() public void ParseDocumentMethodThrowsArgNullExceptionOnNullContext()
{ {
// Arrange // Arrange
HtmlMarkupParser parser = new HtmlMarkupParser(); var parser = new HtmlMarkupParser();
// Act and Assert // Act and Assert
var exception = Assert.Throws<InvalidOperationException>(() => parser.ParseDocument()); var exception = Assert.Throws<InvalidOperationException>(() => parser.ParseDocument());
@ -30,7 +30,7 @@ namespace Microsoft.AspNet.Razor.Test.Parser.Html
public void ParseSectionMethodThrowsArgNullExceptionOnNullContext() public void ParseSectionMethodThrowsArgNullExceptionOnNullContext()
{ {
// Arrange // Arrange
HtmlMarkupParser parser = new HtmlMarkupParser(); var parser = new HtmlMarkupParser();
// Act and Assert // Act and Assert
var exception = Assert.Throws<InvalidOperationException>(() => parser.ParseSection(null, true)); var exception = Assert.Throws<InvalidOperationException>(() => parser.ParseSection(null, true));
@ -277,7 +277,7 @@ namespace Microsoft.AspNet.Razor.Test.Parser.Html
[Fact] [Fact]
public void ParseBlockCanParse1000NestedElements() public void ParseBlockCanParse1000NestedElements()
{ {
string content = Nested1000.ReadAllText(); var content = Nested1000.ReadAllText();
ParseDocument(content); ParseDocument(content);
} }
} }

View File

@ -65,12 +65,12 @@ namespace Microsoft.AspNet.Razor.Test.Parser
public void ConstructorInitializesProperties() public void ConstructorInitializesProperties()
{ {
// Arrange // Arrange
SeekableTextReader expectedBuffer = new SeekableTextReader(TextReader.Null); var expectedBuffer = new SeekableTextReader(TextReader.Null);
CSharpCodeParser expectedCodeParser = new CSharpCodeParser(); var expectedCodeParser = new CSharpCodeParser();
HtmlMarkupParser expectedMarkupParser = new HtmlMarkupParser(); var expectedMarkupParser = new HtmlMarkupParser();
// Act // Act
ParserContext context = new ParserContext(expectedBuffer, expectedCodeParser, expectedMarkupParser, expectedCodeParser); var context = new ParserContext(expectedBuffer, expectedCodeParser, expectedMarkupParser, expectedCodeParser);
// Assert // Assert
Assert.NotNull(context.Source); Assert.NotNull(context.Source);
@ -83,10 +83,10 @@ namespace Microsoft.AspNet.Razor.Test.Parser
public void CurrentCharacterReturnsCurrentCharacterInTextBuffer() public void CurrentCharacterReturnsCurrentCharacterInTextBuffer()
{ {
// Arrange // Arrange
ParserContext context = SetupTestContext("bar", b => b.Read()); var context = SetupTestContext("bar", b => b.Read());
// Act // Act
char actual = context.CurrentCharacter; var actual = context.CurrentCharacter;
// Assert // Assert
Assert.Equal('a', actual); Assert.Equal('a', actual);
@ -96,10 +96,10 @@ namespace Microsoft.AspNet.Razor.Test.Parser
public void CurrentCharacterReturnsNulCharacterIfTextBufferAtEOF() public void CurrentCharacterReturnsNulCharacterIfTextBufferAtEOF()
{ {
// Arrange // Arrange
ParserContext context = SetupTestContext("bar", b => b.ReadToEnd()); var context = SetupTestContext("bar", b => b.ReadToEnd());
// Act // Act
char actual = context.CurrentCharacter; var actual = context.CurrentCharacter;
// Assert // Assert
Assert.Equal('\0', actual); Assert.Equal('\0', actual);
@ -109,7 +109,7 @@ namespace Microsoft.AspNet.Razor.Test.Parser
public void EndOfFileReturnsFalseIfTextBufferNotAtEOF() public void EndOfFileReturnsFalseIfTextBufferNotAtEOF()
{ {
// Arrange // Arrange
ParserContext context = SetupTestContext("bar"); var context = SetupTestContext("bar");
// Act/Assert // Act/Assert
Assert.False(context.EndOfFile); Assert.False(context.EndOfFile);
@ -119,7 +119,7 @@ namespace Microsoft.AspNet.Razor.Test.Parser
public void EndOfFileReturnsTrueIfTextBufferAtEOF() public void EndOfFileReturnsTrueIfTextBufferAtEOF()
{ {
// Arrange // Arrange
ParserContext context = SetupTestContext("bar", b => b.ReadToEnd()); var context = SetupTestContext("bar", b => b.ReadToEnd());
// Act/Assert // Act/Assert
Assert.True(context.EndOfFile); Assert.True(context.EndOfFile);
@ -129,7 +129,7 @@ namespace Microsoft.AspNet.Razor.Test.Parser
public void StartBlockCreatesNewBlock() public void StartBlockCreatesNewBlock()
{ {
// Arrange // Arrange
ParserContext context = SetupTestContext("phoo"); var context = SetupTestContext("phoo");
// Act // Act
context.StartBlock(BlockType.Expression); context.StartBlock(BlockType.Expression);
@ -145,7 +145,7 @@ namespace Microsoft.AspNet.Razor.Test.Parser
{ {
// Arrange // Arrange
Mock<ParserVisitor> mockListener = new Mock<ParserVisitor>(); Mock<ParserVisitor> mockListener = new Mock<ParserVisitor>();
ParserContext context = SetupTestContext("phoo"); var context = SetupTestContext("phoo");
// Act // Act
context.StartBlock(BlockType.Expression); context.StartBlock(BlockType.Expression);
@ -165,21 +165,21 @@ namespace Microsoft.AspNet.Razor.Test.Parser
// Arrange // Arrange
var factory = SpanFactory.CreateCsHtml(); var factory = SpanFactory.CreateCsHtml();
Mock<ParserVisitor> mockListener = new Mock<ParserVisitor>(); Mock<ParserVisitor> mockListener = new Mock<ParserVisitor>();
ParserContext context = SetupTestContext("phoo"); var context = SetupTestContext("phoo");
SpanBuilder builder = new SpanBuilder() var builder = new SpanBuilder()
{ {
Kind = SpanKind.Code Kind = SpanKind.Code
}; };
builder.Accept(new CSharpSymbol(1, 0, 1, "foo", CSharpSymbolType.Identifier)); builder.Accept(new CSharpSymbol(1, 0, 1, "foo", CSharpSymbolType.Identifier));
Span added = builder.Build(); var added = builder.Build();
using (context.StartBlock(BlockType.Functions)) using (context.StartBlock(BlockType.Functions))
{ {
context.AddSpan(added); context.AddSpan(added);
} }
BlockBuilder expected = new BlockBuilder() var expected = new BlockBuilder()
{ {
Type = BlockType.Functions, Type = BlockType.Functions,
}; };
@ -196,7 +196,7 @@ namespace Microsoft.AspNet.Razor.Test.Parser
// Arrange // Arrange
var codeParser = new CSharpCodeParser(); var codeParser = new CSharpCodeParser();
var markupParser = new HtmlMarkupParser(); var markupParser = new HtmlMarkupParser();
ParserContext context = SetupTestContext("barbazbiz", b => b.Read(), codeParser, markupParser, codeParser); var context = SetupTestContext("barbazbiz", b => b.Read(), codeParser, markupParser, codeParser);
Assert.Same(codeParser, context.ActiveParser); Assert.Same(codeParser, context.ActiveParser);
// Act // Act
@ -212,7 +212,7 @@ namespace Microsoft.AspNet.Razor.Test.Parser
// Arrange // Arrange
var codeParser = new CSharpCodeParser(); var codeParser = new CSharpCodeParser();
var markupParser = new HtmlMarkupParser(); var markupParser = new HtmlMarkupParser();
ParserContext context = SetupTestContext("barbazbiz", b => b.Read(), codeParser, markupParser, markupParser); var context = SetupTestContext("barbazbiz", b => b.Read(), codeParser, markupParser, markupParser);
Assert.Same(markupParser, context.ActiveParser); Assert.Same(markupParser, context.ActiveParser);
// Act // Act
@ -238,7 +238,7 @@ namespace Microsoft.AspNet.Razor.Test.Parser
private ParserContext SetupTestContext(string document, Action<TextReader> positioningAction, ParserBase codeParser, ParserBase markupParser, ParserBase activeParser) private ParserContext SetupTestContext(string document, Action<TextReader> positioningAction, ParserBase codeParser, ParserBase markupParser, ParserBase activeParser)
{ {
ParserContext context = new ParserContext(new SeekableTextReader(new StringReader(document)), codeParser, markupParser, activeParser); var context = new ParserContext(new SeekableTextReader(new StringReader(document)), codeParser, markupParser, activeParser);
positioningAction(context.Source); positioningAction(context.Source);
return context; return context;
} }

View File

@ -17,7 +17,7 @@ namespace Microsoft.AspNet.Razor.Test.Parser
public void VisitThrowsOnNullVisitor() public void VisitThrowsOnNullVisitor()
{ {
ParserVisitor target = null; ParserVisitor target = null;
ParserResults results = new ParserResults(new BlockBuilder() { Type = BlockType.Comment }.Build(), new List<RazorError>()); var results = new ParserResults(new BlockBuilder() { Type = BlockType.Comment }.Build(), new List<RazorError>());
Assert.Throws<ArgumentNullException>("self", () => target.Visit(results)); Assert.Throws<ArgumentNullException>("self", () => target.Visit(results));
} }
@ -25,7 +25,7 @@ namespace Microsoft.AspNet.Razor.Test.Parser
[Fact] [Fact]
public void VisitThrowsOnNullResults() public void VisitThrowsOnNullResults()
{ {
ParserVisitor target = new Mock<ParserVisitor>().Object; var target = new Mock<ParserVisitor>().Object;
Assert.Throws<ArgumentNullException>("result", () => target.Visit(null)); Assert.Throws<ArgumentNullException>("result", () => target.Visit(null));
} }
@ -34,8 +34,8 @@ namespace Microsoft.AspNet.Razor.Test.Parser
{ {
// Arrange // Arrange
Mock<ParserVisitor> targetMock = new Mock<ParserVisitor>(); Mock<ParserVisitor> targetMock = new Mock<ParserVisitor>();
Block root = new BlockBuilder() { Type = BlockType.Comment }.Build(); var root = new BlockBuilder() { Type = BlockType.Comment }.Build();
ParserResults results = new ParserResults(root, new List<RazorError>()); var results = new ParserResults(root, new List<RazorError>());
// Act // Act
targetMock.Object.Visit(results); targetMock.Object.Visit(results);
@ -49,12 +49,12 @@ namespace Microsoft.AspNet.Razor.Test.Parser
{ {
// Arrange // Arrange
Mock<ParserVisitor> targetMock = new Mock<ParserVisitor>(); Mock<ParserVisitor> targetMock = new Mock<ParserVisitor>();
Block root = new BlockBuilder() { Type = BlockType.Comment }.Build(); var root = new BlockBuilder() { Type = BlockType.Comment }.Build();
List<RazorError> errors = new List<RazorError>() { List<RazorError> errors = new List<RazorError>() {
new RazorError("Foo", 1, 0, 1), new RazorError("Foo", 1, 0, 1),
new RazorError("Bar", 2, 0, 2) new RazorError("Bar", 2, 0, 2)
}; };
ParserResults results = new ParserResults(root, errors); var results = new ParserResults(root, errors);
// Act // Act
targetMock.Object.Visit(results); targetMock.Object.Visit(results);
@ -69,12 +69,12 @@ namespace Microsoft.AspNet.Razor.Test.Parser
{ {
// Arrange // Arrange
Mock<ParserVisitor> targetMock = new Mock<ParserVisitor>(); Mock<ParserVisitor> targetMock = new Mock<ParserVisitor>();
Block root = new BlockBuilder() { Type = BlockType.Comment }.Build(); var root = new BlockBuilder() { Type = BlockType.Comment }.Build();
List<RazorError> errors = new List<RazorError>() { List<RazorError> errors = new List<RazorError>() {
new RazorError("Foo", 1, 0, 1), new RazorError("Foo", 1, 0, 1),
new RazorError("Bar", 2, 0, 2) new RazorError("Bar", 2, 0, 2)
}; };
ParserResults results = new ParserResults(root, errors); var results = new ParserResults(root, errors);
// Act // Act
targetMock.Object.Visit(results); targetMock.Object.Visit(results);

View File

@ -17,9 +17,9 @@ namespace Microsoft.AspNet.Razor.Test.Parser.PartialParsing
public void AwaitPeriodInsertionAcceptedProvisionally() public void AwaitPeriodInsertionAcceptedProvisionally()
{ {
// Arrange // Arrange
SpanFactory factory = SpanFactory.CreateCsHtml(); var factory = SpanFactory.CreateCsHtml();
StringTextBuffer changed = new StringTextBuffer("foo @await Html. baz"); var changed = new StringTextBuffer("foo @await Html. baz");
StringTextBuffer old = new StringTextBuffer("foo @await Html baz"); var old = new StringTextBuffer("foo @await Html baz");
// Act and Assert // Act and Assert
RunPartialParseTest(new TextChange(15, 0, old, 1, changed), RunPartialParseTest(new TextChange(15, 0, old, 1, changed),
@ -35,13 +35,13 @@ namespace Microsoft.AspNet.Razor.Test.Parser.PartialParsing
public void ImplicitExpressionAcceptsInnerInsertionsInStatementBlock() public void ImplicitExpressionAcceptsInnerInsertionsInStatementBlock()
{ {
// Arrange // Arrange
SpanFactory factory = SpanFactory.CreateCsHtml(); var factory = SpanFactory.CreateCsHtml();
StringTextBuffer changed = new StringTextBuffer("@{" + Environment.NewLine var changed = new StringTextBuffer("@{" + Environment.NewLine
+ " @DateTime..Now" + Environment.NewLine + " @DateTime..Now" + Environment.NewLine
+ "}"); + "}");
StringTextBuffer old = new StringTextBuffer("@{" + Environment.NewLine var old = new StringTextBuffer("@{" + Environment.NewLine
+ " @DateTime.Now" + Environment.NewLine + " @DateTime.Now" + Environment.NewLine
+ "}"); + "}");
// Act and Assert // Act and Assert
RunPartialParseTest(new TextChange(17, 0, old, 1, changed), RunPartialParseTest(new TextChange(17, 0, old, 1, changed),
@ -65,9 +65,9 @@ namespace Microsoft.AspNet.Razor.Test.Parser.PartialParsing
public void ImplicitExpressionAcceptsInnerInsertions() public void ImplicitExpressionAcceptsInnerInsertions()
{ {
// Arrange // Arrange
SpanFactory factory = SpanFactory.CreateCsHtml(); var factory = SpanFactory.CreateCsHtml();
StringTextBuffer changed = new StringTextBuffer("foo @DateTime..Now baz"); var changed = new StringTextBuffer("foo @DateTime..Now baz");
StringTextBuffer old = new StringTextBuffer("foo @DateTime.Now baz"); var old = new StringTextBuffer("foo @DateTime.Now baz");
// Act and Assert // Act and Assert
RunPartialParseTest(new TextChange(13, 0, old, 1, changed), RunPartialParseTest(new TextChange(13, 0, old, 1, changed),
@ -83,19 +83,19 @@ namespace Microsoft.AspNet.Razor.Test.Parser.PartialParsing
[Fact] [Fact]
public void ImplicitExpressionAcceptsDotlessCommitInsertionsInStatementBlockAfterIdentifiers() public void ImplicitExpressionAcceptsDotlessCommitInsertionsInStatementBlockAfterIdentifiers()
{ {
SpanFactory factory = SpanFactory.CreateCsHtml(); var factory = SpanFactory.CreateCsHtml();
StringTextBuffer changed = new StringTextBuffer("@{" + Environment.NewLine var changed = new StringTextBuffer("@{" + Environment.NewLine
+ " @DateTime." + Environment.NewLine + " @DateTime." + Environment.NewLine
+ "}"); + "}");
StringTextBuffer old = new StringTextBuffer("@{" + Environment.NewLine var old = new StringTextBuffer("@{" + Environment.NewLine
+ " @DateTime" + Environment.NewLine + " @DateTime" + Environment.NewLine
+ "}"); + "}");
var textChange = new TextChange(17, 0, old, 1, changed); var textChange = new TextChange(17, 0, old, 1, changed);
TestParserManager manager = CreateParserManager(); var manager = CreateParserManager();
Action<TextChange, PartialParseResult, string> applyAndVerifyPartialChange = (changeToApply, expectedResult, expectedCode) => Action<TextChange, PartialParseResult, string> applyAndVerifyPartialChange = (changeToApply, expectedResult, expectedCode) =>
{ {
PartialParseResult result = manager.CheckForStructureChangesAndWait(textChange); var result = manager.CheckForStructureChangesAndWait(textChange);
// Assert // Assert
Assert.Equal(expectedResult, result); Assert.Equal(expectedResult, result);
@ -123,16 +123,16 @@ namespace Microsoft.AspNet.Razor.Test.Parser.PartialParsing
old = changed; old = changed;
changed = new StringTextBuffer("@{" + Environment.NewLine changed = new StringTextBuffer("@{" + Environment.NewLine
+ " @DateTime.." + Environment.NewLine + " @DateTime.." + Environment.NewLine
+ "}"); + "}");
textChange = new TextChange(18, 0, old, 1, changed); textChange = new TextChange(18, 0, old, 1, changed);
applyAndVerifyPartialChange(textChange, PartialParseResult.Accepted, "DateTime.."); applyAndVerifyPartialChange(textChange, PartialParseResult.Accepted, "DateTime..");
old = changed; old = changed;
changed = new StringTextBuffer("@{" + Environment.NewLine changed = new StringTextBuffer("@{" + Environment.NewLine
+ " @DateTime.Now." + Environment.NewLine + " @DateTime.Now." + Environment.NewLine
+ "}"); + "}");
textChange = new TextChange(18, 0, old, 3, changed); textChange = new TextChange(18, 0, old, 3, changed);
applyAndVerifyPartialChange(textChange, PartialParseResult.Accepted, "DateTime.Now."); applyAndVerifyPartialChange(textChange, PartialParseResult.Accepted, "DateTime.Now.");
@ -141,19 +141,19 @@ namespace Microsoft.AspNet.Razor.Test.Parser.PartialParsing
[Fact] [Fact]
public void ImplicitExpressionAcceptsDotlessCommitInsertionsInStatementBlock() public void ImplicitExpressionAcceptsDotlessCommitInsertionsInStatementBlock()
{ {
SpanFactory factory = SpanFactory.CreateCsHtml(); var factory = SpanFactory.CreateCsHtml();
StringTextBuffer changed = new StringTextBuffer("@{" + Environment.NewLine var changed = new StringTextBuffer("@{" + Environment.NewLine
+ " @DateT." + Environment.NewLine + " @DateT." + Environment.NewLine
+ "}"); + "}");
StringTextBuffer old = new StringTextBuffer("@{" + Environment.NewLine var old = new StringTextBuffer("@{" + Environment.NewLine
+ " @DateT" + Environment.NewLine + " @DateT" + Environment.NewLine
+ "}"); + "}");
var textChange = new TextChange(14, 0, old, 1, changed); var textChange = new TextChange(14, 0, old, 1, changed);
TestParserManager manager = CreateParserManager(); var manager = CreateParserManager();
Action<TextChange, PartialParseResult, string> applyAndVerifyPartialChange = (changeToApply, expectedResult, expectedCode) => Action<TextChange, PartialParseResult, string> applyAndVerifyPartialChange = (changeToApply, expectedResult, expectedCode) =>
{ {
PartialParseResult result = manager.CheckForStructureChangesAndWait(textChange); var result = manager.CheckForStructureChangesAndWait(textChange);
// Assert // Assert
Assert.Equal(expectedResult, result); Assert.Equal(expectedResult, result);
@ -181,8 +181,8 @@ namespace Microsoft.AspNet.Razor.Test.Parser.PartialParsing
old = changed; old = changed;
changed = new StringTextBuffer("@{" + Environment.NewLine changed = new StringTextBuffer("@{" + Environment.NewLine
+ " @DateTime." + Environment.NewLine + " @DateTime." + Environment.NewLine
+ "}"); + "}");
textChange = new TextChange(14, 0, old, 3, changed); textChange = new TextChange(14, 0, old, 3, changed);
applyAndVerifyPartialChange(textChange, PartialParseResult.Accepted, "DateTime."); applyAndVerifyPartialChange(textChange, PartialParseResult.Accepted, "DateTime.");
@ -191,14 +191,14 @@ namespace Microsoft.AspNet.Razor.Test.Parser.PartialParsing
[Fact] [Fact]
public void ImplicitExpressionProvisionallyAcceptsDotlessCommitInsertions() public void ImplicitExpressionProvisionallyAcceptsDotlessCommitInsertions()
{ {
SpanFactory factory = SpanFactory.CreateCsHtml(); var factory = SpanFactory.CreateCsHtml();
var changed = new StringTextBuffer("foo @DateT. baz"); var changed = new StringTextBuffer("foo @DateT. baz");
var old = new StringTextBuffer("foo @DateT baz"); var old = new StringTextBuffer("foo @DateT baz");
var textChange = new TextChange(10, 0, old, 1, changed); var textChange = new TextChange(10, 0, old, 1, changed);
TestParserManager manager = CreateParserManager(); var manager = CreateParserManager();
Action<TextChange, PartialParseResult, string> applyAndVerifyPartialChange = (changeToApply, expectedResult, expectedCode) => Action<TextChange, PartialParseResult, string> applyAndVerifyPartialChange = (changeToApply, expectedResult, expectedCode) =>
{ {
PartialParseResult result = manager.CheckForStructureChangesAndWait(textChange); var result = manager.CheckForStructureChangesAndWait(textChange);
// Assert // Assert
Assert.Equal(expectedResult, result); Assert.Equal(expectedResult, result);
@ -227,14 +227,14 @@ namespace Microsoft.AspNet.Razor.Test.Parser.PartialParsing
[Fact] [Fact]
public void ImplicitExpressionProvisionallyAcceptsDotlessCommitInsertionsAfterIdentifiers() public void ImplicitExpressionProvisionallyAcceptsDotlessCommitInsertionsAfterIdentifiers()
{ {
SpanFactory factory = SpanFactory.CreateCsHtml(); var factory = SpanFactory.CreateCsHtml();
var changed = new StringTextBuffer("foo @DateTime. baz"); var changed = new StringTextBuffer("foo @DateTime. baz");
var old = new StringTextBuffer("foo @DateTime baz"); var old = new StringTextBuffer("foo @DateTime baz");
var textChange = new TextChange(13, 0, old, 1, changed); var textChange = new TextChange(13, 0, old, 1, changed);
TestParserManager manager = CreateParserManager(); var manager = CreateParserManager();
Action<TextChange, PartialParseResult, string> applyAndVerifyPartialChange = (changeToApply, expectedResult, expectedCode) => Action<TextChange, PartialParseResult, string> applyAndVerifyPartialChange = (changeToApply, expectedResult, expectedCode) =>
{ {
PartialParseResult result = manager.CheckForStructureChangesAndWait(textChange); var result = manager.CheckForStructureChangesAndWait(textChange);
// Assert // Assert
Assert.Equal(expectedResult, result); Assert.Equal(expectedResult, result);
@ -269,9 +269,9 @@ namespace Microsoft.AspNet.Razor.Test.Parser.PartialParsing
[Fact] [Fact]
public void ImplicitExpressionProvisionallyAcceptsDeleteOfIdentifierPartsIfDotRemains() public void ImplicitExpressionProvisionallyAcceptsDeleteOfIdentifierPartsIfDotRemains()
{ {
SpanFactory factory = SpanFactory.CreateCsHtml(); var factory = SpanFactory.CreateCsHtml();
StringTextBuffer changed = new StringTextBuffer("foo @User. baz"); var changed = new StringTextBuffer("foo @User. baz");
StringTextBuffer old = new StringTextBuffer("foo @User.Name baz"); var old = new StringTextBuffer("foo @User.Name baz");
RunPartialParseTest(new TextChange(10, 4, old, 0, changed), RunPartialParseTest(new TextChange(10, 4, old, 0, changed),
new MarkupBlock( new MarkupBlock(
factory.Markup("foo "), factory.Markup("foo "),
@ -286,8 +286,8 @@ namespace Microsoft.AspNet.Razor.Test.Parser.PartialParsing
public void ImplicitExpressionAcceptsDeleteOfIdentifierPartsIfSomeOfIdentifierRemains() public void ImplicitExpressionAcceptsDeleteOfIdentifierPartsIfSomeOfIdentifierRemains()
{ {
var factory = SpanFactory.CreateCsHtml(); var factory = SpanFactory.CreateCsHtml();
StringTextBuffer changed = new StringTextBuffer("foo @Us baz"); var changed = new StringTextBuffer("foo @Us baz");
StringTextBuffer old = new StringTextBuffer("foo @User baz"); var old = new StringTextBuffer("foo @User baz");
RunPartialParseTest(new TextChange(7, 2, old, 0, changed), RunPartialParseTest(new TextChange(7, 2, old, 0, changed),
new MarkupBlock( new MarkupBlock(
factory.Markup("foo "), factory.Markup("foo "),
@ -301,8 +301,8 @@ namespace Microsoft.AspNet.Razor.Test.Parser.PartialParsing
public void ImplicitExpressionProvisionallyAcceptsMultipleInsertionIfItCausesIdentifierExpansionAndTrailingDot() public void ImplicitExpressionProvisionallyAcceptsMultipleInsertionIfItCausesIdentifierExpansionAndTrailingDot()
{ {
var factory = SpanFactory.CreateCsHtml(); var factory = SpanFactory.CreateCsHtml();
StringTextBuffer changed = new StringTextBuffer("foo @User. baz"); var changed = new StringTextBuffer("foo @User. baz");
StringTextBuffer old = new StringTextBuffer("foo @U baz"); var old = new StringTextBuffer("foo @U baz");
RunPartialParseTest(new TextChange(6, 0, old, 4, changed), RunPartialParseTest(new TextChange(6, 0, old, 4, changed),
new MarkupBlock( new MarkupBlock(
factory.Markup("foo "), factory.Markup("foo "),
@ -317,8 +317,8 @@ namespace Microsoft.AspNet.Razor.Test.Parser.PartialParsing
public void ImplicitExpressionAcceptsMultipleInsertionIfItOnlyCausesIdentifierExpansion() public void ImplicitExpressionAcceptsMultipleInsertionIfItOnlyCausesIdentifierExpansion()
{ {
var factory = SpanFactory.CreateCsHtml(); var factory = SpanFactory.CreateCsHtml();
StringTextBuffer changed = new StringTextBuffer("foo @barbiz baz"); var changed = new StringTextBuffer("foo @barbiz baz");
StringTextBuffer old = new StringTextBuffer("foo @bar baz"); var old = new StringTextBuffer("foo @bar baz");
RunPartialParseTest(new TextChange(8, 0, old, 3, changed), RunPartialParseTest(new TextChange(8, 0, old, 3, changed),
new MarkupBlock( new MarkupBlock(
factory.Markup("foo "), factory.Markup("foo "),
@ -332,12 +332,12 @@ namespace Microsoft.AspNet.Razor.Test.Parser.PartialParsing
public void ImplicitExpressionAcceptsIdentifierExpansionAtEndOfNonWhitespaceCharacters() public void ImplicitExpressionAcceptsIdentifierExpansionAtEndOfNonWhitespaceCharacters()
{ {
var factory = SpanFactory.CreateCsHtml(); var factory = SpanFactory.CreateCsHtml();
StringTextBuffer changed = new StringTextBuffer("@{" + Environment.NewLine var changed = new StringTextBuffer("@{" + Environment.NewLine
+ " @food" + Environment.NewLine + " @food" + Environment.NewLine
+ "}"); + "}");
StringTextBuffer old = new StringTextBuffer("@{" + Environment.NewLine var old = new StringTextBuffer("@{" + Environment.NewLine
+ " @foo" + Environment.NewLine + " @foo" + Environment.NewLine
+ "}"); + "}");
RunPartialParseTest(new TextChange(12, 0, old, 1, changed), RunPartialParseTest(new TextChange(12, 0, old, 1, changed),
new MarkupBlock( new MarkupBlock(
factory.EmptyHtml(), factory.EmptyHtml(),
@ -359,12 +359,12 @@ namespace Microsoft.AspNet.Razor.Test.Parser.PartialParsing
public void ImplicitExpressionAcceptsIdentifierAfterDotAtEndOfNonWhitespaceCharacters() public void ImplicitExpressionAcceptsIdentifierAfterDotAtEndOfNonWhitespaceCharacters()
{ {
var factory = SpanFactory.CreateCsHtml(); var factory = SpanFactory.CreateCsHtml();
StringTextBuffer changed = new StringTextBuffer("@{" + Environment.NewLine var changed = new StringTextBuffer("@{" + Environment.NewLine
+ " @foo.d" + Environment.NewLine + " @foo.d" + Environment.NewLine
+ "}"); + "}");
StringTextBuffer old = new StringTextBuffer("@{" + Environment.NewLine var old = new StringTextBuffer("@{" + Environment.NewLine
+ " @foo." + Environment.NewLine + " @foo." + Environment.NewLine
+ "}"); + "}");
RunPartialParseTest(new TextChange(13, 0, old, 1, changed), RunPartialParseTest(new TextChange(13, 0, old, 1, changed),
new MarkupBlock( new MarkupBlock(
factory.EmptyHtml(), factory.EmptyHtml(),
@ -386,12 +386,12 @@ namespace Microsoft.AspNet.Razor.Test.Parser.PartialParsing
public void ImplicitExpressionAcceptsDotAtEndOfNonWhitespaceCharacters() public void ImplicitExpressionAcceptsDotAtEndOfNonWhitespaceCharacters()
{ {
var factory = SpanFactory.CreateCsHtml(); var factory = SpanFactory.CreateCsHtml();
StringTextBuffer changed = new StringTextBuffer("@{" + Environment.NewLine var changed = new StringTextBuffer("@{" + Environment.NewLine
+ " @foo." + Environment.NewLine + " @foo." + Environment.NewLine
+ "}"); + "}");
StringTextBuffer old = new StringTextBuffer("@{" + Environment.NewLine var old = new StringTextBuffer("@{" + Environment.NewLine
+ " @foo" + Environment.NewLine + " @foo" + Environment.NewLine
+ "}"); + "}");
RunPartialParseTest(new TextChange(12, 0, old, 1, changed), RunPartialParseTest(new TextChange(12, 0, old, 1, changed),
new MarkupBlock( new MarkupBlock(
factory.EmptyHtml(), factory.EmptyHtml(),
@ -415,16 +415,16 @@ namespace Microsoft.AspNet.Razor.Test.Parser.PartialParsing
var factory = SpanFactory.CreateCsHtml(); var factory = SpanFactory.CreateCsHtml();
// Arrange // Arrange
TextChange dotTyped = new TextChange(8, 0, new StringTextBuffer("foo @foo @bar"), 1, new StringTextBuffer("foo @foo. @bar")); var dotTyped = new TextChange(8, 0, new StringTextBuffer("foo @foo @bar"), 1, new StringTextBuffer("foo @foo. @bar"));
TextChange charTyped = new TextChange(14, 0, new StringTextBuffer("foo @foo. @bar"), 1, new StringTextBuffer("foo @foo. @barb")); var charTyped = new TextChange(14, 0, new StringTextBuffer("foo @foo. @bar"), 1, new StringTextBuffer("foo @foo. @barb"));
TestParserManager manager = CreateParserManager(); var manager = CreateParserManager();
manager.InitializeWithDocument(dotTyped.OldBuffer); manager.InitializeWithDocument(dotTyped.OldBuffer);
// Apply the dot change // Apply the dot change
Assert.Equal(PartialParseResult.Provisional | PartialParseResult.Accepted, manager.CheckForStructureChangesAndWait(dotTyped)); Assert.Equal(PartialParseResult.Provisional | PartialParseResult.Accepted, manager.CheckForStructureChangesAndWait(dotTyped));
// Act (apply the identifier start char change) // Act (apply the identifier start char change)
PartialParseResult result = manager.CheckForStructureChangesAndWait(charTyped); var result = manager.CheckForStructureChangesAndWait(charTyped);
// Assert // Assert
Assert.Equal(PartialParseResult.Rejected, result); Assert.Equal(PartialParseResult.Rejected, result);
@ -452,16 +452,16 @@ namespace Microsoft.AspNet.Razor.Test.Parser.PartialParsing
var factory = SpanFactory.CreateCsHtml(); var factory = SpanFactory.CreateCsHtml();
// Arrange // Arrange
TextChange dotTyped = new TextChange(8, 0, new StringTextBuffer("foo @foo bar"), 1, new StringTextBuffer("foo @foo. bar")); var dotTyped = new TextChange(8, 0, new StringTextBuffer("foo @foo bar"), 1, new StringTextBuffer("foo @foo. bar"));
TextChange charTyped = new TextChange(9, 0, new StringTextBuffer("foo @foo. bar"), 1, new StringTextBuffer("foo @foo.b bar")); var charTyped = new TextChange(9, 0, new StringTextBuffer("foo @foo. bar"), 1, new StringTextBuffer("foo @foo.b bar"));
TestParserManager manager = CreateParserManager(); var manager = CreateParserManager();
manager.InitializeWithDocument(dotTyped.OldBuffer); manager.InitializeWithDocument(dotTyped.OldBuffer);
// Apply the dot change // Apply the dot change
Assert.Equal(PartialParseResult.Provisional | PartialParseResult.Accepted, manager.CheckForStructureChangesAndWait(dotTyped)); Assert.Equal(PartialParseResult.Provisional | PartialParseResult.Accepted, manager.CheckForStructureChangesAndWait(dotTyped));
// Act (apply the identifier start char change) // Act (apply the identifier start char change)
PartialParseResult result = manager.CheckForStructureChangesAndWait(charTyped); var result = manager.CheckForStructureChangesAndWait(charTyped);
// Assert // Assert
Assert.Equal(PartialParseResult.Accepted, result); Assert.Equal(PartialParseResult.Accepted, result);
@ -481,8 +481,8 @@ namespace Microsoft.AspNet.Razor.Test.Parser.PartialParsing
public void ImplicitExpressionProvisionallyAcceptsDotAfterIdentifierInMarkup() public void ImplicitExpressionProvisionallyAcceptsDotAfterIdentifierInMarkup()
{ {
var factory = SpanFactory.CreateCsHtml(); var factory = SpanFactory.CreateCsHtml();
StringTextBuffer changed = new StringTextBuffer("foo @foo. bar"); var changed = new StringTextBuffer("foo @foo. bar");
StringTextBuffer old = new StringTextBuffer("foo @foo bar"); var old = new StringTextBuffer("foo @foo bar");
RunPartialParseTest(new TextChange(8, 0, old, 1, changed), RunPartialParseTest(new TextChange(8, 0, old, 1, changed),
new MarkupBlock( new MarkupBlock(
factory.Markup("foo "), factory.Markup("foo "),
@ -499,8 +499,8 @@ namespace Microsoft.AspNet.Razor.Test.Parser.PartialParsing
public void ImplicitExpressionAcceptsAdditionalIdentifierCharactersIfEndOfSpanIsIdentifier() public void ImplicitExpressionAcceptsAdditionalIdentifierCharactersIfEndOfSpanIsIdentifier()
{ {
var factory = SpanFactory.CreateCsHtml(); var factory = SpanFactory.CreateCsHtml();
StringTextBuffer changed = new StringTextBuffer("foo @foob bar"); var changed = new StringTextBuffer("foo @foob bar");
StringTextBuffer old = new StringTextBuffer("foo @foo bar"); var old = new StringTextBuffer("foo @foo bar");
RunPartialParseTest(new TextChange(8, 0, old, 1, changed), RunPartialParseTest(new TextChange(8, 0, old, 1, changed),
new MarkupBlock( new MarkupBlock(
factory.Markup("foo "), factory.Markup("foo "),
@ -516,8 +516,8 @@ namespace Microsoft.AspNet.Razor.Test.Parser.PartialParsing
public void ImplicitExpressionAcceptsAdditionalIdentifierStartCharactersIfEndOfSpanIsDot() public void ImplicitExpressionAcceptsAdditionalIdentifierStartCharactersIfEndOfSpanIsDot()
{ {
var factory = SpanFactory.CreateCsHtml(); var factory = SpanFactory.CreateCsHtml();
StringTextBuffer changed = new StringTextBuffer("@{@foo.b}"); var changed = new StringTextBuffer("@{@foo.b}");
StringTextBuffer old = new StringTextBuffer("@{@foo.}"); var old = new StringTextBuffer("@{@foo.}");
RunPartialParseTest(new TextChange(7, 0, old, 1, changed), RunPartialParseTest(new TextChange(7, 0, old, 1, changed),
new MarkupBlock( new MarkupBlock(
factory.EmptyHtml(), factory.EmptyHtml(),
@ -539,8 +539,8 @@ namespace Microsoft.AspNet.Razor.Test.Parser.PartialParsing
public void ImplicitExpressionAcceptsDotIfTrailingDotsAreAllowed() public void ImplicitExpressionAcceptsDotIfTrailingDotsAreAllowed()
{ {
var factory = SpanFactory.CreateCsHtml(); var factory = SpanFactory.CreateCsHtml();
StringTextBuffer changed = new StringTextBuffer("@{@foo.}"); var changed = new StringTextBuffer("@{@foo.}");
StringTextBuffer old = new StringTextBuffer("@{@foo}"); var old = new StringTextBuffer("@{@foo}");
RunPartialParseTest(new TextChange(6, 0, old, 1, changed), RunPartialParseTest(new TextChange(6, 0, old, 1, changed),
new MarkupBlock( new MarkupBlock(
factory.EmptyHtml(), factory.EmptyHtml(),

View File

@ -21,11 +21,11 @@ namespace Microsoft.AspNet.Razor.Test.Parser.PartialParsing
protected static void RunFullReparseTest(TextChange change, PartialParseResult additionalFlags = (PartialParseResult)0) protected static void RunFullReparseTest(TextChange change, PartialParseResult additionalFlags = (PartialParseResult)0)
{ {
// Arrange // Arrange
TestParserManager manager = CreateParserManager(); var manager = CreateParserManager();
manager.InitializeWithDocument(change.OldBuffer); manager.InitializeWithDocument(change.OldBuffer);
// Act // Act
PartialParseResult result = manager.CheckForStructureChangesAndWait(change); var result = manager.CheckForStructureChangesAndWait(change);
// Assert // Assert
Assert.Equal(PartialParseResult.Rejected | additionalFlags, result); Assert.Equal(PartialParseResult.Rejected | additionalFlags, result);
@ -35,11 +35,11 @@ namespace Microsoft.AspNet.Razor.Test.Parser.PartialParsing
protected static void RunPartialParseTest(TextChange change, Block newTreeRoot, PartialParseResult additionalFlags = (PartialParseResult)0) protected static void RunPartialParseTest(TextChange change, Block newTreeRoot, PartialParseResult additionalFlags = (PartialParseResult)0)
{ {
// Arrange // Arrange
TestParserManager manager = CreateParserManager(); var manager = CreateParserManager();
manager.InitializeWithDocument(change.OldBuffer); manager.InitializeWithDocument(change.OldBuffer);
// Act // Act
PartialParseResult result = manager.CheckForStructureChangesAndWait(change); var result = manager.CheckForStructureChangesAndWait(change);
// Assert // Assert
Assert.Equal(PartialParseResult.Accepted | additionalFlags, result); Assert.Equal(PartialParseResult.Accepted | additionalFlags, result);
@ -49,8 +49,8 @@ namespace Microsoft.AspNet.Razor.Test.Parser.PartialParsing
protected static TestParserManager CreateParserManager() protected static TestParserManager CreateParserManager()
{ {
RazorEngineHost host = CreateHost(); var host = CreateHost();
RazorEditorParser parser = new RazorEditorParser(host, TestLinePragmaFileName); var parser = new RazorEditorParser(host, TestLinePragmaFileName);
return new TestParserManager(parser); return new TestParserManager(parser);
} }
@ -72,10 +72,10 @@ namespace Microsoft.AspNet.Razor.Test.Parser.PartialParsing
protected static void RunTypeKeywordTest(string keyword) protected static void RunTypeKeywordTest(string keyword)
{ {
string before = "@" + keyword.Substring(0, keyword.Length - 1); var before = "@" + keyword.Substring(0, keyword.Length - 1);
string after = "@" + keyword; var after = "@" + keyword;
StringTextBuffer changed = new StringTextBuffer(after); var changed = new StringTextBuffer(after);
StringTextBuffer old = new StringTextBuffer(before); var old = new StringTextBuffer(before);
RunFullReparseTest(new TextChange(keyword.Length, 0, old, 1, changed), additionalFlags: PartialParseResult.SpanContextChanged); RunFullReparseTest(new TextChange(keyword.Length, 0, old, 1, changed), additionalFlags: PartialParseResult.SpanContextChanged);
} }
@ -104,7 +104,7 @@ namespace Microsoft.AspNet.Razor.Test.Parser.PartialParsing
public PartialParseResult CheckForStructureChangesAndWait(TextChange change) public PartialParseResult CheckForStructureChangesAndWait(TextChange change)
{ {
PartialParseResult result = Parser.CheckForStructureChanges(change); var result = Parser.CheckForStructureChanges(change);
if (result.HasFlag(PartialParseResult.Rejected)) if (result.HasFlag(PartialParseResult.Rejected))
{ {
WaitForParse(); WaitForParse();

View File

@ -22,7 +22,7 @@ namespace Microsoft.AspNet.Razor.Test.Parser
{ {
// Arrange // Arrange
var factory = SpanFactory.CreateCsHtml(); var factory = SpanFactory.CreateCsHtml();
Block start = new MarkupBlock( var start = new MarkupBlock(
factory.Markup("test"), factory.Markup("test"),
new ExpressionBlock( new ExpressionBlock(
factory.Code(" ").AsExpression(), factory.Code(" ").AsExpression(),
@ -31,7 +31,7 @@ namespace Microsoft.AspNet.Razor.Test.Parser
), ),
factory.Markup("test") factory.Markup("test")
); );
WhiteSpaceRewriter rewriter = new WhiteSpaceRewriter(new HtmlMarkupParser().BuildSpan); var rewriter = new WhiteSpaceRewriter(new HtmlMarkupParser().BuildSpan);
var rewritingContext = new RewritingContext(start); var rewritingContext = new RewritingContext(start);
// Act // Act

View File

@ -37,10 +37,10 @@ namespace Microsoft.AspNet.Razor.Test
public void MultipleCallsToGetServiceWithSameExtensionReturnSameObject() public void MultipleCallsToGetServiceWithSameExtensionReturnSameObject()
{ {
// Arrange // Arrange
RazorCodeLanguage expected = RazorCodeLanguage.GetLanguageByExtension("cshtml"); var expected = RazorCodeLanguage.GetLanguageByExtension("cshtml");
// Act // Act
RazorCodeLanguage actual = RazorCodeLanguage.GetLanguageByExtension("cshtml"); var actual = RazorCodeLanguage.GetLanguageByExtension("cshtml");
// Assert // Assert
Assert.Same(expected, actual); Assert.Same(expected, actual);

View File

@ -55,7 +55,7 @@ namespace Microsoft.AspNet.Razor.Test
var attribute2 = new RazorDirectiveAttribute("foo", "BAr"); var attribute2 = new RazorDirectiveAttribute("foo", "BAr");
// Act // Act
bool result = attribute1.Equals(attribute2); var result = attribute1.Equals(attribute2);
var hashCode = attribute1.GetHashCode(); var hashCode = attribute1.GetHashCode();
// Assert // Assert
@ -71,7 +71,7 @@ namespace Microsoft.AspNet.Razor.Test
var attribute2 = new RazorDirectiveAttribute("foo", ""); var attribute2 = new RazorDirectiveAttribute("foo", "");
// Act // Act
bool result = attribute1.Equals(attribute2); var result = attribute1.Equals(attribute2);
var hashCode1 = attribute1.GetHashCode(); var hashCode1 = attribute1.GetHashCode();
var hashCode2 = attribute2.GetHashCode(); var hashCode2 = attribute2.GetHashCode();

View File

@ -27,10 +27,10 @@ namespace Microsoft.AspNet.Razor.Test
public void ConstructorWithCodeLanguageSetsPropertiesAppropriately() public void ConstructorWithCodeLanguageSetsPropertiesAppropriately()
{ {
// Arrange // Arrange
RazorCodeLanguage language = new CSharpRazorCodeLanguage(); var language = new CSharpRazorCodeLanguage();
// Act // Act
RazorEngineHost host = new RazorEngineHost(language); var host = new RazorEngineHost(language);
// Assert // Assert
VerifyCommonDefaults(host); VerifyCommonDefaults(host);
@ -42,11 +42,11 @@ namespace Microsoft.AspNet.Razor.Test
public void ConstructorWithCodeLanguageAndMarkupParserSetsPropertiesAppropriately() public void ConstructorWithCodeLanguageAndMarkupParserSetsPropertiesAppropriately()
{ {
// Arrange // Arrange
RazorCodeLanguage language = new CSharpRazorCodeLanguage(); var language = new CSharpRazorCodeLanguage();
ParserBase expected = new HtmlMarkupParser(); var expected = new HtmlMarkupParser();
// Act // Act
RazorEngineHost host = new RazorEngineHost(language, () => expected); var host = new RazorEngineHost(language, () => expected);
// Assert // Assert
VerifyCommonDefaults(host); VerifyCommonDefaults(host);
@ -76,10 +76,10 @@ namespace Microsoft.AspNet.Razor.Test
public void DecorateCodeParserDoesNotModifyIncomingParser() public void DecorateCodeParserDoesNotModifyIncomingParser()
{ {
// Arrange // Arrange
ParserBase expected = new CSharpCodeParser(); var expected = new CSharpCodeParser();
// Act // Act
ParserBase actual = CreateHost().DecorateCodeParser(expected); var actual = CreateHost().DecorateCodeParser(expected);
// Assert // Assert
Assert.Same(expected, actual); Assert.Same(expected, actual);
@ -89,10 +89,10 @@ namespace Microsoft.AspNet.Razor.Test
public void DecorateMarkupParserReturnsIncomingParser() public void DecorateMarkupParserReturnsIncomingParser()
{ {
// Arrange // Arrange
ParserBase expected = new HtmlMarkupParser(); var expected = new HtmlMarkupParser();
// Act // Act
ParserBase actual = CreateHost().DecorateMarkupParser(expected); var actual = CreateHost().DecorateMarkupParser(expected);
// Assert // Assert
Assert.Same(expected, actual); Assert.Same(expected, actual);
@ -102,10 +102,10 @@ namespace Microsoft.AspNet.Razor.Test
public void DecorateCodeGeneratorReturnsIncomingCodeGenerator() public void DecorateCodeGeneratorReturnsIncomingCodeGenerator()
{ {
// Arrange // Arrange
RazorCodeGenerator expected = new CSharpRazorCodeGenerator("Foo", "Bar", "Baz", CreateHost()); var expected = new CSharpRazorCodeGenerator("Foo", "Bar", "Baz", CreateHost());
// Act // Act
RazorCodeGenerator actual = CreateHost().DecorateCodeGenerator(expected); var actual = CreateHost().DecorateCodeGenerator(expected);
// Assert // Assert
Assert.Same(expected, actual); Assert.Same(expected, actual);

View File

@ -235,8 +235,8 @@ namespace Microsoft.AspNet.Razor.Test.Text
public void BacktrackBufferIsClearedWhenEndReachedAndNoCurrentLookaheads() public void BacktrackBufferIsClearedWhenEndReachedAndNoCurrentLookaheads()
{ {
// Arrange // Arrange
StringReader source = new StringReader(TestString); var source = new StringReader(TestString);
BufferingTextReader reader = new BufferingTextReader(source); var reader = new BufferingTextReader(source);
reader.Read(); // Reader: "bcdefg" reader.Read(); // Reader: "bcdefg"
using (reader.BeginLookahead()) using (reader.BeginLookahead())
@ -257,8 +257,8 @@ namespace Microsoft.AspNet.Razor.Test.Text
private static void RunDisposeTest(Action<LookaheadTextReader> triggerAction) private static void RunDisposeTest(Action<LookaheadTextReader> triggerAction)
{ {
// Arrange // Arrange
DisposeTestMockTextReader source = new DisposeTestMockTextReader(); var source = new DisposeTestMockTextReader();
LookaheadTextReader reader = new BufferingTextReader(source); var reader = new BufferingTextReader(source);
// Act // Act
triggerAction(reader); triggerAction(reader);

View File

@ -11,14 +11,14 @@ namespace Microsoft.AspNet.Razor.Test.Text
[Fact] [Fact]
public void CtorInitializesProperties() public void CtorInitializesProperties()
{ {
LineTrackingStringBuffer buffer = new LineTrackingStringBuffer(); var buffer = new LineTrackingStringBuffer();
Assert.Equal(0, buffer.Length); Assert.Equal(0, buffer.Length);
} }
[Fact] [Fact]
public void CharAtCorrectlyReturnsLocation() public void CharAtCorrectlyReturnsLocation()
{ {
LineTrackingStringBuffer buffer = new LineTrackingStringBuffer(); var buffer = new LineTrackingStringBuffer();
buffer.Append("foo\rbar\nbaz\r\nbiz"); buffer.Append("foo\rbar\nbaz\r\nbiz");
LineTrackingStringBuffer.CharacterReference chr = buffer.CharAt(14); LineTrackingStringBuffer.CharacterReference chr = buffer.CharAt(14);
Assert.Equal('i', chr.Character); Assert.Equal('i', chr.Character);

View File

@ -30,11 +30,11 @@ namespace Microsoft.AspNet.Razor.Test.Text
protected void RunSourceLocationTest(string input, SourceLocation expected, Action<LookaheadTextReader> readerAction) protected void RunSourceLocationTest(string input, SourceLocation expected, Action<LookaheadTextReader> readerAction)
{ {
// Arrange // Arrange
LookaheadTextReader reader = CreateReader(input); var reader = CreateReader(input);
readerAction(reader); readerAction(reader);
// Act // Act
SourceLocation actual = reader.CurrentLocation; var actual = reader.CurrentLocation;
// Assert // Assert
Assert.Equal(expected, actual); Assert.Equal(expected, actual);
@ -59,10 +59,10 @@ namespace Microsoft.AspNet.Razor.Test.Text
protected void RunReadToEndTest() protected void RunReadToEndTest()
{ {
// Arrange // Arrange
LookaheadTextReader reader = CreateReader("abcdefg"); var reader = CreateReader("abcdefg");
// Act // Act
string str = reader.ReadToEnd(); var str = reader.ReadToEnd();
// Assert // Assert
Assert.Equal("abcdefg", str); Assert.Equal("abcdefg", str);
@ -71,7 +71,7 @@ namespace Microsoft.AspNet.Razor.Test.Text
protected void RunCancelBacktrackOutsideLookaheadTest() protected void RunCancelBacktrackOutsideLookaheadTest()
{ {
// Arrange // Arrange
LookaheadTextReader reader = CreateReader("abcdefg"); var reader = CreateReader("abcdefg");
// Act and Assert // Act and Assert
var exception = Assert.Throws<InvalidOperationException>(() => reader.CancelBacktrack()); var exception = Assert.Throws<InvalidOperationException>(() => reader.CancelBacktrack());
@ -123,7 +123,7 @@ namespace Microsoft.AspNet.Razor.Test.Text
protected void RunLookaheadTest(string input, string expected, params Action<StringBuilder, LookaheadTextReader>[] readerCommands) protected void RunLookaheadTest(string input, string expected, params Action<StringBuilder, LookaheadTextReader>[] readerCommands)
{ {
// Arrange // Arrange
StringBuilder builder = new StringBuilder(); var builder = new StringBuilder();
using (LookaheadTextReader reader = CreateReader(input)) using (LookaheadTextReader reader = CreateReader(input))
{ {
RunAll(readerCommands, builder, reader); RunAll(readerCommands, builder, reader);
@ -138,14 +138,14 @@ namespace Microsoft.AspNet.Razor.Test.Text
protected void RunReadUntilTest(Func<LookaheadTextReader, string> readMethod, int expectedRaw, int expectedChar, int expectedLine) protected void RunReadUntilTest(Func<LookaheadTextReader, string> readMethod, int expectedRaw, int expectedChar, int expectedLine)
{ {
// Arrange // Arrange
LookaheadTextReader reader = CreateReader("a\r\nbcd\r\nefg"); var reader = CreateReader("a\r\nbcd\r\nefg");
reader.Read(); // Reader: "\r\nbcd\r\nefg" reader.Read(); // Reader: "\r\nbcd\r\nefg"
reader.Read(); // Reader: "\nbcd\r\nefg" reader.Read(); // Reader: "\nbcd\r\nefg"
reader.Read(); // Reader: "bcd\r\nefg" reader.Read(); // Reader: "bcd\r\nefg"
// Act // Act
string read = null; string read;
SourceLocation actualLocation; SourceLocation actualLocation;
using (reader.BeginLookahead()) using (reader.BeginLookahead())
{ {
@ -167,13 +167,13 @@ namespace Microsoft.AspNet.Razor.Test.Text
protected void RunBufferReadTest(Func<LookaheadTextReader, char[], int, int, int> readMethod) protected void RunBufferReadTest(Func<LookaheadTextReader, char[], int, int, int> readMethod)
{ {
// Arrange // Arrange
LookaheadTextReader reader = CreateReader("abcdefg"); var reader = CreateReader("abcdefg");
reader.Read(); // Reader: "bcdefg" reader.Read(); // Reader: "bcdefg"
// Act // Act
char[] buffer = new char[4]; char[] buffer = new char[4];
int read = -1; var read = -1;
SourceLocation actualLocation; SourceLocation actualLocation;
using (reader.BeginLookahead()) using (reader.BeginLookahead())
{ {

View File

@ -12,7 +12,7 @@ namespace Microsoft.AspNet.Razor.Test.Text
public void ConstructorWithLineAndCharacterIndexSetsAssociatedProperties() public void ConstructorWithLineAndCharacterIndexSetsAssociatedProperties()
{ {
// Act // Act
SourceLocation loc = new SourceLocation(0, 42, 24); var loc = new SourceLocation(0, 42, 24);
// Assert // Assert
Assert.Equal(0, loc.AbsoluteIndex); Assert.Equal(0, loc.AbsoluteIndex);

View File

@ -19,7 +19,7 @@ namespace Microsoft.AspNet.Razor.Test.Text
[Fact] [Fact]
public void ConstructorWithSourceLocationSetsCurrentLocationToSpecifiedValue() public void ConstructorWithSourceLocationSetsCurrentLocationToSpecifiedValue()
{ {
SourceLocation loc = new SourceLocation(10, 42, 4); var loc = new SourceLocation(10, 42, 4);
Assert.Equal(loc, new SourceLocationTracker(loc).CurrentLocation); Assert.Equal(loc, new SourceLocationTracker(loc).CurrentLocation);
} }
@ -27,7 +27,7 @@ namespace Microsoft.AspNet.Razor.Test.Text
public void UpdateLocationAdvancesCorrectlyForMultiLineString() public void UpdateLocationAdvancesCorrectlyForMultiLineString()
{ {
// Arrange // Arrange
SourceLocationTracker tracker = new SourceLocationTracker(TestStartLocation); var tracker = new SourceLocationTracker(TestStartLocation);
// Act // Act
tracker.UpdateLocation("foo\nbar\rbaz\r\nbox"); tracker.UpdateLocation("foo\nbar\rbaz\r\nbox");
@ -42,7 +42,7 @@ namespace Microsoft.AspNet.Razor.Test.Text
public void UpdateLocationAdvancesAbsoluteIndexOnNonNewlineCharacter() public void UpdateLocationAdvancesAbsoluteIndexOnNonNewlineCharacter()
{ {
// Arrange // Arrange
SourceLocationTracker tracker = new SourceLocationTracker(TestStartLocation); var tracker = new SourceLocationTracker(TestStartLocation);
// Act // Act
tracker.UpdateLocation('f', 'o'); tracker.UpdateLocation('f', 'o');
@ -55,7 +55,7 @@ namespace Microsoft.AspNet.Razor.Test.Text
public void UpdateLocationAdvancesCharacterIndexOnNonNewlineCharacter() public void UpdateLocationAdvancesCharacterIndexOnNonNewlineCharacter()
{ {
// Arrange // Arrange
SourceLocationTracker tracker = new SourceLocationTracker(TestStartLocation); var tracker = new SourceLocationTracker(TestStartLocation);
// Act // Act
tracker.UpdateLocation('f', 'o'); tracker.UpdateLocation('f', 'o');
@ -68,7 +68,7 @@ namespace Microsoft.AspNet.Razor.Test.Text
public void UpdateLocationDoesNotAdvanceLineIndexOnNonNewlineCharacter() public void UpdateLocationDoesNotAdvanceLineIndexOnNonNewlineCharacter()
{ {
// Arrange // Arrange
SourceLocationTracker tracker = new SourceLocationTracker(TestStartLocation); var tracker = new SourceLocationTracker(TestStartLocation);
// Act // Act
tracker.UpdateLocation('f', 'o'); tracker.UpdateLocation('f', 'o');
@ -81,7 +81,7 @@ namespace Microsoft.AspNet.Razor.Test.Text
public void UpdateLocationAdvancesLineIndexOnSlashN() public void UpdateLocationAdvancesLineIndexOnSlashN()
{ {
// Arrange // Arrange
SourceLocationTracker tracker = new SourceLocationTracker(TestStartLocation); var tracker = new SourceLocationTracker(TestStartLocation);
// Act // Act
tracker.UpdateLocation('\n', 'o'); tracker.UpdateLocation('\n', 'o');
@ -94,7 +94,7 @@ namespace Microsoft.AspNet.Razor.Test.Text
public void UpdateLocationAdvancesAbsoluteIndexOnSlashN() public void UpdateLocationAdvancesAbsoluteIndexOnSlashN()
{ {
// Arrange // Arrange
SourceLocationTracker tracker = new SourceLocationTracker(TestStartLocation); var tracker = new SourceLocationTracker(TestStartLocation);
// Act // Act
tracker.UpdateLocation('\n', 'o'); tracker.UpdateLocation('\n', 'o');
@ -107,7 +107,7 @@ namespace Microsoft.AspNet.Razor.Test.Text
public void UpdateLocationResetsCharacterIndexOnSlashN() public void UpdateLocationResetsCharacterIndexOnSlashN()
{ {
// Arrange // Arrange
SourceLocationTracker tracker = new SourceLocationTracker(TestStartLocation); var tracker = new SourceLocationTracker(TestStartLocation);
// Act // Act
tracker.UpdateLocation('\n', 'o'); tracker.UpdateLocation('\n', 'o');
@ -120,7 +120,7 @@ namespace Microsoft.AspNet.Razor.Test.Text
public void UpdateLocationAdvancesLineIndexOnSlashRFollowedByNonNewlineCharacter() public void UpdateLocationAdvancesLineIndexOnSlashRFollowedByNonNewlineCharacter()
{ {
// Arrange // Arrange
SourceLocationTracker tracker = new SourceLocationTracker(TestStartLocation); var tracker = new SourceLocationTracker(TestStartLocation);
// Act // Act
tracker.UpdateLocation('\r', 'o'); tracker.UpdateLocation('\r', 'o');
@ -133,7 +133,7 @@ namespace Microsoft.AspNet.Razor.Test.Text
public void UpdateLocationAdvancesAbsoluteIndexOnSlashRFollowedByNonNewlineCharacter() public void UpdateLocationAdvancesAbsoluteIndexOnSlashRFollowedByNonNewlineCharacter()
{ {
// Arrange // Arrange
SourceLocationTracker tracker = new SourceLocationTracker(TestStartLocation); var tracker = new SourceLocationTracker(TestStartLocation);
// Act // Act
tracker.UpdateLocation('\r', 'o'); tracker.UpdateLocation('\r', 'o');
@ -146,7 +146,7 @@ namespace Microsoft.AspNet.Razor.Test.Text
public void UpdateLocationResetsCharacterIndexOnSlashRFollowedByNonNewlineCharacter() public void UpdateLocationResetsCharacterIndexOnSlashRFollowedByNonNewlineCharacter()
{ {
// Arrange // Arrange
SourceLocationTracker tracker = new SourceLocationTracker(TestStartLocation); var tracker = new SourceLocationTracker(TestStartLocation);
// Act // Act
tracker.UpdateLocation('\r', 'o'); tracker.UpdateLocation('\r', 'o');
@ -159,7 +159,7 @@ namespace Microsoft.AspNet.Razor.Test.Text
public void UpdateLocationDoesNotAdvanceLineIndexOnSlashRFollowedBySlashN() public void UpdateLocationDoesNotAdvanceLineIndexOnSlashRFollowedBySlashN()
{ {
// Arrange // Arrange
SourceLocationTracker tracker = new SourceLocationTracker(TestStartLocation); var tracker = new SourceLocationTracker(TestStartLocation);
// Act // Act
tracker.UpdateLocation('\r', '\n'); tracker.UpdateLocation('\r', '\n');
@ -172,7 +172,7 @@ namespace Microsoft.AspNet.Razor.Test.Text
public void UpdateLocationAdvancesAbsoluteIndexOnSlashRFollowedBySlashN() public void UpdateLocationAdvancesAbsoluteIndexOnSlashRFollowedBySlashN()
{ {
// Arrange // Arrange
SourceLocationTracker tracker = new SourceLocationTracker(TestStartLocation); var tracker = new SourceLocationTracker(TestStartLocation);
// Act // Act
tracker.UpdateLocation('\r', '\n'); tracker.UpdateLocation('\r', '\n');
@ -185,7 +185,7 @@ namespace Microsoft.AspNet.Razor.Test.Text
public void UpdateLocationAdvancesCharacterIndexOnSlashRFollowedBySlashN() public void UpdateLocationAdvancesCharacterIndexOnSlashRFollowedBySlashN()
{ {
// Arrange // Arrange
SourceLocationTracker tracker = new SourceLocationTracker(TestStartLocation); var tracker = new SourceLocationTracker(TestStartLocation);
// Act // Act
tracker.UpdateLocation('\r', '\n'); tracker.UpdateLocation('\r', '\n');

View File

@ -221,8 +221,8 @@ namespace Microsoft.AspNet.Razor.Test.Text
private static void RunDisposeTest(Action<LookaheadTextReader> triggerAction) private static void RunDisposeTest(Action<LookaheadTextReader> triggerAction)
{ {
// Arrange // Arrange
StringTextBuffer source = new StringTextBuffer("abcdefg"); var source = new StringTextBuffer("abcdefg");
LookaheadTextReader reader = new TextBufferReader(source); var reader = new TextBufferReader(source);
// Act // Act
triggerAction(reader); triggerAction(reader);

View File

@ -62,9 +62,9 @@ namespace Microsoft.AspNet.Razor.Test.Text
public void ConstructorInitializesProperties() public void ConstructorInitializesProperties()
{ {
// Act // Act
ITextBuffer oldBuffer = new Mock<ITextBuffer>().Object; var oldBuffer = new Mock<ITextBuffer>().Object;
ITextBuffer newBuffer = new Mock<ITextBuffer>().Object; var newBuffer = new Mock<ITextBuffer>().Object;
TextChange change = new TextChange(42, 24, oldBuffer, 1337, newBuffer); var change = new TextChange(42, 24, oldBuffer, 1337, newBuffer);
// Assert // Assert
Assert.Equal(42, change.OldPosition); Assert.Equal(42, change.OldPosition);
@ -78,9 +78,9 @@ namespace Microsoft.AspNet.Razor.Test.Text
public void TestIsDelete() public void TestIsDelete()
{ {
// Arrange // Arrange
ITextBuffer oldBuffer = new Mock<ITextBuffer>().Object; var oldBuffer = new Mock<ITextBuffer>().Object;
ITextBuffer newBuffer = new Mock<ITextBuffer>().Object; var newBuffer = new Mock<ITextBuffer>().Object;
TextChange change = new TextChange(0, 1, oldBuffer, 0, newBuffer); var change = new TextChange(0, 1, oldBuffer, 0, newBuffer);
// Assert // Assert
Assert.True(change.IsDelete); Assert.True(change.IsDelete);
@ -90,9 +90,9 @@ namespace Microsoft.AspNet.Razor.Test.Text
public void TestDeleteCreatesTheRightSizeChange() public void TestDeleteCreatesTheRightSizeChange()
{ {
// Arrange // Arrange
ITextBuffer oldBuffer = new Mock<ITextBuffer>().Object; var oldBuffer = new Mock<ITextBuffer>().Object;
ITextBuffer newBuffer = new Mock<ITextBuffer>().Object; var newBuffer = new Mock<ITextBuffer>().Object;
TextChange change = new TextChange(0, 1, oldBuffer, 0, newBuffer); var change = new TextChange(0, 1, oldBuffer, 0, newBuffer);
// Assert // Assert
Assert.Equal(0, change.NewText.Length); Assert.Equal(0, change.NewText.Length);
@ -103,9 +103,9 @@ namespace Microsoft.AspNet.Razor.Test.Text
public void TestIsInsert() public void TestIsInsert()
{ {
// Arrange // Arrange
ITextBuffer oldBuffer = new Mock<ITextBuffer>().Object; var oldBuffer = new Mock<ITextBuffer>().Object;
ITextBuffer newBuffer = new Mock<ITextBuffer>().Object; var newBuffer = new Mock<ITextBuffer>().Object;
TextChange change = new TextChange(0, 0, oldBuffer, 35, newBuffer); var change = new TextChange(0, 0, oldBuffer, 35, newBuffer);
// Assert // Assert
Assert.True(change.IsInsert); Assert.True(change.IsInsert);
@ -115,9 +115,9 @@ namespace Microsoft.AspNet.Razor.Test.Text
public void TestInsertCreateTheRightSizeChange() public void TestInsertCreateTheRightSizeChange()
{ {
// Arrange // Arrange
ITextBuffer oldBuffer = new Mock<ITextBuffer>().Object; var oldBuffer = new Mock<ITextBuffer>().Object;
ITextBuffer newBuffer = new Mock<ITextBuffer>().Object; var newBuffer = new Mock<ITextBuffer>().Object;
TextChange change = new TextChange(0, 0, oldBuffer, 1, newBuffer); var change = new TextChange(0, 0, oldBuffer, 1, newBuffer);
// Assert // Assert
Assert.Equal(1, change.NewText.Length); Assert.Equal(1, change.NewText.Length);
@ -128,9 +128,9 @@ namespace Microsoft.AspNet.Razor.Test.Text
public void TestIsReplace() public void TestIsReplace()
{ {
// Arrange // Arrange
ITextBuffer oldBuffer = new Mock<ITextBuffer>().Object; var oldBuffer = new Mock<ITextBuffer>().Object;
ITextBuffer newBuffer = new Mock<ITextBuffer>().Object; var newBuffer = new Mock<ITextBuffer>().Object;
TextChange change = new TextChange(0, 5, oldBuffer, 10, newBuffer); var change = new TextChange(0, 5, oldBuffer, 10, newBuffer);
// Assert // Assert
Assert.True(change.IsReplace); Assert.True(change.IsReplace);
@ -140,9 +140,9 @@ namespace Microsoft.AspNet.Razor.Test.Text
public void ReplaceCreatesTheRightSizeChange() public void ReplaceCreatesTheRightSizeChange()
{ {
// Arrange // Arrange
ITextBuffer oldBuffer = new Mock<ITextBuffer>().Object; var oldBuffer = new Mock<ITextBuffer>().Object;
ITextBuffer newBuffer = new Mock<ITextBuffer>().Object; var newBuffer = new Mock<ITextBuffer>().Object;
TextChange change = new TextChange(0, 5, oldBuffer, 10, newBuffer); var change = new TextChange(0, 5, oldBuffer, 10, newBuffer);
// Assert // Assert
Assert.Equal(10, change.NewText.Length); Assert.Equal(10, change.NewText.Length);
@ -153,9 +153,9 @@ namespace Microsoft.AspNet.Razor.Test.Text
public void ReplaceCreatesTheRightSizeChange1() public void ReplaceCreatesTheRightSizeChange1()
{ {
// Arrange // Arrange
ITextBuffer oldBuffer = new Mock<ITextBuffer>().Object; var oldBuffer = new Mock<ITextBuffer>().Object;
ITextBuffer newBuffer = new Mock<ITextBuffer>().Object; var newBuffer = new Mock<ITextBuffer>().Object;
TextChange change = new TextChange(0, 5, oldBuffer, 1, newBuffer); var change = new TextChange(0, 5, oldBuffer, 1, newBuffer);
// Assert // Assert
Assert.Equal(1, change.NewText.Length); Assert.Equal(1, change.NewText.Length);
@ -172,7 +172,7 @@ namespace Microsoft.AspNet.Razor.Test.Text
var textChange = new TextChange(2, 1, oldBuffer, 1, newBuffer); var textChange = new TextChange(2, 1, oldBuffer, 1, newBuffer);
// Act // Act
string text = textChange.OldText; var text = textChange.OldText;
// Assert // Assert
Assert.Equal("x", text); Assert.Equal("x", text);
@ -187,7 +187,7 @@ namespace Microsoft.AspNet.Razor.Test.Text
var textChange = new TextChange(2, 2, oldBuffer, 1, newBuffer); var textChange = new TextChange(2, 2, oldBuffer, 1, newBuffer);
// Act // Act
string text = textChange.OldText; var text = textChange.OldText;
// Assert // Assert
Assert.Equal("xt", text); Assert.Equal("xt", text);
@ -202,8 +202,8 @@ namespace Microsoft.AspNet.Razor.Test.Text
var textChange = new TextChange(0, 0, oldBuffer, 3, newBuffer); var textChange = new TextChange(0, 0, oldBuffer, 3, newBuffer);
// Act // Act
string text = textChange.NewText; var text = textChange.NewText;
string oldText = textChange.OldText; var oldText = textChange.OldText;
// Assert // Assert
Assert.Equal("tes", text); Assert.Equal("tes", text);
@ -219,7 +219,7 @@ namespace Microsoft.AspNet.Razor.Test.Text
var textChange = new TextChange(1, 1, oldBuffer, 0, newBuffer); var textChange = new TextChange(1, 1, oldBuffer, 0, newBuffer);
// Act // Act
string text = textChange.NewText; var text = textChange.NewText;
// Assert // Assert
Assert.Equal(String.Empty, text); Assert.Equal(String.Empty, text);
@ -234,8 +234,8 @@ namespace Microsoft.AspNet.Razor.Test.Text
var textChange = new TextChange(2, 2, oldBuffer, 1, newBuffer); var textChange = new TextChange(2, 2, oldBuffer, 1, newBuffer);
// Act // Act
string newText = textChange.NewText; var newText = textChange.NewText;
string oldText = textChange.OldText; var oldText = textChange.OldText;
// Assert // Assert
Assert.Equal("s", newText); Assert.Equal("s", newText);
@ -251,7 +251,7 @@ namespace Microsoft.AspNet.Razor.Test.Text
var textChange = new TextChange(0, 0, oldBuffer, 3, newBuffer); var textChange = new TextChange(0, 0, oldBuffer, 3, newBuffer);
// Act // Act
string text = textChange.ApplyChange("abcd", 0); var text = textChange.ApplyChange("abcd", 0);
// Assert // Assert
Assert.Equal("tesabcd", text); Assert.Equal("tesabcd", text);
@ -266,7 +266,7 @@ namespace Microsoft.AspNet.Razor.Test.Text
var textChange = new TextChange(1, 1, oldBuffer, 0, newBuffer); var textChange = new TextChange(1, 1, oldBuffer, 0, newBuffer);
// Act // Act
string text = textChange.ApplyChange("abcdefg", 1); var text = textChange.ApplyChange("abcdefg", 1);
// Assert // Assert
Assert.Equal("bcdefg", text); Assert.Equal("bcdefg", text);
@ -281,7 +281,7 @@ namespace Microsoft.AspNet.Razor.Test.Text
var textChange = new TextChange(1, 1, oldBuffer, 2, newBuffer); var textChange = new TextChange(1, 1, oldBuffer, 2, newBuffer);
// Act // Act
string text = textChange.ApplyChange("abcdefg", 1); var text = textChange.ApplyChange("abcdefg", 1);
// Assert // Assert
Assert.Equal("bcbcdefg", text); Assert.Equal("bcbcdefg", text);
@ -296,7 +296,7 @@ namespace Microsoft.AspNet.Razor.Test.Text
var original = new TextChange(0, 4, oldBuffer, 5, newBuffer); var original = new TextChange(0, 4, oldBuffer, 5, newBuffer);
// Act // Act
TextChange normalized = original.Normalize(); var normalized = original.Normalize();
// Assert // Assert
Assert.Equal(new TextChange(4, 0, oldBuffer, 1, newBuffer), normalized); Assert.Equal(new TextChange(4, 0, oldBuffer, 1, newBuffer), normalized);
@ -311,7 +311,7 @@ namespace Microsoft.AspNet.Razor.Test.Text
var original = new TextChange(0, 5, oldBuffer, 9, newBuffer); var original = new TextChange(0, 5, oldBuffer, 9, newBuffer);
// Act // Act
TextChange normalized = original.Normalize(); var normalized = original.Normalize();
// Assert // Assert
Assert.Equal(original, normalized); Assert.Equal(original, normalized);
@ -326,7 +326,7 @@ namespace Microsoft.AspNet.Razor.Test.Text
var original = new TextChange(0, 8, oldBuffer, 1, newBuffer); var original = new TextChange(0, 8, oldBuffer, 1, newBuffer);
// Act // Act
TextChange normalized = original.Normalize(); var normalized = original.Normalize();
// Assert // Assert
Assert.Equal(original, normalized); Assert.Equal(original, normalized);

View File

@ -166,10 +166,10 @@ namespace Microsoft.AspNet.Razor.Test.Text
private static void RunReaderTest(string testString, string expectedOutput, int expectedPeek, Func<TextReader, string> action) private static void RunReaderTest(string testString, string expectedOutput, int expectedPeek, Func<TextReader, string> action)
{ {
// Arrange // Arrange
StringReader reader = new StringReader(testString); var reader = new StringReader(testString);
// Act // Act
string read = action(reader); var read = action(reader);
// Assert // Assert
Assert.Equal(expectedOutput, read); Assert.Equal(expectedOutput, read);

View File

@ -14,7 +14,7 @@ namespace Microsoft.AspNet.Razor.Test.Tokenizer
[Fact] [Fact]
public void After_Cancelling_Lookahead_Tokenizer_Returns_Same_Tokens_As_It_Did_Before_Lookahead() public void After_Cancelling_Lookahead_Tokenizer_Returns_Same_Tokens_As_It_Did_Before_Lookahead()
{ {
HtmlTokenizer tokenizer = new HtmlTokenizer(new SeekableTextReader(new StringReader("<foo>"))); var tokenizer = new HtmlTokenizer(new SeekableTextReader(new StringReader("<foo>")));
using (tokenizer.Source.BeginLookahead()) using (tokenizer.Source.BeginLookahead())
{ {
Assert.Equal(new HtmlSymbol(0, 0, 0, "<", HtmlSymbolType.OpenAngle), tokenizer.NextSymbol()); Assert.Equal(new HtmlSymbol(0, 0, 0, "<", HtmlSymbolType.OpenAngle), tokenizer.NextSymbol());
@ -29,7 +29,7 @@ namespace Microsoft.AspNet.Razor.Test.Tokenizer
[Fact] [Fact]
public void After_Accepting_Lookahead_Tokenizer_Returns_Next_Token() public void After_Accepting_Lookahead_Tokenizer_Returns_Next_Token()
{ {
HtmlTokenizer tokenizer = new HtmlTokenizer(new SeekableTextReader(new StringReader("<foo>"))); var tokenizer = new HtmlTokenizer(new SeekableTextReader(new StringReader("<foo>")));
using (LookaheadToken lookahead = tokenizer.Source.BeginLookahead()) using (LookaheadToken lookahead = tokenizer.Source.BeginLookahead())
{ {
Assert.Equal(new HtmlSymbol(0, 0, 0, "<", HtmlSymbolType.OpenAngle), tokenizer.NextSymbol()); Assert.Equal(new HtmlSymbol(0, 0, 0, "<", HtmlSymbolType.OpenAngle), tokenizer.NextSymbol());

View File

@ -21,14 +21,14 @@ namespace Microsoft.AspNet.Razor.Test.Tokenizer
protected void TestTokenizer(string input, params TSymbol[] expectedSymbols) protected void TestTokenizer(string input, params TSymbol[] expectedSymbols)
{ {
// Arrange // Arrange
bool success = true; var success = true;
StringBuilder output = new StringBuilder(); var output = new StringBuilder();
using (StringReader reader = new StringReader(input)) using (StringReader reader = new StringReader(input))
{ {
using (SeekableTextReader source = new SeekableTextReader(reader)) using (SeekableTextReader source = new SeekableTextReader(reader))
{ {
Tokenizer<TSymbol, TSymbolType> tokenizer = CreateTokenizer(source); Tokenizer<TSymbol, TSymbolType> tokenizer = CreateTokenizer(source);
int counter = 0; var counter = 0;
TSymbol current = null; TSymbol current = null;
while ((current = tokenizer.NextSymbol()) != null) while ((current = tokenizer.NextSymbol()) != null)
{ {

View File

@ -20,8 +20,8 @@ namespace Microsoft.AspNet.Razor.Test.Utils
public void ActionIsExecutedOnDispose() public void ActionIsExecutedOnDispose()
{ {
// Arrange // Arrange
bool called = false; var called = false;
DisposableAction action = new DisposableAction(() => { called = true; }); var action = new DisposableAction(() => { called = true; });
// Act // Act
action.Dispose(); action.Dispose();

View File

@ -27,7 +27,7 @@ namespace Microsoft.AspNet.Razor.Test
public Stream OpenRead() public Stream OpenRead()
{ {
Stream strm = Assembly.GetManifestResourceStream(ResourceName); var strm = Assembly.GetManifestResourceStream(ResourceName);
if (strm == null) if (strm == null)
{ {
Assert.True(false, string.Format("Manifest resource: {0} not found", ResourceName)); Assert.True(false, string.Format("Manifest resource: {0} not found", ResourceName));