Convert CSharpImplicitExpressionTest

This commit is contained in:
Ajay Bhargav Baaskaran 2018-06-27 12:14:24 -07:00
parent d48946c2e0
commit df22392996
66 changed files with 803 additions and 140 deletions

View File

@ -101,8 +101,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
[Fact]
public void ParseBlockTerminatesParenBalancingAtEOF()
{
ImplicitExpressionTest(
"Html.En(code()", "Html.En(code()");
ImplicitExpressionTest("Html.En(code()");
}
[Fact]

View File

@ -1,146 +1,249 @@
// Copyright (c) .NET Foundation. All rights reserved.
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using System;
using Xunit;
namespace Microsoft.AspNetCore.Razor.Language.Legacy
{
public class CSharpImplicitExpressionTest : CsHtmlCodeParserTestBase
{
private const string TestExtraKeyword = "model";
public static TheoryData NullConditionalOperatorData_Bracket
public CSharpImplicitExpressionTest()
{
get
{
var noErrors = new RazorDiagnostic[0];
Func<int, RazorDiagnostic[]> missingEndBracketError = (index) =>
new RazorDiagnostic[1]
{
RazorDiagnosticFactory.CreateParsing_ExpectedCloseBracketBeforeEOF(
new SourceSpan(new SourceLocation(index, 0, index), contentLength: 1), "[", "]"),
};
// implicitExpression, expectedImplicitExpression, acceptedCharacters, expectedErrors
return new TheoryData<string, string, AcceptedCharactersInternal, RazorDiagnostic[]>
{
{ "val??[", "val", AcceptedCharactersInternal.NonWhiteSpace, noErrors },
{ "val??[0", "val", AcceptedCharactersInternal.NonWhiteSpace, noErrors },
{ "val?[", "val?[", AcceptedCharactersInternal.Any, missingEndBracketError(5) },
{ "val?(", "val", AcceptedCharactersInternal.NonWhiteSpace, noErrors },
{ "val?[more", "val?[more", AcceptedCharactersInternal.Any, missingEndBracketError(5) },
{ "val?[0]", "val?[0]", AcceptedCharactersInternal.NonWhiteSpace, noErrors },
{ "val?[<p>", "val?[", AcceptedCharactersInternal.Any, missingEndBracketError(5) },
{ "val?[more.<p>", "val?[more.", AcceptedCharactersInternal.Any, missingEndBracketError(5) },
{ "val??[more<p>", "val", AcceptedCharactersInternal.NonWhiteSpace, noErrors },
{ "val?[-1]?", "val?[-1]", AcceptedCharactersInternal.NonWhiteSpace, noErrors },
{ "val?[abc]?[def", "val?[abc]?[def", AcceptedCharactersInternal.Any, missingEndBracketError(11) },
{ "val?[abc]?[2]", "val?[abc]?[2]", AcceptedCharactersInternal.NonWhiteSpace, noErrors },
{ "val?[abc]?.more?[def]", "val?[abc]?.more?[def]", AcceptedCharactersInternal.NonWhiteSpace, noErrors },
{ "val?[abc]?.more?.abc", "val?[abc]?.more?.abc", AcceptedCharactersInternal.NonWhiteSpace, noErrors },
{ "val?[null ?? true]", "val?[null ?? true]", AcceptedCharactersInternal.NonWhiteSpace, noErrors },
{ "val?[abc?.gef?[-1]]", "val?[abc?.gef?[-1]]", AcceptedCharactersInternal.NonWhiteSpace, noErrors },
};
}
UseBaselineTests = true;
}
[Theory]
[MemberData(nameof(NullConditionalOperatorData_Bracket))]
public void ParseBlockMethodParsesNullConditionalOperatorImplicitExpression_Bracket(
string implicitExpresison,
string expectedImplicitExpression,
object acceptedCharacters,
object expectedErrors)
[Fact]
public void ParseBlockMethodParsesNullConditionalOperatorImplicitExpression_Bracket1()
{
// Act & Assert
ImplicitExpressionTest(
implicitExpresison,
expectedImplicitExpression,
(AcceptedCharactersInternal)acceptedCharacters,
(RazorDiagnostic[])expectedErrors);
ImplicitExpressionTest("val??[");
}
public static TheoryData NullConditionalOperatorData_Dot
{
get
{
// implicitExpression, expectedImplicitExpression
return new TheoryData<string, string>
{
{ "val?", "val" },
{ "val??", "val" },
{ "val??more", "val" },
{ "val?!", "val" },
{ "val?.", "val?." },
{ "val??.", "val" },
{ "val?.(abc)", "val?." },
{ "val?.<p>", "val?." },
{ "val?.more", "val?.more" },
{ "val?.more<p>", "val?.more" },
{ "val??.more<p>", "val" },
{ "val?.more(false)?.<p>", "val?.more(false)?." },
{ "val?.more(false)?.abc", "val?.more(false)?.abc" },
{ "val?.more(null ?? true)?.abc", "val?.more(null ?? true)?.abc" },
};
}
}
[Theory]
[MemberData(nameof(NullConditionalOperatorData_Dot))]
public void ParseBlockMethodParsesNullConditionalOperatorImplicitExpression_Dot(
string implicitExpresison,
string expectedImplicitExpression)
[Fact]
public void ParseBlockMethodParsesNullConditionalOperatorImplicitExpression_Bracket2()
{
// Act & Assert
ImplicitExpressionTest(implicitExpresison, expectedImplicitExpression);
ImplicitExpressionTest("val??[0");
}
[Fact]
public void ParseBlockMethodParsesNullConditionalOperatorImplicitExpression_Bracket3()
{
// Act & Assert
ImplicitExpressionTest("val?[");
}
[Fact]
public void ParseBlockMethodParsesNullConditionalOperatorImplicitExpression_Bracket4()
{
// Act & Assert
ImplicitExpressionTest("val?(");
}
[Fact]
public void ParseBlockMethodParsesNullConditionalOperatorImplicitExpression_Bracket5()
{
// Act & Assert
ImplicitExpressionTest("val?[more");
}
[Fact]
public void ParseBlockMethodParsesNullConditionalOperatorImplicitExpression_Bracket6()
{
// Act & Assert
ImplicitExpressionTest("val?[0]");
}
[Fact]
public void ParseBlockMethodParsesNullConditionalOperatorImplicitExpression_Bracket7()
{
// Act & Assert
ImplicitExpressionTest("val?[<p>");
}
[Fact]
public void ParseBlockMethodParsesNullConditionalOperatorImplicitExpression_Bracket8()
{
// Act & Assert
ImplicitExpressionTest("val?[more.<p>");
}
[Fact]
public void ParseBlockMethodParsesNullConditionalOperatorImplicitExpression_Bracket9()
{
// Act & Assert
ImplicitExpressionTest("val??[more<p>");
}
[Fact]
public void ParseBlockMethodParsesNullConditionalOperatorImplicitExpression_Bracket10()
{
// Act & Assert
ImplicitExpressionTest("val?[-1]?");
}
[Fact]
public void ParseBlockMethodParsesNullConditionalOperatorImplicitExpression_Bracket11()
{
// Act & Assert
ImplicitExpressionTest("val?[abc]?[def");
}
[Fact]
public void ParseBlockMethodParsesNullConditionalOperatorImplicitExpression_Bracket12()
{
// Act & Assert
ImplicitExpressionTest("val?[abc]?[2]");
}
[Fact]
public void ParseBlockMethodParsesNullConditionalOperatorImplicitExpression_Bracket13()
{
// Act & Assert
ImplicitExpressionTest("val?[abc]?.more?[def]");
}
[Fact]
public void ParseBlockMethodParsesNullConditionalOperatorImplicitExpression_Bracket14()
{
// Act & Assert
ImplicitExpressionTest("val?[abc]?.more?.abc");
}
[Fact]
public void ParseBlockMethodParsesNullConditionalOperatorImplicitExpression_Bracket15()
{
// Act & Assert
ImplicitExpressionTest("val?[null ?? true]");
}
[Fact]
public void ParseBlockMethodParsesNullConditionalOperatorImplicitExpression_Bracket16()
{
// Act & Assert
ImplicitExpressionTest("val?[abc?.gef?[-1]]");
}
[Fact]
public void ParseBlockMethodParsesNullConditionalOperatorImplicitExpression_Dot1()
{
// Act & Assert
ImplicitExpressionTest("val?");
}
[Fact]
public void ParseBlockMethodParsesNullConditionalOperatorImplicitExpression_Dot2()
{
// Act & Assert
ImplicitExpressionTest("val??");
}
[Fact]
public void ParseBlockMethodParsesNullConditionalOperatorImplicitExpression_Dot3()
{
// Act & Assert
ImplicitExpressionTest("val??more");
}
[Fact]
public void ParseBlockMethodParsesNullConditionalOperatorImplicitExpression_Dot4()
{
// Act & Assert
ImplicitExpressionTest("val?!");
}
[Fact]
public void ParseBlockMethodParsesNullConditionalOperatorImplicitExpression_Dot5()
{
// Act & Assert
ImplicitExpressionTest("val?.");
}
[Fact]
public void ParseBlockMethodParsesNullConditionalOperatorImplicitExpression_Dot6()
{
// Act & Assert
ImplicitExpressionTest("val??.");
}
[Fact]
public void ParseBlockMethodParsesNullConditionalOperatorImplicitExpression_Dot7()
{
// Act & Assert
ImplicitExpressionTest("val?.(abc)");
}
[Fact]
public void ParseBlockMethodParsesNullConditionalOperatorImplicitExpression_Dot8()
{
// Act & Assert
ImplicitExpressionTest("val?.<p>");
}
[Fact]
public void ParseBlockMethodParsesNullConditionalOperatorImplicitExpression_Dot9()
{
// Act & Assert
ImplicitExpressionTest("val?.more");
}
[Fact]
public void ParseBlockMethodParsesNullConditionalOperatorImplicitExpression_Dot10()
{
// Act & Assert
ImplicitExpressionTest("val?.more<p>");
}
[Fact]
public void ParseBlockMethodParsesNullConditionalOperatorImplicitExpression_Dot11()
{
// Act & Assert
ImplicitExpressionTest("val??.more<p>");
}
[Fact]
public void ParseBlockMethodParsesNullConditionalOperatorImplicitExpression_Dot12()
{
// Act & Assert
ImplicitExpressionTest("val?.more(false)?.<p>");
}
[Fact]
public void ParseBlockMethodParsesNullConditionalOperatorImplicitExpression_Dot13()
{
// Act & Assert
ImplicitExpressionTest("val?.more(false)?.abc");
}
[Fact]
public void ParseBlockMethodParsesNullConditionalOperatorImplicitExpression_Dot14()
{
// Act & Assert
ImplicitExpressionTest("val?.more(null ?? true)?.abc");
}
[Fact]
public void NestedImplicitExpression()
{
ParseBlockTest("if (true) { @foo }",
new StatementBlock(
Factory.Code("if (true) { ").AsStatement(),
new ExpressionBlock(
Factory.CodeTransition(),
Factory.Code("foo")
.AsImplicitExpression(CSharpCodeParser.DefaultKeywords, acceptTrailingDot: true)
.Accepts(AcceptedCharactersInternal.NonWhiteSpace)),
Factory.Code(" }").AsStatement()));
ParseBlockTest("if (true) { @foo }");
}
[Fact]
public void ParseBlockAcceptsNonEnglishCharactersThatAreValidIdentifiers()
{
ImplicitExpressionTest("हळूँजद॔.", "हळूँजद॔");
ImplicitExpressionTest("हळूँजद॔.");
}
[Fact]
public void ParseBlockOutputsZeroLengthCodeSpanIfInvalidCharacterFollowsTransition()
{
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 ParseBlockOutputsZeroLengthCodeSpanIfEOFOccursAfterTransition()
{
ParseBlockTest("@",
new ExpressionBlock(
Factory.CodeTransition(),
Factory.EmptyCSharp()
.AsImplicitExpression(KeywordSet)
.Accepts(AcceptedCharactersInternal.NonWhiteSpace)),
RazorDiagnosticFactory.CreateParsing_UnexpectedEndOfFileAtStartOfCodeBlock(
new SourceSpan(new SourceLocation(1, 0, 1), contentLength: 1)));
ParseBlockTest("@");
}
[Fact]
@ -158,7 +261,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
[Fact]
public void ParseBlockMethodDoesNotAcceptSemicolonIfExpressionTerminatedByWhitespace()
{
ImplicitExpressionTest("foo ;", "foo");
ImplicitExpressionTest("foo ;");
}
[Fact]
@ -182,26 +285,31 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
[Fact]
public void ParseBlockMethodDoesNotIncludeDotAtEOFInImplicitExpression()
{
ImplicitExpressionTest("foo.bar.", "foo.bar");
ImplicitExpressionTest("foo.bar.");
}
[Fact]
public void ParseBlockMethodDoesNotIncludeDotFollowedByInvalidIdentifierCharacterInImplicitExpression()
public void ParseBlockMethodDoesNotIncludeDotFollowedByInvalidIdentifierCharacterInImplicitExpression1()
{
ImplicitExpressionTest("foo.bar.0", "foo.bar");
ImplicitExpressionTest("foo.bar.</p>", "foo.bar");
ImplicitExpressionTest("foo.bar.0");
}
[Fact]
public void ParseBlockMethodDoesNotIncludeDotFollowedByInvalidIdentifierCharacterInImplicitExpression2()
{
ImplicitExpressionTest("foo.bar.</p>");
}
[Fact]
public void ParseBlockMethodDoesNotIncludeSemicolonAfterDot()
{
ImplicitExpressionTest("foo.bar.;", "foo.bar");
ImplicitExpressionTest("foo.bar.;");
}
[Fact]
public void ParseBlockMethodTerminatesAfterIdentifierUnlessFollowedByDotOrParenInImplicitExpression()
{
ImplicitExpressionTest("foo.bar</p>", "foo.bar");
ImplicitExpressionTest("foo.bar</p>");
}
[Fact]
@ -219,47 +327,43 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
[Fact]
public void ParseBlockTerminatesImplicitExpressionAtHtmlEndTag()
{
ImplicitExpressionTest("foo().bar.baz</p>zoop", "foo().bar.baz");
ImplicitExpressionTest("foo().bar.baz</p>zoop");
}
[Fact]
public void ParseBlockTerminatesImplicitExpressionAtHtmlStartTag()
{
ImplicitExpressionTest("foo().bar.baz<p>zoop", "foo().bar.baz");
ImplicitExpressionTest("foo().bar.baz<p>zoop");
}
[Fact]
public void ParseBlockTerminatesImplicitExpressionBeforeDotIfDotNotFollowedByIdentifierStartCharacter()
{
ImplicitExpressionTest("foo().bar.baz.42", "foo().bar.baz");
ImplicitExpressionTest("foo().bar.baz.42");
}
[Fact]
public void ParseBlockStopsBalancingParenthesesAtEOF()
{
ImplicitExpressionTest(
"foo(()", "foo(()",
acceptedCharacters: AcceptedCharactersInternal.Any,
errors: RazorDiagnosticFactory.CreateParsing_ExpectedCloseBracketBeforeEOF(
new SourceSpan(new SourceLocation(4, 0, 4), contentLength: 1), "(", ")"));
ImplicitExpressionTest("foo(()");
}
[Fact]
public void ParseBlockTerminatesImplicitExpressionIfCloseParenFollowedByAnyWhiteSpace()
{
ImplicitExpressionTest("foo.bar() (baz)", "foo.bar()");
ImplicitExpressionTest("foo.bar() (baz)");
}
[Fact]
public void ParseBlockTerminatesImplicitExpressionIfIdentifierFollowedByAnyWhiteSpace()
{
ImplicitExpressionTest("foo .bar() (baz)", "foo");
ImplicitExpressionTest("foo .bar() (baz)");
}
[Fact]
public void ParseBlockTerminatesImplicitExpressionAtLastValidPointIfDotFollowedByWhitespace()
{
ImplicitExpressionTest("foo. bar() (baz)", "foo");
ImplicitExpressionTest("foo. bar() (baz)");
}
[Fact]
@ -270,13 +374,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
private void RunTrailingSemicolonTest(string expr)
{
ParseBlockTest(SyntaxConstants.TransitionString + expr + ";",
new ExpressionBlock(
Factory.CodeTransition(),
Factory.Code(expr)
.AsImplicitExpression(KeywordSet)
.Accepts(AcceptedCharactersInternal.NonWhiteSpace)
));
ParseBlockTest(SyntaxConstants.TransitionString + expr + ";");
}
}
}

View File

@ -66,14 +66,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
internal void ImplicitExpressionTest(string input, string expected, AcceptedCharactersInternal acceptedCharacters, params RazorDiagnostic[] errors)
{
var factory = CreateSpanFactory();
ParseBlockTest(SyntaxConstants.TransitionString + input,
new ExpressionBlock(
factory.CodeTransition(),
factory.Code(expected)
.AsImplicitExpression(KeywordSet)
.Accepts(acceptedCharacters)),
errors);
ParseBlockTest(SyntaxConstants.TransitionString + input);
}
}
}

