Rely on Razors MalformedDirective identification for @page.
aspnet/Razor#1448
This commit is contained in:
parent
b9541be20d
commit
7454c53047
|
|
@ -50,20 +50,16 @@ namespace Microsoft.AspNetCore.Mvc.RazorPages.Infrastructure
|
|||
var documentIRNode = codeDocument.GetDocumentIntermediateNode();
|
||||
if (PageDirective.TryGetPageDirective(documentIRNode, out var pageDirective))
|
||||
{
|
||||
if (pageDirective.DirectiveNode is MalformedDirectiveIntermediateNode malformedNode)
|
||||
{
|
||||
logger.MalformedPageDirective(sourceDocument.FilePath, malformedNode.Diagnostics);
|
||||
}
|
||||
|
||||
template = pageDirective.RouteTemplate;
|
||||
return true;
|
||||
}
|
||||
|
||||
template = null;
|
||||
|
||||
var visitor = new Visitor();
|
||||
visitor.Visit(documentIRNode);
|
||||
if (visitor.MalformedPageDirective != null)
|
||||
{
|
||||
logger.MalformedPageDirective(sourceDocument.FilePath, visitor.MalformedPageDirective.Diagnostics);
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
@ -76,18 +72,5 @@ namespace Microsoft.AspNetCore.Mvc.RazorPages.Infrastructure
|
|||
options.ParseOnlyLeadingDirectives = true;
|
||||
}
|
||||
}
|
||||
|
||||
private class Visitor : IntermediateNodeWalker
|
||||
{
|
||||
public MalformedDirectiveIntermediateNode MalformedPageDirective { get; private set; }
|
||||
|
||||
public override void VisitMalformedDirective(MalformedDirectiveIntermediateNode node)
|
||||
{
|
||||
if (node.Descriptor == PageDirective.Directive)
|
||||
{
|
||||
MalformedPageDirective = node;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue