in src/Structure/BlockTaggerImpl/CsharpParser.cs [59:93]
private static BlockType FindType(SyntaxKind kind)
{
switch (kind)
{
case SyntaxKind.ForEachStatement:
case SyntaxKind.ForStatement:
case SyntaxKind.WhileStatement:
case SyntaxKind.DoStatement:
return BlockType.Loop;
case SyntaxKind.IfStatement:
case SyntaxKind.ElseClause:
case SyntaxKind.SwitchStatement:
return BlockType.Conditional;
case SyntaxKind.ClassDeclaration:
case SyntaxKind.InterfaceDeclaration:
case SyntaxKind.StructDeclaration:
case SyntaxKind.EnumDeclaration:
return BlockType.Class;
case SyntaxKind.NamespaceDeclaration:
return BlockType.Namespace;
case SyntaxKind.MethodDeclaration:
case SyntaxKind.PropertyDeclaration:
case SyntaxKind.GetAccessorDeclaration:
case SyntaxKind.SetAccessorDeclaration:
case SyntaxKind.ParenthesizedLambdaExpression:
return BlockType.Method;
case SyntaxKind.TryStatement:
case SyntaxKind.CatchClause:
case SyntaxKind.FinallyClause:
case SyntaxKind.LockStatement:
return BlockType.Other;
default:
return BlockType.Unknown;
}
}