Convert CSharpErrorTest
This commit is contained in:
parent
69cfb95b90
commit
c0929a9002
|
|
@ -9,105 +9,52 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
|||
{
|
||||
public class CSharpErrorTest : CsHtmlCodeParserTestBase
|
||||
{
|
||||
public CSharpErrorTest()
|
||||
{
|
||||
UseBaselineTests = true;
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ParseBlockHandlesQuotesAfterTransition()
|
||||
{
|
||||
ParseBlockTest("@\"",
|
||||
new ExpressionBlock(
|
||||
Factory.CodeTransition(),
|
||||
Factory.EmptyCSharp()
|
||||
.AsImplicitExpression(KeywordSet)
|
||||
.Accepts(AcceptedCharactersInternal.NonWhiteSpace)
|
||||
),
|
||||
RazorDiagnosticFactory.CreateParsing_UnexpectedCharacterAtStartOfCodeBlock(
|
||||
new SourceSpan(new SourceLocation(1, 0, 1), contentLength: 1),
|
||||
"\""));
|
||||
ParseBlockTest("@\"");
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ParseBlockWithHelperDirectiveProducesError()
|
||||
{
|
||||
ParseBlockTest("@helper fooHelper { }",
|
||||
new ExpressionBlock(
|
||||
Factory.CodeTransition(),
|
||||
Factory.Code("helper")
|
||||
.AsImplicitExpression(KeywordSet)
|
||||
.Accepts(AcceptedCharactersInternal.NonWhiteSpace)),
|
||||
RazorDiagnosticFactory.CreateParsing_HelperDirectiveNotAvailable(
|
||||
new SourceSpan(new SourceLocation(1, 0, 1), contentLength: 6)));
|
||||
ParseBlockTest("@helper fooHelper { }");
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ParseBlockWithNestedCodeBlockProducesError()
|
||||
{
|
||||
ParseBlockTest("@if { @{} }",
|
||||
new StatementBlock(
|
||||
Factory.CodeTransition(),
|
||||
Factory.Code("if { ")
|
||||
.AsStatement()
|
||||
.Accepts(AcceptedCharactersInternal.Any),
|
||||
new StatementBlock(
|
||||
Factory.CodeTransition(),
|
||||
Factory.MetaCode("{").Accepts(AcceptedCharactersInternal.None),
|
||||
Factory.EmptyCSharp()
|
||||
.AsStatement()
|
||||
.AutoCompleteWith(autoCompleteString: null),
|
||||
Factory.MetaCode("}").Accepts(AcceptedCharactersInternal.None)),
|
||||
Factory.Code(" }")
|
||||
.AsStatement()
|
||||
.Accepts(AcceptedCharactersInternal.Any)),
|
||||
RazorDiagnosticFactory.CreateParsing_UnexpectedNestedCodeBlock(
|
||||
new SourceSpan(new SourceLocation(7, 0, 7), contentLength: 1)));
|
||||
ParseBlockTest("@if { @{} }");
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ParseBlockCapturesWhitespaceToEndOfLineInInvalidUsingStatementAndTreatsAsFileCode()
|
||||
{
|
||||
ParseBlockTest("using " + Environment.NewLine
|
||||
+ Environment.NewLine,
|
||||
new StatementBlock(
|
||||
Factory.Code("using " + Environment.NewLine).AsStatement()
|
||||
));
|
||||
+ Environment.NewLine);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ParseBlockMethodOutputsOpenCurlyAsCodeSpanIfEofFoundAfterOpenCurlyBrace()
|
||||
{
|
||||
ParseBlockTest("{",
|
||||
new StatementBlock(
|
||||
Factory.MetaCode("{").Accepts(AcceptedCharactersInternal.None),
|
||||
Factory.EmptyCSharp()
|
||||
.AsStatement()
|
||||
.With(new AutoCompleteEditHandler(CSharpLanguageCharacteristics.Instance.TokenizeString) { AutoCompleteString = "}" })
|
||||
),
|
||||
RazorDiagnosticFactory.CreateParsing_ExpectedEndOfBlockBeforeEOF(
|
||||
new SourceSpan(SourceLocation.Zero, contentLength: 1), Resources.BlockName_Code, "}", "{"));
|
||||
ParseBlockTest("{");
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ParseBlockMethodOutputsZeroLengthCodeSpanIfStatementBlockEmpty()
|
||||
{
|
||||
ParseBlockTest("{}",
|
||||
new StatementBlock(
|
||||
Factory.MetaCode("{").Accepts(AcceptedCharactersInternal.None),
|
||||
Factory.EmptyCSharp()
|
||||
.AsStatement()
|
||||
.AutoCompleteWith(autoCompleteString: null),
|
||||
Factory.MetaCode("}").Accepts(AcceptedCharactersInternal.None)
|
||||
));
|
||||
ParseBlockTest("{}");
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ParseBlockMethodProducesErrorIfNewlineFollowsTransition()
|
||||
{
|
||||
ParseBlockTest("@" + Environment.NewLine,
|
||||
new ExpressionBlock(
|
||||
Factory.CodeTransition(),
|
||||
Factory.EmptyCSharp()
|
||||
.AsImplicitExpression(CSharpCodeParser.DefaultKeywords)
|
||||
.Accepts(AcceptedCharactersInternal.NonWhiteSpace)),
|
||||
RazorDiagnosticFactory.CreateParsing_UnexpectedWhiteSpaceAtStartOfCodeBlock(
|
||||
new SourceSpan(new SourceLocation(1, 0, 1), Environment.NewLine.Length)));
|
||||
ParseBlockTest("@" + Environment.NewLine);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
|
|
@ -115,72 +62,27 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
|||
{
|
||||
ParseBlockTest("{" + Environment.NewLine
|
||||
+ " @ {}" + Environment.NewLine
|
||||
+ "}",
|
||||
new StatementBlock(
|
||||
Factory.MetaCode("{").Accepts(AcceptedCharactersInternal.None),
|
||||
Factory.Code(Environment.NewLine + " ")
|
||||
.AsStatement()
|
||||
.AutoCompleteWith(autoCompleteString: null),
|
||||
new ExpressionBlock(
|
||||
Factory.CodeTransition(),
|
||||
Factory.EmptyCSharp()
|
||||
.AsImplicitExpression(CSharpCodeParser.DefaultKeywords, acceptTrailingDot: true)
|
||||
.Accepts(AcceptedCharactersInternal.NonWhiteSpace)),
|
||||
Factory.Code(" {}" + Environment.NewLine).AsStatement(),
|
||||
Factory.MetaCode("}").Accepts(AcceptedCharactersInternal.None)
|
||||
),
|
||||
RazorDiagnosticFactory.CreateParsing_UnexpectedWhiteSpaceAtStartOfCodeBlock(
|
||||
new SourceSpan(new SourceLocation(6 + Environment.NewLine.Length, 1, 5), contentLength: 3)));
|
||||
+ "}");
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ParseBlockMethodProducesErrorIfEOFAfterTransitionInEmbeddedExpression()
|
||||
{
|
||||
ParseBlockTest("{" + Environment.NewLine
|
||||
+ " @",
|
||||
new StatementBlock(
|
||||
Factory.MetaCode("{").Accepts(AcceptedCharactersInternal.None),
|
||||
Factory.Code(Environment.NewLine + " ")
|
||||
.AsStatement()
|
||||
.AutoCompleteWith("}"),
|
||||
new ExpressionBlock(
|
||||
Factory.CodeTransition(),
|
||||
Factory.EmptyCSharp()
|
||||
.AsImplicitExpression(CSharpCodeParser.DefaultKeywords, acceptTrailingDot: true)
|
||||
.Accepts(AcceptedCharactersInternal.NonWhiteSpace)),
|
||||
Factory.EmptyCSharp().AsStatement()
|
||||
),
|
||||
RazorDiagnosticFactory.CreateParsing_UnexpectedEndOfFileAtStartOfCodeBlock(
|
||||
new SourceSpan(new SourceLocation(6 + Environment.NewLine.Length, 1, 5), contentLength: 1)),
|
||||
RazorDiagnosticFactory.CreateParsing_ExpectedEndOfBlockBeforeEOF(
|
||||
new SourceSpan(SourceLocation.Zero, contentLength: 1), Resources.BlockName_Code, "}", "{"));
|
||||
+ " @");
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ParseBlockMethodParsesNothingIfFirstCharacterIsNotIdentifierStartOrParenOrBrace()
|
||||
{
|
||||
ParseBlockTest("@!!!",
|
||||
new ExpressionBlock(
|
||||
Factory.CodeTransition(),
|
||||
Factory.EmptyCSharp()
|
||||
.AsImplicitExpression(CSharpCodeParser.DefaultKeywords)
|
||||
.Accepts(AcceptedCharactersInternal.NonWhiteSpace)),
|
||||
RazorDiagnosticFactory.CreateParsing_UnexpectedCharacterAtStartOfCodeBlock(
|
||||
new SourceSpan(new SourceLocation(1, 0, 1), contentLength: 1),
|
||||
"!"));
|
||||
ParseBlockTest("@!!!");
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ParseBlockShouldReportErrorAndTerminateAtEOFIfIfParenInExplicitExpressionUnclosed()
|
||||
{
|
||||
ParseBlockTest("(foo bar" + Environment.NewLine
|
||||
+ "baz",
|
||||
new ExpressionBlock(
|
||||
Factory.MetaCode("(").Accepts(AcceptedCharactersInternal.None),
|
||||
Factory.Code($"foo bar{Environment.NewLine}baz").AsExpression()
|
||||
),
|
||||
RazorDiagnosticFactory.CreateParsing_ExpectedEndOfBlockBeforeEOF(
|
||||
new SourceSpan(SourceLocation.Zero, contentLength: 1), Resources.BlockName_ExplicitExpression, ")", "("));
|
||||
+ "baz");
|
||||
}
|
||||
|
||||
[Fact]
|
||||
|
|
@ -189,26 +91,14 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
|||
ParseBlockTest("(foo bar" + Environment.NewLine
|
||||
+ "<html>" + Environment.NewLine
|
||||
+ "baz" + Environment.NewLine
|
||||
+ "</html",
|
||||
new ExpressionBlock(
|
||||
Factory.MetaCode("(").Accepts(AcceptedCharactersInternal.None),
|
||||
Factory.Code($"foo bar{Environment.NewLine}").AsExpression()
|
||||
),
|
||||
RazorDiagnosticFactory.CreateParsing_ExpectedEndOfBlockBeforeEOF(
|
||||
new SourceSpan(SourceLocation.Zero, contentLength: 1), Resources.BlockName_ExplicitExpression, ")", "("));
|
||||
+ "</html");
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ParseBlockCorrectlyHandlesInCorrectTransitionsIfImplicitExpressionParensUnclosed()
|
||||
{
|
||||
ParseBlockTest("Href(" + Environment.NewLine
|
||||
+ "<h1>@Html.Foo(Bar);</h1>" + Environment.NewLine,
|
||||
new ExpressionBlock(
|
||||
Factory.Code("Href(" + Environment.NewLine)
|
||||
.AsImplicitExpression(CSharpCodeParser.DefaultKeywords)
|
||||
),
|
||||
RazorDiagnosticFactory.CreateParsing_ExpectedCloseBracketBeforeEOF(
|
||||
new SourceSpan(new SourceLocation(4, 0, 4), contentLength: 1), "(", ")"));
|
||||
+ "<h1>@Html.Foo(Bar);</h1>" + Environment.NewLine);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
|
|
@ -217,13 +107,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
|||
{
|
||||
ParseBlockTest("Foo(Bar(Baz)" + Environment.NewLine
|
||||
+ "Biz" + Environment.NewLine
|
||||
+ "Boz",
|
||||
new ExpressionBlock(
|
||||
Factory.Code($"Foo(Bar(Baz){Environment.NewLine}Biz{Environment.NewLine}Boz")
|
||||
.AsImplicitExpression(CSharpCodeParser.DefaultKeywords)
|
||||
),
|
||||
RazorDiagnosticFactory.CreateParsing_ExpectedCloseBracketBeforeEOF(
|
||||
new SourceSpan(new SourceLocation(3, 0, 3), contentLength: 1), "(", ")"));
|
||||
+ "Boz");
|
||||
}
|
||||
|
||||
[Fact]
|
||||
|
|
@ -234,13 +118,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
|||
+ "Biz" + Environment.NewLine
|
||||
+ "<html>" + Environment.NewLine
|
||||
+ "Boz" + Environment.NewLine
|
||||
+ "</html>",
|
||||
new ExpressionBlock(
|
||||
Factory.Code($"Foo(Bar(Baz){Environment.NewLine}Biz{Environment.NewLine}")
|
||||
.AsImplicitExpression(CSharpCodeParser.DefaultKeywords)
|
||||
),
|
||||
RazorDiagnosticFactory.CreateParsing_ExpectedCloseBracketBeforeEOF(
|
||||
new SourceSpan(new SourceLocation(3, 0, 3), contentLength: 1), "(", ")"));
|
||||
+ "</html>");
|
||||
}
|
||||
|
||||
[Fact]
|
||||
|
|
@ -249,13 +127,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
|||
{
|
||||
ParseBlockTest("Foo[Bar[Baz]" + Environment.NewLine
|
||||
+ "Biz" + Environment.NewLine
|
||||
+ "Boz",
|
||||
new ExpressionBlock(
|
||||
Factory.Code($"Foo[Bar[Baz]{Environment.NewLine}Biz{Environment.NewLine}Boz")
|
||||
.AsImplicitExpression(CSharpCodeParser.DefaultKeywords)
|
||||
),
|
||||
RazorDiagnosticFactory.CreateParsing_ExpectedCloseBracketBeforeEOF(
|
||||
new SourceSpan(new SourceLocation(3, 0, 3), contentLength: 1), "[", "]"));
|
||||
+ "Boz");
|
||||
}
|
||||
|
||||
[Fact]
|
||||
|
|
@ -266,47 +138,22 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
|||
+ "Biz" + Environment.NewLine
|
||||
+ "<b>" + Environment.NewLine
|
||||
+ "Boz" + Environment.NewLine
|
||||
+ "</b>",
|
||||
new ExpressionBlock(
|
||||
Factory.Code($"Foo[Bar[Baz]{Environment.NewLine}Biz{Environment.NewLine}")
|
||||
.AsImplicitExpression(CSharpCodeParser.DefaultKeywords)
|
||||
),
|
||||
RazorDiagnosticFactory.CreateParsing_ExpectedCloseBracketBeforeEOF(
|
||||
new SourceSpan(new SourceLocation(3, 0, 3), contentLength: 1), "[", "]"));
|
||||
+ "</b>");
|
||||
}
|
||||
|
||||
// Simple EOF handling errors:
|
||||
[Fact]
|
||||
public void ParseBlockReportsErrorIfExplicitCodeBlockUnterminatedAtEOF()
|
||||
{
|
||||
ParseBlockTest("{ var foo = bar; if(foo != null) { bar(); } ",
|
||||
new StatementBlock(
|
||||
Factory.MetaCode("{").Accepts(AcceptedCharactersInternal.None),
|
||||
Factory.Code(" var foo = bar; if(foo != null) { bar(); } ")
|
||||
.AsStatement()
|
||||
.AutoCompleteWith("}")),
|
||||
RazorDiagnosticFactory.CreateParsing_ExpectedEndOfBlockBeforeEOF(
|
||||
new SourceSpan(SourceLocation.Zero, contentLength: 1), Resources.BlockName_Code, "}", "{"));
|
||||
ParseBlockTest("{ var foo = bar; if(foo != null) { bar(); } ");
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ParseBlockReportsErrorIfClassBlockUnterminatedAtEOF()
|
||||
{
|
||||
// Arrange
|
||||
var chunkGenerator = new DirectiveChunkGenerator(FunctionsDirective.Directive);
|
||||
chunkGenerator.Diagnostics.Add(
|
||||
RazorDiagnosticFactory.CreateParsing_ExpectedEndOfBlockBeforeEOF(
|
||||
new SourceSpan(new SourceLocation(10, 0, 10), contentLength: 1), "functions", "}", "{"));
|
||||
|
||||
// Act & Assert
|
||||
ParseBlockTest(
|
||||
"functions { var foo = bar; if(foo != null) { bar(); } ",
|
||||
new[] { FunctionsDirective.Directive },
|
||||
new DirectiveBlock(chunkGenerator,
|
||||
Factory.MetaCode("functions").Accepts(AcceptedCharactersInternal.None),
|
||||
Factory.Span(SpanKindInternal.Markup, " ", CSharpSymbolType.WhiteSpace).Accepts(AcceptedCharactersInternal.AllWhiteSpace),
|
||||
Factory.MetaCode("{").AutoCompleteWith("}", atEndOfSpan: true).Accepts(AcceptedCharactersInternal.None),
|
||||
Factory.Code(" var foo = bar; if(foo != null) { bar(); } ").AsCodeBlock()));
|
||||
new[] { FunctionsDirective.Directive });
|
||||
}
|
||||
|
||||
[Fact]
|
||||
|
|
@ -318,67 +165,37 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
|||
[Fact]
|
||||
public void ParseBlockReportsErrorIfElseBlockUnterminatedAtEOF()
|
||||
{
|
||||
ParseBlockTest("if(foo) { baz(); } else { var foo = bar; if(foo != null) { bar(); } ",
|
||||
new StatementBlock(
|
||||
Factory.Code("if(foo) { baz(); } else { var foo = bar; if(foo != null) { bar(); } ").AsStatement()
|
||||
),
|
||||
RazorDiagnosticFactory.CreateParsing_ExpectedEndOfBlockBeforeEOF(
|
||||
new SourceSpan(new SourceLocation(19, 0, 19), contentLength: 1), "else", "}", "{"));
|
||||
ParseBlockTest("if(foo) { baz(); } else { var foo = bar; if(foo != null) { bar(); } ");
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ParseBlockReportsErrorIfElseIfBlockUnterminatedAtEOF()
|
||||
{
|
||||
ParseBlockTest("if(foo) { baz(); } else if { var foo = bar; if(foo != null) { bar(); } ",
|
||||
new StatementBlock(
|
||||
Factory.Code("if(foo) { baz(); } else if { var foo = bar; if(foo != null) { bar(); } ").AsStatement()
|
||||
),
|
||||
RazorDiagnosticFactory.CreateParsing_ExpectedEndOfBlockBeforeEOF(
|
||||
new SourceSpan(new SourceLocation(19, 0, 19), contentLength: 1), "else if", "}", "{"));
|
||||
ParseBlockTest("if(foo) { baz(); } else if { var foo = bar; if(foo != null) { bar(); } ");
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ParseBlockReportsErrorIfDoBlockUnterminatedAtEOF()
|
||||
{
|
||||
ParseBlockTest("do { var foo = bar; if(foo != null) { bar(); } ",
|
||||
new StatementBlock(
|
||||
Factory.Code("do { var foo = bar; if(foo != null) { bar(); } ").AsStatement()
|
||||
),
|
||||
RazorDiagnosticFactory.CreateParsing_ExpectedEndOfBlockBeforeEOF(
|
||||
new SourceSpan(SourceLocation.Zero, contentLength: 1), "do", "}", "{"));
|
||||
ParseBlockTest("do { var foo = bar; if(foo != null) { bar(); } ");
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ParseBlockReportsErrorIfTryBlockUnterminatedAtEOF()
|
||||
{
|
||||
ParseBlockTest("try { var foo = bar; if(foo != null) { bar(); } ",
|
||||
new StatementBlock(
|
||||
Factory.Code("try { var foo = bar; if(foo != null) { bar(); } ").AsStatement()
|
||||
),
|
||||
RazorDiagnosticFactory.CreateParsing_ExpectedEndOfBlockBeforeEOF(
|
||||
new SourceSpan(SourceLocation.Zero, contentLength: 1), "try", "}", "{"));
|
||||
ParseBlockTest("try { var foo = bar; if(foo != null) { bar(); } ");
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ParseBlockReportsErrorIfCatchBlockUnterminatedAtEOF()
|
||||
{
|
||||
ParseBlockTest("try { baz(); } catch(Foo) { var foo = bar; if(foo != null) { bar(); } ",
|
||||
new StatementBlock(
|
||||
Factory.Code("try { baz(); } catch(Foo) { var foo = bar; if(foo != null) { bar(); } ").AsStatement()
|
||||
),
|
||||
RazorDiagnosticFactory.CreateParsing_ExpectedEndOfBlockBeforeEOF(
|
||||
new SourceSpan(new SourceLocation(15, 0, 15), contentLength: 1), "catch", "}", "{"));
|
||||
ParseBlockTest("try { baz(); } catch(Foo) { var foo = bar; if(foo != null) { bar(); } ");
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ParseBlockReportsErrorIfFinallyBlockUnterminatedAtEOF()
|
||||
{
|
||||
ParseBlockTest("try { baz(); } finally { var foo = bar; if(foo != null) { bar(); } ",
|
||||
new StatementBlock(
|
||||
Factory.Code("try { baz(); } finally { var foo = bar; if(foo != null) { bar(); } ").AsStatement()
|
||||
),
|
||||
RazorDiagnosticFactory.CreateParsing_ExpectedEndOfBlockBeforeEOF(
|
||||
new SourceSpan(new SourceLocation(15, 0, 15), contentLength: 1), "finally", "}", "{"));
|
||||
ParseBlockTest("try { baz(); } finally { var foo = bar; if(foo != null) { bar(); } ");
|
||||
}
|
||||
|
||||
[Fact]
|
||||
|
|
@ -420,131 +237,54 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
|||
[Fact]
|
||||
public void ParseBlockRequiresControlFlowStatementsToHaveBraces()
|
||||
{
|
||||
var expectedMessage = Resources.FormatParseError_SingleLine_ControlFlowStatements_Not_Allowed("{", "<");
|
||||
ParseBlockTest("if(foo) <p>Bar</p> else if(bar) <p>Baz</p> else <p>Boz</p>",
|
||||
new StatementBlock(
|
||||
Factory.Code("if(foo) ").AsStatement(),
|
||||
new MarkupBlock(
|
||||
BlockFactory.MarkupTagBlock("<p>", AcceptedCharactersInternal.None),
|
||||
Factory.Markup("Bar"),
|
||||
BlockFactory.MarkupTagBlock("</p>", AcceptedCharactersInternal.None),
|
||||
Factory.Markup(" ").Accepts(AcceptedCharactersInternal.None)),
|
||||
Factory.Code("else if(bar) ").AsStatement(),
|
||||
new MarkupBlock(
|
||||
BlockFactory.MarkupTagBlock("<p>", AcceptedCharactersInternal.None),
|
||||
Factory.Markup("Baz"),
|
||||
BlockFactory.MarkupTagBlock("</p>", AcceptedCharactersInternal.None),
|
||||
Factory.Markup(" ").Accepts(AcceptedCharactersInternal.None)),
|
||||
Factory.Code("else ").AsStatement(),
|
||||
new MarkupBlock(
|
||||
BlockFactory.MarkupTagBlock("<p>", AcceptedCharactersInternal.None),
|
||||
Factory.Markup("Boz"),
|
||||
BlockFactory.MarkupTagBlock("</p>", AcceptedCharactersInternal.None)),
|
||||
Factory.EmptyCSharp().AsStatement()
|
||||
),
|
||||
RazorDiagnosticFactory.CreateParsing_SingleLineControlFlowStatementsNotAllowed(
|
||||
new SourceSpan(new SourceLocation(8, 0, 8), contentLength: 1), "{", "<"),
|
||||
RazorDiagnosticFactory.CreateParsing_SingleLineControlFlowStatementsNotAllowed(
|
||||
new SourceSpan(new SourceLocation(32, 0, 32), contentLength: 1), "{", "<"),
|
||||
RazorDiagnosticFactory.CreateParsing_SingleLineControlFlowStatementsNotAllowed(
|
||||
new SourceSpan(new SourceLocation(48, 0, 48), contentLength: 1), "{", "<"));
|
||||
ParseBlockTest("if(foo) <p>Bar</p> else if(bar) <p>Baz</p> else <p>Boz</p>");
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ParseBlockIncludesUnexpectedCharacterInSingleStatementControlFlowStatementError()
|
||||
{
|
||||
ParseBlockTest("if(foo)) { var bar = foo; }",
|
||||
new StatementBlock(
|
||||
Factory.Code("if(foo)) { var bar = foo; }").AsStatement()
|
||||
),
|
||||
RazorDiagnosticFactory.CreateParsing_SingleLineControlFlowStatementsNotAllowed(
|
||||
new SourceSpan(new SourceLocation(7, 0, 7), contentLength: 1), "{", ")"));
|
||||
ParseBlockTest("if(foo)) { var bar = foo; }");
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ParseBlockOutputsErrorIfAtSignFollowedByLessThanSignAtStatementStart()
|
||||
{
|
||||
ParseBlockTest("if(foo) { @<p>Bar</p> }",
|
||||
new StatementBlock(
|
||||
Factory.Code("if(foo) {").AsStatement(),
|
||||
new MarkupBlock(
|
||||
Factory.Markup(" "),
|
||||
Factory.MarkupTransition(),
|
||||
BlockFactory.MarkupTagBlock("<p>", AcceptedCharactersInternal.None),
|
||||
Factory.Markup("Bar"),
|
||||
BlockFactory.MarkupTagBlock("</p>", AcceptedCharactersInternal.None),
|
||||
Factory.Markup(" ").Accepts(AcceptedCharactersInternal.None)),
|
||||
Factory.Code("}").AsStatement()
|
||||
),
|
||||
RazorDiagnosticFactory.CreateParsing_AtInCodeMustBeFollowedByColonParenOrIdentifierStart(
|
||||
new SourceSpan(new SourceLocation(10, 0, 10), contentLength: 1)));
|
||||
ParseBlockTest("if(foo) { @<p>Bar</p> }");
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ParseBlockTerminatesIfBlockAtEOLWhenRecoveringFromMissingCloseParen()
|
||||
{
|
||||
ParseBlockTest("if(foo bar" + Environment.NewLine
|
||||
+ "baz",
|
||||
new StatementBlock(
|
||||
Factory.Code("if(foo bar" + Environment.NewLine).AsStatement()
|
||||
),
|
||||
RazorDiagnosticFactory.CreateParsing_ExpectedCloseBracketBeforeEOF(
|
||||
new SourceSpan(new SourceLocation(2, 0, 2), contentLength: 1), "(", ")"));
|
||||
+ "baz");
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ParseBlockTerminatesForeachBlockAtEOLWhenRecoveringFromMissingCloseParen()
|
||||
{
|
||||
ParseBlockTest("foreach(foo bar" + Environment.NewLine
|
||||
+ "baz",
|
||||
new StatementBlock(
|
||||
Factory.Code("foreach(foo bar" + Environment.NewLine).AsStatement()
|
||||
),
|
||||
RazorDiagnosticFactory.CreateParsing_ExpectedCloseBracketBeforeEOF(
|
||||
new SourceSpan(new SourceLocation(7, 0, 7), contentLength: 1), "(", ")"));
|
||||
+ "baz");
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ParseBlockTerminatesWhileClauseInDoStatementAtEOLWhenRecoveringFromMissingCloseParen()
|
||||
{
|
||||
ParseBlockTest("do { } while(foo bar" + Environment.NewLine
|
||||
+ "baz",
|
||||
new StatementBlock(
|
||||
Factory.Code("do { } while(foo bar" + Environment.NewLine).AsStatement()
|
||||
),
|
||||
RazorDiagnosticFactory.CreateParsing_ExpectedCloseBracketBeforeEOF(
|
||||
new SourceSpan(new SourceLocation(12, 0, 12), contentLength: 1), "(", ")"));
|
||||
+ "baz");
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ParseBlockTerminatesUsingBlockAtEOLWhenRecoveringFromMissingCloseParen()
|
||||
{
|
||||
ParseBlockTest("using(foo bar" + Environment.NewLine
|
||||
+ "baz",
|
||||
new StatementBlock(
|
||||
Factory.Code("using(foo bar" + Environment.NewLine).AsStatement()
|
||||
),
|
||||
RazorDiagnosticFactory.CreateParsing_ExpectedCloseBracketBeforeEOF(
|
||||
new SourceSpan(new SourceLocation(5, 0, 5), contentLength: 1), "(", ")"));
|
||||
+ "baz");
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ParseBlockResumesIfStatementAfterOpenParen()
|
||||
{
|
||||
ParseBlockTest("if(" + Environment.NewLine
|
||||
+ "else { <p>Foo</p> }",
|
||||
new StatementBlock(
|
||||
Factory.Code($"if({Environment.NewLine}else {{").AsStatement(),
|
||||
new MarkupBlock(
|
||||
Factory.Markup(" "),
|
||||
BlockFactory.MarkupTagBlock("<p>", AcceptedCharactersInternal.None),
|
||||
Factory.Markup("Foo"),
|
||||
BlockFactory.MarkupTagBlock("</p>", AcceptedCharactersInternal.None),
|
||||
Factory.Markup(" ").Accepts(AcceptedCharactersInternal.None)),
|
||||
Factory.Code("}").AsStatement().Accepts(AcceptedCharactersInternal.None)
|
||||
),
|
||||
RazorDiagnosticFactory.CreateParsing_ExpectedCloseBracketBeforeEOF(
|
||||
new SourceSpan(new SourceLocation(2, 0, 2), contentLength: 1), "(", ")"));
|
||||
+ "else { <p>Foo</p> }");
|
||||
}
|
||||
|
||||
[Fact]
|
||||
|
|
@ -553,20 +293,13 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
|||
SingleSpanBlockTest("if(foo) {" + Environment.NewLine
|
||||
+ " var p = \"foo bar baz" + Environment.NewLine
|
||||
+ ";" + Environment.NewLine
|
||||
+ "}",
|
||||
BlockKindInternal.Statement, SpanKindInternal.Code,
|
||||
RazorDiagnosticFactory.CreateParsing_UnterminatedStringLiteral(
|
||||
new SourceSpan(new SourceLocation(21 + Environment.NewLine.Length, 1, 12), contentLength: 1)));
|
||||
+ "}");
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ParseBlockTerminatesNormalStringAtEndOfFile()
|
||||
{
|
||||
SingleSpanBlockTest("if(foo) { var foo = \"blah blah blah blah blah", BlockKindInternal.Statement, SpanKindInternal.Code,
|
||||
RazorDiagnosticFactory.CreateParsing_UnterminatedStringLiteral(
|
||||
new SourceSpan(new SourceLocation(20, 0, 20), contentLength: 1)),
|
||||
RazorDiagnosticFactory.CreateParsing_ExpectedEndOfBlockBeforeEOF(
|
||||
new SourceSpan(SourceLocation.Zero, contentLength: 1), "if", "}", "{"));
|
||||
SingleSpanBlockTest("if(foo) { var foo = \"blah blah blah blah blah");
|
||||
}
|
||||
|
||||
[Fact]
|
||||
|
|
@ -576,12 +309,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
|||
+ "blah; " + Environment.NewLine
|
||||
+ "<p>Foo</p>" + Environment.NewLine
|
||||
+ "blah " + Environment.NewLine
|
||||
+ "blah",
|
||||
BlockKindInternal.Statement, SpanKindInternal.Code,
|
||||
RazorDiagnosticFactory.CreateParsing_UnterminatedStringLiteral(
|
||||
new SourceSpan(new SourceLocation(20, 0, 20), contentLength: 1)),
|
||||
RazorDiagnosticFactory.CreateParsing_ExpectedEndOfBlockBeforeEOF(
|
||||
new SourceSpan(SourceLocation.Zero, contentLength: 1), "if", "}", "{"));
|
||||
+ "blah");
|
||||
}
|
||||
|
||||
[Fact]
|
||||
|
|
@ -590,65 +318,25 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
|||
ParseBlockTest("if(foo) {" + Environment.NewLine
|
||||
+ " var foo = \"foo bar baz" + Environment.NewLine
|
||||
+ " <p>Foo is @foo</p>" + Environment.NewLine
|
||||
+ "}",
|
||||
new StatementBlock(
|
||||
Factory.Code($"if(foo) {{{Environment.NewLine} var foo = \"foo bar baz{Environment.NewLine} ").AsStatement(),
|
||||
new MarkupBlock(
|
||||
BlockFactory.MarkupTagBlock("<p>", AcceptedCharactersInternal.None),
|
||||
Factory.Markup("Foo is "),
|
||||
new ExpressionBlock(
|
||||
Factory.CodeTransition(),
|
||||
Factory.Code("foo")
|
||||
.AsImplicitExpression(CSharpCodeParser.DefaultKeywords)
|
||||
.Accepts(AcceptedCharactersInternal.NonWhiteSpace)),
|
||||
BlockFactory.MarkupTagBlock("</p>", AcceptedCharactersInternal.None),
|
||||
Factory.Markup(Environment.NewLine).Accepts(AcceptedCharactersInternal.None)),
|
||||
Factory.Code("}").AsStatement()
|
||||
),
|
||||
RazorDiagnosticFactory.CreateParsing_UnterminatedStringLiteral(
|
||||
new SourceSpan(new SourceLocation(23 + Environment.NewLine.Length, 1, 14), contentLength: 1)));
|
||||
+ "}");
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ParseBlockCorrectlyParsesAtSignInDelimitedBlock()
|
||||
{
|
||||
ParseBlockTest("(Request[\"description\"] ?? @photo.Description)",
|
||||
new ExpressionBlock(
|
||||
Factory.MetaCode("(").Accepts(AcceptedCharactersInternal.None),
|
||||
Factory.Code("Request[\"description\"] ?? @photo.Description").AsExpression(),
|
||||
Factory.MetaCode(")").Accepts(AcceptedCharactersInternal.None)
|
||||
));
|
||||
ParseBlockTest("(Request[\"description\"] ?? @photo.Description)");
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ParseBlockCorrectlyRecoversFromMissingCloseParenInExpressionWithinCode()
|
||||
{
|
||||
ParseBlockTest(@"{string.Format(<html></html>}",
|
||||
new StatementBlock(
|
||||
Factory.MetaCode("{").Accepts(AcceptedCharactersInternal.None),
|
||||
Factory.Code("string.Format(")
|
||||
.AsStatement()
|
||||
.AutoCompleteWith(autoCompleteString: null),
|
||||
new MarkupBlock(
|
||||
BlockFactory.MarkupTagBlock("<html>", AcceptedCharactersInternal.None),
|
||||
BlockFactory.MarkupTagBlock("</html>", AcceptedCharactersInternal.None)),
|
||||
Factory.EmptyCSharp().AsStatement(),
|
||||
Factory.MetaCode("}").Accepts(AcceptedCharactersInternal.None)),
|
||||
expectedErrors: new[]
|
||||
{
|
||||
RazorDiagnosticFactory.CreateParsing_ExpectedCloseBracketBeforeEOF(
|
||||
new SourceSpan(new SourceLocation(14, 0, 14), contentLength: 1), "(", ")"),
|
||||
});
|
||||
ParseBlockTest(@"{string.Format(<html></html>}");
|
||||
}
|
||||
|
||||
private void RunUnterminatedSimpleKeywordBlock(string keyword)
|
||||
{
|
||||
SingleSpanBlockTest(
|
||||
keyword + " (foo) { var foo = bar; if(foo != null) { bar(); } ",
|
||||
BlockKindInternal.Statement,
|
||||
SpanKindInternal.Code,
|
||||
RazorDiagnosticFactory.CreateParsing_ExpectedEndOfBlockBeforeEOF(
|
||||
new SourceSpan(SourceLocation.Zero, contentLength: 1), keyword, "}", "{"));
|
||||
keyword + " (foo) { var foo = bar; if(foo != null) { bar(); } ");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,5 @@
|
|||
Statement block - Gen<None> - 17 - (0:0,0)
|
||||
Code span - Gen<Stmt> - [using LF] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:3
|
||||
CSharpSymbolType.Keyword;[using];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.NewLine;[LF];
|
||||
|
|
@ -0,0 +1 @@
|
|||
(1,5): Error RZ1027: An opening "(" is missing the corresponding closing ")".
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
Expression block - Gen<Expr> - 7 - (0:0,0)
|
||||
Code span - Gen<Expr> - [Href(LF] - ImplicitExpressionEditHandler;Accepts:Any;ImplicitExpression[RTD];K14 - (0:0,0) - Symbols:3
|
||||
CSharpSymbolType.Identifier;[Href];
|
||||
CSharpSymbolType.LeftParenthesis;[(];
|
||||
CSharpSymbolType.NewLine;[LF];
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
Expression block - Gen<Expr> - 46 - (0:0,0)
|
||||
MetaCode span - Gen<None> - [(] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
|
||||
CSharpSymbolType.LeftParenthesis;[(];
|
||||
Code span - Gen<Expr> - [Request["description"] ?? @photo.Description] - SpanEditHandler;Accepts:Any - (1:0,1) - Symbols:11
|
||||
CSharpSymbolType.Identifier;[Request];
|
||||
CSharpSymbolType.LeftBracket;[[];
|
||||
CSharpSymbolType.StringLiteral;["description"];
|
||||
CSharpSymbolType.RightBracket;[]];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.NullCoalesce;[??];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Transition;[@];
|
||||
CSharpSymbolType.Identifier;[photo];
|
||||
CSharpSymbolType.Dot;[.];
|
||||
CSharpSymbolType.Identifier;[Description];
|
||||
MetaCode span - Gen<None> - [)] - SpanEditHandler;Accepts:None - (45:0,45) - Symbols:1
|
||||
CSharpSymbolType.RightParenthesis;[)];
|
||||
|
|
@ -0,0 +1 @@
|
|||
(2,15): Error RZ1000: Unterminated string literal. Strings that start with a quotation mark (") must be terminated before the end of the line. However, strings that start with @ and a quotation mark (@") can span multiple lines.
|
||||
|
|
@ -0,0 +1,45 @@
|
|||
Statement block - Gen<None> - 64 - (0:0,0)
|
||||
Code span - Gen<Stmt> - [if(foo) {LF var foo = "foo bar bazLF ] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:17
|
||||
CSharpSymbolType.Keyword;[if];
|
||||
CSharpSymbolType.LeftParenthesis;[(];
|
||||
CSharpSymbolType.Identifier;[foo];
|
||||
CSharpSymbolType.RightParenthesis;[)];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.LeftBrace;[{];
|
||||
CSharpSymbolType.NewLine;[LF];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Identifier;[var];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Identifier;[foo];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Assign;[=];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.StringLiteral;["foo bar baz];RZ1000(25:1,14 [1] )
|
||||
CSharpSymbolType.NewLine;[LF];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
Markup block - Gen<None> - 20 - (43:2,4)
|
||||
Tag block - Gen<None> - 3 - (43:2,4)
|
||||
Markup span - Gen<Markup> - [<p>] - SpanEditHandler;Accepts:None - (43:2,4) - Symbols:3
|
||||
HtmlSymbolType.OpenAngle;[<];
|
||||
HtmlSymbolType.Text;[p];
|
||||
HtmlSymbolType.CloseAngle;[>];
|
||||
Markup span - Gen<Markup> - [Foo is ] - SpanEditHandler;Accepts:Any - (46:2,7) - Symbols:4
|
||||
HtmlSymbolType.Text;[Foo];
|
||||
HtmlSymbolType.WhiteSpace;[ ];
|
||||
HtmlSymbolType.Text;[is];
|
||||
HtmlSymbolType.WhiteSpace;[ ];
|
||||
Expression block - Gen<Expr> - 4 - (53:2,14)
|
||||
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (53:2,14) - Symbols:1
|
||||
CSharpSymbolType.Transition;[@];
|
||||
Code span - Gen<Expr> - [foo] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (54:2,15) - Symbols:1
|
||||
CSharpSymbolType.Identifier;[foo];
|
||||
Tag block - Gen<None> - 4 - (57:2,18)
|
||||
Markup span - Gen<Markup> - [</p>] - SpanEditHandler;Accepts:None - (57:2,18) - Symbols:4
|
||||
HtmlSymbolType.OpenAngle;[<];
|
||||
HtmlSymbolType.ForwardSlash;[/];
|
||||
HtmlSymbolType.Text;[p];
|
||||
HtmlSymbolType.CloseAngle;[>];
|
||||
Markup span - Gen<Markup> - [LF] - SpanEditHandler;Accepts:None - (61:2,22) - Symbols:1
|
||||
HtmlSymbolType.NewLine;[LF];
|
||||
Code span - Gen<Stmt> - [}] - SpanEditHandler;Accepts:Any - (63:3,0) - Symbols:1
|
||||
CSharpSymbolType.RightBrace;[}];
|
||||
|
|
@ -0,0 +1 @@
|
|||
(1,15): Error RZ1027: An opening "(" is missing the corresponding closing ")".
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
Statement block - Gen<None> - 29 - (0:0,0)
|
||||
MetaCode span - Gen<None> - [{] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
|
||||
CSharpSymbolType.LeftBrace;[{];
|
||||
Code span - Gen<Stmt> - [string.Format(] - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[<null>];AtEOL - (1:0,1) - Symbols:4
|
||||
CSharpSymbolType.Keyword;[string];
|
||||
CSharpSymbolType.Dot;[.];
|
||||
CSharpSymbolType.Identifier;[Format];
|
||||
CSharpSymbolType.LeftParenthesis;[(];
|
||||
Markup block - Gen<None> - 13 - (15:0,15)
|
||||
Tag block - Gen<None> - 6 - (15:0,15)
|
||||
Markup span - Gen<Markup> - [<html>] - SpanEditHandler;Accepts:None - (15:0,15) - Symbols:3
|
||||
HtmlSymbolType.OpenAngle;[<];
|
||||
HtmlSymbolType.Text;[html];
|
||||
HtmlSymbolType.CloseAngle;[>];
|
||||
Tag block - Gen<None> - 7 - (21:0,21)
|
||||
Markup span - Gen<Markup> - [</html>] - SpanEditHandler;Accepts:None - (21:0,21) - Symbols:4
|
||||
HtmlSymbolType.OpenAngle;[<];
|
||||
HtmlSymbolType.ForwardSlash;[/];
|
||||
HtmlSymbolType.Text;[html];
|
||||
HtmlSymbolType.CloseAngle;[>];
|
||||
Code span - Gen<Stmt> - [] - SpanEditHandler;Accepts:Any - (28:0,28) - Symbols:1
|
||||
CSharpSymbolType.Unknown;[];
|
||||
MetaCode span - Gen<None> - [}] - SpanEditHandler;Accepts:None - (28:0,28) - Symbols:1
|
||||
CSharpSymbolType.RightBrace;[}];
|
||||
|
|
@ -0,0 +1 @@
|
|||
(1,2): Error RZ1005: """ is not valid at the start of a code block. Only identifiers, keywords, comments, "(" and "{" are valid.
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
Expression block - Gen<Expr> - 1 - (0:0,0)
|
||||
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
|
||||
CSharpSymbolType.Transition;[@];
|
||||
Code span - Gen<Expr> - [] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (1:0,1) - Symbols:1
|
||||
CSharpSymbolType.Unknown;[];
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
(1,8): Error RZ1008: Expected a "{" but found a ")". Block statements must be enclosed in "{" and "}". You cannot use single-statement control-flow statements in CSHTML pages. For example, the following is not allowed:
|
||||
|
||||
@if(isLoggedIn)
|
||||
<p>Hello, @user</p>
|
||||
|
||||
Instead, wrap the contents of the block in "{}":
|
||||
|
||||
@if(isLoggedIn) {
|
||||
<p>Hello, @user</p>
|
||||
}
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
Statement block - Gen<None> - 27 - (0:0,0)
|
||||
Code span - Gen<Stmt> - [if(foo)) { var bar = foo; }] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:18
|
||||
CSharpSymbolType.Keyword;[if];
|
||||
CSharpSymbolType.LeftParenthesis;[(];
|
||||
CSharpSymbolType.Identifier;[foo];
|
||||
CSharpSymbolType.RightParenthesis;[)];
|
||||
CSharpSymbolType.RightParenthesis;[)];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.LeftBrace;[{];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Identifier;[var];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Identifier;[bar];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Assign;[=];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Identifier;[foo];
|
||||
CSharpSymbolType.Semicolon;[;];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.RightBrace;[}];
|
||||
|
|
@ -0,0 +1 @@
|
|||
(1,1): Error RZ1006: The code block is missing a closing "}" character. Make sure you have a matching "}" character for all the "{" characters within this block, and that none of the "}" characters are being interpreted as markup.
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
Statement block - Gen<None> - 1 - (0:0,0)
|
||||
MetaCode span - Gen<None> - [{] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
|
||||
CSharpSymbolType.LeftBrace;[{];
|
||||
Code span - Gen<Stmt> - [] - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[}];AtEOL - (1:0,1) - Symbols:1
|
||||
CSharpSymbolType.Unknown;[];
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
Statement block - Gen<None> - 2 - (0:0,0)
|
||||
MetaCode span - Gen<None> - [{] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
|
||||
CSharpSymbolType.LeftBrace;[{];
|
||||
Code span - Gen<Stmt> - [] - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[<null>];AtEOL - (1:0,1) - Symbols:1
|
||||
CSharpSymbolType.Unknown;[];
|
||||
MetaCode span - Gen<None> - [}] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:1
|
||||
CSharpSymbolType.RightBrace;[}];
|
||||
|
|
@ -0,0 +1 @@
|
|||
(1,2): Error RZ1005: "!" is not valid at the start of a code block. Only identifiers, keywords, comments, "(" and "{" are valid.
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
Expression block - Gen<Expr> - 1 - (0:0,0)
|
||||
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
|
||||
CSharpSymbolType.Transition;[@];
|
||||
Code span - Gen<Expr> - [] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (1:0,1) - Symbols:1
|
||||
CSharpSymbolType.Unknown;[];
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
(2,6): Error RZ1004: End-of-file was found after the "@" character. "@" must be followed by a valid code block. If you want to output an "@", escape it using the sequence: "@@"
|
||||
(1,1): Error RZ1006: The code block is missing a closing "}" character. Make sure you have a matching "}" character for all the "{" characters within this block, and that none of the "}" characters are being interpreted as markup.
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
Statement block - Gen<None> - 8 - (0:0,0)
|
||||
MetaCode span - Gen<None> - [{] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
|
||||
CSharpSymbolType.LeftBrace;[{];
|
||||
Code span - Gen<Stmt> - [LF ] - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[}];AtEOL - (1:0,1) - Symbols:2
|
||||
CSharpSymbolType.NewLine;[LF];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
Expression block - Gen<Expr> - 1 - (7:1,4)
|
||||
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (7:1,4) - Symbols:1
|
||||
CSharpSymbolType.Transition;[@];
|
||||
Code span - Gen<Expr> - [] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[ATD];K14 - (8:1,5) - Symbols:1
|
||||
CSharpSymbolType.Unknown;[];
|
||||
Code span - Gen<Stmt> - [] - SpanEditHandler;Accepts:Any - (8:1,5) - Symbols:1
|
||||
CSharpSymbolType.Unknown;[];
|
||||
|
|
@ -0,0 +1 @@
|
|||
(1,2): Error RZ1003: A space or line break was encountered after the "@" character. Only valid identifiers, keywords, comments, "(" and "{" are valid at the start of a code block and they must occur immediately following "@" with no space in between.
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
Expression block - Gen<Expr> - 1 - (0:0,0)
|
||||
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
|
||||
CSharpSymbolType.Transition;[@];
|
||||
Code span - Gen<Expr> - [] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (1:0,1) - Symbols:1
|
||||
CSharpSymbolType.Unknown;[];
|
||||
|
|
@ -0,0 +1 @@
|
|||
(2,6): Error RZ1003: A space or line break was encountered after the "@" character. Only valid identifiers, keywords, comments, "(" and "{" are valid at the start of a code block and they must occur immediately following "@" with no space in between.
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
Statement block - Gen<None> - 16 - (0:0,0)
|
||||
MetaCode span - Gen<None> - [{] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
|
||||
CSharpSymbolType.LeftBrace;[{];
|
||||
Code span - Gen<Stmt> - [LF ] - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[<null>];AtEOL - (1:0,1) - Symbols:2
|
||||
CSharpSymbolType.NewLine;[LF];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
Expression block - Gen<Expr> - 1 - (7:1,4)
|
||||
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (7:1,4) - Symbols:1
|
||||
CSharpSymbolType.Transition;[@];
|
||||
Code span - Gen<Expr> - [] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[ATD];K14 - (8:1,5) - Symbols:1
|
||||
CSharpSymbolType.Unknown;[];
|
||||
Code span - Gen<Stmt> - [ {}LF] - SpanEditHandler;Accepts:Any - (8:1,5) - Symbols:4
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.LeftBrace;[{];
|
||||
CSharpSymbolType.RightBrace;[}];
|
||||
CSharpSymbolType.NewLine;[LF];
|
||||
MetaCode span - Gen<None> - [}] - SpanEditHandler;Accepts:None - (15:2,0) - Symbols:1
|
||||
CSharpSymbolType.RightBrace;[}];
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
(1,11): Error RZ1009: The "@" character must be followed by a ":", "(", or a C# identifier. If you intended to switch to markup, use an HTML start tag, for example:
|
||||
|
||||
@if(isLoggedIn) {
|
||||
<p>Hello, @user!</p>
|
||||
}
|
||||
|
|
@ -0,0 +1,30 @@
|
|||
Statement block - Gen<None> - 23 - (0:0,0)
|
||||
Code span - Gen<Stmt> - [if(foo) {] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:6
|
||||
CSharpSymbolType.Keyword;[if];
|
||||
CSharpSymbolType.LeftParenthesis;[(];
|
||||
CSharpSymbolType.Identifier;[foo];
|
||||
CSharpSymbolType.RightParenthesis;[)];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.LeftBrace;[{];
|
||||
Markup block - Gen<None> - 13 - (9:0,9)
|
||||
Markup span - Gen<Markup> - [ ] - SpanEditHandler;Accepts:Any - (9:0,9) - Symbols:1
|
||||
HtmlSymbolType.WhiteSpace;[ ];
|
||||
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (10:0,10) - Symbols:1
|
||||
HtmlSymbolType.Transition;[@];
|
||||
Tag block - Gen<None> - 3 - (11:0,11)
|
||||
Markup span - Gen<Markup> - [<p>] - SpanEditHandler;Accepts:None - (11:0,11) - Symbols:3
|
||||
HtmlSymbolType.OpenAngle;[<];
|
||||
HtmlSymbolType.Text;[p];
|
||||
HtmlSymbolType.CloseAngle;[>];
|
||||
Markup span - Gen<Markup> - [Bar] - SpanEditHandler;Accepts:Any - (14:0,14) - Symbols:1
|
||||
HtmlSymbolType.Text;[Bar];
|
||||
Tag block - Gen<None> - 4 - (17:0,17)
|
||||
Markup span - Gen<Markup> - [</p>] - SpanEditHandler;Accepts:None - (17:0,17) - Symbols:4
|
||||
HtmlSymbolType.OpenAngle;[<];
|
||||
HtmlSymbolType.ForwardSlash;[/];
|
||||
HtmlSymbolType.Text;[p];
|
||||
HtmlSymbolType.CloseAngle;[>];
|
||||
Markup span - Gen<Markup> - [ ] - SpanEditHandler;Accepts:None - (21:0,21) - Symbols:1
|
||||
HtmlSymbolType.WhiteSpace;[ ];
|
||||
Code span - Gen<Stmt> - [}] - SpanEditHandler;Accepts:Any - (22:0,22) - Symbols:1
|
||||
CSharpSymbolType.RightBrace;[}];
|
||||
|
|
@ -0,0 +1 @@
|
|||
(1,16): Error RZ1006: The catch block is missing a closing "}" character. Make sure you have a matching "}" character for all the "{" characters within this block, and that none of the "}" characters are being interpreted as markup.
|
||||
|
|
@ -0,0 +1,47 @@
|
|||
Statement block - Gen<None> - 70 - (0:0,0)
|
||||
Code span - Gen<Stmt> - [try { baz(); } catch(Foo) { var foo = bar; if(foo != null) { bar(); } ] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:45
|
||||
CSharpSymbolType.Keyword;[try];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.LeftBrace;[{];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Identifier;[baz];
|
||||
CSharpSymbolType.LeftParenthesis;[(];
|
||||
CSharpSymbolType.RightParenthesis;[)];
|
||||
CSharpSymbolType.Semicolon;[;];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.RightBrace;[}];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Keyword;[catch];
|
||||
CSharpSymbolType.LeftParenthesis;[(];
|
||||
CSharpSymbolType.Identifier;[Foo];
|
||||
CSharpSymbolType.RightParenthesis;[)];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.LeftBrace;[{];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Identifier;[var];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Identifier;[foo];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Assign;[=];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Identifier;[bar];
|
||||
CSharpSymbolType.Semicolon;[;];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Keyword;[if];
|
||||
CSharpSymbolType.LeftParenthesis;[(];
|
||||
CSharpSymbolType.Identifier;[foo];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.NotEqual;[!=];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Keyword;[null];
|
||||
CSharpSymbolType.RightParenthesis;[)];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.LeftBrace;[{];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Identifier;[bar];
|
||||
CSharpSymbolType.LeftParenthesis;[(];
|
||||
CSharpSymbolType.RightParenthesis;[)];
|
||||
CSharpSymbolType.Semicolon;[;];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.RightBrace;[}];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
|
|
@ -0,0 +1,36 @@
|
|||
Directive block - Gen<Directive:{functions;CodeBlock;Unrestricted} [RZ1006(10:0,10 [1] )]> - 54 - (0:0,0)
|
||||
MetaCode span - Gen<None> - [functions] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
|
||||
CSharpSymbolType.Identifier;[functions];
|
||||
Markup span - Gen<None> - [ ] - SpanEditHandler;Accepts:AllWhiteSpace - (9:0,9) - Symbols:1
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
MetaCode span - Gen<None> - [{] - AutoCompleteEditHandler;Accepts:None,AutoComplete:[}];AtEnd - (10:0,10) - Symbols:1
|
||||
CSharpSymbolType.LeftBrace;[{];
|
||||
Code span - Gen<Stmt> - [ var foo = bar; if(foo != null) { bar(); } ] - CodeBlockEditHandler;Accepts:Any;CodeBlock - (11:0,11) - Symbols:28
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Identifier;[var];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Identifier;[foo];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Assign;[=];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Identifier;[bar];
|
||||
CSharpSymbolType.Semicolon;[;];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Keyword;[if];
|
||||
CSharpSymbolType.LeftParenthesis;[(];
|
||||
CSharpSymbolType.Identifier;[foo];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.NotEqual;[!=];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Keyword;[null];
|
||||
CSharpSymbolType.RightParenthesis;[)];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.LeftBrace;[{];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Identifier;[bar];
|
||||
CSharpSymbolType.LeftParenthesis;[(];
|
||||
CSharpSymbolType.RightParenthesis;[)];
|
||||
CSharpSymbolType.Semicolon;[;];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.RightBrace;[}];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
|
|
@ -0,0 +1 @@
|
|||
(1,1): Error RZ1006: The do block is missing a closing "}" character. Make sure you have a matching "}" character for all the "{" characters within this block, and that none of the "}" characters are being interpreted as markup.
|
||||
|
|
@ -0,0 +1,33 @@
|
|||
Statement block - Gen<None> - 47 - (0:0,0)
|
||||
Code span - Gen<Stmt> - [do { var foo = bar; if(foo != null) { bar(); } ] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:31
|
||||
CSharpSymbolType.Keyword;[do];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.LeftBrace;[{];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Identifier;[var];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Identifier;[foo];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Assign;[=];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Identifier;[bar];
|
||||
CSharpSymbolType.Semicolon;[;];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Keyword;[if];
|
||||
CSharpSymbolType.LeftParenthesis;[(];
|
||||
CSharpSymbolType.Identifier;[foo];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.NotEqual;[!=];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Keyword;[null];
|
||||
CSharpSymbolType.RightParenthesis;[)];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.LeftBrace;[{];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Identifier;[bar];
|
||||
CSharpSymbolType.LeftParenthesis;[(];
|
||||
CSharpSymbolType.RightParenthesis;[)];
|
||||
CSharpSymbolType.Semicolon;[;];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.RightBrace;[}];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
|
|
@ -0,0 +1 @@
|
|||
(1,20): Error RZ1006: The else block is missing a closing "}" character. Make sure you have a matching "}" character for all the "{" characters within this block, and that none of the "}" characters are being interpreted as markup.
|
||||
|
|
@ -0,0 +1,47 @@
|
|||
Statement block - Gen<None> - 68 - (0:0,0)
|
||||
Code span - Gen<Stmt> - [if(foo) { baz(); } else { var foo = bar; if(foo != null) { bar(); } ] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:45
|
||||
CSharpSymbolType.Keyword;[if];
|
||||
CSharpSymbolType.LeftParenthesis;[(];
|
||||
CSharpSymbolType.Identifier;[foo];
|
||||
CSharpSymbolType.RightParenthesis;[)];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.LeftBrace;[{];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Identifier;[baz];
|
||||
CSharpSymbolType.LeftParenthesis;[(];
|
||||
CSharpSymbolType.RightParenthesis;[)];
|
||||
CSharpSymbolType.Semicolon;[;];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.RightBrace;[}];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Keyword;[else];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.LeftBrace;[{];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Identifier;[var];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Identifier;[foo];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Assign;[=];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Identifier;[bar];
|
||||
CSharpSymbolType.Semicolon;[;];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Keyword;[if];
|
||||
CSharpSymbolType.LeftParenthesis;[(];
|
||||
CSharpSymbolType.Identifier;[foo];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.NotEqual;[!=];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Keyword;[null];
|
||||
CSharpSymbolType.RightParenthesis;[)];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.LeftBrace;[{];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Identifier;[bar];
|
||||
CSharpSymbolType.LeftParenthesis;[(];
|
||||
CSharpSymbolType.RightParenthesis;[)];
|
||||
CSharpSymbolType.Semicolon;[;];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.RightBrace;[}];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
|
|
@ -0,0 +1 @@
|
|||
(1,20): Error RZ1006: The else if block is missing a closing "}" character. Make sure you have a matching "}" character for all the "{" characters within this block, and that none of the "}" characters are being interpreted as markup.
|
||||
|
|
@ -0,0 +1,49 @@
|
|||
Statement block - Gen<None> - 71 - (0:0,0)
|
||||
Code span - Gen<Stmt> - [if(foo) { baz(); } else if { var foo = bar; if(foo != null) { bar(); } ] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:47
|
||||
CSharpSymbolType.Keyword;[if];
|
||||
CSharpSymbolType.LeftParenthesis;[(];
|
||||
CSharpSymbolType.Identifier;[foo];
|
||||
CSharpSymbolType.RightParenthesis;[)];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.LeftBrace;[{];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Identifier;[baz];
|
||||
CSharpSymbolType.LeftParenthesis;[(];
|
||||
CSharpSymbolType.RightParenthesis;[)];
|
||||
CSharpSymbolType.Semicolon;[;];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.RightBrace;[}];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Keyword;[else];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Keyword;[if];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.LeftBrace;[{];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Identifier;[var];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Identifier;[foo];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Assign;[=];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Identifier;[bar];
|
||||
CSharpSymbolType.Semicolon;[;];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Keyword;[if];
|
||||
CSharpSymbolType.LeftParenthesis;[(];
|
||||
CSharpSymbolType.Identifier;[foo];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.NotEqual;[!=];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Keyword;[null];
|
||||
CSharpSymbolType.RightParenthesis;[)];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.LeftBrace;[{];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Identifier;[bar];
|
||||
CSharpSymbolType.LeftParenthesis;[(];
|
||||
CSharpSymbolType.RightParenthesis;[)];
|
||||
CSharpSymbolType.Semicolon;[;];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.RightBrace;[}];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
|
|
@ -0,0 +1 @@
|
|||
(1,1): Error RZ1006: The code block is missing a closing "}" character. Make sure you have a matching "}" character for all the "{" characters within this block, and that none of the "}" characters are being interpreted as markup.
|
||||
|
|
@ -0,0 +1,32 @@
|
|||
Statement block - Gen<None> - 44 - (0:0,0)
|
||||
MetaCode span - Gen<None> - [{] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
|
||||
CSharpSymbolType.LeftBrace;[{];
|
||||
Code span - Gen<Stmt> - [ var foo = bar; if(foo != null) { bar(); } ] - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[}];AtEOL - (1:0,1) - Symbols:28
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Identifier;[var];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Identifier;[foo];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Assign;[=];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Identifier;[bar];
|
||||
CSharpSymbolType.Semicolon;[;];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Keyword;[if];
|
||||
CSharpSymbolType.LeftParenthesis;[(];
|
||||
CSharpSymbolType.Identifier;[foo];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.NotEqual;[!=];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Keyword;[null];
|
||||
CSharpSymbolType.RightParenthesis;[)];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.LeftBrace;[{];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Identifier;[bar];
|
||||
CSharpSymbolType.LeftParenthesis;[(];
|
||||
CSharpSymbolType.RightParenthesis;[)];
|
||||
CSharpSymbolType.Semicolon;[;];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.RightBrace;[}];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
|
|
@ -0,0 +1 @@
|
|||
(1,16): Error RZ1006: The finally block is missing a closing "}" character. Make sure you have a matching "}" character for all the "{" characters within this block, and that none of the "}" characters are being interpreted as markup.
|
||||
|
|
@ -0,0 +1,44 @@
|
|||
Statement block - Gen<None> - 67 - (0:0,0)
|
||||
Code span - Gen<Stmt> - [try { baz(); } finally { var foo = bar; if(foo != null) { bar(); } ] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:42
|
||||
CSharpSymbolType.Keyword;[try];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.LeftBrace;[{];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Identifier;[baz];
|
||||
CSharpSymbolType.LeftParenthesis;[(];
|
||||
CSharpSymbolType.RightParenthesis;[)];
|
||||
CSharpSymbolType.Semicolon;[;];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.RightBrace;[}];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Keyword;[finally];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.LeftBrace;[{];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Identifier;[var];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Identifier;[foo];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Assign;[=];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Identifier;[bar];
|
||||
CSharpSymbolType.Semicolon;[;];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Keyword;[if];
|
||||
CSharpSymbolType.LeftParenthesis;[(];
|
||||
CSharpSymbolType.Identifier;[foo];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.NotEqual;[!=];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Keyword;[null];
|
||||
CSharpSymbolType.RightParenthesis;[)];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.LeftBrace;[{];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Identifier;[bar];
|
||||
CSharpSymbolType.LeftParenthesis;[(];
|
||||
CSharpSymbolType.RightParenthesis;[)];
|
||||
CSharpSymbolType.Semicolon;[;];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.RightBrace;[}];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
|
|
@ -0,0 +1 @@
|
|||
(1,1): Error RZ1006: The for block is missing a closing "}" character. Make sure you have a matching "}" character for all the "{" characters within this block, and that none of the "}" characters are being interpreted as markup.
|
||||
|
|
@ -0,0 +1,37 @@
|
|||
Statement block - Gen<None> - 54 - (0:0,0)
|
||||
Code span - Gen<Stmt> - [for (foo) { var foo = bar; if(foo != null) { bar(); } ] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:35
|
||||
CSharpSymbolType.Keyword;[for];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.LeftParenthesis;[(];
|
||||
CSharpSymbolType.Identifier;[foo];
|
||||
CSharpSymbolType.RightParenthesis;[)];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.LeftBrace;[{];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Identifier;[var];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Identifier;[foo];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Assign;[=];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Identifier;[bar];
|
||||
CSharpSymbolType.Semicolon;[;];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Keyword;[if];
|
||||
CSharpSymbolType.LeftParenthesis;[(];
|
||||
CSharpSymbolType.Identifier;[foo];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.NotEqual;[!=];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Keyword;[null];
|
||||
CSharpSymbolType.RightParenthesis;[)];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.LeftBrace;[{];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Identifier;[bar];
|
||||
CSharpSymbolType.LeftParenthesis;[(];
|
||||
CSharpSymbolType.RightParenthesis;[)];
|
||||
CSharpSymbolType.Semicolon;[;];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.RightBrace;[}];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
|
|
@ -0,0 +1 @@
|
|||
(1,1): Error RZ1006: The foreach block is missing a closing "}" character. Make sure you have a matching "}" character for all the "{" characters within this block, and that none of the "}" characters are being interpreted as markup.
|
||||
|
|
@ -0,0 +1,37 @@
|
|||
Statement block - Gen<None> - 58 - (0:0,0)
|
||||
Code span - Gen<Stmt> - [foreach (foo) { var foo = bar; if(foo != null) { bar(); } ] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:35
|
||||
CSharpSymbolType.Keyword;[foreach];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.LeftParenthesis;[(];
|
||||
CSharpSymbolType.Identifier;[foo];
|
||||
CSharpSymbolType.RightParenthesis;[)];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.LeftBrace;[{];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Identifier;[var];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Identifier;[foo];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Assign;[=];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Identifier;[bar];
|
||||
CSharpSymbolType.Semicolon;[;];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Keyword;[if];
|
||||
CSharpSymbolType.LeftParenthesis;[(];
|
||||
CSharpSymbolType.Identifier;[foo];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.NotEqual;[!=];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Keyword;[null];
|
||||
CSharpSymbolType.RightParenthesis;[)];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.LeftBrace;[{];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Identifier;[bar];
|
||||
CSharpSymbolType.LeftParenthesis;[(];
|
||||
CSharpSymbolType.RightParenthesis;[)];
|
||||
CSharpSymbolType.Semicolon;[;];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.RightBrace;[}];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
|
|
@ -0,0 +1 @@
|
|||
(1,1): Error RZ1006: The if block is missing a closing "}" character. Make sure you have a matching "}" character for all the "{" characters within this block, and that none of the "}" characters are being interpreted as markup.
|
||||
|
|
@ -0,0 +1,37 @@
|
|||
Statement block - Gen<None> - 53 - (0:0,0)
|
||||
Code span - Gen<Stmt> - [if (foo) { var foo = bar; if(foo != null) { bar(); } ] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:35
|
||||
CSharpSymbolType.Keyword;[if];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.LeftParenthesis;[(];
|
||||
CSharpSymbolType.Identifier;[foo];
|
||||
CSharpSymbolType.RightParenthesis;[)];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.LeftBrace;[{];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Identifier;[var];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Identifier;[foo];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Assign;[=];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Identifier;[bar];
|
||||
CSharpSymbolType.Semicolon;[;];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Keyword;[if];
|
||||
CSharpSymbolType.LeftParenthesis;[(];
|
||||
CSharpSymbolType.Identifier;[foo];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.NotEqual;[!=];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Keyword;[null];
|
||||
CSharpSymbolType.RightParenthesis;[)];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.LeftBrace;[{];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Identifier;[bar];
|
||||
CSharpSymbolType.LeftParenthesis;[(];
|
||||
CSharpSymbolType.RightParenthesis;[)];
|
||||
CSharpSymbolType.Semicolon;[;];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.RightBrace;[}];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
|
|
@ -0,0 +1 @@
|
|||
(1,1): Error RZ1006: The lock block is missing a closing "}" character. Make sure you have a matching "}" character for all the "{" characters within this block, and that none of the "}" characters are being interpreted as markup.
|
||||
|
|
@ -0,0 +1,37 @@
|
|||
Statement block - Gen<None> - 55 - (0:0,0)
|
||||
Code span - Gen<Stmt> - [lock (foo) { var foo = bar; if(foo != null) { bar(); } ] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:35
|
||||
CSharpSymbolType.Keyword;[lock];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.LeftParenthesis;[(];
|
||||
CSharpSymbolType.Identifier;[foo];
|
||||
CSharpSymbolType.RightParenthesis;[)];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.LeftBrace;[{];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Identifier;[var];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Identifier;[foo];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Assign;[=];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Identifier;[bar];
|
||||
CSharpSymbolType.Semicolon;[;];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Keyword;[if];
|
||||
CSharpSymbolType.LeftParenthesis;[(];
|
||||
CSharpSymbolType.Identifier;[foo];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.NotEqual;[!=];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Keyword;[null];
|
||||
CSharpSymbolType.RightParenthesis;[)];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.LeftBrace;[{];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Identifier;[bar];
|
||||
CSharpSymbolType.LeftParenthesis;[(];
|
||||
CSharpSymbolType.RightParenthesis;[)];
|
||||
CSharpSymbolType.Semicolon;[;];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.RightBrace;[}];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
|
|
@ -0,0 +1 @@
|
|||
(1,1): Error RZ1006: The switch block is missing a closing "}" character. Make sure you have a matching "}" character for all the "{" characters within this block, and that none of the "}" characters are being interpreted as markup.
|
||||
|
|
@ -0,0 +1,37 @@
|
|||
Statement block - Gen<None> - 57 - (0:0,0)
|
||||
Code span - Gen<Stmt> - [switch (foo) { var foo = bar; if(foo != null) { bar(); } ] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:35
|
||||
CSharpSymbolType.Keyword;[switch];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.LeftParenthesis;[(];
|
||||
CSharpSymbolType.Identifier;[foo];
|
||||
CSharpSymbolType.RightParenthesis;[)];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.LeftBrace;[{];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Identifier;[var];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Identifier;[foo];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Assign;[=];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Identifier;[bar];
|
||||
CSharpSymbolType.Semicolon;[;];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Keyword;[if];
|
||||
CSharpSymbolType.LeftParenthesis;[(];
|
||||
CSharpSymbolType.Identifier;[foo];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.NotEqual;[!=];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Keyword;[null];
|
||||
CSharpSymbolType.RightParenthesis;[)];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.LeftBrace;[{];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Identifier;[bar];
|
||||
CSharpSymbolType.LeftParenthesis;[(];
|
||||
CSharpSymbolType.RightParenthesis;[)];
|
||||
CSharpSymbolType.Semicolon;[;];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.RightBrace;[}];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
|
|
@ -0,0 +1 @@
|
|||
(1,1): Error RZ1006: The try block is missing a closing "}" character. Make sure you have a matching "}" character for all the "{" characters within this block, and that none of the "}" characters are being interpreted as markup.
|
||||
|
|
@ -0,0 +1,33 @@
|
|||
Statement block - Gen<None> - 48 - (0:0,0)
|
||||
Code span - Gen<Stmt> - [try { var foo = bar; if(foo != null) { bar(); } ] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:31
|
||||
CSharpSymbolType.Keyword;[try];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.LeftBrace;[{];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Identifier;[var];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Identifier;[foo];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Assign;[=];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Identifier;[bar];
|
||||
CSharpSymbolType.Semicolon;[;];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Keyword;[if];
|
||||
CSharpSymbolType.LeftParenthesis;[(];
|
||||
CSharpSymbolType.Identifier;[foo];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.NotEqual;[!=];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Keyword;[null];
|
||||
CSharpSymbolType.RightParenthesis;[)];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.LeftBrace;[{];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Identifier;[bar];
|
||||
CSharpSymbolType.LeftParenthesis;[(];
|
||||
CSharpSymbolType.RightParenthesis;[)];
|
||||
CSharpSymbolType.Semicolon;[;];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.RightBrace;[}];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
|
|
@ -0,0 +1 @@
|
|||
(1,1): Error RZ1006: The using block is missing a closing "}" character. Make sure you have a matching "}" character for all the "{" characters within this block, and that none of the "}" characters are being interpreted as markup.
|
||||
|
|
@ -0,0 +1,37 @@
|
|||
Statement block - Gen<None> - 56 - (0:0,0)
|
||||
Code span - Gen<Stmt> - [using (foo) { var foo = bar; if(foo != null) { bar(); } ] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:35
|
||||
CSharpSymbolType.Keyword;[using];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.LeftParenthesis;[(];
|
||||
CSharpSymbolType.Identifier;[foo];
|
||||
CSharpSymbolType.RightParenthesis;[)];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.LeftBrace;[{];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Identifier;[var];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Identifier;[foo];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Assign;[=];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Identifier;[bar];
|
||||
CSharpSymbolType.Semicolon;[;];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Keyword;[if];
|
||||
CSharpSymbolType.LeftParenthesis;[(];
|
||||
CSharpSymbolType.Identifier;[foo];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.NotEqual;[!=];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Keyword;[null];
|
||||
CSharpSymbolType.RightParenthesis;[)];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.LeftBrace;[{];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Identifier;[bar];
|
||||
CSharpSymbolType.LeftParenthesis;[(];
|
||||
CSharpSymbolType.RightParenthesis;[)];
|
||||
CSharpSymbolType.Semicolon;[;];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.RightBrace;[}];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
|
|
@ -0,0 +1 @@
|
|||
(1,1): Error RZ1006: The while block is missing a closing "}" character. Make sure you have a matching "}" character for all the "{" characters within this block, and that none of the "}" characters are being interpreted as markup.
|
||||
|
|
@ -0,0 +1,37 @@
|
|||
Statement block - Gen<None> - 56 - (0:0,0)
|
||||
Code span - Gen<Stmt> - [while (foo) { var foo = bar; if(foo != null) { bar(); } ] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:35
|
||||
CSharpSymbolType.Keyword;[while];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.LeftParenthesis;[(];
|
||||
CSharpSymbolType.Identifier;[foo];
|
||||
CSharpSymbolType.RightParenthesis;[)];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.LeftBrace;[{];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Identifier;[var];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Identifier;[foo];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Assign;[=];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Identifier;[bar];
|
||||
CSharpSymbolType.Semicolon;[;];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Keyword;[if];
|
||||
CSharpSymbolType.LeftParenthesis;[(];
|
||||
CSharpSymbolType.Identifier;[foo];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.NotEqual;[!=];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Keyword;[null];
|
||||
CSharpSymbolType.RightParenthesis;[)];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.LeftBrace;[{];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Identifier;[bar];
|
||||
CSharpSymbolType.LeftParenthesis;[(];
|
||||
CSharpSymbolType.RightParenthesis;[)];
|
||||
CSharpSymbolType.Semicolon;[;];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.RightBrace;[}];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
|
|
@ -0,0 +1,30 @@
|
|||
(1,9): Error RZ1008: Expected a "{" but found a "<". Block statements must be enclosed in "{" and "}". You cannot use single-statement control-flow statements in CSHTML pages. For example, the following is not allowed:
|
||||
|
||||
@if(isLoggedIn)
|
||||
<p>Hello, @user</p>
|
||||
|
||||
Instead, wrap the contents of the block in "{}":
|
||||
|
||||
@if(isLoggedIn) {
|
||||
<p>Hello, @user</p>
|
||||
}
|
||||
(1,33): Error RZ1008: Expected a "{" but found a "<". Block statements must be enclosed in "{" and "}". You cannot use single-statement control-flow statements in CSHTML pages. For example, the following is not allowed:
|
||||
|
||||
@if(isLoggedIn)
|
||||
<p>Hello, @user</p>
|
||||
|
||||
Instead, wrap the contents of the block in "{}":
|
||||
|
||||
@if(isLoggedIn) {
|
||||
<p>Hello, @user</p>
|
||||
}
|
||||
(1,49): Error RZ1008: Expected a "{" but found a "<". Block statements must be enclosed in "{" and "}". You cannot use single-statement control-flow statements in CSHTML pages. For example, the following is not allowed:
|
||||
|
||||
@if(isLoggedIn)
|
||||
<p>Hello, @user</p>
|
||||
|
||||
Instead, wrap the contents of the block in "{}":
|
||||
|
||||
@if(isLoggedIn) {
|
||||
<p>Hello, @user</p>
|
||||
}
|
||||
|
|
@ -0,0 +1,66 @@
|
|||
Statement block - Gen<None> - 58 - (0:0,0)
|
||||
Code span - Gen<Stmt> - [if(foo) ] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:5
|
||||
CSharpSymbolType.Keyword;[if];
|
||||
CSharpSymbolType.LeftParenthesis;[(];
|
||||
CSharpSymbolType.Identifier;[foo];
|
||||
CSharpSymbolType.RightParenthesis;[)];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
Markup block - Gen<None> - 11 - (8:0,8)
|
||||
Tag block - Gen<None> - 3 - (8:0,8)
|
||||
Markup span - Gen<Markup> - [<p>] - SpanEditHandler;Accepts:None - (8:0,8) - Symbols:3
|
||||
HtmlSymbolType.OpenAngle;[<];
|
||||
HtmlSymbolType.Text;[p];
|
||||
HtmlSymbolType.CloseAngle;[>];
|
||||
Markup span - Gen<Markup> - [Bar] - SpanEditHandler;Accepts:Any - (11:0,11) - Symbols:1
|
||||
HtmlSymbolType.Text;[Bar];
|
||||
Tag block - Gen<None> - 4 - (14:0,14)
|
||||
Markup span - Gen<Markup> - [</p>] - SpanEditHandler;Accepts:None - (14:0,14) - Symbols:4
|
||||
HtmlSymbolType.OpenAngle;[<];
|
||||
HtmlSymbolType.ForwardSlash;[/];
|
||||
HtmlSymbolType.Text;[p];
|
||||
HtmlSymbolType.CloseAngle;[>];
|
||||
Markup span - Gen<Markup> - [ ] - SpanEditHandler;Accepts:None - (18:0,18) - Symbols:1
|
||||
HtmlSymbolType.WhiteSpace;[ ];
|
||||
Code span - Gen<Stmt> - [else if(bar) ] - SpanEditHandler;Accepts:Any - (19:0,19) - Symbols:7
|
||||
CSharpSymbolType.Keyword;[else];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Keyword;[if];
|
||||
CSharpSymbolType.LeftParenthesis;[(];
|
||||
CSharpSymbolType.Identifier;[bar];
|
||||
CSharpSymbolType.RightParenthesis;[)];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
Markup block - Gen<None> - 11 - (32:0,32)
|
||||
Tag block - Gen<None> - 3 - (32:0,32)
|
||||
Markup span - Gen<Markup> - [<p>] - SpanEditHandler;Accepts:None - (32:0,32) - Symbols:3
|
||||
HtmlSymbolType.OpenAngle;[<];
|
||||
HtmlSymbolType.Text;[p];
|
||||
HtmlSymbolType.CloseAngle;[>];
|
||||
Markup span - Gen<Markup> - [Baz] - SpanEditHandler;Accepts:Any - (35:0,35) - Symbols:1
|
||||
HtmlSymbolType.Text;[Baz];
|
||||
Tag block - Gen<None> - 4 - (38:0,38)
|
||||
Markup span - Gen<Markup> - [</p>] - SpanEditHandler;Accepts:None - (38:0,38) - Symbols:4
|
||||
HtmlSymbolType.OpenAngle;[<];
|
||||
HtmlSymbolType.ForwardSlash;[/];
|
||||
HtmlSymbolType.Text;[p];
|
||||
HtmlSymbolType.CloseAngle;[>];
|
||||
Markup span - Gen<Markup> - [ ] - SpanEditHandler;Accepts:None - (42:0,42) - Symbols:1
|
||||
HtmlSymbolType.WhiteSpace;[ ];
|
||||
Code span - Gen<Stmt> - [else ] - SpanEditHandler;Accepts:Any - (43:0,43) - Symbols:2
|
||||
CSharpSymbolType.Keyword;[else];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
Markup block - Gen<None> - 10 - (48:0,48)
|
||||
Tag block - Gen<None> - 3 - (48:0,48)
|
||||
Markup span - Gen<Markup> - [<p>] - SpanEditHandler;Accepts:None - (48:0,48) - Symbols:3
|
||||
HtmlSymbolType.OpenAngle;[<];
|
||||
HtmlSymbolType.Text;[p];
|
||||
HtmlSymbolType.CloseAngle;[>];
|
||||
Markup span - Gen<Markup> - [Boz] - SpanEditHandler;Accepts:Any - (51:0,51) - Symbols:1
|
||||
HtmlSymbolType.Text;[Boz];
|
||||
Tag block - Gen<None> - 4 - (54:0,54)
|
||||
Markup span - Gen<Markup> - [</p>] - SpanEditHandler;Accepts:None - (54:0,54) - Symbols:4
|
||||
HtmlSymbolType.OpenAngle;[<];
|
||||
HtmlSymbolType.ForwardSlash;[/];
|
||||
HtmlSymbolType.Text;[p];
|
||||
HtmlSymbolType.CloseAngle;[>];
|
||||
Code span - Gen<Stmt> - [] - SpanEditHandler;Accepts:Any - (58:0,58) - Symbols:1
|
||||
CSharpSymbolType.Unknown;[];
|
||||
|
|
@ -0,0 +1 @@
|
|||
(1,3): Error RZ1027: An opening "(" is missing the corresponding closing ")".
|
||||
|
|
@ -0,0 +1,28 @@
|
|||
Statement block - Gen<None> - 24 - (0:0,0)
|
||||
Code span - Gen<Stmt> - [if(LFelse {] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:6
|
||||
CSharpSymbolType.Keyword;[if];
|
||||
CSharpSymbolType.LeftParenthesis;[(];
|
||||
CSharpSymbolType.NewLine;[LF];
|
||||
CSharpSymbolType.Keyword;[else];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.LeftBrace;[{];
|
||||
Markup block - Gen<None> - 12 - (11:1,6)
|
||||
Markup span - Gen<Markup> - [ ] - SpanEditHandler;Accepts:Any - (11:1,6) - Symbols:1
|
||||
HtmlSymbolType.WhiteSpace;[ ];
|
||||
Tag block - Gen<None> - 3 - (12:1,7)
|
||||
Markup span - Gen<Markup> - [<p>] - SpanEditHandler;Accepts:None - (12:1,7) - Symbols:3
|
||||
HtmlSymbolType.OpenAngle;[<];
|
||||
HtmlSymbolType.Text;[p];
|
||||
HtmlSymbolType.CloseAngle;[>];
|
||||
Markup span - Gen<Markup> - [Foo] - SpanEditHandler;Accepts:Any - (15:1,10) - Symbols:1
|
||||
HtmlSymbolType.Text;[Foo];
|
||||
Tag block - Gen<None> - 4 - (18:1,13)
|
||||
Markup span - Gen<Markup> - [</p>] - SpanEditHandler;Accepts:None - (18:1,13) - Symbols:4
|
||||
HtmlSymbolType.OpenAngle;[<];
|
||||
HtmlSymbolType.ForwardSlash;[/];
|
||||
HtmlSymbolType.Text;[p];
|
||||
HtmlSymbolType.CloseAngle;[>];
|
||||
Markup span - Gen<Markup> - [ ] - SpanEditHandler;Accepts:None - (22:1,17) - Symbols:1
|
||||
HtmlSymbolType.WhiteSpace;[ ];
|
||||
Code span - Gen<Stmt> - [}] - SpanEditHandler;Accepts:None - (23:1,18) - Symbols:1
|
||||
CSharpSymbolType.RightBrace;[}];
|
||||
|
|
@ -0,0 +1 @@
|
|||
(1,4): Error RZ1027: An opening "[" is missing the corresponding closing "]".
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
Expression block - Gen<Expr> - 22 - (0:0,0)
|
||||
Code span - Gen<Expr> - [Foo[Bar[Baz]LFBizLFBoz] - ImplicitExpressionEditHandler;Accepts:Any;ImplicitExpression[RTD];K14 - (0:0,0) - Symbols:10
|
||||
CSharpSymbolType.Identifier;[Foo];
|
||||
CSharpSymbolType.LeftBracket;[[];
|
||||
CSharpSymbolType.Identifier;[Bar];
|
||||
CSharpSymbolType.LeftBracket;[[];
|
||||
CSharpSymbolType.Identifier;[Baz];
|
||||
CSharpSymbolType.RightBracket;[]];
|
||||
CSharpSymbolType.NewLine;[LF];
|
||||
CSharpSymbolType.Identifier;[Biz];
|
||||
CSharpSymbolType.NewLine;[LF];
|
||||
CSharpSymbolType.Identifier;[Boz];
|
||||
|
|
@ -0,0 +1 @@
|
|||
(1,1): Error RZ1006: The explicit expression block is missing a closing ")" character. Make sure you have a matching ")" character for all the "(" characters within this block, and that none of the ")" characters are being interpreted as markup.
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
Expression block - Gen<Expr> - 13 - (0:0,0)
|
||||
MetaCode span - Gen<None> - [(] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
|
||||
CSharpSymbolType.LeftParenthesis;[(];
|
||||
Code span - Gen<Expr> - [foo barLFbaz] - SpanEditHandler;Accepts:Any - (1:0,1) - Symbols:5
|
||||
CSharpSymbolType.Identifier;[foo];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Identifier;[bar];
|
||||
CSharpSymbolType.NewLine;[LF];
|
||||
CSharpSymbolType.Identifier;[baz];
|
||||
|
|
@ -0,0 +1 @@
|
|||
(1,4): Error RZ1027: An opening "(" is missing the corresponding closing ")".
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
Expression block - Gen<Expr> - 22 - (0:0,0)
|
||||
Code span - Gen<Expr> - [Foo(Bar(Baz)LFBizLFBoz] - ImplicitExpressionEditHandler;Accepts:Any;ImplicitExpression[RTD];K14 - (0:0,0) - Symbols:10
|
||||
CSharpSymbolType.Identifier;[Foo];
|
||||
CSharpSymbolType.LeftParenthesis;[(];
|
||||
CSharpSymbolType.Identifier;[Bar];
|
||||
CSharpSymbolType.LeftParenthesis;[(];
|
||||
CSharpSymbolType.Identifier;[Baz];
|
||||
CSharpSymbolType.RightParenthesis;[)];
|
||||
CSharpSymbolType.NewLine;[LF];
|
||||
CSharpSymbolType.Identifier;[Biz];
|
||||
CSharpSymbolType.NewLine;[LF];
|
||||
CSharpSymbolType.Identifier;[Boz];
|
||||
|
|
@ -0,0 +1 @@
|
|||
(1,4): Error RZ1027: An opening "[" is missing the corresponding closing "]".
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
Expression block - Gen<Expr> - 19 - (0:0,0)
|
||||
Code span - Gen<Expr> - [Foo[Bar[Baz]LFBizLF] - ImplicitExpressionEditHandler;Accepts:Any;ImplicitExpression[RTD];K14 - (0:0,0) - Symbols:9
|
||||
CSharpSymbolType.Identifier;[Foo];
|
||||
CSharpSymbolType.LeftBracket;[[];
|
||||
CSharpSymbolType.Identifier;[Bar];
|
||||
CSharpSymbolType.LeftBracket;[[];
|
||||
CSharpSymbolType.Identifier;[Baz];
|
||||
CSharpSymbolType.RightBracket;[]];
|
||||
CSharpSymbolType.NewLine;[LF];
|
||||
CSharpSymbolType.Identifier;[Biz];
|
||||
CSharpSymbolType.NewLine;[LF];
|
||||
|
|
@ -0,0 +1 @@
|
|||
(1,1): Error RZ1006: The explicit expression block is missing a closing ")" character. Make sure you have a matching ")" character for all the "(" characters within this block, and that none of the ")" characters are being interpreted as markup.
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
Expression block - Gen<Expr> - 10 - (0:0,0)
|
||||
MetaCode span - Gen<None> - [(] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
|
||||
CSharpSymbolType.LeftParenthesis;[(];
|
||||
Code span - Gen<Expr> - [foo barLF] - SpanEditHandler;Accepts:Any - (1:0,1) - Symbols:4
|
||||
CSharpSymbolType.Identifier;[foo];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Identifier;[bar];
|
||||
CSharpSymbolType.NewLine;[LF];
|
||||
|
|
@ -0,0 +1 @@
|
|||
(1,4): Error RZ1027: An opening "(" is missing the corresponding closing ")".
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
Expression block - Gen<Expr> - 19 - (0:0,0)
|
||||
Code span - Gen<Expr> - [Foo(Bar(Baz)LFBizLF] - ImplicitExpressionEditHandler;Accepts:Any;ImplicitExpression[RTD];K14 - (0:0,0) - Symbols:9
|
||||
CSharpSymbolType.Identifier;[Foo];
|
||||
CSharpSymbolType.LeftParenthesis;[(];
|
||||
CSharpSymbolType.Identifier;[Bar];
|
||||
CSharpSymbolType.LeftParenthesis;[(];
|
||||
CSharpSymbolType.Identifier;[Baz];
|
||||
CSharpSymbolType.RightParenthesis;[)];
|
||||
CSharpSymbolType.NewLine;[LF];
|
||||
CSharpSymbolType.Identifier;[Biz];
|
||||
CSharpSymbolType.NewLine;[LF];
|
||||
|
|
@ -0,0 +1 @@
|
|||
(1,8): Error RZ1027: An opening "(" is missing the corresponding closing ")".
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
Statement block - Gen<None> - 17 - (0:0,0)
|
||||
Code span - Gen<Stmt> - [foreach(foo barLF] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:6
|
||||
CSharpSymbolType.Keyword;[foreach];
|
||||
CSharpSymbolType.LeftParenthesis;[(];
|
||||
CSharpSymbolType.Identifier;[foo];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Identifier;[bar];
|
||||
CSharpSymbolType.NewLine;[LF];
|
||||
|
|
@ -0,0 +1 @@
|
|||
(1,3): Error RZ1027: An opening "(" is missing the corresponding closing ")".
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
Statement block - Gen<None> - 12 - (0:0,0)
|
||||
Code span - Gen<Stmt> - [if(foo barLF] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:6
|
||||
CSharpSymbolType.Keyword;[if];
|
||||
CSharpSymbolType.LeftParenthesis;[(];
|
||||
CSharpSymbolType.Identifier;[foo];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Identifier;[bar];
|
||||
CSharpSymbolType.NewLine;[LF];
|
||||
|
|
@ -0,0 +1 @@
|
|||
(2,13): Error RZ1000: Unterminated string literal. Strings that start with a quotation mark (") must be terminated before the end of the line. However, strings that start with @ and a quotation mark (@") can span multiple lines.
|
||||
|
|
@ -0,0 +1,21 @@
|
|||
Statement block - Gen<None> - 41 - (0:0,0)
|
||||
Code span - Gen<Stmt> - [if(foo) {LF var p = "foo bar bazLF;LF}] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:19
|
||||
CSharpSymbolType.Keyword;[if];
|
||||
CSharpSymbolType.LeftParenthesis;[(];
|
||||
CSharpSymbolType.Identifier;[foo];
|
||||
CSharpSymbolType.RightParenthesis;[)];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.LeftBrace;[{];
|
||||
CSharpSymbolType.NewLine;[LF];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Identifier;[var];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Identifier;[p];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Assign;[=];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.StringLiteral;["foo bar baz];RZ1000(23:1,12 [1] )
|
||||
CSharpSymbolType.NewLine;[LF];
|
||||
CSharpSymbolType.Semicolon;[;];
|
||||
CSharpSymbolType.NewLine;[LF];
|
||||
CSharpSymbolType.RightBrace;[}];
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
(1,21): Error RZ1000: Unterminated string literal. Strings that start with a quotation mark (") must be terminated before the end of the line. However, strings that start with @ and a quotation mark (@") can span multiple lines.
|
||||
(1,1): Error RZ1006: The if block is missing a closing "}" character. Make sure you have a matching "}" character for all the "{" characters within this block, and that none of the "}" characters are being interpreted as markup.
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
Statement block - Gen<None> - 45 - (0:0,0)
|
||||
Code span - Gen<Stmt> - [if(foo) { var foo = "blah blah blah blah blah] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:14
|
||||
CSharpSymbolType.Keyword;[if];
|
||||
CSharpSymbolType.LeftParenthesis;[(];
|
||||
CSharpSymbolType.Identifier;[foo];
|
||||
CSharpSymbolType.RightParenthesis;[)];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.LeftBrace;[{];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Identifier;[var];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Identifier;[foo];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Assign;[=];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.StringLiteral;["blah blah blah blah blah];RZ1000(20:0,20 [1] )
|
||||
|
|
@ -0,0 +1 @@
|
|||
(1,6): Error RZ1027: An opening "(" is missing the corresponding closing ")".
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
Statement block - Gen<None> - 15 - (0:0,0)
|
||||
Code span - Gen<Stmt> - [using(foo barLF] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:6
|
||||
CSharpSymbolType.Keyword;[using];
|
||||
CSharpSymbolType.LeftParenthesis;[(];
|
||||
CSharpSymbolType.Identifier;[foo];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Identifier;[bar];
|
||||
CSharpSymbolType.NewLine;[LF];
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
(1,21): Error RZ1000: Unterminated string literal. Strings that start with a quotation mark (") must be terminated before the end of the line. However, strings that start with @ and a quotation mark (@") can span multiple lines.
|
||||
(1,1): Error RZ1006: The if block is missing a closing "}" character. Make sure you have a matching "}" character for all the "{" characters within this block, and that none of the "}" characters are being interpreted as markup.
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
Statement block - Gen<None> - 60 - (0:0,0)
|
||||
Code span - Gen<Stmt> - [if(foo) { var foo = @"blah LFblah; LF<p>Foo</p>LFblah LFblah] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:14
|
||||
CSharpSymbolType.Keyword;[if];
|
||||
CSharpSymbolType.LeftParenthesis;[(];
|
||||
CSharpSymbolType.Identifier;[foo];
|
||||
CSharpSymbolType.RightParenthesis;[)];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.LeftBrace;[{];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Identifier;[var];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Identifier;[foo];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Assign;[=];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.StringLiteral;[@"blah LFblah; LF<p>Foo</p>LFblah LFblah];RZ1000(20:0,20 [1] )
|
||||
|
|
@ -0,0 +1 @@
|
|||
(1,13): Error RZ1027: An opening "(" is missing the corresponding closing ")".
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
Statement block - Gen<None> - 22 - (0:0,0)
|
||||
Code span - Gen<Stmt> - [do { } while(foo barLF] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:12
|
||||
CSharpSymbolType.Keyword;[do];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.LeftBrace;[{];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.RightBrace;[}];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Keyword;[while];
|
||||
CSharpSymbolType.LeftParenthesis;[(];
|
||||
CSharpSymbolType.Identifier;[foo];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.Identifier;[bar];
|
||||
CSharpSymbolType.NewLine;[LF];
|
||||
|
|
@ -0,0 +1 @@
|
|||
(1,2): Error RZ1002: The helper directive is not supported.
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
Expression block - Gen<Expr> - 7 - (0:0,0)
|
||||
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
|
||||
CSharpSymbolType.Transition;[@];
|
||||
Code span - Gen<Expr> - [helper] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (1:0,1) - Symbols:1
|
||||
CSharpSymbolType.Identifier;[helper];
|
||||
|
|
@ -0,0 +1 @@
|
|||
(1,8): Error RZ1010: Unexpected "{" after "@" character. Once inside the body of a code block (@if {}, @{}, etc.) you do not need to use "@{" to switch to code.
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
Statement block - Gen<None> - 11 - (0:0,0)
|
||||
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
|
||||
CSharpSymbolType.Transition;[@];
|
||||
Code span - Gen<Stmt> - [if { ] - SpanEditHandler;Accepts:Any - (1:0,1) - Symbols:4
|
||||
CSharpSymbolType.Keyword;[if];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.LeftBrace;[{];
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
Statement block - Gen<None> - 3 - (6:0,6)
|
||||
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (6:0,6) - Symbols:1
|
||||
CSharpSymbolType.Transition;[@];
|
||||
MetaCode span - Gen<None> - [{] - SpanEditHandler;Accepts:None - (7:0,7) - Symbols:1
|
||||
CSharpSymbolType.LeftBrace;[{];
|
||||
Code span - Gen<Stmt> - [] - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[<null>];AtEOL - (8:0,8) - Symbols:1
|
||||
CSharpSymbolType.Unknown;[];
|
||||
MetaCode span - Gen<None> - [}] - SpanEditHandler;Accepts:None - (8:0,8) - Symbols:1
|
||||
CSharpSymbolType.RightBrace;[}];
|
||||
Code span - Gen<Stmt> - [ }] - SpanEditHandler;Accepts:Any - (9:0,9) - Symbols:2
|
||||
CSharpSymbolType.WhiteSpace;[ ];
|
||||
CSharpSymbolType.RightBrace;[}];
|
||||
|
|
@ -16,6 +16,7 @@ using System.Threading;
|
|||
using System.Text;
|
||||
using Xunit;
|
||||
using Xunit.Sdk;
|
||||
using System.Text.RegularExpressions;
|
||||
|
||||
namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
||||
{
|
||||
|
|
@ -112,7 +113,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
|||
File.WriteAllText(baselineFullPath, SyntaxTreeNodeSerializer.Serialize(root));
|
||||
|
||||
var baselineDiagnosticsFullPath = Path.Combine(TestProjectRoot, baselineDiagnosticsFileName);
|
||||
var lines = diagnostics.Select(RazorDiagnosticSerializer.Serialize).ToArray();
|
||||
var lines = diagnostics.Select(SerializeDiagnostic).ToArray();
|
||||
if (lines.Any())
|
||||
{
|
||||
File.WriteAllLines(baselineDiagnosticsFullPath, lines);
|
||||
|
|
@ -141,10 +142,23 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
|
|||
baselineDiagnostics = diagnosticsFile.ReadAllText();
|
||||
}
|
||||
|
||||
var actualDiagnostics = string.Concat(diagnostics.Select(d => RazorDiagnosticSerializer.Serialize(d) + "\r\n"));
|
||||
var actualDiagnostics = string.Concat(diagnostics.Select(d => SerializeDiagnostic(d) + "\r\n"));
|
||||
Assert.Equal(baselineDiagnostics, actualDiagnostics);
|
||||
}
|
||||
|
||||
private static string SerializeDiagnostic(RazorDiagnostic diagnostic)
|
||||
{
|
||||
var content = RazorDiagnosticSerializer.Serialize(diagnostic);
|
||||
var normalized = NormalizeNewLines(content);
|
||||
|
||||
return normalized;
|
||||
}
|
||||
|
||||
private static string NormalizeNewLines(string content)
|
||||
{
|
||||
return Regex.Replace(content, "(?<!\r)\n", "\r\n", RegexOptions.None, TimeSpan.FromSeconds(10));
|
||||
}
|
||||
|
||||
internal RazorSyntaxTree ParseBlock(string document, bool designTime)
|
||||
{
|
||||
return ParseBlock(RazorLanguageVersion.Latest, document, designTime);
|
||||
|
|
|
|||
Loading…
Reference in New Issue