| package org.eclipse.dltk.javascript.formatter.internal; |
| |
| import org.eclipse.dltk.formatter.FormatterNodeRewriter; |
| import org.eclipse.dltk.formatter.IFormatterContainerNode; |
| import org.eclipse.dltk.formatter.IFormatterDocument; |
| import org.eclipse.dltk.formatter.IFormatterNode; |
| import org.eclipse.dltk.javascript.ast.Comment; |
| import org.eclipse.dltk.javascript.ast.Script; |
| import org.eclipse.dltk.javascript.formatter.internal.nodes.FormatterCommentNode; |
| |
| public class JavascriptFormatterNodeRewriter extends FormatterNodeRewriter { |
| |
| public JavascriptFormatterNodeRewriter(Script ast) { |
| for (Comment comment : ast.getComments()) { |
| addComment(comment.sourceStart(), comment.sourceEnd(), comment); |
| } |
| } |
| |
| public void rewrite(IFormatterContainerNode root) { |
| mergeTextNodes(root); |
| insertComments(root); |
| } |
| |
| @Override |
| protected IFormatterNode createCommentNode(IFormatterDocument document, |
| int startOffset, int endOffset, Object object) { |
| return new FormatterCommentNode(document, startOffset, endOffset, |
| ((Comment) object).isMultiLine()); |
| } |
| |
| } |