View File

@ -0,0 +1,18 @@
Statement block - Gen<None> - 18 - (0:0,0)
Code span - Gen<Stmt> - [if (true) { ] - SpanEditHandler;Accepts:Any - (0:0,0) - Symbols:8
CSharpSymbolType.Keyword;[if];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.LeftParenthesis;[(];
CSharpSymbolType.Keyword;[true];
CSharpSymbolType.RightParenthesis;[)];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.LeftBrace;[{];
CSharpSymbolType.WhiteSpace;[ ];
Expression block - Gen<Expr> - 4 - (12:0,12)
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (12:0,12) - Symbols:1
CSharpSymbolType.Transition;[@];
Code span - Gen<Expr> - [foo] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[ATD];K14 - (13:0,13) - Symbols:1
CSharpSymbolType.Identifier;[foo];
Code span - Gen<Stmt> - [ }] - SpanEditHandler;Accepts:Any - (16:0,16) - Symbols:2
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.RightBrace;[}];

View File

@ -0,0 +1,5 @@
Expression block - Gen<Expr> - 8 - (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.Identifier;[हळूँजद॔];

View File

@ -0,0 +1,5 @@
Expression block - Gen<Expr> - 4 - (0:0,0)
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
CSharpSymbolType.Transition;[@];
Code span - Gen<Expr> - [foo] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (1:0,1) - Symbols:1
CSharpSymbolType.Identifier;[foo];

View File

@ -0,0 +1,7 @@
Expression block - Gen<Expr> - 8 - (0:0,0)
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
CSharpSymbolType.Transition;[@];
Code span - Gen<Expr> - [foo.bar] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (1:0,1) - Symbols:3
CSharpSymbolType.Identifier;[foo];
CSharpSymbolType.Dot;[.];
CSharpSymbolType.Identifier;[bar];

View File

@ -0,0 +1,7 @@
Expression block - Gen<Expr> - 8 - (0:0,0)
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
CSharpSymbolType.Transition;[@];
Code span - Gen<Expr> - [foo.bar] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (1:0,1) - Symbols:3
CSharpSymbolType.Identifier;[foo];
CSharpSymbolType.Dot;[.];
CSharpSymbolType.Identifier;[bar];

View File

@ -0,0 +1,7 @@
Expression block - Gen<Expr> - 8 - (0:0,0)
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
CSharpSymbolType.Transition;[@];
Code span - Gen<Expr> - [foo.bar] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (1:0,1) - Symbols:3
CSharpSymbolType.Identifier;[foo];
CSharpSymbolType.Dot;[.];
CSharpSymbolType.Identifier;[bar];

View File

@ -0,0 +1,7 @@
Expression block - Gen<Expr> - 8 - (0:0,0)
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
CSharpSymbolType.Transition;[@];
Code span - Gen<Expr> - [foo.bar] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (1:0,1) - Symbols:3
CSharpSymbolType.Identifier;[foo];
CSharpSymbolType.Dot;[.];
CSharpSymbolType.Identifier;[bar];

View File

@ -0,0 +1,9 @@
Expression block - Gen<Expr> - 12 - (0:0,0)
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
CSharpSymbolType.Transition;[@];
Code span - Gen<Expr> - [foo.bar.baz] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (1:0,1) - Symbols:5
CSharpSymbolType.Identifier;[foo];
CSharpSymbolType.Dot;[.];
CSharpSymbolType.Identifier;[bar];
CSharpSymbolType.Dot;[.];
CSharpSymbolType.Identifier;[baz];

View File

@ -0,0 +1,5 @@
Expression block - Gen<Expr> - 4 - (0:0,0)
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
CSharpSymbolType.Transition;[@];
Code span - Gen<Expr> - [foo] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (1:0,1) - Symbols:1
CSharpSymbolType.Identifier;[foo];

View File

@ -0,0 +1,9 @@
Expression block - Gen<Expr> - 12 - (0:0,0)
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
CSharpSymbolType.Transition;[@];
Code span - Gen<Expr> - [foo.bar.baz] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (1:0,1) - Symbols:5
CSharpSymbolType.Identifier;[foo];
CSharpSymbolType.Dot;[.];
CSharpSymbolType.Identifier;[bar];
CSharpSymbolType.Dot;[.];
CSharpSymbolType.Identifier;[baz];

View File

@ -0,0 +1,5 @@
Expression block - Gen<Expr> - 4 - (0:0,0)
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
CSharpSymbolType.Transition;[@];
Code span - Gen<Expr> - [val] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (1:0,1) - Symbols:1
CSharpSymbolType.Identifier;[val];

View File

@ -0,0 +1,10 @@
Expression block - Gen<Expr> - 9 - (0:0,0)
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
CSharpSymbolType.Transition;[@];
Code span - Gen<Expr> - [val?[-1]] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (1:0,1) - Symbols:6
CSharpSymbolType.Identifier;[val];
CSharpSymbolType.QuestionMark;[?];
CSharpSymbolType.LeftBracket;[[];
CSharpSymbolType.Minus;[-];
CSharpSymbolType.IntegerLiteral;[1];
CSharpSymbolType.RightBracket;[]];

View File

@ -0,0 +1,12 @@
Expression block - Gen<Expr> - 15 - (0:0,0)
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
CSharpSymbolType.Transition;[@];
Code span - Gen<Expr> - [val?[abc]?[def] - ImplicitExpressionEditHandler;Accepts:Any;ImplicitExpression[RTD];K14 - (1:0,1) - Symbols:8
CSharpSymbolType.Identifier;[val];
CSharpSymbolType.QuestionMark;[?];
CSharpSymbolType.LeftBracket;[[];
CSharpSymbolType.Identifier;[abc];
CSharpSymbolType.RightBracket;[]];
CSharpSymbolType.QuestionMark;[?];
CSharpSymbolType.LeftBracket;[[];
CSharpSymbolType.Identifier;[def];

View File

@ -0,0 +1,13 @@
Expression block - Gen<Expr> - 14 - (0:0,0)
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
CSharpSymbolType.Transition;[@];
Code span - Gen<Expr> - [val?[abc]?[2]] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (1:0,1) - Symbols:9
CSharpSymbolType.Identifier;[val];
CSharpSymbolType.QuestionMark;[?];
CSharpSymbolType.LeftBracket;[[];
CSharpSymbolType.Identifier;[abc];
CSharpSymbolType.RightBracket;[]];
CSharpSymbolType.QuestionMark;[?];
CSharpSymbolType.LeftBracket;[[];
CSharpSymbolType.IntegerLiteral;[2];
CSharpSymbolType.RightBracket;[]];

View File

@ -0,0 +1,16 @@
Expression block - Gen<Expr> - 22 - (0:0,0)
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
CSharpSymbolType.Transition;[@];
Code span - Gen<Expr> - [val?[abc]?.more?[def]] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (1:0,1) - Symbols:12
CSharpSymbolType.Identifier;[val];
CSharpSymbolType.QuestionMark;[?];
CSharpSymbolType.LeftBracket;[[];
CSharpSymbolType.Identifier;[abc];
CSharpSymbolType.RightBracket;[]];
CSharpSymbolType.QuestionMark;[?];
CSharpSymbolType.Dot;[.];
CSharpSymbolType.Identifier;[more];
CSharpSymbolType.QuestionMark;[?];
CSharpSymbolType.LeftBracket;[[];
CSharpSymbolType.Identifier;[def];
CSharpSymbolType.RightBracket;[]];

View File

@ -0,0 +1,15 @@
Expression block - Gen<Expr> - 21 - (0:0,0)
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
CSharpSymbolType.Transition;[@];
Code span - Gen<Expr> - [val?[abc]?.more?.abc] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (1:0,1) - Symbols:11
CSharpSymbolType.Identifier;[val];
CSharpSymbolType.QuestionMark;[?];
CSharpSymbolType.LeftBracket;[[];
CSharpSymbolType.Identifier;[abc];
CSharpSymbolType.RightBracket;[]];
CSharpSymbolType.QuestionMark;[?];
CSharpSymbolType.Dot;[.];
CSharpSymbolType.Identifier;[more];
CSharpSymbolType.QuestionMark;[?];
CSharpSymbolType.Dot;[.];
CSharpSymbolType.Identifier;[abc];

View File

@ -0,0 +1,13 @@
Expression block - Gen<Expr> - 19 - (0:0,0)
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
CSharpSymbolType.Transition;[@];
Code span - Gen<Expr> - [val?[null ?? true]] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (1:0,1) - Symbols:9
CSharpSymbolType.Identifier;[val];
CSharpSymbolType.QuestionMark;[?];
CSharpSymbolType.LeftBracket;[[];
CSharpSymbolType.Keyword;[null];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.NullCoalesce;[??];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.Keyword;[true];
CSharpSymbolType.RightBracket;[]];

View File

@ -0,0 +1,17 @@
Expression block - Gen<Expr> - 20 - (0:0,0)
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
CSharpSymbolType.Transition;[@];
Code span - Gen<Expr> - [val?[abc?.gef?[-1]]] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (1:0,1) - Symbols:13
CSharpSymbolType.Identifier;[val];
CSharpSymbolType.QuestionMark;[?];
CSharpSymbolType.LeftBracket;[[];
CSharpSymbolType.Identifier;[abc];
CSharpSymbolType.QuestionMark;[?];
CSharpSymbolType.Dot;[.];
CSharpSymbolType.Identifier;[gef];
CSharpSymbolType.QuestionMark;[?];
CSharpSymbolType.LeftBracket;[[];
CSharpSymbolType.Minus;[-];
CSharpSymbolType.IntegerLiteral;[1];
CSharpSymbolType.RightBracket;[]];
CSharpSymbolType.RightBracket;[]];

View File

@ -0,0 +1,5 @@
Expression block - Gen<Expr> - 4 - (0:0,0)
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
CSharpSymbolType.Transition;[@];
Code span - Gen<Expr> - [val] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (1:0,1) - Symbols:1
CSharpSymbolType.Identifier;[val];

View File

@ -0,0 +1,7 @@
Expression block - Gen<Expr> - 6 - (0:0,0)
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
CSharpSymbolType.Transition;[@];
Code span - Gen<Expr> - [val?[] - ImplicitExpressionEditHandler;Accepts:Any;ImplicitExpression[RTD];K14 - (1:0,1) - Symbols:3
CSharpSymbolType.Identifier;[val];
CSharpSymbolType.QuestionMark;[?];
CSharpSymbolType.LeftBracket;[[];

View File

@ -0,0 +1,5 @@
Expression block - Gen<Expr> - 4 - (0:0,0)
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
CSharpSymbolType.Transition;[@];
Code span - Gen<Expr> - [val] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (1:0,1) - Symbols:1
CSharpSymbolType.Identifier;[val];

View File

@ -0,0 +1,8 @@
Expression block - Gen<Expr> - 10 - (0:0,0)
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
CSharpSymbolType.Transition;[@];
Code span - Gen<Expr> - [val?[more] - ImplicitExpressionEditHandler;Accepts:Any;ImplicitExpression[RTD];K14 - (1:0,1) - Symbols:4
CSharpSymbolType.Identifier;[val];
CSharpSymbolType.QuestionMark;[?];
CSharpSymbolType.LeftBracket;[[];
CSharpSymbolType.Identifier;[more];

View File

@ -0,0 +1,9 @@
Expression block - Gen<Expr> - 8 - (0:0,0)
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
CSharpSymbolType.Transition;[@];
Code span - Gen<Expr> - [val?[0]] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (1:0,1) - Symbols:5
CSharpSymbolType.Identifier;[val];
CSharpSymbolType.QuestionMark;[?];
CSharpSymbolType.LeftBracket;[[];
CSharpSymbolType.IntegerLiteral;[0];
CSharpSymbolType.RightBracket;[]];

View File

@ -0,0 +1,7 @@
Expression block - Gen<Expr> - 6 - (0:0,0)
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
CSharpSymbolType.Transition;[@];
Code span - Gen<Expr> - [val?[] - ImplicitExpressionEditHandler;Accepts:Any;ImplicitExpression[RTD];K14 - (1:0,1) - Symbols:3
CSharpSymbolType.Identifier;[val];
CSharpSymbolType.QuestionMark;[?];
CSharpSymbolType.LeftBracket;[[];

View File

@ -0,0 +1,9 @@
Expression block - Gen<Expr> - 11 - (0:0,0)
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
CSharpSymbolType.Transition;[@];
Code span - Gen<Expr> - [val?[more.] - ImplicitExpressionEditHandler;Accepts:Any;ImplicitExpression[RTD];K14 - (1:0,1) - Symbols:5
CSharpSymbolType.Identifier;[val];
CSharpSymbolType.QuestionMark;[?];
CSharpSymbolType.LeftBracket;[[];
CSharpSymbolType.Identifier;[more];
CSharpSymbolType.Dot;[.];

View File

@ -0,0 +1,5 @@
Expression block - Gen<Expr> - 4 - (0:0,0)
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
CSharpSymbolType.Transition;[@];
Code span - Gen<Expr> - [val] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (1:0,1) - Symbols:1
CSharpSymbolType.Identifier;[val];

View File

@ -0,0 +1,5 @@
Expression block - Gen<Expr> - 4 - (0:0,0)
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
CSharpSymbolType.Transition;[@];
Code span - Gen<Expr> - [val] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (1:0,1) - Symbols:1
CSharpSymbolType.Identifier;[val];

View File

@ -0,0 +1,8 @@
Expression block - Gen<Expr> - 10 - (0:0,0)
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
CSharpSymbolType.Transition;[@];
Code span - Gen<Expr> - [val?.more] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (1:0,1) - Symbols:4
CSharpSymbolType.Identifier;[val];
CSharpSymbolType.QuestionMark;[?];
CSharpSymbolType.Dot;[.];
CSharpSymbolType.Identifier;[more];

View File

@ -0,0 +1,5 @@
Expression block - Gen<Expr> - 4 - (0:0,0)
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
CSharpSymbolType.Transition;[@];
Code span - Gen<Expr> - [val] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (1:0,1) - Symbols:1
CSharpSymbolType.Identifier;[val];

View File

@ -0,0 +1,13 @@
Expression block - Gen<Expr> - 19 - (0:0,0)
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
CSharpSymbolType.Transition;[@];
Code span - Gen<Expr> - [val?.more(false)?.] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (1:0,1) - Symbols:9
CSharpSymbolType.Identifier;[val];
CSharpSymbolType.QuestionMark;[?];
CSharpSymbolType.Dot;[.];
CSharpSymbolType.Identifier;[more];
CSharpSymbolType.LeftParenthesis;[(];
CSharpSymbolType.Keyword;[false];
CSharpSymbolType.RightParenthesis;[)];
CSharpSymbolType.QuestionMark;[?];
CSharpSymbolType.Dot;[.];

View File

@ -0,0 +1,14 @@
Expression block - Gen<Expr> - 22 - (0:0,0)
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
CSharpSymbolType.Transition;[@];
Code span - Gen<Expr> - [val?.more(false)?.abc] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (1:0,1) - Symbols:10
CSharpSymbolType.Identifier;[val];
CSharpSymbolType.QuestionMark;[?];
CSharpSymbolType.Dot;[.];
CSharpSymbolType.Identifier;[more];
CSharpSymbolType.LeftParenthesis;[(];
CSharpSymbolType.Keyword;[false];
CSharpSymbolType.RightParenthesis;[)];
CSharpSymbolType.QuestionMark;[?];
CSharpSymbolType.Dot;[.];
CSharpSymbolType.Identifier;[abc];

View File

@ -0,0 +1,18 @@
Expression block - Gen<Expr> - 29 - (0:0,0)
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
CSharpSymbolType.Transition;[@];
Code span - Gen<Expr> - [val?.more(null ?? true)?.abc] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (1:0,1) - Symbols:14
CSharpSymbolType.Identifier;[val];
CSharpSymbolType.QuestionMark;[?];
CSharpSymbolType.Dot;[.];
CSharpSymbolType.Identifier;[more];
CSharpSymbolType.LeftParenthesis;[(];
CSharpSymbolType.Keyword;[null];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.NullCoalesce;[??];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.Keyword;[true];
CSharpSymbolType.RightParenthesis;[)];
CSharpSymbolType.QuestionMark;[?];
CSharpSymbolType.Dot;[.];
CSharpSymbolType.Identifier;[abc];

View File

@ -0,0 +1,5 @@
Expression block - Gen<Expr> - 4 - (0:0,0)
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
CSharpSymbolType.Transition;[@];
Code span - Gen<Expr> - [val] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (1:0,1) - Symbols:1
CSharpSymbolType.Identifier;[val];

View File

@ -0,0 +1,5 @@
Expression block - Gen<Expr> - 4 - (0:0,0)
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
CSharpSymbolType.Transition;[@];
Code span - Gen<Expr> - [val] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (1:0,1) - Symbols:1
CSharpSymbolType.Identifier;[val];

View File

@ -0,0 +1,5 @@
Expression block - Gen<Expr> - 4 - (0:0,0)
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
CSharpSymbolType.Transition;[@];
Code span - Gen<Expr> - [val] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (1:0,1) - Symbols:1
CSharpSymbolType.Identifier;[val];

View File

@ -0,0 +1,7 @@
Expression block - Gen<Expr> - 6 - (0:0,0)
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
CSharpSymbolType.Transition;[@];
Code span - Gen<Expr> - [val?.] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (1:0,1) - Symbols:3
CSharpSymbolType.Identifier;[val];
CSharpSymbolType.QuestionMark;[?];
CSharpSymbolType.Dot;[.];

View File

@ -0,0 +1,5 @@
Expression block - Gen<Expr> - 4 - (0:0,0)
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
CSharpSymbolType.Transition;[@];
Code span - Gen<Expr> - [val] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (1:0,1) - Symbols:1
CSharpSymbolType.Identifier;[val];

View File

@ -0,0 +1,7 @@
Expression block - Gen<Expr> - 6 - (0:0,0)
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
CSharpSymbolType.Transition;[@];
Code span - Gen<Expr> - [val?.] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (1:0,1) - Symbols:3
CSharpSymbolType.Identifier;[val];
CSharpSymbolType.QuestionMark;[?];
CSharpSymbolType.Dot;[.];

View File

@ -0,0 +1,7 @@
Expression block - Gen<Expr> - 6 - (0:0,0)
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
CSharpSymbolType.Transition;[@];
Code span - Gen<Expr> - [val?.] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (1:0,1) - Symbols:3
CSharpSymbolType.Identifier;[val];
CSharpSymbolType.QuestionMark;[?];
CSharpSymbolType.Dot;[.];

View File

@ -0,0 +1,8 @@
Expression block - Gen<Expr> - 10 - (0:0,0)
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
CSharpSymbolType.Transition;[@];
Code span - Gen<Expr> - [val?.more] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (1:0,1) - Symbols:4
CSharpSymbolType.Identifier;[val];
CSharpSymbolType.QuestionMark;[?];
CSharpSymbolType.Dot;[.];
CSharpSymbolType.Identifier;[more];

View File

@ -0,0 +1,5 @@
Expression block - Gen<Expr> - 4 - (0:0,0)
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
CSharpSymbolType.Transition;[@];
Code span - Gen<Expr> - [foo] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (1:0,1) - Symbols:1
CSharpSymbolType.Identifier;[foo];

View File

@ -0,0 +1,7 @@
Expression block - Gen<Expr> - 8 - (0:0,0)
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
CSharpSymbolType.Transition;[@];
Code span - Gen<Expr> - [foo.bar] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (1:0,1) - Symbols:3
CSharpSymbolType.Identifier;[foo];
CSharpSymbolType.Dot;[.];
CSharpSymbolType.Identifier;[bar];

View File

@ -0,0 +1,9 @@
Expression block - Gen<Expr> - 13 - (0:0,0)
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
CSharpSymbolType.Transition;[@];
Code span - Gen<Expr> - [module.foo()] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (1:0,1) - Symbols:5
CSharpSymbolType.Identifier;[module];
CSharpSymbolType.Dot;[.];
CSharpSymbolType.Identifier;[foo];
CSharpSymbolType.LeftParenthesis;[(];
CSharpSymbolType.RightParenthesis;[)];

View File

@ -0,0 +1 @@
(1,2): 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: "@@"

View File

@ -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;[];

View File

@ -0,0 +1 @@
(1,2): Error RZ1005: "/" is not valid at the start of a code block. Only identifiers, keywords, comments, "(" and "{" are valid.

View File

@ -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;[];

View File

@ -0,0 +1,25 @@
Expression block - Gen<Expr> - 34 - (0:0,0)
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
CSharpSymbolType.Transition;[@];
Code span - Gen<Expr> - [foo.bar[4 * (8 + 7)]["fo\"o"].baz] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (1:0,1) - Symbols:21
CSharpSymbolType.Identifier;[foo];
CSharpSymbolType.Dot;[.];
CSharpSymbolType.Identifier;[bar];
CSharpSymbolType.LeftBracket;[[];
CSharpSymbolType.IntegerLiteral;[4];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.Star;[*];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.LeftParenthesis;[(];
CSharpSymbolType.IntegerLiteral;[8];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.Plus;[+];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.IntegerLiteral;[7];
CSharpSymbolType.RightParenthesis;[)];
CSharpSymbolType.RightBracket;[]];
CSharpSymbolType.LeftBracket;[[];
CSharpSymbolType.StringLiteral;["fo\"o"];
CSharpSymbolType.RightBracket;[]];
CSharpSymbolType.Dot;[.];
CSharpSymbolType.Identifier;[baz];

View File

@ -0,0 +1,63 @@
Expression block - Gen<Expr> - 115 - (0:0,0)
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
CSharpSymbolType.Transition;[@];
Code span - Gen<Expr> - [foo().bar("bi\"z", 4)("chained method; call").baz(@"bo""z", '\'', () => { return 4; }, (4+5+new { foo = bar[4] }))] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (1:0,1) - Symbols:59
CSharpSymbolType.Identifier;[foo];
CSharpSymbolType.LeftParenthesis;[(];
CSharpSymbolType.RightParenthesis;[)];
CSharpSymbolType.Dot;[.];
CSharpSymbolType.Identifier;[bar];
CSharpSymbolType.LeftParenthesis;[(];
CSharpSymbolType.StringLiteral;["bi\"z"];
CSharpSymbolType.Comma;[,];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.IntegerLiteral;[4];
CSharpSymbolType.RightParenthesis;[)];
CSharpSymbolType.LeftParenthesis;[(];
CSharpSymbolType.StringLiteral;["chained method; call"];
CSharpSymbolType.RightParenthesis;[)];
CSharpSymbolType.Dot;[.];
CSharpSymbolType.Identifier;[baz];
CSharpSymbolType.LeftParenthesis;[(];
CSharpSymbolType.StringLiteral;[@"bo""z"];
CSharpSymbolType.Comma;[,];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.CharacterLiteral;['\''];
CSharpSymbolType.Comma;[,];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.LeftParenthesis;[(];
CSharpSymbolType.RightParenthesis;[)];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.GreaterThanEqual;[=>];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.LeftBrace;[{];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.Keyword;[return];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.IntegerLiteral;[4];
CSharpSymbolType.Semicolon;[;];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.RightBrace;[}];
CSharpSymbolType.Comma;[,];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.LeftParenthesis;[(];
CSharpSymbolType.IntegerLiteral;[4];
CSharpSymbolType.Plus;[+];
CSharpSymbolType.IntegerLiteral;[5];
CSharpSymbolType.Plus;[+];
CSharpSymbolType.Keyword;[new];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.LeftBrace;[{];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.Identifier;[foo];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.Assign;[=];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.Identifier;[bar];
CSharpSymbolType.LeftBracket;[[];
CSharpSymbolType.IntegerLiteral;[4];
CSharpSymbolType.RightBracket;[]];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.RightBrace;[}];
CSharpSymbolType.RightParenthesis;[)];
CSharpSymbolType.RightParenthesis;[)];

View File

@ -0,0 +1 @@
(1,5): Error RZ1027: An opening "(" is missing the corresponding closing ")".

View File

@ -0,0 +1,8 @@
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> - [foo(()] - ImplicitExpressionEditHandler;Accepts:Any;ImplicitExpression[RTD];K14 - (1:0,1) - Symbols:4
CSharpSymbolType.Identifier;[foo];
CSharpSymbolType.LeftParenthesis;[(];
CSharpSymbolType.LeftParenthesis;[(];
CSharpSymbolType.RightParenthesis;[)];

View File

@ -0,0 +1,39 @@
Expression block - Gen<Expr> - 103 - (0:0,0)
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
CSharpSymbolType.Transition;[@];
Code span - Gen<Expr> - [DataGridColumn.Template("Years of Service", e => (int)Math.Round((DateTime.Now - dt).TotalDays / 365))] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (1:0,1) - Symbols:35
CSharpSymbolType.Identifier;[DataGridColumn];
CSharpSymbolType.Dot;[.];
CSharpSymbolType.Identifier;[Template];
CSharpSymbolType.LeftParenthesis;[(];
CSharpSymbolType.StringLiteral;["Years of Service"];
CSharpSymbolType.Comma;[,];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.Identifier;[e];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.GreaterThanEqual;[=>];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.LeftParenthesis;[(];
CSharpSymbolType.Keyword;[int];
CSharpSymbolType.RightParenthesis;[)];
CSharpSymbolType.Identifier;[Math];
CSharpSymbolType.Dot;[.];
CSharpSymbolType.Identifier;[Round];
CSharpSymbolType.LeftParenthesis;[(];
CSharpSymbolType.LeftParenthesis;[(];
CSharpSymbolType.Identifier;[DateTime];
CSharpSymbolType.Dot;[.];
CSharpSymbolType.Identifier;[Now];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.Minus;[-];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.Identifier;[dt];
CSharpSymbolType.RightParenthesis;[)];
CSharpSymbolType.Dot;[.];
CSharpSymbolType.Identifier;[TotalDays];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.Slash;[/];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.IntegerLiteral;[365];
CSharpSymbolType.RightParenthesis;[)];
CSharpSymbolType.RightParenthesis;[)];

View File

@ -0,0 +1,11 @@
Expression block - Gen<Expr> - 14 - (0:0,0)
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
CSharpSymbolType.Transition;[@];
Code span - Gen<Expr> - [foo().bar.baz] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (1:0,1) - Symbols:7
CSharpSymbolType.Identifier;[foo];
CSharpSymbolType.LeftParenthesis;[(];
CSharpSymbolType.RightParenthesis;[)];
CSharpSymbolType.Dot;[.];
CSharpSymbolType.Identifier;[bar];
CSharpSymbolType.Dot;[.];
CSharpSymbolType.Identifier;[baz];

View File

@ -0,0 +1,11 @@
Expression block - Gen<Expr> - 14 - (0:0,0)
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
CSharpSymbolType.Transition;[@];
Code span - Gen<Expr> - [foo().bar.baz] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (1:0,1) - Symbols:7
CSharpSymbolType.Identifier;[foo];
CSharpSymbolType.LeftParenthesis;[(];
CSharpSymbolType.RightParenthesis;[)];
CSharpSymbolType.Dot;[.];
CSharpSymbolType.Identifier;[bar];
CSharpSymbolType.Dot;[.];
CSharpSymbolType.Identifier;[baz];

View File

@ -0,0 +1,5 @@
Expression block - Gen<Expr> - 4 - (0:0,0)
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
CSharpSymbolType.Transition;[@];
Code span - Gen<Expr> - [foo] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (1:0,1) - Symbols:1
CSharpSymbolType.Identifier;[foo];

View File

@ -0,0 +1,11 @@
Expression block - Gen<Expr> - 14 - (0:0,0)
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
CSharpSymbolType.Transition;[@];
Code span - Gen<Expr> - [foo().bar.baz] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (1:0,1) - Symbols:7
CSharpSymbolType.Identifier;[foo];
CSharpSymbolType.LeftParenthesis;[(];
CSharpSymbolType.RightParenthesis;[)];
CSharpSymbolType.Dot;[.];
CSharpSymbolType.Identifier;[bar];
CSharpSymbolType.Dot;[.];
CSharpSymbolType.Identifier;[baz];

View File

@ -0,0 +1,9 @@
Expression block - Gen<Expr> - 10 - (0:0,0)
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
CSharpSymbolType.Transition;[@];
Code span - Gen<Expr> - [foo.bar()] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (1:0,1) - Symbols:5
CSharpSymbolType.Identifier;[foo];
CSharpSymbolType.Dot;[.];
CSharpSymbolType.Identifier;[bar];
CSharpSymbolType.LeftParenthesis;[(];
CSharpSymbolType.RightParenthesis;[)];

View File

@ -0,0 +1,5 @@
Expression block - Gen<Expr> - 4 - (0:0,0)
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
CSharpSymbolType.Transition;[@];
Code span - Gen<Expr> - [foo] - ImplicitExpressionEditHandler;Accepts:NonWhiteSpace;ImplicitExpression[RTD];K14 - (1:0,1) - Symbols:1
CSharpSymbolType.Identifier;[foo];