/** * Aptana Studio * Copyright (c) 2005-2011 by Appcelerator, Inc. All Rights Reserved. * Licensed under the terms of the GNU Public License (GPL) v3 (with exceptions). * Please see the license.html included with this distribution for details. * Any modifications to this file must keep this entire header intact. */ package com.aptana.editor.php.formatter.nodes; import com.aptana.editor.php.formatter.PHPFormatterConstants; import com.aptana.formatter.IFormatterContext; import com.aptana.formatter.IFormatterDocument; import com.aptana.formatter.ui.CodeFormatterConstants; /** * A PHP function body formatter node.<br> * This node represents the body part of the function (everything between the curly-brackets). * * @author Shalom Gibly <sgibly@aptana.com> */ public class FormatterPHPFunctionBodyNode extends FormatterPHPBlockNode { /** * @param document * @param functionPartOfExpression * @param hasCommentBefore */ public FormatterPHPFunctionBodyNode(IFormatterDocument document, boolean hasCommentBefore) { super(document, hasCommentBefore); } /* * (non-Javadoc) * @see com.aptana.formatter.nodes.FormatterBlockNode#isAddingBeginNewLine() */ @Override protected boolean isAddingBeginNewLine() { // adds a new line before the start curly bracket return isStandAloneBlock || CodeFormatterConstants.NEW_LINE.equals(getDocument().getString( PHPFormatterConstants.BRACE_POSITION_FUNCTION_DECLARATION)); } /* * (non-Javadoc) * @see com.aptana.formatter.nodes.FormatterBlockNode#isIndenting() */ @Override protected boolean isIndenting() { return getDocument().getBoolean(PHPFormatterConstants.INDENT_FUNCTION_BODY); } /* * (non-Javadoc) * @see com.aptana.editor.js.formatter.nodes.FormatterPHPBlockNode#shouldConsumePreviousWhiteSpaces() */ @Override public boolean shouldConsumePreviousWhiteSpaces() { return !isAddingBeginNewLine(); } /* * (non-Javadoc) * @see * com.aptana.formatter.nodes.FormatterBlockWithBeginEndNode#getBlankLinesAfter(com.aptana.formatter.IFormatterContext * ) */ @Override protected int getBlankLinesAfter(IFormatterContext context) { return getDocument().getInt(PHPFormatterConstants.LINES_AFTER_FUNCTION_DECLARATION); } }