Convert CSharpStatementTest to use baselines.

#2263
This commit is contained in:
N. Taylor Mullen 2018-06-27 12:09:59 -07:00
parent 25547e80d1
commit 69cfb95b90
35 changed files with 907 additions and 313 deletions

View File

@ -1,7 +1,6 @@
// 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
@ -17,416 +16,213 @@ namespace Microsoft.AspNetCore.Razor.Language.Legacy
public class CSharpStatementTest : CsHtmlCodeParserTestBase
{
public CSharpStatementTest()
{
UseBaselineTests = true;
}
[Fact]
public void ForStatement()
{
ParseBlockTest("@for(int i = 0; i++; i < length) { foo(); }",
new StatementBlock(
Factory.CodeTransition(),
Factory.Code("for(int i = 0; i++; i < length) { foo(); }")
.AsStatement()
.Accepts(AcceptedCharactersInternal.None)
));
ParseBlockTest("@for(int i = 0; i++; i < length) { foo(); }");
}
[Fact]
public void ForEachStatement()
{
ParseBlockTest("@foreach(var foo in bar) { foo(); }",
new StatementBlock(
Factory.CodeTransition(),
Factory.Code("foreach(var foo in bar) { foo(); }")
.AsStatement()
.Accepts(AcceptedCharactersInternal.None)
));
ParseBlockTest("@foreach(var foo in bar) { foo(); }");
}
[Fact]
public void WhileStatement()
{
ParseBlockTest("@while(true) { foo(); }",
new StatementBlock(
Factory.CodeTransition(),
Factory.Code("while(true) { foo(); }")
.AsStatement()
.Accepts(AcceptedCharactersInternal.None)
));
ParseBlockTest("@while(true) { foo(); }");
}
[Fact]
public void SwitchStatement()
{
ParseBlockTest("@switch(foo) { foo(); }",
new StatementBlock(
Factory.CodeTransition(),
Factory.Code("switch(foo) { foo(); }")
.AsStatement()
.Accepts(AcceptedCharactersInternal.None)
));
ParseBlockTest("@switch(foo) { foo(); }");
}
[Fact]
public void LockStatement()
{
ParseBlockTest("@lock(baz) { foo(); }",
new StatementBlock(
Factory.CodeTransition(),
Factory.Code("lock(baz) { foo(); }")
.AsStatement()
.Accepts(AcceptedCharactersInternal.None)
));
ParseBlockTest("@lock(baz) { foo(); }");
}
[Fact]
public void IfStatement()
{
ParseBlockTest("@if(true) { foo(); }",
new StatementBlock(
Factory.CodeTransition(),
Factory.Code("if(true) { foo(); }")
.AsStatement()
));
ParseBlockTest("@if(true) { foo(); }");
}
[Fact]
public void ElseIfClause()
{
ParseBlockTest("@if(true) { foo(); } else if(false) { foo(); } else if(!false) { foo(); }",
new StatementBlock(
Factory.CodeTransition(),
Factory.Code("if(true) { foo(); } else if(false) { foo(); } else if(!false) { foo(); }")
.AsStatement()
));
ParseBlockTest("@if(true) { foo(); } else if(false) { foo(); } else if(!false) { foo(); }");
}
[Fact]
public void ElseClause()
{
ParseBlockTest("@if(true) { foo(); } else { foo(); }",
new StatementBlock(
Factory.CodeTransition(),
Factory.Code("if(true) { foo(); } else { foo(); }")
.AsStatement()
.Accepts(AcceptedCharactersInternal.None)
));
ParseBlockTest("@if(true) { foo(); } else { foo(); }");
}
[Fact]
public void TryStatement()
{
ParseBlockTest("@try { foo(); }",
new StatementBlock(
Factory.CodeTransition(),
Factory.Code("try { foo(); }")
.AsStatement()
));
ParseBlockTest("@try { foo(); }");
}
[Fact]
public void CatchClause()
{
ParseBlockTest("@try { foo(); } catch(IOException ioex) { handleIO(); } catch(Exception ex) { handleOther(); }",
new StatementBlock(
Factory.CodeTransition(),
Factory.Code("try { foo(); } catch(IOException ioex) { handleIO(); } catch(Exception ex) { handleOther(); }")
.AsStatement()
));
ParseBlockTest("@try { foo(); } catch(IOException ioex) { handleIO(); } catch(Exception ex) { handleOther(); }");
}
public static TheoryData ExceptionFilterData
[Fact]
public void ExceptionFilter_TryCatchWhenComplete_SingleLine()
{
get
{
var factory = new SpanFactory();
// document, expectedStatement
return new TheoryData<string, StatementBlock>
{
{
"@try { someMethod(); } catch(Exception) when (true) { handleIO(); }",
new StatementBlock(
factory.CodeTransition(),
factory
.Code("try { someMethod(); } catch(Exception) when (true) { handleIO(); }")
.AsStatement())
},
{
"@try { A(); } catch(Exception) when (true) { B(); } finally { C(); }",
new StatementBlock(
factory.CodeTransition(),
factory
.Code("try { A(); } catch(Exception) when (true) { B(); } finally { C(); }")
.AsStatement()
.Accepts(AcceptedCharactersInternal.None))
},
{
"@try { A(); } catch(Exception) when (true) { B(); } catch(IOException) when (false) { C(); }",
new StatementBlock(
factory.CodeTransition(),
factory
.Code("try { A(); } catch(Exception) when (true) { B(); } catch(IOException) " +
"when (false) { C(); }")
.AsStatement())
},
{
string.Format("@try{0}{{{0} A();{0}}}{0}catch(Exception) when (true)", Environment.NewLine) +
string.Format("{0}{{{0} B();{0}}}{0}catch(IOException) when (false)", Environment.NewLine) +
string.Format("{0}{{{0} C();{0}}}", Environment.NewLine),
new StatementBlock(
factory.CodeTransition(),
factory
.Code(
string.Format("try{0}{{{0} A();{0}}}{0}catch(Exception) ", Environment.NewLine) +
string.Format("when (true){0}{{{0} B();{0}}}{0}", Environment.NewLine) +
string.Format("catch(IOException) when (false){0}{{{0} ", Environment.NewLine) +
string.Format("C();{0}}}", Environment.NewLine))
.AsStatement())
},
// Wrapped in @{ block.
{
"@{try { someMethod(); } catch(Exception) when (true) { handleIO(); }}",
new StatementBlock(
factory.CodeTransition(),
factory.MetaCode("{").Accepts(AcceptedCharactersInternal.None),
factory
.Code("try { someMethod(); } catch(Exception) when (true) { handleIO(); }")
.AsStatement()
.AutoCompleteWith(autoCompleteString: null),
factory.MetaCode("}").Accepts(AcceptedCharactersInternal.None))
},
// Partial exception filter data
{
"@try { someMethod(); } catch(Exception) when",
new StatementBlock(
factory.CodeTransition(),
factory
.Code("try { someMethod(); } catch(Exception) when")
.AsStatement())
},
{
"@try { someMethod(); } when",
new StatementBlock(
factory.CodeTransition(),
factory
.Code("try { someMethod(); }")
.AsStatement())
},
{
"@try { someMethod(); } catch(Exception) when { anotherMethod(); }",
new StatementBlock(
factory.CodeTransition(),
factory
.Code("try { someMethod(); } catch(Exception) when { anotherMethod(); }")
.AsStatement())
},
{
"@try { someMethod(); } catch(Exception) when (true)",
new StatementBlock(
factory.CodeTransition(),
factory
.Code("try { someMethod(); } catch(Exception) when (true)")
.AsStatement())
},
};
}
ParseBlockTest("@try { someMethod(); } catch(Exception) when (true) { handleIO(); }");
}
[Theory]
[MemberData(nameof(ExceptionFilterData))]
public void ExceptionFilters(string document, object expectedStatement)
[Fact]
public void ExceptionFilter_TryCatchWhenFinallyComplete_SingleLine()
{
FixupSpans = true;
// Act & Assert
ParseBlockTest(document, (StatementBlock)expectedStatement);
ParseBlockTest("@try { A(); } catch(Exception) when (true) { B(); } finally { C(); }");
}
public static TheoryData ExceptionFilterErrorData
[Fact]
public void ExceptionFilter_TryCatchWhenCatchWhenComplete_SingleLine()
{
get
{
var factory = new SpanFactory();
// document, expectedStatement, expectedErrors
return new TheoryData<string, StatementBlock, RazorDiagnostic[]>
{
{
"@try { someMethod(); } catch(Exception) when (",
new StatementBlock(
factory.CodeTransition(),
factory
.Code("try { someMethod(); } catch(Exception) when (")
.AsStatement()),
new[]
{
RazorDiagnosticFactory.CreateParsing_ExpectedCloseBracketBeforeEOF(
new SourceSpan(new SourceLocation(45, 0, 45), contentLength: 1), "(", ")"),
}
},
{
"@try { someMethod(); } catch(Exception) when (someMethod(",
new StatementBlock(
factory.CodeTransition(),
factory
.Code("try { someMethod(); } catch(Exception) when (someMethod(")
.AsStatement()),
new[]
{
RazorDiagnosticFactory.CreateParsing_ExpectedCloseBracketBeforeEOF(
new SourceSpan(new SourceLocation(45, 0, 45), contentLength: 1), "(", ")"),
}
},
{
"@try { someMethod(); } catch(Exception) when (true) {",
new StatementBlock(
factory.CodeTransition(),
factory
.Code("try { someMethod(); } catch(Exception) when (true) {")
.AsStatement()),
new[]
{
RazorDiagnosticFactory.CreateParsing_ExpectedEndOfBlockBeforeEOF(
new SourceSpan(new SourceLocation(23, 0, 23), contentLength: 1), "catch", "}", "{"),
}
},
};
}
ParseBlockTest("@try { A(); } catch(Exception) when (true) { B(); } catch(IOException) when (false) { C(); }");
}
[Theory]
[MemberData(nameof(ExceptionFilterErrorData))]
public void ExceptionFilterErrors(
string document,
object expectedStatement,
object expectedErrors)
[Fact]
public void ExceptionFilter_MultiLine()
{
FixupSpans = true;
ParseBlockTest(
@"@try
{
A();
}
catch(Exception) when (true)
{
B();
}
catch(IOException) when (false)
{
C();
}");
}
// Act & Assert
ParseBlockTest(document, (StatementBlock)expectedStatement, (RazorDiagnostic[])expectedErrors);
[Fact]
public void ExceptionFilter_NestedTryCatchWhen()
{
ParseBlockTest("@{try { someMethod(); } catch(Exception) when (true) { handleIO(); }}");
}
[Fact]
public void ExceptionFilter_IncompleteTryCatchWhen()
{
ParseBlockTest("@try { someMethod(); } catch(Exception) when");
}
[Fact]
public void ExceptionFilter_IncompleteTryWhen()
{
ParseBlockTest("@try { someMethod(); } when");
}
[Fact]
public void ExceptionFilter_IncompleteTryCatchNoBodyWhen()
{
ParseBlockTest("@try { someMethod(); } catch(Exception) when { anotherMethod(); }");
}
[Fact]
public void ExceptionFilter_IncompleteTryCatchWhenNoBodies()
{
ParseBlockTest("@try { someMethod(); } catch(Exception) when (true)");
}
[Fact]
public void ExceptionFilterError_TryCatchWhen_InCompleteCondition()
{
ParseBlockTest("@try { someMethod(); } catch(Exception) when (");
}
[Fact]
public void ExceptionFilterError_TryCatchWhen_InCompleteBody()
{
ParseBlockTest("@try { someMethod(); } catch(Exception) when (true) {");
}
[Fact]
public void FinallyClause()
{
ParseBlockTest("@try { foo(); } finally { Dispose(); }",
new StatementBlock(
Factory.CodeTransition(),
Factory.Code("try { foo(); } finally { Dispose(); }")
.AsStatement()
.Accepts(AcceptedCharactersInternal.None)
));
ParseBlockTest("@try { foo(); } finally { Dispose(); }");
}
public static TheoryData StaticUsingData
[Fact]
public void StaticUsing_NoUsing()
{
get
{
var factory = new SpanFactory();
Func<string, string, DirectiveBlock> createUsing = (code, import) =>
new DirectiveBlock(
factory.CodeTransition(),
factory.Code(code)
.AsNamespaceImport(import)
.Accepts(AcceptedCharactersInternal.AnyExceptNewline));
// document, expectedResult
return new TheoryData<string, DirectiveBlock>
{
{ "@using static", createUsing("using static", " static") },
{ "@using static ", createUsing("using static ", " static ") },
{ "@using static ", createUsing("using static ", " static ") },
{ "@using static System", createUsing("using static System", " static System") },
{
"@using static System",
createUsing("using static System", " static System")
},
{
"@using static System.Console",
createUsing("using static System.Console", " static System.Console")
},
{
"@using static global::System.Console",
createUsing("using static global::System.Console", " static global::System.Console")
},
{
"@using static global::System.Console ",
createUsing("using static global::System.Console", " static global::System.Console")
},
};
}
ParseBlockTest("@using static");
}
[Theory]
[MemberData(nameof(StaticUsingData))]
public void StaticUsingImport(string document, object expectedResult)
[Fact]
public void StaticUsing_SingleIdentifier()
{
FixupSpans = true;
ParseBlockTest("@using static System");
}
// Act & Assert
ParseBlockTest(document, (DirectiveBlock)expectedResult);
[Fact]
public void StaticUsing_MultipleIdentifiers()
{
ParseBlockTest("@using static System.Console");
}
[Fact]
public void StaticUsing_GlobalPrefix()
{
ParseBlockTest("@using static global::System.Console");
}
[Fact]
public void StaticUsing_Complete_Spaced()
{
ParseBlockTest("@using static global::System.Console ");
}
[Fact]
public void UsingStatement()
{
ParseBlockTest("@using(var foo = new Foo()) { foo.Bar(); }",
new StatementBlock(
Factory.CodeTransition(),
Factory.Code("using(var foo = new Foo()) { foo.Bar(); }")
.AsStatement()
.Accepts(AcceptedCharactersInternal.None)
));
ParseBlockTest("@using(var foo = new Foo()) { foo.Bar(); }");
}
[Fact]
public void UsingTypeAlias()
{
ParseBlockTest("@using StringDictionary = System.Collections.Generic.Dictionary<string, string>",
new DirectiveBlock(
Factory.CodeTransition(),
Factory.Code("using StringDictionary = System.Collections.Generic.Dictionary<string, string>")
.AsNamespaceImport(" StringDictionary = System.Collections.Generic.Dictionary<string, string>")
.Accepts(AcceptedCharactersInternal.AnyExceptNewline)
));
ParseBlockTest("@using StringDictionary = System.Collections.Generic.Dictionary<string, string>");
}
[Fact]
public void UsingNamespaceImport()
{
ParseBlockTest("@using System.Text.Encoding.ASCIIEncoding",
new DirectiveBlock(
Factory.CodeTransition(),
Factory.Code("using System.Text.Encoding.ASCIIEncoding")
.AsNamespaceImport(" System.Text.Encoding.ASCIIEncoding")
.Accepts(AcceptedCharactersInternal.AnyExceptNewline)
));
ParseBlockTest("@using System.Text.Encoding.ASCIIEncoding");
}
[Fact]
public void DoStatement()
{
ParseBlockTest("@do { foo(); } while(true);",
new StatementBlock(
Factory.CodeTransition(),
Factory.Code("do { foo(); } while(true);")
.AsStatement()
.Accepts(AcceptedCharactersInternal.None)
));
ParseBlockTest("@do { foo(); } while(true);");
}
[Fact]
public void NonBlockKeywordTreatedAsImplicitExpression()
{
ParseBlockTest("@is foo",
new ExpressionBlock(new ExpressionChunkGenerator(),
Factory.CodeTransition(),
Factory.Code("is")
.AsImplicitExpression(CSharpCodeParser.DefaultKeywords)
.Accepts(AcceptedCharactersInternal.NonWhiteSpace)
));
ParseBlockTest("@is foo");
}
}
}

