code: function isStatement(node) {
          switch (node.type) {
          case Syntax.BlockStatement:
          case Syntax.BreakStatement:
          case Syntax.CatchClause:
          case Syntax.ContinueStatement:
          case Syntax.ClassDeclaration:
          case Syntax.ClassBody:
          case Syntax.DirectiveStatement:
          case Syntax.DoWhileStatement:
          case Syntax.DebuggerStatement:
          case Syntax.EmptyStatement:
          case Syntax.ExpressionStatement:
          case Syntax.ForStatement:
          case Syntax.ForInStatement:
          case Syntax.ForOfStatement:
          case Syntax.FunctionDeclaration:
          case Syntax.IfStatement:
          case Syntax.LabeledStatement:
          case Syntax.Program:
          case Syntax.ReturnStatement:
          case Syntax.SwitchStatement:
          case Syntax.SwitchCase:
          case Syntax.ThrowStatement:
          case Syntax.TryStatement:
          case Syntax.VariableDeclaration:
          case Syntax.VariableDeclarator:
          case Syntax.WhileStatement:
          case Syntax.WithStatement:
              return true;
          }
          return false;
      }
docs: Generation is done by generateStatement.