3 var _tk = require('rocambole-token');
4 var _limit = require('../limit');
7 exports.format = function TryStatement(node) {
8 var finalizer = node.finalizer;
10 var finallyKeyword = _tk.findPrev(finalizer.startToken, 'finally');
11 _limit.around(finallyKeyword, 'FinallyKeyword');
12 _limit.around(finalizer.startToken, 'FinallyOpeningBrace');
13 _limit.around(finalizer.endToken, 'FinallyClosingBrace');
15 if (!finalizer.body.length && !containsCommentsInside(finalizer)) {
16 // XXX: empty body, so we should remove all white spaces
17 _tk.removeEmptyInBetween(finalizer.startToken, finalizer.endToken);
21 // CatchClause is handled by its own hook
23 _limit.around(node.startToken, 'TryKeyword');
24 _limit.around(node.block.startToken, 'TryOpeningBrace');
25 _limit.around(node.block.endToken, 'TryClosingBrace');
29 function containsCommentsInside(node) {
30 return !!_tk.findInBetween(node.startToken, node.endToken, _tk.isComment);
34 exports.getIndentEdges = function(node) {
35 var edges = [node.block];
38 edges.push(node.finalizer);
41 // CatchClause is handled by it's own node (automatically)