View File

@ -0,0 +1,46 @@
Statement block - Gen<None> - 94 - (0:0,0)
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
CSharpSymbolType.Transition;[@];
Code span - Gen<Stmt> - [try { foo(); } catch(IOException ioex) { handleIO(); } catch(Exception ex) { handleOther(); }] - SpanEditHandler;Accepts:Any - (1:0,1) - Symbols:42
CSharpSymbolType.Keyword;[try];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.LeftBrace;[{];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.Identifier;[foo];
CSharpSymbolType.LeftParenthesis;[(];
CSharpSymbolType.RightParenthesis;[)];
CSharpSymbolType.Semicolon;[;];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.RightBrace;[}];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.Keyword;[catch];
CSharpSymbolType.LeftParenthesis;[(];
CSharpSymbolType.Identifier;[IOException];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.Identifier;[ioex];
CSharpSymbolType.RightParenthesis;[)];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.LeftBrace;[{];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.Identifier;[handleIO];
CSharpSymbolType.LeftParenthesis;[(];
CSharpSymbolType.RightParenthesis;[)];
CSharpSymbolType.Semicolon;[;];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.RightBrace;[}];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.Keyword;[catch];
CSharpSymbolType.LeftParenthesis;[(];
CSharpSymbolType.Identifier;[Exception];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.Identifier;[ex];
CSharpSymbolType.RightParenthesis;[)];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.LeftBrace;[{];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.Identifier;[handleOther];
CSharpSymbolType.LeftParenthesis;[(];
CSharpSymbolType.RightParenthesis;[)];
CSharpSymbolType.Semicolon;[;];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.RightBrace;[}];

