Auto generate CSharp syntax tree nodes (#2550)
* Auto generate CSharp syntax tree nodes - Auto generated syntax nodes, visitors and factories - Renamed RazorComment to RazorCommentLiteral to avoid a conflict - Modified the Visit() contract - Added new SyntaxKinds - Regenerated baselines
This commit is contained in:
parent
aac85ceb4f
commit
27a9991f21
|
|
@ -136,7 +136,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
||||||
case KnownTokenType.CommentStar:
|
case KnownTokenType.CommentStar:
|
||||||
return SyntaxKind.RazorCommentStar;
|
return SyntaxKind.RazorCommentStar;
|
||||||
case KnownTokenType.CommentBody:
|
case KnownTokenType.CommentBody:
|
||||||
return SyntaxKind.RazorComment;
|
return SyntaxKind.RazorCommentLiteral;
|
||||||
default:
|
default:
|
||||||
return SyntaxKind.Unknown;
|
return SyntaxKind.Unknown;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -133,7 +133,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
||||||
|
|
||||||
private new CSharpTokenizerState? CurrentState => (CSharpTokenizerState?)base.CurrentState;
|
private new CSharpTokenizerState? CurrentState => (CSharpTokenizerState?)base.CurrentState;
|
||||||
|
|
||||||
public override SyntaxKind RazorCommentKind => SyntaxKind.RazorComment;
|
public override SyntaxKind RazorCommentKind => SyntaxKind.RazorCommentLiteral;
|
||||||
|
|
||||||
public override SyntaxKind RazorCommentTransitionKind => SyntaxKind.RazorCommentTransition;
|
public override SyntaxKind RazorCommentTransitionKind => SyntaxKind.RazorCommentTransition;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -54,7 +54,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
||||||
return kind != SyntaxKind.Whitespace &&
|
return kind != SyntaxKind.Whitespace &&
|
||||||
kind != SyntaxKind.NewLine &&
|
kind != SyntaxKind.NewLine &&
|
||||||
kind != SyntaxKind.CSharpComment &&
|
kind != SyntaxKind.CSharpComment &&
|
||||||
kind != SyntaxKind.RazorComment &&
|
kind != SyntaxKind.RazorCommentLiteral &&
|
||||||
kind != SyntaxKind.RazorCommentStar &&
|
kind != SyntaxKind.RazorCommentStar &&
|
||||||
kind != SyntaxKind.RazorCommentTransition &&
|
kind != SyntaxKind.RazorCommentTransition &&
|
||||||
kind != SyntaxKind.Transition;
|
kind != SyntaxKind.Transition;
|
||||||
|
|
|
||||||
|
|
@ -48,7 +48,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
||||||
{
|
{
|
||||||
return kind != SyntaxKind.Whitespace &&
|
return kind != SyntaxKind.Whitespace &&
|
||||||
kind != SyntaxKind.NewLine &&
|
kind != SyntaxKind.NewLine &&
|
||||||
kind != SyntaxKind.RazorComment &&
|
kind != SyntaxKind.RazorCommentLiteral &&
|
||||||
kind != SyntaxKind.RazorCommentStar &&
|
kind != SyntaxKind.RazorCommentStar &&
|
||||||
kind != SyntaxKind.RazorCommentTransition &&
|
kind != SyntaxKind.RazorCommentTransition &&
|
||||||
kind != SyntaxKind.Transition;
|
kind != SyntaxKind.Transition;
|
||||||
|
|
|
||||||
|
|
@ -56,7 +56,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
||||||
return "@";
|
return "@";
|
||||||
case SyntaxKind.Colon:
|
case SyntaxKind.Colon:
|
||||||
return ":";
|
return ":";
|
||||||
case SyntaxKind.RazorComment:
|
case SyntaxKind.RazorCommentLiteral:
|
||||||
return Resources.HtmlToken_RazorComment;
|
return Resources.HtmlToken_RazorComment;
|
||||||
case SyntaxKind.RazorCommentStar:
|
case SyntaxKind.RazorCommentStar:
|
||||||
return "*";
|
return "*";
|
||||||
|
|
@ -104,7 +104,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
||||||
case KnownTokenType.CommentStar:
|
case KnownTokenType.CommentStar:
|
||||||
return SyntaxKind.RazorCommentStar;
|
return SyntaxKind.RazorCommentStar;
|
||||||
case KnownTokenType.CommentBody:
|
case KnownTokenType.CommentBody:
|
||||||
return SyntaxKind.RazorComment;
|
return SyntaxKind.RazorCommentLiteral;
|
||||||
case KnownTokenType.Identifier:
|
case KnownTokenType.Identifier:
|
||||||
return SyntaxKind.HtmlTextLiteral;
|
return SyntaxKind.HtmlTextLiteral;
|
||||||
case KnownTokenType.Keyword:
|
case KnownTokenType.Keyword:
|
||||||
|
|
|
||||||
|
|
@ -24,7 +24,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
||||||
|
|
||||||
public override SyntaxKind RazorCommentKind
|
public override SyntaxKind RazorCommentKind
|
||||||
{
|
{
|
||||||
get { return SyntaxKind.RazorComment; }
|
get { return SyntaxKind.RazorCommentLiteral; }
|
||||||
}
|
}
|
||||||
|
|
||||||
public override SyntaxKind RazorCommentTransitionKind
|
public override SyntaxKind RazorCommentTransitionKind
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load Diff
|
|
@ -0,0 +1,375 @@
|
||||||
|
// <auto-generated />
|
||||||
|
|
||||||
|
using System;
|
||||||
|
using System.Collections;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Threading;
|
||||||
|
|
||||||
|
|
||||||
|
namespace Microsoft.AspNetCore.Razor.Language.Syntax
|
||||||
|
{
|
||||||
|
internal partial class SyntaxVisitor<TResult>
|
||||||
|
{
|
||||||
|
/// <summary>Called when the visitor visits a RazorCommentBlockSyntax node.</summary>
|
||||||
|
public virtual TResult VisitRazorCommentBlock(RazorCommentBlockSyntax node)
|
||||||
|
{
|
||||||
|
return DefaultVisit(node);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Called when the visitor visits a HtmlTextSyntax node.</summary>
|
||||||
|
public virtual TResult VisitHtmlText(HtmlTextSyntax node)
|
||||||
|
{
|
||||||
|
return DefaultVisit(node);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Called when the visitor visits a CSharpTransitionSyntax node.</summary>
|
||||||
|
public virtual TResult VisitCSharpTransition(CSharpTransitionSyntax node)
|
||||||
|
{
|
||||||
|
return DefaultVisit(node);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Called when the visitor visits a CSharpMetaCodeSyntax node.</summary>
|
||||||
|
public virtual TResult VisitCSharpMetaCode(CSharpMetaCodeSyntax node)
|
||||||
|
{
|
||||||
|
return DefaultVisit(node);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Called when the visitor visits a CSharpCodeLiteralSyntax node.</summary>
|
||||||
|
public virtual TResult VisitCSharpCodeLiteral(CSharpCodeLiteralSyntax node)
|
||||||
|
{
|
||||||
|
return DefaultVisit(node);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Called when the visitor visits a CSharpCodeBlockSyntax node.</summary>
|
||||||
|
public virtual TResult VisitCSharpCodeBlock(CSharpCodeBlockSyntax node)
|
||||||
|
{
|
||||||
|
return DefaultVisit(node);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Called when the visitor visits a CSharpStatement node.</summary>
|
||||||
|
public virtual TResult VisitCSharpStatement(CSharpStatement node)
|
||||||
|
{
|
||||||
|
return DefaultVisit(node);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Called when the visitor visits a CSharpStatementBodySyntax node.</summary>
|
||||||
|
public virtual TResult VisitCSharpStatementBody(CSharpStatementBodySyntax node)
|
||||||
|
{
|
||||||
|
return DefaultVisit(node);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Called when the visitor visits a CSharpExpression node.</summary>
|
||||||
|
public virtual TResult VisitCSharpExpression(CSharpExpression node)
|
||||||
|
{
|
||||||
|
return DefaultVisit(node);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Called when the visitor visits a CSharpExpressionBodySyntax node.</summary>
|
||||||
|
public virtual TResult VisitCSharpExpressionBody(CSharpExpressionBodySyntax node)
|
||||||
|
{
|
||||||
|
return DefaultVisit(node);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Called when the visitor visits a CSharpDirectiveSyntax node.</summary>
|
||||||
|
public virtual TResult VisitCSharpDirective(CSharpDirectiveSyntax node)
|
||||||
|
{
|
||||||
|
return DefaultVisit(node);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Called when the visitor visits a CSharpDirectiveBodySyntax node.</summary>
|
||||||
|
public virtual TResult VisitCSharpDirectiveBody(CSharpDirectiveBodySyntax node)
|
||||||
|
{
|
||||||
|
return DefaultVisit(node);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
internal partial class SyntaxVisitor
|
||||||
|
{
|
||||||
|
/// <summary>Called when the visitor visits a RazorCommentBlockSyntax node.</summary>
|
||||||
|
public virtual void VisitRazorCommentBlock(RazorCommentBlockSyntax node)
|
||||||
|
{
|
||||||
|
DefaultVisit(node);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Called when the visitor visits a HtmlTextSyntax node.</summary>
|
||||||
|
public virtual void VisitHtmlText(HtmlTextSyntax node)
|
||||||
|
{
|
||||||
|
DefaultVisit(node);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Called when the visitor visits a CSharpTransitionSyntax node.</summary>
|
||||||
|
public virtual void VisitCSharpTransition(CSharpTransitionSyntax node)
|
||||||
|
{
|
||||||
|
DefaultVisit(node);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Called when the visitor visits a CSharpMetaCodeSyntax node.</summary>
|
||||||
|
public virtual void VisitCSharpMetaCode(CSharpMetaCodeSyntax node)
|
||||||
|
{
|
||||||
|
DefaultVisit(node);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Called when the visitor visits a CSharpCodeLiteralSyntax node.</summary>
|
||||||
|
public virtual void VisitCSharpCodeLiteral(CSharpCodeLiteralSyntax node)
|
||||||
|
{
|
||||||
|
DefaultVisit(node);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Called when the visitor visits a CSharpCodeBlockSyntax node.</summary>
|
||||||
|
public virtual void VisitCSharpCodeBlock(CSharpCodeBlockSyntax node)
|
||||||
|
{
|
||||||
|
DefaultVisit(node);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Called when the visitor visits a CSharpStatement node.</summary>
|
||||||
|
public virtual void VisitCSharpStatement(CSharpStatement node)
|
||||||
|
{
|
||||||
|
DefaultVisit(node);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Called when the visitor visits a CSharpStatementBodySyntax node.</summary>
|
||||||
|
public virtual void VisitCSharpStatementBody(CSharpStatementBodySyntax node)
|
||||||
|
{
|
||||||
|
DefaultVisit(node);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Called when the visitor visits a CSharpExpression node.</summary>
|
||||||
|
public virtual void VisitCSharpExpression(CSharpExpression node)
|
||||||
|
{
|
||||||
|
DefaultVisit(node);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Called when the visitor visits a CSharpExpressionBodySyntax node.</summary>
|
||||||
|
public virtual void VisitCSharpExpressionBody(CSharpExpressionBodySyntax node)
|
||||||
|
{
|
||||||
|
DefaultVisit(node);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Called when the visitor visits a CSharpDirectiveSyntax node.</summary>
|
||||||
|
public virtual void VisitCSharpDirective(CSharpDirectiveSyntax node)
|
||||||
|
{
|
||||||
|
DefaultVisit(node);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Called when the visitor visits a CSharpDirectiveBodySyntax node.</summary>
|
||||||
|
public virtual void VisitCSharpDirectiveBody(CSharpDirectiveBodySyntax node)
|
||||||
|
{
|
||||||
|
DefaultVisit(node);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
internal static partial class SyntaxFactory
|
||||||
|
{
|
||||||
|
/// <summary>Creates a new RazorCommentBlockSyntax instance.</summary>
|
||||||
|
public static RazorCommentBlockSyntax RazorCommentBlock(SyntaxToken startCommentTransition, SyntaxToken startCommentStar, SyntaxToken comment, SyntaxToken endCommentStar, SyntaxToken endCommentTransition)
|
||||||
|
{
|
||||||
|
switch (startCommentTransition.Kind)
|
||||||
|
{
|
||||||
|
case SyntaxKind.RazorCommentTransition:
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
throw new ArgumentException("startCommentTransition");
|
||||||
|
}
|
||||||
|
switch (startCommentStar.Kind)
|
||||||
|
{
|
||||||
|
case SyntaxKind.RazorCommentStar:
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
throw new ArgumentException("startCommentStar");
|
||||||
|
}
|
||||||
|
switch (comment.Kind)
|
||||||
|
{
|
||||||
|
case SyntaxKind.RazorComment:
|
||||||
|
case SyntaxKind.Unknown:
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
throw new ArgumentException("comment");
|
||||||
|
}
|
||||||
|
switch (endCommentStar.Kind)
|
||||||
|
{
|
||||||
|
case SyntaxKind.RazorCommentStar:
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
throw new ArgumentException("endCommentStar");
|
||||||
|
}
|
||||||
|
switch (endCommentTransition.Kind)
|
||||||
|
{
|
||||||
|
case SyntaxKind.RazorCommentTransition:
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
throw new ArgumentException("endCommentTransition");
|
||||||
|
}
|
||||||
|
return (RazorCommentBlockSyntax)InternalSyntax.SyntaxFactory.RazorCommentBlock((Syntax.InternalSyntax.SyntaxToken)startCommentTransition.Green, (Syntax.InternalSyntax.SyntaxToken)startCommentStar.Green, (Syntax.InternalSyntax.SyntaxToken)comment.Green, (Syntax.InternalSyntax.SyntaxToken)endCommentStar.Green, (Syntax.InternalSyntax.SyntaxToken)endCommentTransition.Green).CreateRed();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Creates a new RazorCommentBlockSyntax instance.</summary>
|
||||||
|
public static RazorCommentBlockSyntax RazorCommentBlock()
|
||||||
|
{
|
||||||
|
return SyntaxFactory.RazorCommentBlock(SyntaxFactory.Token(SyntaxKind.RazorCommentTransition), SyntaxFactory.Token(SyntaxKind.RazorCommentStar), default(SyntaxToken), SyntaxFactory.Token(SyntaxKind.RazorCommentStar), SyntaxFactory.Token(SyntaxKind.RazorCommentTransition));
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Creates a new HtmlTextSyntax instance.</summary>
|
||||||
|
public static HtmlTextSyntax HtmlText(SyntaxList<SyntaxToken> textTokens)
|
||||||
|
{
|
||||||
|
return (HtmlTextSyntax)InternalSyntax.SyntaxFactory.HtmlText(textTokens.Node.ToGreenList<InternalSyntax.SyntaxToken>()).CreateRed();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Creates a new HtmlTextSyntax instance.</summary>
|
||||||
|
public static HtmlTextSyntax HtmlText()
|
||||||
|
{
|
||||||
|
return SyntaxFactory.HtmlText(default(SyntaxList<SyntaxToken>));
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Creates a new CSharpTransitionSyntax instance.</summary>
|
||||||
|
public static CSharpTransitionSyntax CSharpTransition(SyntaxToken transition)
|
||||||
|
{
|
||||||
|
switch (transition.Kind)
|
||||||
|
{
|
||||||
|
case SyntaxKind.Transition:
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
throw new ArgumentException("transition");
|
||||||
|
}
|
||||||
|
return (CSharpTransitionSyntax)InternalSyntax.SyntaxFactory.CSharpTransition((Syntax.InternalSyntax.SyntaxToken)transition.Green).CreateRed();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Creates a new CSharpTransitionSyntax instance.</summary>
|
||||||
|
public static CSharpTransitionSyntax CSharpTransition()
|
||||||
|
{
|
||||||
|
return SyntaxFactory.CSharpTransition(SyntaxFactory.Token(SyntaxKind.Transition));
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Creates a new CSharpMetaCodeSyntax instance.</summary>
|
||||||
|
public static CSharpMetaCodeSyntax CSharpMetaCode(SyntaxList<SyntaxToken> metaCode)
|
||||||
|
{
|
||||||
|
return (CSharpMetaCodeSyntax)InternalSyntax.SyntaxFactory.CSharpMetaCode(metaCode.Node.ToGreenList<InternalSyntax.SyntaxToken>()).CreateRed();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Creates a new CSharpMetaCodeSyntax instance.</summary>
|
||||||
|
public static CSharpMetaCodeSyntax CSharpMetaCode()
|
||||||
|
{
|
||||||
|
return SyntaxFactory.CSharpMetaCode(default(SyntaxList<SyntaxToken>));
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Creates a new CSharpCodeLiteralSyntax instance.</summary>
|
||||||
|
public static CSharpCodeLiteralSyntax CSharpCodeLiteral(SyntaxList<SyntaxToken> cSharpTokens)
|
||||||
|
{
|
||||||
|
return (CSharpCodeLiteralSyntax)InternalSyntax.SyntaxFactory.CSharpCodeLiteral(cSharpTokens.Node.ToGreenList<InternalSyntax.SyntaxToken>()).CreateRed();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Creates a new CSharpCodeLiteralSyntax instance.</summary>
|
||||||
|
public static CSharpCodeLiteralSyntax CSharpCodeLiteral()
|
||||||
|
{
|
||||||
|
return SyntaxFactory.CSharpCodeLiteral(default(SyntaxList<SyntaxToken>));
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Creates a new CSharpCodeBlockSyntax instance.</summary>
|
||||||
|
public static CSharpCodeBlockSyntax CSharpCodeBlock(SyntaxList<RazorSyntaxNode> children)
|
||||||
|
{
|
||||||
|
return (CSharpCodeBlockSyntax)InternalSyntax.SyntaxFactory.CSharpCodeBlock(children.Node.ToGreenList<InternalSyntax.RazorSyntaxNode>()).CreateRed();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Creates a new CSharpCodeBlockSyntax instance.</summary>
|
||||||
|
public static CSharpCodeBlockSyntax CSharpCodeBlock()
|
||||||
|
{
|
||||||
|
return SyntaxFactory.CSharpCodeBlock(default(SyntaxList<RazorSyntaxNode>));
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Creates a new CSharpStatement instance.</summary>
|
||||||
|
public static CSharpStatement CSharpStatement(CSharpTransitionSyntax transition, CSharpSyntaxNode body)
|
||||||
|
{
|
||||||
|
if (transition == null)
|
||||||
|
throw new ArgumentNullException(nameof(transition));
|
||||||
|
if (body == null)
|
||||||
|
throw new ArgumentNullException(nameof(body));
|
||||||
|
return (CSharpStatement)InternalSyntax.SyntaxFactory.CSharpStatement(transition == null ? null : (InternalSyntax.CSharpTransitionSyntax)transition.Green, body == null ? null : (InternalSyntax.CSharpSyntaxNode)body.Green).CreateRed();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Creates a new CSharpStatement instance.</summary>
|
||||||
|
public static CSharpStatement CSharpStatement(CSharpSyntaxNode body)
|
||||||
|
{
|
||||||
|
return SyntaxFactory.CSharpStatement(SyntaxFactory.CSharpTransition(), body);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Creates a new CSharpStatementBodySyntax instance.</summary>
|
||||||
|
public static CSharpStatementBodySyntax CSharpStatementBody(CSharpMetaCodeSyntax openBrace, CSharpCodeBlockSyntax cSharpCode, CSharpMetaCodeSyntax closeBrace)
|
||||||
|
{
|
||||||
|
if (openBrace == null)
|
||||||
|
throw new ArgumentNullException(nameof(openBrace));
|
||||||
|
if (cSharpCode == null)
|
||||||
|
throw new ArgumentNullException(nameof(cSharpCode));
|
||||||
|
if (closeBrace == null)
|
||||||
|
throw new ArgumentNullException(nameof(closeBrace));
|
||||||
|
return (CSharpStatementBodySyntax)InternalSyntax.SyntaxFactory.CSharpStatementBody(openBrace == null ? null : (InternalSyntax.CSharpMetaCodeSyntax)openBrace.Green, cSharpCode == null ? null : (InternalSyntax.CSharpCodeBlockSyntax)cSharpCode.Green, closeBrace == null ? null : (InternalSyntax.CSharpMetaCodeSyntax)closeBrace.Green).CreateRed();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Creates a new CSharpStatementBodySyntax instance.</summary>
|
||||||
|
public static CSharpStatementBodySyntax CSharpStatementBody()
|
||||||
|
{
|
||||||
|
return SyntaxFactory.CSharpStatementBody(SyntaxFactory.CSharpMetaCode(), SyntaxFactory.CSharpCodeBlock(), SyntaxFactory.CSharpMetaCode());
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Creates a new CSharpExpression instance.</summary>
|
||||||
|
public static CSharpExpression CSharpExpression(CSharpTransitionSyntax transition, CSharpSyntaxNode body)
|
||||||
|
{
|
||||||
|
if (transition == null)
|
||||||
|
throw new ArgumentNullException(nameof(transition));
|
||||||
|
if (body == null)
|
||||||
|
throw new ArgumentNullException(nameof(body));
|
||||||
|
return (CSharpExpression)InternalSyntax.SyntaxFactory.CSharpExpression(transition == null ? null : (InternalSyntax.CSharpTransitionSyntax)transition.Green, body == null ? null : (InternalSyntax.CSharpSyntaxNode)body.Green).CreateRed();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Creates a new CSharpExpression instance.</summary>
|
||||||
|
public static CSharpExpression CSharpExpression(CSharpSyntaxNode body)
|
||||||
|
{
|
||||||
|
return SyntaxFactory.CSharpExpression(SyntaxFactory.CSharpTransition(), body);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Creates a new CSharpExpressionBodySyntax instance.</summary>
|
||||||
|
public static CSharpExpressionBodySyntax CSharpExpressionBody(CSharpMetaCodeSyntax openParen, CSharpCodeBlockSyntax cSharpCode, CSharpMetaCodeSyntax closeParen)
|
||||||
|
{
|
||||||
|
if (cSharpCode == null)
|
||||||
|
throw new ArgumentNullException(nameof(cSharpCode));
|
||||||
|
return (CSharpExpressionBodySyntax)InternalSyntax.SyntaxFactory.CSharpExpressionBody(openParen == null ? null : (InternalSyntax.CSharpMetaCodeSyntax)openParen.Green, cSharpCode == null ? null : (InternalSyntax.CSharpCodeBlockSyntax)cSharpCode.Green, closeParen == null ? null : (InternalSyntax.CSharpMetaCodeSyntax)closeParen.Green).CreateRed();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Creates a new CSharpExpressionBodySyntax instance.</summary>
|
||||||
|
public static CSharpExpressionBodySyntax CSharpExpressionBody()
|
||||||
|
{
|
||||||
|
return SyntaxFactory.CSharpExpressionBody(default(CSharpMetaCodeSyntax), SyntaxFactory.CSharpCodeBlock(), default(CSharpMetaCodeSyntax));
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Creates a new CSharpDirectiveSyntax instance.</summary>
|
||||||
|
public static CSharpDirectiveSyntax CSharpDirective(CSharpTransitionSyntax transition, CSharpSyntaxNode body)
|
||||||
|
{
|
||||||
|
if (transition == null)
|
||||||
|
throw new ArgumentNullException(nameof(transition));
|
||||||
|
if (body == null)
|
||||||
|
throw new ArgumentNullException(nameof(body));
|
||||||
|
return (CSharpDirectiveSyntax)InternalSyntax.SyntaxFactory.CSharpDirective(transition == null ? null : (InternalSyntax.CSharpTransitionSyntax)transition.Green, body == null ? null : (InternalSyntax.CSharpSyntaxNode)body.Green).CreateRed();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Creates a new CSharpDirectiveSyntax instance.</summary>
|
||||||
|
public static CSharpDirectiveSyntax CSharpDirective(CSharpSyntaxNode body)
|
||||||
|
{
|
||||||
|
return SyntaxFactory.CSharpDirective(SyntaxFactory.CSharpTransition(), body);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Creates a new CSharpDirectiveBodySyntax instance.</summary>
|
||||||
|
public static CSharpDirectiveBodySyntax CSharpDirectiveBody(CSharpMetaCodeSyntax keyword, CSharpCodeBlockSyntax cSharpCode)
|
||||||
|
{
|
||||||
|
if (keyword == null)
|
||||||
|
throw new ArgumentNullException(nameof(keyword));
|
||||||
|
if (cSharpCode == null)
|
||||||
|
throw new ArgumentNullException(nameof(cSharpCode));
|
||||||
|
return (CSharpDirectiveBodySyntax)InternalSyntax.SyntaxFactory.CSharpDirectiveBody(keyword == null ? null : (InternalSyntax.CSharpMetaCodeSyntax)keyword.Green, cSharpCode == null ? null : (InternalSyntax.CSharpCodeBlockSyntax)cSharpCode.Green).CreateRed();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Creates a new CSharpDirectiveBodySyntax instance.</summary>
|
||||||
|
public static CSharpDirectiveBodySyntax CSharpDirectiveBody()
|
||||||
|
{
|
||||||
|
return SyntaxFactory.CSharpDirectiveBody(SyntaxFactory.CSharpMetaCode(), SyntaxFactory.CSharpCodeBlock());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
File diff suppressed because it is too large
Load Diff
|
|
@ -481,10 +481,9 @@ namespace Microsoft.AspNetCore.Razor.Language.Syntax
|
||||||
internal abstract SyntaxNode CreateRed(SyntaxNode parent, int position);
|
internal abstract SyntaxNode CreateRed(SyntaxNode parent, int position);
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
internal virtual GreenNode Accept(InternalSyntax.SyntaxVisitor visitor)
|
public abstract TResult Accept<TResult>(InternalSyntax.SyntaxVisitor<TResult> visitor);
|
||||||
{
|
|
||||||
return visitor.Visit(this);
|
public abstract void Accept(InternalSyntax.SyntaxVisitor visitor);
|
||||||
}
|
|
||||||
|
|
||||||
#region StaticMethods
|
#region StaticMethods
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,56 @@
|
||||||
|
// Copyright (c) .NET Foundation. All rights reserved.
|
||||||
|
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
||||||
|
|
||||||
|
using System.Collections.Generic;
|
||||||
|
|
||||||
|
namespace Microsoft.AspNetCore.Razor.Language.Syntax
|
||||||
|
{
|
||||||
|
internal static class GreenNodeExtensions
|
||||||
|
{
|
||||||
|
internal static InternalSyntax.SyntaxList<T> ToGreenList<T>(this SyntaxNode node) where T : GreenNode
|
||||||
|
{
|
||||||
|
return node != null ?
|
||||||
|
ToGreenList<T>(node.Green) :
|
||||||
|
default(InternalSyntax.SyntaxList<T>);
|
||||||
|
}
|
||||||
|
|
||||||
|
internal static InternalSyntax.SyntaxList<T> ToGreenList<T>(this GreenNode node) where T : GreenNode
|
||||||
|
{
|
||||||
|
return new InternalSyntax.SyntaxList<T>(node);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static TNode WithAnnotationsGreen<TNode>(this TNode node, IEnumerable<SyntaxAnnotation> annotations) where TNode : GreenNode
|
||||||
|
{
|
||||||
|
var newAnnotations = new List<SyntaxAnnotation>();
|
||||||
|
foreach (var candidate in annotations)
|
||||||
|
{
|
||||||
|
if (!newAnnotations.Contains(candidate))
|
||||||
|
{
|
||||||
|
newAnnotations.Add(candidate);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (newAnnotations.Count == 0)
|
||||||
|
{
|
||||||
|
var existingAnnotations = node.GetAnnotations();
|
||||||
|
if (existingAnnotations == null || existingAnnotations.Length == 0)
|
||||||
|
{
|
||||||
|
return node;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return (TNode)node.SetAnnotations(null);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return (TNode)node.SetAnnotations(newAnnotations.ToArray());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static TNode WithDiagnosticsGreen<TNode>(this TNode node, RazorDiagnostic[] diagnostics) where TNode : GreenNode
|
||||||
|
{
|
||||||
|
return (TNode)node.SetDiagnostics(diagnostics);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -1,20 +0,0 @@
|
||||||
// Copyright (c) .NET Foundation. All rights reserved.
|
|
||||||
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
|
||||||
|
|
||||||
namespace Microsoft.AspNetCore.Razor.Language.Syntax
|
|
||||||
{
|
|
||||||
internal abstract class HtmlNodeSyntax : SyntaxNode
|
|
||||||
{
|
|
||||||
internal HtmlNodeSyntax(GreenNode green, SyntaxNode parent, int position)
|
|
||||||
: base(green, parent, position)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
internal new InternalSyntax.HtmlNodeSyntax Green => (InternalSyntax.HtmlNodeSyntax)base.Green;
|
|
||||||
|
|
||||||
internal override SyntaxNode Accept(SyntaxVisitor visitor)
|
|
||||||
{
|
|
||||||
return visitor.VisitHtmlNode(this);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,42 +0,0 @@
|
||||||
// Copyright (c) .NET Foundation. All rights reserved.
|
|
||||||
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
|
||||||
|
|
||||||
namespace Microsoft.AspNetCore.Razor.Language.Syntax
|
|
||||||
{
|
|
||||||
internal class HtmlTextSyntax : HtmlNodeSyntax
|
|
||||||
{
|
|
||||||
private SyntaxNode _textTokens;
|
|
||||||
|
|
||||||
internal HtmlTextSyntax(GreenNode green, SyntaxNode parent, int position)
|
|
||||||
: base(green, parent, position)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
public SyntaxList<SyntaxNode> TextTokens => new SyntaxList<SyntaxNode>(GetRed(ref _textTokens, 0));
|
|
||||||
|
|
||||||
public string Value => TextTokens[0]?.ToFullString() ?? string.Empty;
|
|
||||||
|
|
||||||
internal override SyntaxNode Accept(SyntaxVisitor visitor)
|
|
||||||
{
|
|
||||||
return visitor.VisitHtmlText(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
internal override SyntaxNode GetCachedSlot(int index)
|
|
||||||
{
|
|
||||||
switch (index)
|
|
||||||
{
|
|
||||||
case 0: return _textTokens;
|
|
||||||
default: return null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
internal override SyntaxNode GetNodeSlot(int slot)
|
|
||||||
{
|
|
||||||
switch (slot)
|
|
||||||
{
|
|
||||||
case 0: return GetRed(ref _textTokens, 0);
|
|
||||||
default: return null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,28 +0,0 @@
|
||||||
// Copyright (c) .NET Foundation. All rights reserved.
|
|
||||||
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
|
||||||
|
|
||||||
namespace Microsoft.AspNetCore.Razor.Language.Syntax.InternalSyntax
|
|
||||||
{
|
|
||||||
internal abstract class HtmlNodeSyntax : GreenNode
|
|
||||||
{
|
|
||||||
protected HtmlNodeSyntax(SyntaxKind kind)
|
|
||||||
: base(kind)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
protected HtmlNodeSyntax(SyntaxKind kind, int fullWidth)
|
|
||||||
: base(kind, fullWidth)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
protected HtmlNodeSyntax(SyntaxKind kind, RazorDiagnostic[] diagnostics, SyntaxAnnotation[] annotations)
|
|
||||||
: base(kind, diagnostics, annotations)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
internal override GreenNode Accept(SyntaxVisitor visitor)
|
|
||||||
{
|
|
||||||
return visitor.VisitHtmlNode(this);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,59 +0,0 @@
|
||||||
// Copyright (c) .NET Foundation. All rights reserved.
|
|
||||||
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
|
||||||
|
|
||||||
using System;
|
|
||||||
|
|
||||||
namespace Microsoft.AspNetCore.Razor.Language.Syntax.InternalSyntax
|
|
||||||
{
|
|
||||||
internal class HtmlTextSyntax : HtmlNodeSyntax
|
|
||||||
{
|
|
||||||
private readonly GreenNode _value;
|
|
||||||
|
|
||||||
internal HtmlTextSyntax(GreenNode value) : base(SyntaxKind.HtmlText)
|
|
||||||
{
|
|
||||||
SlotCount = 1;
|
|
||||||
_value = value;
|
|
||||||
AdjustFlagsAndWidth(value);
|
|
||||||
}
|
|
||||||
|
|
||||||
internal HtmlTextSyntax(GreenNode value, RazorDiagnostic[] diagnostics, SyntaxAnnotation[] annotations)
|
|
||||||
: base(SyntaxKind.HtmlText, diagnostics, annotations)
|
|
||||||
{
|
|
||||||
SlotCount = 1;
|
|
||||||
_value = value;
|
|
||||||
AdjustFlagsAndWidth(value);
|
|
||||||
}
|
|
||||||
|
|
||||||
internal SyntaxList<GreenNode> TextTokens => new SyntaxList<GreenNode>(_value);
|
|
||||||
|
|
||||||
internal override GreenNode GetSlot(int index)
|
|
||||||
{
|
|
||||||
switch (index)
|
|
||||||
{
|
|
||||||
case 0: return _value;
|
|
||||||
}
|
|
||||||
|
|
||||||
throw new InvalidOperationException();
|
|
||||||
}
|
|
||||||
|
|
||||||
internal override GreenNode Accept(SyntaxVisitor visitor)
|
|
||||||
{
|
|
||||||
return visitor.VisitHtmlText(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
internal override SyntaxNode CreateRed(SyntaxNode parent, int position)
|
|
||||||
{
|
|
||||||
return new Syntax.HtmlTextSyntax(this, parent, position);
|
|
||||||
}
|
|
||||||
|
|
||||||
internal override GreenNode SetDiagnostics(RazorDiagnostic[] diagnostics)
|
|
||||||
{
|
|
||||||
return new HtmlTextSyntax(_value, diagnostics, GetAnnotations());
|
|
||||||
}
|
|
||||||
|
|
||||||
internal override GreenNode SetAnnotations(SyntaxAnnotation[] annotations)
|
|
||||||
{
|
|
||||||
return new HtmlTextSyntax(_value, GetDiagnostics(), annotations);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -6,13 +6,8 @@ using System.Linq;
|
||||||
|
|
||||||
namespace Microsoft.AspNetCore.Razor.Language.Syntax.InternalSyntax
|
namespace Microsoft.AspNetCore.Razor.Language.Syntax.InternalSyntax
|
||||||
{
|
{
|
||||||
internal static class SyntaxFactory
|
internal static partial class SyntaxFactory
|
||||||
{
|
{
|
||||||
internal static HtmlTextSyntax HtmlText(SyntaxList<SyntaxToken> textTokens)
|
|
||||||
{
|
|
||||||
return new HtmlTextSyntax(textTokens.Node);
|
|
||||||
}
|
|
||||||
|
|
||||||
internal static SyntaxToken Token(SyntaxKind kind, string content, IEnumerable<RazorDiagnostic> diagnostics)
|
internal static SyntaxToken Token(SyntaxKind kind, string content, IEnumerable<RazorDiagnostic> diagnostics)
|
||||||
{
|
{
|
||||||
return Token(kind, content, diagnostics.ToArray());
|
return Token(kind, content, diagnostics.ToArray());
|
||||||
|
|
|
||||||
|
|
@ -121,6 +121,16 @@ namespace Microsoft.AspNetCore.Razor.Language.Syntax.InternalSyntax
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public override TResult Accept<TResult>(SyntaxVisitor<TResult> visitor)
|
||||||
|
{
|
||||||
|
return visitor.Visit(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void Accept(SyntaxVisitor visitor)
|
||||||
|
{
|
||||||
|
visitor.Visit(this);
|
||||||
|
}
|
||||||
|
|
||||||
internal class WithTwoChildren : SyntaxList
|
internal class WithTwoChildren : SyntaxList
|
||||||
{
|
{
|
||||||
private readonly GreenNode _child0;
|
private readonly GreenNode _child0;
|
||||||
|
|
|
||||||
|
|
@ -134,9 +134,14 @@ namespace Microsoft.AspNetCore.Razor.Language.Syntax.InternalSyntax
|
||||||
throw new InvalidOperationException("Tokens don't have slots.");
|
throw new InvalidOperationException("Tokens don't have slots.");
|
||||||
}
|
}
|
||||||
|
|
||||||
internal override GreenNode Accept(SyntaxVisitor visitor)
|
public override TResult Accept<TResult>(SyntaxVisitor<TResult> visitor)
|
||||||
{
|
{
|
||||||
return visitor.VisitSyntaxToken(this);
|
return visitor.VisitToken(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void Accept(SyntaxVisitor visitor)
|
||||||
|
{
|
||||||
|
visitor.VisitToken(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override bool IsEquivalentTo(GreenNode other)
|
public override bool IsEquivalentTo(GreenNode other)
|
||||||
|
|
|
||||||
|
|
@ -62,9 +62,14 @@ namespace Microsoft.AspNetCore.Razor.Language.Syntax.InternalSyntax
|
||||||
return new Syntax.SyntaxTrivia(this, parent, position);
|
return new Syntax.SyntaxTrivia(this, parent, position);
|
||||||
}
|
}
|
||||||
|
|
||||||
internal override GreenNode Accept(SyntaxVisitor visitor)
|
public override TResult Accept<TResult>(SyntaxVisitor<TResult> visitor)
|
||||||
{
|
{
|
||||||
return visitor.VisitSyntaxTrivia(this);
|
return visitor.VisitTrivia(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void Accept(SyntaxVisitor visitor)
|
||||||
|
{
|
||||||
|
visitor.VisitTrivia(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
internal override GreenNode SetDiagnostics(RazorDiagnostic[] diagnostics)
|
internal override GreenNode SetDiagnostics(RazorDiagnostic[] diagnostics)
|
||||||
|
|
|
||||||
|
|
@ -3,41 +3,58 @@
|
||||||
|
|
||||||
namespace Microsoft.AspNetCore.Razor.Language.Syntax.InternalSyntax
|
namespace Microsoft.AspNetCore.Razor.Language.Syntax.InternalSyntax
|
||||||
{
|
{
|
||||||
internal abstract class SyntaxVisitor
|
internal abstract partial class SyntaxVisitor<TResult>
|
||||||
|
{
|
||||||
|
public virtual TResult Visit(GreenNode node)
|
||||||
|
{
|
||||||
|
if (node == null)
|
||||||
|
{
|
||||||
|
return default(TResult);
|
||||||
|
}
|
||||||
|
|
||||||
|
return node.Accept(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
public virtual TResult VisitToken(SyntaxToken token)
|
||||||
|
{
|
||||||
|
return DefaultVisit(token);
|
||||||
|
}
|
||||||
|
|
||||||
|
public virtual TResult VisitTrivia(SyntaxTrivia trivia)
|
||||||
|
{
|
||||||
|
return DefaultVisit(trivia);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected virtual TResult DefaultVisit(GreenNode node)
|
||||||
|
{
|
||||||
|
return default(TResult);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
internal abstract partial class SyntaxVisitor
|
||||||
{
|
{
|
||||||
public virtual GreenNode Visit(GreenNode node)
|
public virtual GreenNode Visit(GreenNode node)
|
||||||
{
|
{
|
||||||
if (node != null)
|
if (node != null)
|
||||||
{
|
{
|
||||||
return node.Accept(this);
|
node.Accept(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public virtual GreenNode VisitSyntaxNode(GreenNode node)
|
public virtual void VisitToken(SyntaxToken token)
|
||||||
{
|
{
|
||||||
return node;
|
DefaultVisit(token);
|
||||||
}
|
}
|
||||||
|
|
||||||
public virtual GreenNode VisitHtmlNode(HtmlNodeSyntax node)
|
public virtual void VisitTrivia(SyntaxTrivia trivia)
|
||||||
{
|
{
|
||||||
return VisitSyntaxNode(node);
|
DefaultVisit(trivia);
|
||||||
}
|
}
|
||||||
|
|
||||||
public virtual GreenNode VisitHtmlText(HtmlTextSyntax node)
|
protected virtual void DefaultVisit(GreenNode node)
|
||||||
{
|
{
|
||||||
return VisitHtmlNode(node);
|
|
||||||
}
|
|
||||||
|
|
||||||
public virtual SyntaxToken VisitSyntaxToken(SyntaxToken token)
|
|
||||||
{
|
|
||||||
return token;
|
|
||||||
}
|
|
||||||
|
|
||||||
public virtual SyntaxTrivia VisitSyntaxTrivia(SyntaxTrivia trivia)
|
|
||||||
{
|
|
||||||
return trivia;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,102 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8" ?>
|
||||||
|
|
||||||
|
<Tree Root="SyntaxNode">
|
||||||
|
<PredefinedNode Name="SyntaxToken" Base="SyntaxNode" />
|
||||||
|
|
||||||
|
<!-- Common -->
|
||||||
|
<AbstractNode Name="RazorSyntaxNode" Base="SyntaxNode" />
|
||||||
|
<Node Name="RazorCommentBlockSyntax" Base="RazorSyntaxNode">
|
||||||
|
<Kind Name="RazorComment" />
|
||||||
|
<Field Name="StartCommentTransition" Type="SyntaxToken">
|
||||||
|
<Kind Name="RazorCommentTransition" />
|
||||||
|
</Field>
|
||||||
|
<Field Name="StartCommentStar" Type="SyntaxToken">
|
||||||
|
<Kind Name="RazorCommentStar" />
|
||||||
|
</Field>
|
||||||
|
<Field Name="Comment" Type="SyntaxToken" Optional="true">
|
||||||
|
<Kind Name="RazorComment" />
|
||||||
|
</Field>
|
||||||
|
<Field Name="EndCommentStar" Type="SyntaxToken">
|
||||||
|
<Kind Name="RazorCommentStar" />
|
||||||
|
</Field>
|
||||||
|
<Field Name="EndCommentTransition" Type="SyntaxToken">
|
||||||
|
<Kind Name="RazorCommentTransition" />
|
||||||
|
</Field>
|
||||||
|
</Node>
|
||||||
|
|
||||||
|
<!-- HTML -->
|
||||||
|
<AbstractNode Name="HtmlSyntaxNode" Base="RazorSyntaxNode" />
|
||||||
|
<Node Name="HtmlTextSyntax" Base="HtmlSyntaxNode">
|
||||||
|
<Kind Name="HtmlText" />
|
||||||
|
<Field Name="TextTokens" Type="SyntaxList<SyntaxToken>" />
|
||||||
|
</Node>
|
||||||
|
|
||||||
|
<!-- CSharp -->
|
||||||
|
<AbstractNode Name="CSharpSyntaxNode" Base="RazorSyntaxNode" />
|
||||||
|
<Node Name="CSharpTransitionSyntax" Base="CSharpSyntaxNode">
|
||||||
|
<Kind Name="CSharpTransition" />
|
||||||
|
<Field Name="Transition" Type="SyntaxToken">
|
||||||
|
<Kind Name="Transition" />
|
||||||
|
</Field>
|
||||||
|
</Node>
|
||||||
|
<Node Name="CSharpMetaCodeSyntax" Base="CSharpSyntaxNode">
|
||||||
|
<Kind Name="CSharpMetaCode" />
|
||||||
|
<Field Name="MetaCode" Type="SyntaxList<SyntaxToken>" />
|
||||||
|
</Node>
|
||||||
|
<Node Name="CSharpCodeLiteralSyntax" Base="CSharpSyntaxNode">
|
||||||
|
<Kind Name="CSharpCodeLiteral" />
|
||||||
|
<Field Name="CSharpTokens" Type="SyntaxList<SyntaxToken>" />
|
||||||
|
</Node>
|
||||||
|
<Node Name="CSharpCodeBlockSyntax" Base="CSharpSyntaxNode">
|
||||||
|
<Kind Name="CSharpCodeBlock" />
|
||||||
|
<Field Name="Children" Type="SyntaxList<RazorSyntaxNode>" />
|
||||||
|
</Node>
|
||||||
|
<AbstractNode Name="CSharpBlockSyntax" Base="CSharpSyntaxNode">
|
||||||
|
<Field Name="Transition" Type="CSharpTransitionSyntax" />
|
||||||
|
<Field Name="Body" Type="CSharpSyntaxNode" />
|
||||||
|
</AbstractNode>
|
||||||
|
<Node Name="CSharpStatement" Base="CSharpBlockSyntax">
|
||||||
|
<Kind Name="CSharpStatement" />
|
||||||
|
<Field Name="Transition" Type="CSharpTransitionSyntax" Override="true">
|
||||||
|
<Kind Name="CSharpTransition" />
|
||||||
|
</Field>
|
||||||
|
<Field Name="Body" Type="CSharpSyntaxNode" Override="true">
|
||||||
|
<Kind Name="CSharpStatementBody" />
|
||||||
|
</Field>
|
||||||
|
</Node>
|
||||||
|
<Node Name="CSharpStatementBodySyntax" Base="CSharpSyntaxNode">
|
||||||
|
<Kind Name="CSharpStatementBody" />
|
||||||
|
<Field Name="OpenBrace" Type="CSharpMetaCodeSyntax" />
|
||||||
|
<Field Name="CSharpCode" Type="CSharpCodeBlockSyntax" />
|
||||||
|
<Field Name="CloseBrace" Type="CSharpMetaCodeSyntax" />
|
||||||
|
</Node>
|
||||||
|
<Node Name="CSharpExpression" Base="CSharpBlockSyntax">
|
||||||
|
<Kind Name="CSharpExpression" />
|
||||||
|
<Field Name="Transition" Type="CSharpTransitionSyntax" Override="true">
|
||||||
|
<Kind Name="CSharpTransition" />
|
||||||
|
</Field>
|
||||||
|
<Field Name="Body" Type="CSharpSyntaxNode" Override="true">
|
||||||
|
<Kind Name="CSharpExpressionBody" />
|
||||||
|
</Field>
|
||||||
|
</Node>
|
||||||
|
<Node Name="CSharpExpressionBodySyntax" Base="CSharpSyntaxNode">
|
||||||
|
<Kind Name="CSharpExpressionBody" />
|
||||||
|
<Field Name="OpenParen" Type="CSharpMetaCodeSyntax" Optional="true" />
|
||||||
|
<Field Name="CSharpCode" Type="CSharpCodeBlockSyntax" />
|
||||||
|
<Field Name="CloseParen" Type="CSharpMetaCodeSyntax" Optional="true" />
|
||||||
|
</Node>
|
||||||
|
<Node Name="CSharpDirectiveSyntax" Base="CSharpBlockSyntax">
|
||||||
|
<Kind Name="CSharpDirective" />
|
||||||
|
<Field Name="Transition" Type="CSharpTransitionSyntax" Override="true">
|
||||||
|
<Kind Name="CSharpTransition" />
|
||||||
|
</Field>
|
||||||
|
<Field Name="Body" Type="CSharpSyntaxNode" Override="true">
|
||||||
|
<Kind Name="CSharpDirectiveBody" />
|
||||||
|
</Field>
|
||||||
|
</Node>
|
||||||
|
<Node Name="CSharpDirectiveBodySyntax" Base="CSharpSyntaxNode">
|
||||||
|
<Kind Name="CSharpDirectiveBody" />
|
||||||
|
<Field Name="Keyword" Type="CSharpMetaCodeSyntax" />
|
||||||
|
<Field Name="CSharpCode" Type="CSharpCodeBlockSyntax" />
|
||||||
|
</Node>
|
||||||
|
</Tree>
|
||||||
|
|
@ -3,9 +3,14 @@
|
||||||
|
|
||||||
namespace Microsoft.AspNetCore.Razor.Language.Syntax
|
namespace Microsoft.AspNetCore.Razor.Language.Syntax
|
||||||
{
|
{
|
||||||
internal static class SyntaxFactory
|
internal static partial class SyntaxFactory
|
||||||
{
|
{
|
||||||
internal static SyntaxToken Token(SyntaxKind kind, string content, params RazorDiagnostic[] diagnostics)
|
public static SyntaxToken Token(SyntaxKind kind, params RazorDiagnostic[] diagnostics)
|
||||||
|
{
|
||||||
|
return Token(kind, content: string.Empty, diagnostics: diagnostics);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static SyntaxToken Token(SyntaxKind kind, string content, params RazorDiagnostic[] diagnostics)
|
||||||
{
|
{
|
||||||
return new SyntaxToken(InternalSyntax.SyntaxFactory.Token(kind, content), parent: null, position: 0);
|
return new SyntaxToken(InternalSyntax.SyntaxFactory.Token(kind, content), parent: null, position: 0);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -6,9 +6,26 @@ namespace Microsoft.AspNetCore.Razor.Language
|
||||||
internal enum SyntaxKind : byte
|
internal enum SyntaxKind : byte
|
||||||
{
|
{
|
||||||
#region Nodes
|
#region Nodes
|
||||||
|
// HTML
|
||||||
HtmlText,
|
HtmlText,
|
||||||
HtmlDocument,
|
HtmlDocument,
|
||||||
HtmlDeclaration,
|
HtmlDeclaration,
|
||||||
|
|
||||||
|
// CSharp
|
||||||
|
CSharpBlock,
|
||||||
|
CSharpStatement,
|
||||||
|
CSharpStatementBody,
|
||||||
|
CSharpExpression,
|
||||||
|
CSharpExpressionBody,
|
||||||
|
CSharpDirective,
|
||||||
|
CSharpDirectiveBody,
|
||||||
|
CSharpCodeBlock,
|
||||||
|
CSharpCodeLiteral,
|
||||||
|
CSharpMetaCode,
|
||||||
|
CSharpTransition,
|
||||||
|
|
||||||
|
// Common
|
||||||
|
RazorComment,
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region Tokens
|
#region Tokens
|
||||||
|
|
@ -89,7 +106,7 @@ namespace Microsoft.AspNetCore.Razor.Language
|
||||||
Hash,
|
Hash,
|
||||||
|
|
||||||
// Razor specific
|
// Razor specific
|
||||||
RazorComment,
|
RazorCommentLiteral,
|
||||||
RazorCommentStar,
|
RazorCommentStar,
|
||||||
RazorCommentTransition,
|
RazorCommentTransition,
|
||||||
#endregion
|
#endregion
|
||||||
|
|
|
||||||
|
|
@ -10,11 +10,16 @@ namespace Microsoft.AspNetCore.Razor.Language.Syntax
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
internal override SyntaxNode Accept(SyntaxVisitor visitor)
|
public override TResult Accept<TResult>(SyntaxVisitor<TResult> visitor)
|
||||||
{
|
{
|
||||||
return visitor.Visit(this);
|
return visitor.Visit(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public override void Accept(SyntaxVisitor visitor)
|
||||||
|
{
|
||||||
|
visitor.Visit(this);
|
||||||
|
}
|
||||||
|
|
||||||
internal class WithTwoChildren : SyntaxList
|
internal class WithTwoChildren : SyntaxList
|
||||||
{
|
{
|
||||||
private SyntaxNode _child0;
|
private SyntaxNode _child0;
|
||||||
|
|
|
||||||
|
|
@ -80,7 +80,9 @@ namespace Microsoft.AspNetCore.Razor.Language.Syntax
|
||||||
|
|
||||||
public bool ContainsAnnotations => Green.ContainsAnnotations;
|
public bool ContainsAnnotations => Green.ContainsAnnotations;
|
||||||
|
|
||||||
internal abstract SyntaxNode Accept(SyntaxVisitor visitor);
|
public abstract TResult Accept<TResult>(SyntaxVisitor<TResult> visitor);
|
||||||
|
|
||||||
|
public abstract void Accept(SyntaxVisitor visitor);
|
||||||
|
|
||||||
internal abstract SyntaxNode GetNodeSlot(int index);
|
internal abstract SyntaxNode GetNodeSlot(int index);
|
||||||
|
|
||||||
|
|
@ -103,6 +105,24 @@ namespace Microsoft.AspNetCore.Razor.Language.Syntax
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Special case of above function where slot = 0, does not need GetChildPosition
|
||||||
|
internal SyntaxNode GetRedAtZero(ref SyntaxNode field)
|
||||||
|
{
|
||||||
|
var result = field;
|
||||||
|
|
||||||
|
if (result == null)
|
||||||
|
{
|
||||||
|
var green = Green.GetSlot(0);
|
||||||
|
if (green != null)
|
||||||
|
{
|
||||||
|
Interlocked.CompareExchange(ref field, green.CreateRed(this, Position), null);
|
||||||
|
result = field;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
protected T GetRed<T>(ref T field, int slot) where T : SyntaxNode
|
protected T GetRed<T>(ref T field, int slot) where T : SyntaxNode
|
||||||
{
|
{
|
||||||
var result = field;
|
var result = field;
|
||||||
|
|
@ -120,6 +140,24 @@ namespace Microsoft.AspNetCore.Razor.Language.Syntax
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// special case of above function where slot = 0, does not need GetChildPosition
|
||||||
|
protected T GetRedAtZero<T>(ref T field) where T : SyntaxNode
|
||||||
|
{
|
||||||
|
var result = field;
|
||||||
|
|
||||||
|
if (result == null)
|
||||||
|
{
|
||||||
|
var green = Green.GetSlot(0);
|
||||||
|
if (green != null)
|
||||||
|
{
|
||||||
|
Interlocked.CompareExchange(ref field, (T)green.CreateRed(this, Position), null);
|
||||||
|
result = field;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
internal SyntaxNode GetRedElement(ref SyntaxNode element, int slot)
|
internal SyntaxNode GetRedElement(ref SyntaxNode element, int slot)
|
||||||
{
|
{
|
||||||
Debug.Assert(IsList);
|
Debug.Assert(IsList);
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,13 @@
|
||||||
|
// Copyright (c) .NET Foundation. All rights reserved.
|
||||||
|
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
||||||
|
|
||||||
|
namespace Microsoft.AspNetCore.Razor.Language.Syntax
|
||||||
|
{
|
||||||
|
internal static class SyntaxNodeExtensions
|
||||||
|
{
|
||||||
|
public static TNode WithAnnotations<TNode>(this TNode node, params SyntaxAnnotation[] annotations) where TNode : SyntaxNode
|
||||||
|
{
|
||||||
|
return (TNode)node.Green.SetAnnotations(annotations).CreateRed();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -69,9 +69,14 @@ namespace Microsoft.AspNetCore.Razor.Language.Syntax
|
||||||
throw new InvalidOperationException("Tokens can't have slots.");
|
throw new InvalidOperationException("Tokens can't have slots.");
|
||||||
}
|
}
|
||||||
|
|
||||||
internal override SyntaxNode Accept(SyntaxVisitor visitor)
|
public override TResult Accept<TResult>(SyntaxVisitor<TResult> visitor)
|
||||||
{
|
{
|
||||||
return visitor.VisitSyntaxToken(this);
|
return visitor.VisitToken(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void Accept(SyntaxVisitor visitor)
|
||||||
|
{
|
||||||
|
visitor.VisitToken(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
public SyntaxToken WithLeadingTrivia(SyntaxNode trivia)
|
public SyntaxToken WithLeadingTrivia(SyntaxNode trivia)
|
||||||
|
|
|
||||||
|
|
@ -26,9 +26,14 @@ namespace Microsoft.AspNetCore.Razor.Language.Syntax
|
||||||
throw new InvalidOperationException();
|
throw new InvalidOperationException();
|
||||||
}
|
}
|
||||||
|
|
||||||
internal override SyntaxNode Accept(SyntaxVisitor visitor)
|
public override TResult Accept<TResult>(SyntaxVisitor<TResult> visitor)
|
||||||
{
|
{
|
||||||
return visitor.VisitSyntaxTrivia(this);
|
return visitor.VisitTrivia(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void Accept(SyntaxVisitor visitor)
|
||||||
|
{
|
||||||
|
visitor.VisitTrivia(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
public sealed override SyntaxTriviaList GetTrailingTrivia()
|
public sealed override SyntaxTriviaList GetTrailingTrivia()
|
||||||
|
|
|
||||||
|
|
@ -3,41 +3,56 @@
|
||||||
|
|
||||||
namespace Microsoft.AspNetCore.Razor.Language.Syntax
|
namespace Microsoft.AspNetCore.Razor.Language.Syntax
|
||||||
{
|
{
|
||||||
internal abstract class SyntaxVisitor
|
internal abstract partial class SyntaxVisitor<TResult>
|
||||||
{
|
{
|
||||||
public virtual SyntaxNode Visit(SyntaxNode node)
|
public virtual TResult Visit(SyntaxNode node)
|
||||||
{
|
{
|
||||||
if (node != null)
|
if (node != null)
|
||||||
{
|
{
|
||||||
return node.Accept(this);
|
return node.Accept(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
return null;
|
return default(TResult);
|
||||||
}
|
}
|
||||||
|
|
||||||
public virtual SyntaxNode VisitSyntaxNode(SyntaxNode node)
|
public virtual TResult VisitToken(SyntaxToken token)
|
||||||
{
|
{
|
||||||
return node;
|
return DefaultVisit(token);
|
||||||
}
|
}
|
||||||
|
|
||||||
public virtual SyntaxNode VisitHtmlNode(HtmlNodeSyntax node)
|
public virtual TResult VisitTrivia(SyntaxTrivia trivia)
|
||||||
{
|
{
|
||||||
return VisitSyntaxNode(node);
|
return DefaultVisit(trivia);
|
||||||
}
|
}
|
||||||
|
|
||||||
public virtual SyntaxNode VisitHtmlText(HtmlTextSyntax node)
|
protected virtual TResult DefaultVisit(SyntaxNode node)
|
||||||
{
|
{
|
||||||
return VisitHtmlNode(node);
|
return default(TResult);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
internal abstract partial class SyntaxVisitor
|
||||||
|
{
|
||||||
|
public virtual void Visit(SyntaxNode node)
|
||||||
|
{
|
||||||
|
if (node != null)
|
||||||
|
{
|
||||||
|
node.Accept(this);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public virtual SyntaxToken VisitSyntaxToken(SyntaxToken token)
|
public virtual void VisitToken(SyntaxToken token)
|
||||||
{
|
{
|
||||||
return token;
|
DefaultVisit(token);
|
||||||
}
|
}
|
||||||
|
|
||||||
public virtual SyntaxTrivia VisitSyntaxTrivia(SyntaxTrivia trivia)
|
public virtual void VisitTrivia(SyntaxTrivia trivia)
|
||||||
|
{
|
||||||
|
DefaultVisit(trivia);
|
||||||
|
}
|
||||||
|
|
||||||
|
public virtual void DefaultVisit(SyntaxNode node)
|
||||||
{
|
{
|
||||||
return trivia;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
||||||
"@* Foo * Bar * Baz *",
|
"@* Foo * Bar * Baz *",
|
||||||
SyntaxFactory.Token(SyntaxKind.RazorCommentTransition, "@"),
|
SyntaxFactory.Token(SyntaxKind.RazorCommentTransition, "@"),
|
||||||
SyntaxFactory.Token(SyntaxKind.RazorCommentStar, "*"),
|
SyntaxFactory.Token(SyntaxKind.RazorCommentStar, "*"),
|
||||||
SyntaxFactory.Token(SyntaxKind.RazorComment, " Foo * Bar * Baz *"));
|
SyntaxFactory.Token(SyntaxKind.RazorCommentLiteral, " Foo * Bar * Baz *"));
|
||||||
}
|
}
|
||||||
|
|
||||||
[Fact]
|
[Fact]
|
||||||
|
|
@ -27,7 +27,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
||||||
"@* Foo * Bar * Baz *@",
|
"@* Foo * Bar * Baz *@",
|
||||||
SyntaxFactory.Token(SyntaxKind.RazorCommentTransition, "@"),
|
SyntaxFactory.Token(SyntaxKind.RazorCommentTransition, "@"),
|
||||||
SyntaxFactory.Token(SyntaxKind.RazorCommentStar, "*"),
|
SyntaxFactory.Token(SyntaxKind.RazorCommentStar, "*"),
|
||||||
SyntaxFactory.Token(SyntaxKind.RazorComment, " Foo * Bar * Baz "),
|
SyntaxFactory.Token(SyntaxKind.RazorCommentLiteral, " Foo * Bar * Baz "),
|
||||||
SyntaxFactory.Token(SyntaxKind.RazorCommentStar, "*"),
|
SyntaxFactory.Token(SyntaxKind.RazorCommentStar, "*"),
|
||||||
SyntaxFactory.Token(SyntaxKind.RazorCommentTransition, "@"));
|
SyntaxFactory.Token(SyntaxKind.RazorCommentTransition, "@"));
|
||||||
}
|
}
|
||||||
|
|
@ -39,7 +39,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
||||||
"@* Foo Bar Baz *@",
|
"@* Foo Bar Baz *@",
|
||||||
SyntaxFactory.Token(SyntaxKind.RazorCommentTransition, "@"),
|
SyntaxFactory.Token(SyntaxKind.RazorCommentTransition, "@"),
|
||||||
SyntaxFactory.Token(SyntaxKind.RazorCommentStar, "*"),
|
SyntaxFactory.Token(SyntaxKind.RazorCommentStar, "*"),
|
||||||
SyntaxFactory.Token(SyntaxKind.RazorComment, " Foo Bar Baz "),
|
SyntaxFactory.Token(SyntaxKind.RazorCommentLiteral, " Foo Bar Baz "),
|
||||||
SyntaxFactory.Token(SyntaxKind.RazorCommentStar, "*"),
|
SyntaxFactory.Token(SyntaxKind.RazorCommentStar, "*"),
|
||||||
SyntaxFactory.Token(SyntaxKind.RazorCommentTransition, "@"));
|
SyntaxFactory.Token(SyntaxKind.RazorCommentTransition, "@"));
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -28,7 +28,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
||||||
"@*included*@\r\n @something \"value\"\r\n @this is ignored",
|
"@*included*@\r\n @something \"value\"\r\n @this is ignored",
|
||||||
SyntaxFactory.Token(SyntaxKind.RazorCommentTransition, "@"),
|
SyntaxFactory.Token(SyntaxKind.RazorCommentTransition, "@"),
|
||||||
SyntaxFactory.Token(SyntaxKind.RazorCommentStar, "*"),
|
SyntaxFactory.Token(SyntaxKind.RazorCommentStar, "*"),
|
||||||
SyntaxFactory.Token(SyntaxKind.RazorComment, "included"),
|
SyntaxFactory.Token(SyntaxKind.RazorCommentLiteral, "included"),
|
||||||
SyntaxFactory.Token(SyntaxKind.RazorCommentStar, "*"),
|
SyntaxFactory.Token(SyntaxKind.RazorCommentStar, "*"),
|
||||||
SyntaxFactory.Token(SyntaxKind.RazorCommentTransition, "@"),
|
SyntaxFactory.Token(SyntaxKind.RazorCommentTransition, "@"),
|
||||||
SyntaxFactory.Token(SyntaxKind.NewLine, "\r\n"),
|
SyntaxFactory.Token(SyntaxKind.NewLine, "\r\n"),
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
||||||
SyntaxFactory.Token(SyntaxKind.Whitespace, " "),
|
SyntaxFactory.Token(SyntaxKind.Whitespace, " "),
|
||||||
SyntaxFactory.Token(SyntaxKind.RazorCommentTransition, "@"),
|
SyntaxFactory.Token(SyntaxKind.RazorCommentTransition, "@"),
|
||||||
SyntaxFactory.Token(SyntaxKind.RazorCommentStar, "*"),
|
SyntaxFactory.Token(SyntaxKind.RazorCommentStar, "*"),
|
||||||
SyntaxFactory.Token(SyntaxKind.RazorComment, "included"),
|
SyntaxFactory.Token(SyntaxKind.RazorCommentLiteral, "included"),
|
||||||
SyntaxFactory.Token(SyntaxKind.RazorCommentStar, "*"),
|
SyntaxFactory.Token(SyntaxKind.RazorCommentStar, "*"),
|
||||||
SyntaxFactory.Token(SyntaxKind.RazorCommentTransition, "@"),
|
SyntaxFactory.Token(SyntaxKind.RazorCommentTransition, "@"),
|
||||||
SyntaxFactory.Token(SyntaxKind.Whitespace, " "),
|
SyntaxFactory.Token(SyntaxKind.Whitespace, " "),
|
||||||
|
|
|
||||||
|
|
@ -134,7 +134,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
||||||
"@* Foo * Bar * Baz *",
|
"@* Foo * Bar * Baz *",
|
||||||
SyntaxFactory.Token(SyntaxKind.RazorCommentTransition, "@"),
|
SyntaxFactory.Token(SyntaxKind.RazorCommentTransition, "@"),
|
||||||
SyntaxFactory.Token(SyntaxKind.RazorCommentStar, "*"),
|
SyntaxFactory.Token(SyntaxKind.RazorCommentStar, "*"),
|
||||||
SyntaxFactory.Token(SyntaxKind.RazorComment, " Foo * Bar * Baz *"));
|
SyntaxFactory.Token(SyntaxKind.RazorCommentLiteral, " Foo * Bar * Baz *"));
|
||||||
}
|
}
|
||||||
|
|
||||||
[Fact]
|
[Fact]
|
||||||
|
|
@ -144,7 +144,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
||||||
"@* Foo * Bar * Baz *@",
|
"@* Foo * Bar * Baz *@",
|
||||||
SyntaxFactory.Token(SyntaxKind.RazorCommentTransition, "@"),
|
SyntaxFactory.Token(SyntaxKind.RazorCommentTransition, "@"),
|
||||||
SyntaxFactory.Token(SyntaxKind.RazorCommentStar, "*"),
|
SyntaxFactory.Token(SyntaxKind.RazorCommentStar, "*"),
|
||||||
SyntaxFactory.Token(SyntaxKind.RazorComment, " Foo * Bar * Baz "),
|
SyntaxFactory.Token(SyntaxKind.RazorCommentLiteral, " Foo * Bar * Baz "),
|
||||||
SyntaxFactory.Token(SyntaxKind.RazorCommentStar, "*"),
|
SyntaxFactory.Token(SyntaxKind.RazorCommentStar, "*"),
|
||||||
SyntaxFactory.Token(SyntaxKind.RazorCommentTransition, "@"));
|
SyntaxFactory.Token(SyntaxKind.RazorCommentTransition, "@"));
|
||||||
}
|
}
|
||||||
|
|
@ -156,7 +156,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
||||||
"@* Foo Bar Baz *@",
|
"@* Foo Bar Baz *@",
|
||||||
SyntaxFactory.Token(SyntaxKind.RazorCommentTransition, "@"),
|
SyntaxFactory.Token(SyntaxKind.RazorCommentTransition, "@"),
|
||||||
SyntaxFactory.Token(SyntaxKind.RazorCommentStar, "*"),
|
SyntaxFactory.Token(SyntaxKind.RazorCommentStar, "*"),
|
||||||
SyntaxFactory.Token(SyntaxKind.RazorComment, " Foo Bar Baz "),
|
SyntaxFactory.Token(SyntaxKind.RazorCommentLiteral, " Foo Bar Baz "),
|
||||||
SyntaxFactory.Token(SyntaxKind.RazorCommentStar, "*"),
|
SyntaxFactory.Token(SyntaxKind.RazorCommentStar, "*"),
|
||||||
SyntaxFactory.Token(SyntaxKind.RazorCommentTransition, "@"));
|
SyntaxFactory.Token(SyntaxKind.RazorCommentTransition, "@"));
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -31,7 +31,7 @@ Statement block - Gen<None> - 75 - (0:0,0)
|
||||||
MetaCode span - Gen<None> - [*] - SpanEditHandler;Accepts:None - (38:0,38) - Tokens:1
|
MetaCode span - Gen<None> - [*] - SpanEditHandler;Accepts:None - (38:0,38) - Tokens:1
|
||||||
SyntaxKind.RazorCommentStar;[*];
|
SyntaxKind.RazorCommentStar;[*];
|
||||||
Comment span - Gen<None> - [ Foo ] - SpanEditHandler;Accepts:Any - (39:0,39) - Tokens:1
|
Comment span - Gen<None> - [ Foo ] - SpanEditHandler;Accepts:Any - (39:0,39) - Tokens:1
|
||||||
SyntaxKind.RazorComment;[ Foo ];
|
SyntaxKind.RazorCommentLiteral;[ Foo ];
|
||||||
MetaCode span - Gen<None> - [*] - SpanEditHandler;Accepts:None - (44:0,44) - Tokens:1
|
MetaCode span - Gen<None> - [*] - SpanEditHandler;Accepts:None - (44:0,44) - Tokens:1
|
||||||
SyntaxKind.RazorCommentStar;[*];
|
SyntaxKind.RazorCommentStar;[*];
|
||||||
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (45:0,45) - Tokens:1
|
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (45:0,45) - Tokens:1
|
||||||
|
|
@ -44,7 +44,7 @@ Statement block - Gen<None> - 75 - (0:0,0)
|
||||||
MetaCode span - Gen<None> - [*] - SpanEditHandler;Accepts:None - (48:0,48) - Tokens:1
|
MetaCode span - Gen<None> - [*] - SpanEditHandler;Accepts:None - (48:0,48) - Tokens:1
|
||||||
SyntaxKind.RazorCommentStar;[*];
|
SyntaxKind.RazorCommentStar;[*];
|
||||||
Comment span - Gen<None> - [ Bar ] - SpanEditHandler;Accepts:Any - (49:0,49) - Tokens:1
|
Comment span - Gen<None> - [ Bar ] - SpanEditHandler;Accepts:Any - (49:0,49) - Tokens:1
|
||||||
SyntaxKind.RazorComment;[ Bar ];
|
SyntaxKind.RazorCommentLiteral;[ Bar ];
|
||||||
MetaCode span - Gen<None> - [*] - SpanEditHandler;Accepts:None - (54:0,54) - Tokens:1
|
MetaCode span - Gen<None> - [*] - SpanEditHandler;Accepts:None - (54:0,54) - Tokens:1
|
||||||
SyntaxKind.RazorCommentStar;[*];
|
SyntaxKind.RazorCommentStar;[*];
|
||||||
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (55:0,55) - Tokens:1
|
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (55:0,55) - Tokens:1
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,7 @@ Statement block - Gen<None> - 54 - (0:0,0)
|
||||||
MetaCode span - Gen<None> - [*] - SpanEditHandler;Accepts:None - (23:0,23) - Tokens:1
|
MetaCode span - Gen<None> - [*] - SpanEditHandler;Accepts:None - (23:0,23) - Tokens:1
|
||||||
SyntaxKind.RazorCommentStar;[*];
|
SyntaxKind.RazorCommentStar;[*];
|
||||||
Comment span - Gen<None> - [ Foo ] - SpanEditHandler;Accepts:Any - (24:0,24) - Tokens:1
|
Comment span - Gen<None> - [ Foo ] - SpanEditHandler;Accepts:Any - (24:0,24) - Tokens:1
|
||||||
SyntaxKind.RazorComment;[ Foo ];
|
SyntaxKind.RazorCommentLiteral;[ Foo ];
|
||||||
MetaCode span - Gen<None> - [*] - SpanEditHandler;Accepts:None - (29:0,29) - Tokens:1
|
MetaCode span - Gen<None> - [*] - SpanEditHandler;Accepts:None - (29:0,29) - Tokens:1
|
||||||
SyntaxKind.RazorCommentStar;[*];
|
SyntaxKind.RazorCommentStar;[*];
|
||||||
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (30:0,30) - Tokens:1
|
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (30:0,30) - Tokens:1
|
||||||
|
|
@ -34,7 +34,7 @@ Statement block - Gen<None> - 54 - (0:0,0)
|
||||||
MetaCode span - Gen<None> - [*] - SpanEditHandler;Accepts:None - (33:0,33) - Tokens:1
|
MetaCode span - Gen<None> - [*] - SpanEditHandler;Accepts:None - (33:0,33) - Tokens:1
|
||||||
SyntaxKind.RazorCommentStar;[*];
|
SyntaxKind.RazorCommentStar;[*];
|
||||||
Comment span - Gen<None> - [ Bar ] - SpanEditHandler;Accepts:Any - (34:0,34) - Tokens:1
|
Comment span - Gen<None> - [ Bar ] - SpanEditHandler;Accepts:Any - (34:0,34) - Tokens:1
|
||||||
SyntaxKind.RazorComment;[ Bar ];
|
SyntaxKind.RazorCommentLiteral;[ Bar ];
|
||||||
MetaCode span - Gen<None> - [*] - SpanEditHandler;Accepts:None - (39:0,39) - Tokens:1
|
MetaCode span - Gen<None> - [*] - SpanEditHandler;Accepts:None - (39:0,39) - Tokens:1
|
||||||
SyntaxKind.RazorCommentStar;[*];
|
SyntaxKind.RazorCommentStar;[*];
|
||||||
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (40:0,40) - Tokens:1
|
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (40:0,40) - Tokens:1
|
||||||
|
|
|
||||||
|
|
@ -36,7 +36,7 @@ Statement block - Gen<None> - 78 - (0:0,0)
|
||||||
MetaCode span - Gen<None> - [*] - SpanEditHandler;Accepts:None - (44:0,44) - Tokens:1
|
MetaCode span - Gen<None> - [*] - SpanEditHandler;Accepts:None - (44:0,44) - Tokens:1
|
||||||
SyntaxKind.RazorCommentStar;[*];
|
SyntaxKind.RazorCommentStar;[*];
|
||||||
Comment span - Gen<None> - [ Foo ] - SpanEditHandler;Accepts:Any - (45:0,45) - Tokens:1
|
Comment span - Gen<None> - [ Foo ] - SpanEditHandler;Accepts:Any - (45:0,45) - Tokens:1
|
||||||
SyntaxKind.RazorComment;[ Foo ];
|
SyntaxKind.RazorCommentLiteral;[ Foo ];
|
||||||
MetaCode span - Gen<None> - [*] - SpanEditHandler;Accepts:None - (50:0,50) - Tokens:1
|
MetaCode span - Gen<None> - [*] - SpanEditHandler;Accepts:None - (50:0,50) - Tokens:1
|
||||||
SyntaxKind.RazorCommentStar;[*];
|
SyntaxKind.RazorCommentStar;[*];
|
||||||
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (51:0,51) - Tokens:1
|
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (51:0,51) - Tokens:1
|
||||||
|
|
@ -49,7 +49,7 @@ Statement block - Gen<None> - 78 - (0:0,0)
|
||||||
MetaCode span - Gen<None> - [*] - SpanEditHandler;Accepts:None - (54:0,54) - Tokens:1
|
MetaCode span - Gen<None> - [*] - SpanEditHandler;Accepts:None - (54:0,54) - Tokens:1
|
||||||
SyntaxKind.RazorCommentStar;[*];
|
SyntaxKind.RazorCommentStar;[*];
|
||||||
Comment span - Gen<None> - [ Bar ] - SpanEditHandler;Accepts:Any - (55:0,55) - Tokens:1
|
Comment span - Gen<None> - [ Bar ] - SpanEditHandler;Accepts:Any - (55:0,55) - Tokens:1
|
||||||
SyntaxKind.RazorComment;[ Bar ];
|
SyntaxKind.RazorCommentLiteral;[ Bar ];
|
||||||
MetaCode span - Gen<None> - [*] - SpanEditHandler;Accepts:None - (60:0,60) - Tokens:1
|
MetaCode span - Gen<None> - [*] - SpanEditHandler;Accepts:None - (60:0,60) - Tokens:1
|
||||||
SyntaxKind.RazorCommentStar;[*];
|
SyntaxKind.RazorCommentStar;[*];
|
||||||
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (61:0,61) - Tokens:1
|
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (61:0,61) - Tokens:1
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,7 @@ Statement block - Gen<None> - 54 - (0:0,0)
|
||||||
MetaCode span - Gen<None> - [*] - SpanEditHandler;Accepts:None - (20:0,20) - Tokens:1
|
MetaCode span - Gen<None> - [*] - SpanEditHandler;Accepts:None - (20:0,20) - Tokens:1
|
||||||
SyntaxKind.RazorCommentStar;[*];
|
SyntaxKind.RazorCommentStar;[*];
|
||||||
Comment span - Gen<None> - [ Foo ] - SpanEditHandler;Accepts:Any - (21:0,21) - Tokens:1
|
Comment span - Gen<None> - [ Foo ] - SpanEditHandler;Accepts:Any - (21:0,21) - Tokens:1
|
||||||
SyntaxKind.RazorComment;[ Foo ];
|
SyntaxKind.RazorCommentLiteral;[ Foo ];
|
||||||
MetaCode span - Gen<None> - [*] - SpanEditHandler;Accepts:None - (26:0,26) - Tokens:1
|
MetaCode span - Gen<None> - [*] - SpanEditHandler;Accepts:None - (26:0,26) - Tokens:1
|
||||||
SyntaxKind.RazorCommentStar;[*];
|
SyntaxKind.RazorCommentStar;[*];
|
||||||
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (27:0,27) - Tokens:1
|
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (27:0,27) - Tokens:1
|
||||||
|
|
@ -33,7 +33,7 @@ Statement block - Gen<None> - 54 - (0:0,0)
|
||||||
MetaCode span - Gen<None> - [*] - SpanEditHandler;Accepts:None - (30:0,30) - Tokens:1
|
MetaCode span - Gen<None> - [*] - SpanEditHandler;Accepts:None - (30:0,30) - Tokens:1
|
||||||
SyntaxKind.RazorCommentStar;[*];
|
SyntaxKind.RazorCommentStar;[*];
|
||||||
Comment span - Gen<None> - [ Bar ] - SpanEditHandler;Accepts:Any - (31:0,31) - Tokens:1
|
Comment span - Gen<None> - [ Bar ] - SpanEditHandler;Accepts:Any - (31:0,31) - Tokens:1
|
||||||
SyntaxKind.RazorComment;[ Bar ];
|
SyntaxKind.RazorCommentLiteral;[ Bar ];
|
||||||
MetaCode span - Gen<None> - [*] - SpanEditHandler;Accepts:None - (36:0,36) - Tokens:1
|
MetaCode span - Gen<None> - [*] - SpanEditHandler;Accepts:None - (36:0,36) - Tokens:1
|
||||||
SyntaxKind.RazorCommentStar;[*];
|
SyntaxKind.RazorCommentStar;[*];
|
||||||
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (37:0,37) - Tokens:1
|
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (37:0,37) - Tokens:1
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,7 @@ Statement block - Gen<None> - 62 - (0:0,0)
|
||||||
MetaCode span - Gen<None> - [*] - SpanEditHandler;Accepts:None - (20:0,20) - Tokens:1
|
MetaCode span - Gen<None> - [*] - SpanEditHandler;Accepts:None - (20:0,20) - Tokens:1
|
||||||
SyntaxKind.RazorCommentStar;[*];
|
SyntaxKind.RazorCommentStar;[*];
|
||||||
Comment span - Gen<None> - [ Foo ] - SpanEditHandler;Accepts:Any - (21:0,21) - Tokens:1
|
Comment span - Gen<None> - [ Foo ] - SpanEditHandler;Accepts:Any - (21:0,21) - Tokens:1
|
||||||
SyntaxKind.RazorComment;[ Foo ];
|
SyntaxKind.RazorCommentLiteral;[ Foo ];
|
||||||
MetaCode span - Gen<None> - [*] - SpanEditHandler;Accepts:None - (26:0,26) - Tokens:1
|
MetaCode span - Gen<None> - [*] - SpanEditHandler;Accepts:None - (26:0,26) - Tokens:1
|
||||||
SyntaxKind.RazorCommentStar;[*];
|
SyntaxKind.RazorCommentStar;[*];
|
||||||
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (27:0,27) - Tokens:1
|
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (27:0,27) - Tokens:1
|
||||||
|
|
@ -33,7 +33,7 @@ Statement block - Gen<None> - 62 - (0:0,0)
|
||||||
MetaCode span - Gen<None> - [*] - SpanEditHandler;Accepts:None - (30:0,30) - Tokens:1
|
MetaCode span - Gen<None> - [*] - SpanEditHandler;Accepts:None - (30:0,30) - Tokens:1
|
||||||
SyntaxKind.RazorCommentStar;[*];
|
SyntaxKind.RazorCommentStar;[*];
|
||||||
Comment span - Gen<None> - [ Bar ] - SpanEditHandler;Accepts:Any - (31:0,31) - Tokens:1
|
Comment span - Gen<None> - [ Bar ] - SpanEditHandler;Accepts:Any - (31:0,31) - Tokens:1
|
||||||
SyntaxKind.RazorComment;[ Bar ];
|
SyntaxKind.RazorCommentLiteral;[ Bar ];
|
||||||
MetaCode span - Gen<None> - [*] - SpanEditHandler;Accepts:None - (36:0,36) - Tokens:1
|
MetaCode span - Gen<None> - [*] - SpanEditHandler;Accepts:None - (36:0,36) - Tokens:1
|
||||||
SyntaxKind.RazorCommentStar;[*];
|
SyntaxKind.RazorCommentStar;[*];
|
||||||
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (37:0,37) - Tokens:1
|
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (37:0,37) - Tokens:1
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,7 @@ Statement block - Gen<None> - 55 - (0:0,0)
|
||||||
MetaCode span - Gen<None> - [*] - SpanEditHandler;Accepts:None - (15:0,15) - Tokens:1
|
MetaCode span - Gen<None> - [*] - SpanEditHandler;Accepts:None - (15:0,15) - Tokens:1
|
||||||
SyntaxKind.RazorCommentStar;[*];
|
SyntaxKind.RazorCommentStar;[*];
|
||||||
Comment span - Gen<None> - [ Foo ] - SpanEditHandler;Accepts:Any - (16:0,16) - Tokens:1
|
Comment span - Gen<None> - [ Foo ] - SpanEditHandler;Accepts:Any - (16:0,16) - Tokens:1
|
||||||
SyntaxKind.RazorComment;[ Foo ];
|
SyntaxKind.RazorCommentLiteral;[ Foo ];
|
||||||
MetaCode span - Gen<None> - [*] - SpanEditHandler;Accepts:None - (21:0,21) - Tokens:1
|
MetaCode span - Gen<None> - [*] - SpanEditHandler;Accepts:None - (21:0,21) - Tokens:1
|
||||||
SyntaxKind.RazorCommentStar;[*];
|
SyntaxKind.RazorCommentStar;[*];
|
||||||
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (22:0,22) - Tokens:1
|
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (22:0,22) - Tokens:1
|
||||||
|
|
@ -29,7 +29,7 @@ Statement block - Gen<None> - 55 - (0:0,0)
|
||||||
MetaCode span - Gen<None> - [*] - SpanEditHandler;Accepts:None - (25:0,25) - Tokens:1
|
MetaCode span - Gen<None> - [*] - SpanEditHandler;Accepts:None - (25:0,25) - Tokens:1
|
||||||
SyntaxKind.RazorCommentStar;[*];
|
SyntaxKind.RazorCommentStar;[*];
|
||||||
Comment span - Gen<None> - [ Bar ] - SpanEditHandler;Accepts:Any - (26:0,26) - Tokens:1
|
Comment span - Gen<None> - [ Bar ] - SpanEditHandler;Accepts:Any - (26:0,26) - Tokens:1
|
||||||
SyntaxKind.RazorComment;[ Bar ];
|
SyntaxKind.RazorCommentLiteral;[ Bar ];
|
||||||
MetaCode span - Gen<None> - [*] - SpanEditHandler;Accepts:None - (31:0,31) - Tokens:1
|
MetaCode span - Gen<None> - [*] - SpanEditHandler;Accepts:None - (31:0,31) - Tokens:1
|
||||||
SyntaxKind.RazorCommentStar;[*];
|
SyntaxKind.RazorCommentStar;[*];
|
||||||
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (32:0,32) - Tokens:1
|
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (32:0,32) - Tokens:1
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,7 @@ Statement block - Gen<None> - 53 - (0:0,0)
|
||||||
MetaCode span - Gen<None> - [*] - SpanEditHandler;Accepts:None - (16:0,16) - Tokens:1
|
MetaCode span - Gen<None> - [*] - SpanEditHandler;Accepts:None - (16:0,16) - Tokens:1
|
||||||
SyntaxKind.RazorCommentStar;[*];
|
SyntaxKind.RazorCommentStar;[*];
|
||||||
Comment span - Gen<None> - [ Foo ] - SpanEditHandler;Accepts:Any - (17:0,17) - Tokens:1
|
Comment span - Gen<None> - [ Foo ] - SpanEditHandler;Accepts:Any - (17:0,17) - Tokens:1
|
||||||
SyntaxKind.RazorComment;[ Foo ];
|
SyntaxKind.RazorCommentLiteral;[ Foo ];
|
||||||
MetaCode span - Gen<None> - [*] - SpanEditHandler;Accepts:None - (22:0,22) - Tokens:1
|
MetaCode span - Gen<None> - [*] - SpanEditHandler;Accepts:None - (22:0,22) - Tokens:1
|
||||||
SyntaxKind.RazorCommentStar;[*];
|
SyntaxKind.RazorCommentStar;[*];
|
||||||
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (23:0,23) - Tokens:1
|
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (23:0,23) - Tokens:1
|
||||||
|
|
@ -30,7 +30,7 @@ Statement block - Gen<None> - 53 - (0:0,0)
|
||||||
MetaCode span - Gen<None> - [*] - SpanEditHandler;Accepts:None - (26:0,26) - Tokens:1
|
MetaCode span - Gen<None> - [*] - SpanEditHandler;Accepts:None - (26:0,26) - Tokens:1
|
||||||
SyntaxKind.RazorCommentStar;[*];
|
SyntaxKind.RazorCommentStar;[*];
|
||||||
Comment span - Gen<None> - [ Bar ] - SpanEditHandler;Accepts:Any - (27:0,27) - Tokens:1
|
Comment span - Gen<None> - [ Bar ] - SpanEditHandler;Accepts:Any - (27:0,27) - Tokens:1
|
||||||
SyntaxKind.RazorComment;[ Bar ];
|
SyntaxKind.RazorCommentLiteral;[ Bar ];
|
||||||
MetaCode span - Gen<None> - [*] - SpanEditHandler;Accepts:None - (32:0,32) - Tokens:1
|
MetaCode span - Gen<None> - [*] - SpanEditHandler;Accepts:None - (32:0,32) - Tokens:1
|
||||||
SyntaxKind.RazorCommentStar;[*];
|
SyntaxKind.RazorCommentStar;[*];
|
||||||
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (33:0,33) - Tokens:1
|
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (33:0,33) - Tokens:1
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@ Markup block - Gen<None> - 130 - (0:0,0)
|
||||||
MetaCode span - Gen<None> - [*] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1
|
MetaCode span - Gen<None> - [*] - SpanEditHandler;Accepts:None - (1:0,1) - Tokens:1
|
||||||
SyntaxKind.RazorCommentStar;[*];
|
SyntaxKind.RazorCommentStar;[*];
|
||||||
Comment span - Gen<None> - [ There are two directives beneath this ] - SpanEditHandler;Accepts:Any - (2:0,2) - Tokens:1
|
Comment span - Gen<None> - [ There are two directives beneath this ] - SpanEditHandler;Accepts:Any - (2:0,2) - Tokens:1
|
||||||
SyntaxKind.RazorComment;[ There are two directives beneath this ];
|
SyntaxKind.RazorCommentLiteral;[ There are two directives beneath this ];
|
||||||
MetaCode span - Gen<None> - [*] - SpanEditHandler;Accepts:None - (41:0,41) - Tokens:1
|
MetaCode span - Gen<None> - [*] - SpanEditHandler;Accepts:None - (41:0,41) - Tokens:1
|
||||||
SyntaxKind.RazorCommentStar;[*];
|
SyntaxKind.RazorCommentStar;[*];
|
||||||
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (42:0,42) - Tokens:1
|
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (42:0,42) - Tokens:1
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,7 @@ Markup block - Gen<None> - 33 - (0:0,0)
|
||||||
MetaCode span - Gen<None> - [*] - SpanEditHandler;Accepts:None - (14:0,14) - Tokens:1
|
MetaCode span - Gen<None> - [*] - SpanEditHandler;Accepts:None - (14:0,14) - Tokens:1
|
||||||
SyntaxKind.RazorCommentStar;[*];
|
SyntaxKind.RazorCommentStar;[*];
|
||||||
Comment span - Gen<None> - [ razor comment ] - SpanEditHandler;Accepts:Any - (15:0,15) - Tokens:1
|
Comment span - Gen<None> - [ razor comment ] - SpanEditHandler;Accepts:Any - (15:0,15) - Tokens:1
|
||||||
SyntaxKind.RazorComment;[ razor comment ];
|
SyntaxKind.RazorCommentLiteral;[ razor comment ];
|
||||||
MetaCode span - Gen<None> - [*] - SpanEditHandler;Accepts:None - (30:0,30) - Tokens:1
|
MetaCode span - Gen<None> - [*] - SpanEditHandler;Accepts:None - (30:0,30) - Tokens:1
|
||||||
SyntaxKind.RazorCommentStar;[*];
|
SyntaxKind.RazorCommentStar;[*];
|
||||||
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (31:0,31) - Tokens:1
|
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (31:0,31) - Tokens:1
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@ Markup block - Gen<None> - 33 - (0:0,0)
|
||||||
MetaCode span - Gen<None> - [*] - SpanEditHandler;Accepts:None - (7:0,7) - Tokens:1
|
MetaCode span - Gen<None> - [*] - SpanEditHandler;Accepts:None - (7:0,7) - Tokens:1
|
||||||
SyntaxKind.RazorCommentStar;[*];
|
SyntaxKind.RazorCommentStar;[*];
|
||||||
Comment span - Gen<None> - [ razor comment ] - SpanEditHandler;Accepts:Any - (8:0,8) - Tokens:1
|
Comment span - Gen<None> - [ razor comment ] - SpanEditHandler;Accepts:Any - (8:0,8) - Tokens:1
|
||||||
SyntaxKind.RazorComment;[ razor comment ];
|
SyntaxKind.RazorCommentLiteral;[ razor comment ];
|
||||||
MetaCode span - Gen<None> - [*] - SpanEditHandler;Accepts:None - (23:0,23) - Tokens:1
|
MetaCode span - Gen<None> - [*] - SpanEditHandler;Accepts:None - (23:0,23) - Tokens:1
|
||||||
SyntaxKind.RazorCommentStar;[*];
|
SyntaxKind.RazorCommentStar;[*];
|
||||||
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (24:0,24) - Tokens:1
|
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (24:0,24) - Tokens:1
|
||||||
|
|
|
||||||
|
|
@ -13,7 +13,7 @@ Markup block - Gen<None> - 45 - (0:0,0)
|
||||||
MetaCode span - Gen<None> - [*] - SpanEditHandler;Accepts:None - (8:2,1) - Tokens:1
|
MetaCode span - Gen<None> - [*] - SpanEditHandler;Accepts:None - (8:2,1) - Tokens:1
|
||||||
SyntaxKind.RazorCommentStar;[*];
|
SyntaxKind.RazorCommentStar;[*];
|
||||||
Comment span - Gen<None> - [ content ] - SpanEditHandler;Accepts:Any - (9:2,2) - Tokens:1
|
Comment span - Gen<None> - [ content ] - SpanEditHandler;Accepts:Any - (9:2,2) - Tokens:1
|
||||||
SyntaxKind.RazorComment;[ content ];
|
SyntaxKind.RazorCommentLiteral;[ content ];
|
||||||
MetaCode span - Gen<None> - [*] - SpanEditHandler;Accepts:None - (18:2,11) - Tokens:1
|
MetaCode span - Gen<None> - [*] - SpanEditHandler;Accepts:None - (18:2,11) - Tokens:1
|
||||||
SyntaxKind.RazorCommentStar;[*];
|
SyntaxKind.RazorCommentStar;[*];
|
||||||
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (19:2,12) - Tokens:1
|
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (19:2,12) - Tokens:1
|
||||||
|
|
@ -26,7 +26,7 @@ Markup block - Gen<None> - 45 - (0:0,0)
|
||||||
MetaCode span - Gen<None> - [*] - SpanEditHandler;Accepts:None - (23:3,1) - Tokens:1
|
MetaCode span - Gen<None> - [*] - SpanEditHandler;Accepts:None - (23:3,1) - Tokens:1
|
||||||
SyntaxKind.RazorCommentStar;[*];
|
SyntaxKind.RazorCommentStar;[*];
|
||||||
Comment span - Gen<None> - [LFcontentLF] - SpanEditHandler;Accepts:Any - (24:3,2) - Tokens:1
|
Comment span - Gen<None> - [LFcontentLF] - SpanEditHandler;Accepts:Any - (24:3,2) - Tokens:1
|
||||||
SyntaxKind.RazorComment;[LFcontentLF];
|
SyntaxKind.RazorCommentLiteral;[LFcontentLF];
|
||||||
MetaCode span - Gen<None> - [*] - SpanEditHandler;Accepts:None - (35:5,0) - Tokens:1
|
MetaCode span - Gen<None> - [*] - SpanEditHandler;Accepts:None - (35:5,0) - Tokens:1
|
||||||
SyntaxKind.RazorCommentStar;[*];
|
SyntaxKind.RazorCommentStar;[*];
|
||||||
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (36:5,1) - Tokens:1
|
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (36:5,1) - Tokens:1
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,7 @@ Markup block - Gen<None> - 42 - (0:0,0)
|
||||||
MetaCode span - Gen<None> - [*] - SpanEditHandler;Accepts:None - (6:1,1) - Tokens:1
|
MetaCode span - Gen<None> - [*] - SpanEditHandler;Accepts:None - (6:1,1) - Tokens:1
|
||||||
SyntaxKind.RazorCommentStar;[*];
|
SyntaxKind.RazorCommentStar;[*];
|
||||||
Comment span - Gen<None> - [ hello ] - SpanEditHandler;Accepts:Any - (7:1,2) - Tokens:1
|
Comment span - Gen<None> - [ hello ] - SpanEditHandler;Accepts:Any - (7:1,2) - Tokens:1
|
||||||
SyntaxKind.RazorComment;[ hello ];
|
SyntaxKind.RazorCommentLiteral;[ hello ];
|
||||||
MetaCode span - Gen<None> - [*] - SpanEditHandler;Accepts:None - (14:1,9) - Tokens:1
|
MetaCode span - Gen<None> - [*] - SpanEditHandler;Accepts:None - (14:1,9) - Tokens:1
|
||||||
SyntaxKind.RazorCommentStar;[*];
|
SyntaxKind.RazorCommentStar;[*];
|
||||||
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (15:1,10) - Tokens:1
|
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (15:1,10) - Tokens:1
|
||||||
|
|
@ -27,7 +27,7 @@ Markup block - Gen<None> - 42 - (0:0,0)
|
||||||
MetaCode span - Gen<None> - [*] - SpanEditHandler;Accepts:None - (26:1,21) - Tokens:1
|
MetaCode span - Gen<None> - [*] - SpanEditHandler;Accepts:None - (26:1,21) - Tokens:1
|
||||||
SyntaxKind.RazorCommentStar;[*];
|
SyntaxKind.RazorCommentStar;[*];
|
||||||
Comment span - Gen<None> - [ world ] - SpanEditHandler;Accepts:Any - (27:1,22) - Tokens:1
|
Comment span - Gen<None> - [ world ] - SpanEditHandler;Accepts:Any - (27:1,22) - Tokens:1
|
||||||
SyntaxKind.RazorComment;[ world ];
|
SyntaxKind.RazorCommentLiteral;[ world ];
|
||||||
MetaCode span - Gen<None> - [*] - SpanEditHandler;Accepts:None - (34:1,29) - Tokens:1
|
MetaCode span - Gen<None> - [*] - SpanEditHandler;Accepts:None - (34:1,29) - Tokens:1
|
||||||
SyntaxKind.RazorCommentStar;[*];
|
SyntaxKind.RazorCommentStar;[*];
|
||||||
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (35:1,30) - Tokens:1
|
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (35:1,30) - Tokens:1
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,7 @@ Markup block - Gen<None> - 26 - (0:0,0)
|
||||||
MetaCode span - Gen<None> - [*] - SpanEditHandler;Accepts:None - (15:0,15) - Tokens:1
|
MetaCode span - Gen<None> - [*] - SpanEditHandler;Accepts:None - (15:0,15) - Tokens:1
|
||||||
SyntaxKind.RazorCommentStar;[*];
|
SyntaxKind.RazorCommentStar;[*];
|
||||||
Comment span - Gen<None> - [asdf] - SpanEditHandler;Accepts:Any - (16:0,16) - Tokens:1
|
Comment span - Gen<None> - [asdf] - SpanEditHandler;Accepts:Any - (16:0,16) - Tokens:1
|
||||||
SyntaxKind.RazorComment;[asdf];
|
SyntaxKind.RazorCommentLiteral;[asdf];
|
||||||
MetaCode span - Gen<None> - [*] - SpanEditHandler;Accepts:None - (20:0,20) - Tokens:1
|
MetaCode span - Gen<None> - [*] - SpanEditHandler;Accepts:None - (20:0,20) - Tokens:1
|
||||||
SyntaxKind.RazorCommentStar;[*];
|
SyntaxKind.RazorCommentStar;[*];
|
||||||
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (21:0,21) - Tokens:1
|
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (21:0,21) - Tokens:1
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue