Пример #1
0
 private BoundStatement BindStatement(StatementSyntax syntax, Symbol parent)
 {
     switch (syntax.Kind)
     {
         case SyntaxKind.Block:
             return BindBlock((BlockSyntax) syntax, parent);
         case SyntaxKind.BreakStatement:
             return BindBreakStatement((BreakStatementSyntax) syntax);
         case SyntaxKind.DiscardStatement:
             return BindDiscardStatement((DiscardStatementSyntax) syntax);
         case SyntaxKind.DoStatement:
             return BindDoStatement((DoStatementSyntax) syntax, parent);
         case SyntaxKind.ExpressionStatement:
             return BindExpressionStatement((ExpressionStatementSyntax) syntax);
         case SyntaxKind.ForStatement:
             return BindForStatement((ForStatementSyntax) syntax, parent);
         case SyntaxKind.IfStatement:
             return BindIfStatement((IfStatementSyntax) syntax, parent);
         case SyntaxKind.ReturnStatement:
             return BindReturnStatement((ReturnStatementSyntax) syntax);
         case SyntaxKind.VariableDeclarationStatement:
             return BindVariableDeclarationStatement((VariableDeclarationStatementSyntax) syntax, parent);
         case SyntaxKind.SwitchStatement:
             return BindSwitchStatement((SwitchStatementSyntax) syntax, parent);
         case SyntaxKind.WhileStatement:
             return BindWhileStatement((WhileStatementSyntax) syntax, parent);
         case SyntaxKind.EmptyStatement:
             return BindEmptyStatement((EmptyStatementSyntax) syntax);
         default:
             throw new NotSupportedException("Not supported: " + syntax.Kind);
     }
 }