View File

@ -0,0 +1,20 @@
Statement block - Gen<None> - 27 - (0:0,0)
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
CSharpSymbolType.Transition;[@];
Code span - Gen<Stmt> - [do { foo(); } while(true);] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:16
CSharpSymbolType.Keyword;[do];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.LeftBrace;[{];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.Identifier;[foo];
CSharpSymbolType.LeftParenthesis;[(];
CSharpSymbolType.RightParenthesis;[)];
CSharpSymbolType.Semicolon;[;];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.RightBrace;[}];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.Keyword;[while];
CSharpSymbolType.LeftParenthesis;[(];
CSharpSymbolType.Keyword;[true];
CSharpSymbolType.RightParenthesis;[)];
CSharpSymbolType.Semicolon;[;];

View File

@ -0,0 +1,28 @@
Statement block - Gen<None> - 36 - (0:0,0)
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
CSharpSymbolType.Transition;[@];
Code span - Gen<Stmt> - [if(true) { foo(); } else { foo(); }] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:24
CSharpSymbolType.Keyword;[if];
CSharpSymbolType.LeftParenthesis;[(];
CSharpSymbolType.Keyword;[true];
CSharpSymbolType.RightParenthesis;[)];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.LeftBrace;[{];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.Identifier;[foo];
CSharpSymbolType.LeftParenthesis;[(];
CSharpSymbolType.RightParenthesis;[)];
CSharpSymbolType.Semicolon;[;];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.RightBrace;[}];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.Keyword;[else];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.LeftBrace;[{];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.Identifier;[foo];
CSharpSymbolType.LeftParenthesis;[(];
CSharpSymbolType.RightParenthesis;[)];
CSharpSymbolType.Semicolon;[;];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.RightBrace;[}];

View File

@ -0,0 +1,50 @@
Statement block - Gen<None> - 73 - (0:0,0)
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
CSharpSymbolType.Transition;[@];
Code span - Gen<Stmt> - [if(true) { foo(); } else if(false) { foo(); } else if(!false) { foo(); }] - SpanEditHandler;Accepts:Any - (1:0,1) - Symbols:46
CSharpSymbolType.Keyword;[if];
CSharpSymbolType.LeftParenthesis;[(];
CSharpSymbolType.Keyword;[true];
CSharpSymbolType.RightParenthesis;[)];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.LeftBrace;[{];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.Identifier;[foo];
CSharpSymbolType.LeftParenthesis;[(];
CSharpSymbolType.RightParenthesis;[)];
CSharpSymbolType.Semicolon;[;];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.RightBrace;[}];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.Keyword;[else];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.Keyword;[if];
CSharpSymbolType.LeftParenthesis;[(];
CSharpSymbolType.Keyword;[false];
CSharpSymbolType.RightParenthesis;[)];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.LeftBrace;[{];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.Identifier;[foo];
CSharpSymbolType.LeftParenthesis;[(];
CSharpSymbolType.RightParenthesis;[)];
CSharpSymbolType.Semicolon;[;];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.RightBrace;[}];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.Keyword;[else];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.Keyword;[if];
CSharpSymbolType.LeftParenthesis;[(];
CSharpSymbolType.Not;[!];
CSharpSymbolType.Keyword;[false];
CSharpSymbolType.RightParenthesis;[)];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.LeftBrace;[{];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.Identifier;[foo];
CSharpSymbolType.LeftParenthesis;[(];
CSharpSymbolType.RightParenthesis;[)];
CSharpSymbolType.Semicolon;[;];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.RightBrace;[}];

View File

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

View File

@ -0,0 +1,27 @@
Statement block - Gen<None> - 53 - (0:0,0)
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
CSharpSymbolType.Transition;[@];
Code span - Gen<Stmt> - [try { someMethod(); } catch(Exception) when (true) {] - SpanEditHandler;Accepts:Any - (1:0,1) - Symbols:23
CSharpSymbolType.Keyword;[try];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.LeftBrace;[{];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.Identifier;[someMethod];
CSharpSymbolType.LeftParenthesis;[(];
CSharpSymbolType.RightParenthesis;[)];
CSharpSymbolType.Semicolon;[;];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.RightBrace;[}];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.Keyword;[catch];
CSharpSymbolType.LeftParenthesis;[(];
CSharpSymbolType.Identifier;[Exception];
CSharpSymbolType.RightParenthesis;[)];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.Keyword;[when];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.LeftParenthesis;[(];
CSharpSymbolType.Keyword;[true];
CSharpSymbolType.RightParenthesis;[)];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.LeftBrace;[{];

View File

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

View File

@ -0,0 +1,23 @@
Statement block - Gen<None> - 46 - (0:0,0)
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
CSharpSymbolType.Transition;[@];
Code span - Gen<Stmt> - [try { someMethod(); } catch(Exception) when (] - SpanEditHandler;Accepts:Any - (1:0,1) - Symbols:19
CSharpSymbolType.Keyword;[try];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.LeftBrace;[{];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.Identifier;[someMethod];
CSharpSymbolType.LeftParenthesis;[(];
CSharpSymbolType.RightParenthesis;[)];
CSharpSymbolType.Semicolon;[;];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.RightBrace;[}];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.Keyword;[catch];
CSharpSymbolType.LeftParenthesis;[(];
CSharpSymbolType.Identifier;[Exception];
CSharpSymbolType.RightParenthesis;[)];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.Keyword;[when];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.LeftParenthesis;[(];

View File

@ -0,0 +1,30 @@
Statement block - Gen<None> - 65 - (0:0,0)
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
CSharpSymbolType.Transition;[@];
Code span - Gen<Stmt> - [try { someMethod(); } catch(Exception) when { anotherMethod(); }] - SpanEditHandler;Accepts:Any - (1:0,1) - Symbols:26
CSharpSymbolType.Keyword;[try];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.LeftBrace;[{];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.Identifier;[someMethod];
CSharpSymbolType.LeftParenthesis;[(];
CSharpSymbolType.RightParenthesis;[)];
CSharpSymbolType.Semicolon;[;];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.RightBrace;[}];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.Keyword;[catch];
CSharpSymbolType.LeftParenthesis;[(];
CSharpSymbolType.Identifier;[Exception];
CSharpSymbolType.RightParenthesis;[)];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.Keyword;[when];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.LeftBrace;[{];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.Identifier;[anotherMethod];
CSharpSymbolType.LeftParenthesis;[(];
CSharpSymbolType.RightParenthesis;[)];
CSharpSymbolType.Semicolon;[;];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.RightBrace;[}];

View File

@ -0,0 +1,21 @@
Statement block - Gen<None> - 44 - (0:0,0)
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
CSharpSymbolType.Transition;[@];
Code span - Gen<Stmt> - [try { someMethod(); } catch(Exception) when] - SpanEditHandler;Accepts:Any - (1:0,1) - Symbols:17
CSharpSymbolType.Keyword;[try];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.LeftBrace;[{];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.Identifier;[someMethod];
CSharpSymbolType.LeftParenthesis;[(];
CSharpSymbolType.RightParenthesis;[)];
CSharpSymbolType.Semicolon;[;];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.RightBrace;[}];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.Keyword;[catch];
CSharpSymbolType.LeftParenthesis;[(];
CSharpSymbolType.Identifier;[Exception];
CSharpSymbolType.RightParenthesis;[)];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.Keyword;[when];

View File

@ -0,0 +1,25 @@
Statement block - Gen<None> - 51 - (0:0,0)
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
CSharpSymbolType.Transition;[@];
Code span - Gen<Stmt> - [try { someMethod(); } catch(Exception) when (true)] - SpanEditHandler;Accepts:Any - (1:0,1) - Symbols:21
CSharpSymbolType.Keyword;[try];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.LeftBrace;[{];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.Identifier;[someMethod];
CSharpSymbolType.LeftParenthesis;[(];
CSharpSymbolType.RightParenthesis;[)];
CSharpSymbolType.Semicolon;[;];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.RightBrace;[}];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.Keyword;[catch];
CSharpSymbolType.LeftParenthesis;[(];
CSharpSymbolType.Identifier;[Exception];
CSharpSymbolType.RightParenthesis;[)];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.Keyword;[when];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.LeftParenthesis;[(];
CSharpSymbolType.Keyword;[true];
CSharpSymbolType.RightParenthesis;[)];

View File

@ -0,0 +1,14 @@
Statement block - Gen<None> - 22 - (0:0,0)
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
CSharpSymbolType.Transition;[@];
Code span - Gen<Stmt> - [try { someMethod(); }] - SpanEditHandler;Accepts:Any - (1:0,1) - Symbols:10
CSharpSymbolType.Keyword;[try];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.LeftBrace;[{];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.Identifier;[someMethod];
CSharpSymbolType.LeftParenthesis;[(];
CSharpSymbolType.RightParenthesis;[)];
CSharpSymbolType.Semicolon;[;];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.RightBrace;[}];

View File

@ -0,0 +1,54 @@
Statement block - Gen<None> - 103 - (0:0,0)
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
CSharpSymbolType.Transition;[@];
Code span - Gen<Stmt> - [tryLF{LFA();LF}LFcatch(Exception) when (true)LF{LFB();LF}LFcatch(IOException) when (false)LF{LFC();LF}] - SpanEditHandler;Accepts:Any - (1:0,1) - Symbols:50
CSharpSymbolType.Keyword;[try];
CSharpSymbolType.NewLine;[LF];
CSharpSymbolType.LeftBrace;[{];
CSharpSymbolType.NewLine;[LF];
CSharpSymbolType.Identifier;[A];
CSharpSymbolType.LeftParenthesis;[(];
CSharpSymbolType.RightParenthesis;[)];
CSharpSymbolType.Semicolon;[;];
CSharpSymbolType.NewLine;[LF];
CSharpSymbolType.RightBrace;[}];
CSharpSymbolType.NewLine;[LF];
CSharpSymbolType.Keyword;[catch];
CSharpSymbolType.LeftParenthesis;[(];
CSharpSymbolType.Identifier;[Exception];
CSharpSymbolType.RightParenthesis;[)];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.Keyword;[when];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.LeftParenthesis;[(];
CSharpSymbolType.Keyword;[true];
CSharpSymbolType.RightParenthesis;[)];
CSharpSymbolType.NewLine;[LF];
CSharpSymbolType.LeftBrace;[{];
CSharpSymbolType.NewLine;[LF];
CSharpSymbolType.Identifier;[B];
CSharpSymbolType.LeftParenthesis;[(];
CSharpSymbolType.RightParenthesis;[)];
CSharpSymbolType.Semicolon;[;];
CSharpSymbolType.NewLine;[LF];
CSharpSymbolType.RightBrace;[}];
CSharpSymbolType.NewLine;[LF];
CSharpSymbolType.Keyword;[catch];
CSharpSymbolType.LeftParenthesis;[(];
CSharpSymbolType.Identifier;[IOException];
CSharpSymbolType.RightParenthesis;[)];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.Keyword;[when];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.LeftParenthesis;[(];
CSharpSymbolType.Keyword;[false];
CSharpSymbolType.RightParenthesis;[)];
CSharpSymbolType.NewLine;[LF];
CSharpSymbolType.LeftBrace;[{];
CSharpSymbolType.NewLine;[LF];
CSharpSymbolType.Identifier;[C];
CSharpSymbolType.LeftParenthesis;[(];
CSharpSymbolType.RightParenthesis;[)];
CSharpSymbolType.Semicolon;[;];
CSharpSymbolType.NewLine;[LF];
CSharpSymbolType.RightBrace;[}];

View File

@ -0,0 +1,38 @@
Statement block - Gen<None> - 69 - (0:0,0)
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
CSharpSymbolType.Transition;[@];
MetaCode span - Gen<None> - [{] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:1
CSharpSymbolType.LeftBrace;[{];
Code span - Gen<Stmt> - [try { someMethod(); } catch(Exception) when (true) { handleIO(); }] - AutoCompleteEditHandler;Accepts:Any,AutoComplete:[<null>];AtEOL - (2:0,2) - Symbols:30
CSharpSymbolType.Keyword;[try];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.LeftBrace;[{];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.Identifier;[someMethod];
CSharpSymbolType.LeftParenthesis;[(];
CSharpSymbolType.RightParenthesis;[)];
CSharpSymbolType.Semicolon;[;];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.RightBrace;[}];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.Keyword;[catch];
CSharpSymbolType.LeftParenthesis;[(];
CSharpSymbolType.Identifier;[Exception];
CSharpSymbolType.RightParenthesis;[)];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.Keyword;[when];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.LeftParenthesis;[(];
CSharpSymbolType.Keyword;[true];
CSharpSymbolType.RightParenthesis;[)];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.LeftBrace;[{];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.Identifier;[handleIO];
CSharpSymbolType.LeftParenthesis;[(];
CSharpSymbolType.RightParenthesis;[)];
CSharpSymbolType.Semicolon;[;];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.RightBrace;[}];
MetaCode span - Gen<None> - [}] - SpanEditHandler;Accepts:None - (68:0,68) - Symbols:1
CSharpSymbolType.RightBrace;[}];

View File

@ -0,0 +1,54 @@
Statement block - Gen<None> - 92 - (0:0,0)
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
CSharpSymbolType.Transition;[@];
Code span - Gen<Stmt> - [try { A(); } catch(Exception) when (true) { B(); } catch(IOException) when (false) { C(); }] - SpanEditHandler;Accepts:Any - (1:0,1) - Symbols:50
CSharpSymbolType.Keyword;[try];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.LeftBrace;[{];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.Identifier;[A];
CSharpSymbolType.LeftParenthesis;[(];
CSharpSymbolType.RightParenthesis;[)];
CSharpSymbolType.Semicolon;[;];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.RightBrace;[}];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.Keyword;[catch];
CSharpSymbolType.LeftParenthesis;[(];
CSharpSymbolType.Identifier;[Exception];
CSharpSymbolType.RightParenthesis;[)];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.Keyword;[when];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.LeftParenthesis;[(];
CSharpSymbolType.Keyword;[true];
CSharpSymbolType.RightParenthesis;[)];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.LeftBrace;[{];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.Identifier;[B];
CSharpSymbolType.LeftParenthesis;[(];
CSharpSymbolType.RightParenthesis;[)];
CSharpSymbolType.Semicolon;[;];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.RightBrace;[}];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.Keyword;[catch];
CSharpSymbolType.LeftParenthesis;[(];
CSharpSymbolType.Identifier;[IOException];
CSharpSymbolType.RightParenthesis;[)];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.Keyword;[when];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.LeftParenthesis;[(];
CSharpSymbolType.Keyword;[false];
CSharpSymbolType.RightParenthesis;[)];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.LeftBrace;[{];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.Identifier;[C];
CSharpSymbolType.LeftParenthesis;[(];
CSharpSymbolType.RightParenthesis;[)];
CSharpSymbolType.Semicolon;[;];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.RightBrace;[}];

View File

@ -0,0 +1,34 @@
Statement block - Gen<None> - 67 - (0:0,0)
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
CSharpSymbolType.Transition;[@];
Code span - Gen<Stmt> - [try { someMethod(); } catch(Exception) when (true) { handleIO(); }] - SpanEditHandler;Accepts:Any - (1:0,1) - Symbols:30
CSharpSymbolType.Keyword;[try];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.LeftBrace;[{];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.Identifier;[someMethod];
CSharpSymbolType.LeftParenthesis;[(];
CSharpSymbolType.RightParenthesis;[)];
CSharpSymbolType.Semicolon;[;];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.RightBrace;[}];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.Keyword;[catch];
CSharpSymbolType.LeftParenthesis;[(];
CSharpSymbolType.Identifier;[Exception];
CSharpSymbolType.RightParenthesis;[)];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.Keyword;[when];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.LeftParenthesis;[(];
CSharpSymbolType.Keyword;[true];
CSharpSymbolType.RightParenthesis;[)];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.LeftBrace;[{];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.Identifier;[handleIO];
CSharpSymbolType.LeftParenthesis;[(];
CSharpSymbolType.RightParenthesis;[)];
CSharpSymbolType.Semicolon;[;];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.RightBrace;[}];

View File

@ -0,0 +1,45 @@
Statement block - Gen<None> - 68 - (0:0,0)
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
CSharpSymbolType.Transition;[@];
Code span - Gen<Stmt> - [try { A(); } catch(Exception) when (true) { B(); } finally { C(); }] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:41
CSharpSymbolType.Keyword;[try];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.LeftBrace;[{];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.Identifier;[A];
CSharpSymbolType.LeftParenthesis;[(];
CSharpSymbolType.RightParenthesis;[)];
CSharpSymbolType.Semicolon;[;];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.RightBrace;[}];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.Keyword;[catch];
CSharpSymbolType.LeftParenthesis;[(];
CSharpSymbolType.Identifier;[Exception];
CSharpSymbolType.RightParenthesis;[)];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.Keyword;[when];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.LeftParenthesis;[(];
CSharpSymbolType.Keyword;[true];
CSharpSymbolType.RightParenthesis;[)];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.LeftBrace;[{];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.Identifier;[B];
CSharpSymbolType.LeftParenthesis;[(];
CSharpSymbolType.RightParenthesis;[)];
CSharpSymbolType.Semicolon;[;];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.RightBrace;[}];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.Keyword;[finally];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.LeftBrace;[{];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.Identifier;[C];
CSharpSymbolType.LeftParenthesis;[(];
CSharpSymbolType.RightParenthesis;[)];
CSharpSymbolType.Semicolon;[;];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.RightBrace;[}];

View File

@ -0,0 +1,25 @@
Statement block - Gen<None> - 38 - (0:0,0)
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
CSharpSymbolType.Transition;[@];
Code span - Gen<Stmt> - [try { foo(); } finally { Dispose(); }] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:21
CSharpSymbolType.Keyword;[try];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.LeftBrace;[{];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.Identifier;[foo];
CSharpSymbolType.LeftParenthesis;[(];
CSharpSymbolType.RightParenthesis;[)];
CSharpSymbolType.Semicolon;[;];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.RightBrace;[}];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.Keyword;[finally];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.LeftBrace;[{];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.Identifier;[Dispose];
CSharpSymbolType.LeftParenthesis;[(];
CSharpSymbolType.RightParenthesis;[)];
CSharpSymbolType.Semicolon;[;];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.RightBrace;[}];

View File

@ -0,0 +1,23 @@
Statement block - Gen<None> - 35 - (0:0,0)
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
CSharpSymbolType.Transition;[@];
Code span - Gen<Stmt> - [foreach(var foo in bar) { foo(); }] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:19
CSharpSymbolType.Keyword;[foreach];
CSharpSymbolType.LeftParenthesis;[(];
CSharpSymbolType.Identifier;[var];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.Identifier;[foo];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.Keyword;[in];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.Identifier;[bar];
CSharpSymbolType.RightParenthesis;[)];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.LeftBrace;[{];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.Identifier;[foo];
CSharpSymbolType.LeftParenthesis;[(];
CSharpSymbolType.RightParenthesis;[)];
CSharpSymbolType.Semicolon;[;];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.RightBrace;[}];

View File

@ -0,0 +1,34 @@
Statement block - Gen<None> - 43 - (0:0,0)
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
CSharpSymbolType.Transition;[@];
Code span - Gen<Stmt> - [for(int i = 0; i++; i < length) { foo(); }] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:30
CSharpSymbolType.Keyword;[for];
CSharpSymbolType.LeftParenthesis;[(];
CSharpSymbolType.Keyword;[int];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.Identifier;[i];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.Assign;[=];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.IntegerLiteral;[0];
CSharpSymbolType.Semicolon;[;];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.Identifier;[i];
CSharpSymbolType.Increment;[++];
CSharpSymbolType.Semicolon;[;];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.Identifier;[i];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.LessThan;[<];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.Identifier;[length];
CSharpSymbolType.RightParenthesis;[)];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.LeftBrace;[{];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.Identifier;[foo];
CSharpSymbolType.LeftParenthesis;[(];
CSharpSymbolType.RightParenthesis;[)];
CSharpSymbolType.Semicolon;[;];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.RightBrace;[}];

View File

@ -0,0 +1,17 @@
Statement block - Gen<None> - 20 - (0:0,0)
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
CSharpSymbolType.Transition;[@];
Code span - Gen<Stmt> - [if(true) { foo(); }] - SpanEditHandler;Accepts:Any - (1:0,1) - Symbols:13
CSharpSymbolType.Keyword;[if];
CSharpSymbolType.LeftParenthesis;[(];
CSharpSymbolType.Keyword;[true];
CSharpSymbolType.RightParenthesis;[)];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.LeftBrace;[{];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.Identifier;[foo];
CSharpSymbolType.LeftParenthesis;[(];
CSharpSymbolType.RightParenthesis;[)];
CSharpSymbolType.Semicolon;[;];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.RightBrace;[}];

View File

@ -0,0 +1,17 @@
Statement block - Gen<None> - 21 - (0:0,0)
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
CSharpSymbolType.Transition;[@];
Code span - Gen<Stmt> - [lock(baz) { foo(); }] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:13
CSharpSymbolType.Keyword;[lock];
CSharpSymbolType.LeftParenthesis;[(];
CSharpSymbolType.Identifier;[baz];
CSharpSymbolType.RightParenthesis;[)];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.LeftBrace;[{];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.Identifier;[foo];
CSharpSymbolType.LeftParenthesis;[(];
CSharpSymbolType.RightParenthesis;[)];
CSharpSymbolType.Semicolon;[;];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.RightBrace;[}];

View File

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

View File

@ -0,0 +1,13 @@
Directive block - Gen<None> - 40 - (0:0,0)
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
CSharpSymbolType.Transition;[@];
Code span - Gen<Import: static global::System.Console;> - [using static global::System.Console] - SpanEditHandler;Accepts:AnyExceptNewline - (1:0,1) - Symbols:9
CSharpSymbolType.Keyword;[using];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.Keyword;[static];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.Identifier;[global];
CSharpSymbolType.DoubleColon;[::];
CSharpSymbolType.Identifier;[System];
CSharpSymbolType.Dot;[.];
CSharpSymbolType.Identifier;[Console];

View File

@ -0,0 +1,13 @@
Directive block - Gen<None> - 36 - (0:0,0)
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
CSharpSymbolType.Transition;[@];
Code span - Gen<Import: static global::System.Console;> - [using static global::System.Console] - SpanEditHandler;Accepts:AnyExceptNewline - (1:0,1) - Symbols:9
CSharpSymbolType.Keyword;[using];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.Keyword;[static];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.Identifier;[global];
CSharpSymbolType.DoubleColon;[::];
CSharpSymbolType.Identifier;[System];
CSharpSymbolType.Dot;[.];
CSharpSymbolType.Identifier;[Console];

View File

@ -0,0 +1,11 @@
Directive block - Gen<None> - 28 - (0:0,0)
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
CSharpSymbolType.Transition;[@];
Code span - Gen<Import: static System.Console;> - [using static System.Console] - SpanEditHandler;Accepts:AnyExceptNewline - (1:0,1) - Symbols:7
CSharpSymbolType.Keyword;[using];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.Keyword;[static];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.Identifier;[System];
CSharpSymbolType.Dot;[.];
CSharpSymbolType.Identifier;[Console];

View File

@ -0,0 +1,7 @@
Directive block - Gen<None> - 13 - (0:0,0)
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
CSharpSymbolType.Transition;[@];
Code span - Gen<Import: static;> - [using static] - SpanEditHandler;Accepts:AnyExceptNewline - (1:0,1) - Symbols:3
CSharpSymbolType.Keyword;[using];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.Keyword;[static];

View File

@ -0,0 +1,9 @@
Directive block - Gen<None> - 20 - (0:0,0)
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
CSharpSymbolType.Transition;[@];
Code span - Gen<Import: static System;> - [using static System] - SpanEditHandler;Accepts:AnyExceptNewline - (1:0,1) - Symbols:5
CSharpSymbolType.Keyword;[using];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.Keyword;[static];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.Identifier;[System];

View File

@ -0,0 +1,17 @@
Statement block - Gen<None> - 23 - (0:0,0)
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
CSharpSymbolType.Transition;[@];
Code span - Gen<Stmt> - [switch(foo) { foo(); }] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:13
CSharpSymbolType.Keyword;[switch];
CSharpSymbolType.LeftParenthesis;[(];
CSharpSymbolType.Identifier;[foo];
CSharpSymbolType.RightParenthesis;[)];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.LeftBrace;[{];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.Identifier;[foo];
CSharpSymbolType.LeftParenthesis;[(];
CSharpSymbolType.RightParenthesis;[)];
CSharpSymbolType.Semicolon;[;];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.RightBrace;[}];

View File

@ -0,0 +1,14 @@
Statement block - Gen<None> - 15 - (0:0,0)
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
CSharpSymbolType.Transition;[@];
Code span - Gen<Stmt> - [try { foo(); }] - SpanEditHandler;Accepts:Any - (1:0,1) - Symbols:10
CSharpSymbolType.Keyword;[try];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.LeftBrace;[{];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.Identifier;[foo];
CSharpSymbolType.LeftParenthesis;[(];
CSharpSymbolType.RightParenthesis;[)];
CSharpSymbolType.Semicolon;[;];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.RightBrace;[}];

View File

@ -0,0 +1,13 @@
Directive block - Gen<None> - 41 - (0:0,0)
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
CSharpSymbolType.Transition;[@];
Code span - Gen<Import: System.Text.Encoding.ASCIIEncoding;> - [using System.Text.Encoding.ASCIIEncoding] - SpanEditHandler;Accepts:AnyExceptNewline - (1:0,1) - Symbols:9
CSharpSymbolType.Keyword;[using];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.Identifier;[System];
CSharpSymbolType.Dot;[.];
CSharpSymbolType.Identifier;[Text];
CSharpSymbolType.Dot;[.];
CSharpSymbolType.Identifier;[Encoding];
CSharpSymbolType.Dot;[.];
CSharpSymbolType.Identifier;[ASCIIEncoding];

View File

@ -0,0 +1,29 @@
Statement block - Gen<None> - 42 - (0:0,0)
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
CSharpSymbolType.Transition;[@];
Code span - Gen<Stmt> - [using(var foo = new Foo()) { foo.Bar(); }] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:25
CSharpSymbolType.Keyword;[using];
CSharpSymbolType.LeftParenthesis;[(];
CSharpSymbolType.Identifier;[var];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.Identifier;[foo];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.Assign;[=];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.Keyword;[new];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.Identifier;[Foo];
CSharpSymbolType.LeftParenthesis;[(];
CSharpSymbolType.RightParenthesis;[)];
CSharpSymbolType.RightParenthesis;[)];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.LeftBrace;[{];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.Identifier;[foo];
CSharpSymbolType.Dot;[.];
CSharpSymbolType.Identifier;[Bar];
CSharpSymbolType.LeftParenthesis;[(];
CSharpSymbolType.RightParenthesis;[)];
CSharpSymbolType.Semicolon;[;];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.RightBrace;[}];

View File

@ -0,0 +1,23 @@
Directive block - Gen<None> - 79 - (0:0,0)
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
CSharpSymbolType.Transition;[@];
Code span - Gen<Import: StringDictionary = System.Collections.Generic.Dictionary<string, string>;> - [using StringDictionary = System.Collections.Generic.Dictionary<string, string>] - SpanEditHandler;Accepts:AnyExceptNewline - (1:0,1) - Symbols:19
CSharpSymbolType.Keyword;[using];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.Identifier;[StringDictionary];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.Assign;[=];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.Identifier;[System];
CSharpSymbolType.Dot;[.];
CSharpSymbolType.Identifier;[Collections];
CSharpSymbolType.Dot;[.];
CSharpSymbolType.Identifier;[Generic];
CSharpSymbolType.Dot;[.];
CSharpSymbolType.Identifier;[Dictionary];
CSharpSymbolType.LessThan;[<];
CSharpSymbolType.Keyword;[string];
CSharpSymbolType.Comma;[,];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.Keyword;[string];
CSharpSymbolType.GreaterThan;[>];

View File

@ -0,0 +1,17 @@
Statement block - Gen<None> - 23 - (0:0,0)
Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (0:0,0) - Symbols:1
CSharpSymbolType.Transition;[@];
Code span - Gen<Stmt> - [while(true) { foo(); }] - SpanEditHandler;Accepts:None - (1:0,1) - Symbols:13
CSharpSymbolType.Keyword;[while];
CSharpSymbolType.LeftParenthesis;[(];
CSharpSymbolType.Keyword;[true];
CSharpSymbolType.RightParenthesis;[)];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.LeftBrace;[{];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.Identifier;[foo];
CSharpSymbolType.LeftParenthesis;[(];
CSharpSymbolType.RightParenthesis;[)];
CSharpSymbolType.Semicolon;[;];
CSharpSymbolType.WhiteSpace;[ ];
CSharpSymbolType.RightBrace;[}];