1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-29 19:45:01 +02:00

Fix for 192764: [Formatter] Improve GNU coding style compliance

This commit is contained in:
Anton Leherbauer 2008-02-28 16:12:09 +00:00
parent e7eaa2fb93
commit 40e3f39a27
4 changed files with 172 additions and 86 deletions

View file

@ -529,6 +529,17 @@ public class DefaultCodeFormatterConstants {
* @see #FALSE
*/
public static final String FORMATTER_INDENT_BODY_DECLARATIONS_COMPARE_TO_ACCESS_SPECIFIER = CCorePlugin.PLUGIN_ID + ".formatter.indent_body_declarations_compare_to_access_specifier"; //$NON-NLS-1$
/**
* <pre>
* FORMATTER / Option to indent template declaration compare to template header
* - option id: "org.eclipse.cdt.core.formatter.indent_declaration_compare_to_template_header"
* - possible values: { TRUE, FALSE }
* - default: FALSE
* </pre>
* @see #TRUE
* @see #FALSE
*/
public static final String FORMATTER_INDENT_DECLARATION_COMPARE_TO_TEMPLATE_HEADER = CCorePlugin.PLUGIN_ID + ".formatter.indent_declaration_compare_to_template_header"; //$NON-NLS-1$
/**
* <pre>
* FORMATTER / Option to indent body declarations compare to its enclosing namespace header
@ -640,7 +651,17 @@ public class DefaultCodeFormatterConstants {
* @see CCorePlugin#DO_NOT_INSERT
*/
public static final String FORMATTER_INSERT_NEW_LINE_AFTER_OPENING_BRACE_IN_INITIALIZER_LIST = CCorePlugin.PLUGIN_ID + ".formatter.insert_new_line_after_opening_brace_in_array_initializer";//$NON-NLS-1$
/**
* <pre>
* FORMATTER / Option to insert a new line after template declaration
* - option id: "org.eclipse.cdt.core.formatter.insert_new_line_after_template_declaration"
* - possible values: { INSERT, DO_NOT_INSERT }
* - default: INSERT
* </pre>
* @see CCorePlugin#INSERT
* @see CCorePlugin#DO_NOT_INSERT
*/
public static final String FORMATTER_INSERT_NEW_LINE_AFTER_TEMPLATE_DECLARATION = CCorePlugin.PLUGIN_ID + ".formatter.insert_new_line_after_template_declaration";//$NON-NLS-1$
/**
* <pre>
* FORMATTER / Option to insert a new line at the end of the current file if missing
@ -652,17 +673,17 @@ public class DefaultCodeFormatterConstants {
* @see CCorePlugin#DO_NOT_INSERT
*/
public static final String FORMATTER_INSERT_NEW_LINE_AT_END_OF_FILE_IF_MISSING = CCorePlugin.PLUGIN_ID + ".formatter.insert_new_line_at_end_of_file_if_missing";//$NON-NLS-1$
// /**
// * <pre>
// * FORMATTER / Option to insert a new line before the catch keyword in try statement
// * - option id: "org.eclipse.cdt.core.formatter.insert_new_line_before_catch_in_try_statement"
// * - possible values: { INSERT, DO_NOT_INSERT }
// * - default: DO_NOT_INSERT
// * </pre>
// * @see CCorePlugin#INSERT
// * @see CCorePlugin#DO_NOT_INSERT
// */
// public static final String FORMATTER_INSERT_NEW_LINE_BEFORE_CATCH_IN_TRY_STATEMENT = CCorePlugin.PLUGIN_ID + ".formatter.insert_new_line_before_catch_in_try_statement"; //$NON-NLS-1$
/**
* <pre>
* FORMATTER / Option to insert a new line before the catch keyword in try statement
* - option id: "org.eclipse.cdt.core.formatter.insert_new_line_before_catch_in_try_statement"
* - possible values: { INSERT, DO_NOT_INSERT }
* - default: DO_NOT_INSERT
* </pre>
* @see CCorePlugin#INSERT
* @see CCorePlugin#DO_NOT_INSERT
*/
public static final String FORMATTER_INSERT_NEW_LINE_BEFORE_CATCH_IN_TRY_STATEMENT = CCorePlugin.PLUGIN_ID + ".formatter.insert_new_line_before_catch_in_try_statement"; //$NON-NLS-1$
/**
* <pre>
* FORMATTER / Option to insert a new line before the closing brace in an initializer list
@ -685,17 +706,6 @@ public class DefaultCodeFormatterConstants {
* @see CCorePlugin#DO_NOT_INSERT
*/
public static final String FORMATTER_INSERT_NEW_LINE_BEFORE_ELSE_IN_IF_STATEMENT = CCorePlugin.PLUGIN_ID + ".formatter.insert_new_line_before_else_in_if_statement"; //$NON-NLS-1$
// /**
// * <pre>
// * FORMATTER / Option to insert a new line before the finally keyword in try statement
// * - option id: "org.eclipse.cdt.core.formatter.insert_new_line_before_finally_in_try_statement"
// * - possible values: { INSERT, DO_NOT_INSERT }
// * - default: DO_NOT_INSERT
// * </pre>
// * @see CCorePlugin#INSERT
// * @see CCorePlugin#DO_NOT_INSERT
// */
// public static final String FORMATTER_INSERT_NEW_LINE_BEFORE_FINALLY_IN_TRY_STATEMENT = CCorePlugin.PLUGIN_ID + ".formatter.insert_new_line_before_finally_in_try_statement"; //$NON-NLS-1$
/**
* <pre>
* FORMATTER / Option to insert a new line before while in do statement
@ -707,6 +717,17 @@ public class DefaultCodeFormatterConstants {
* @see CCorePlugin#DO_NOT_INSERT
*/
public static final String FORMATTER_INSERT_NEW_LINE_BEFORE_WHILE_IN_DO_STATEMENT = CCorePlugin.PLUGIN_ID + ".formatter.insert_new_line_before_while_in_do_statement"; //$NON-NLS-1$
/**
* <pre>
* FORMATTER / Option to insert a new line before the identifier in a function declaration
* - option id: "org.eclipse.cdt.core.formatter.insert_new_line_before_identifier_in_function_declaration"
* - possible values: { INSERT, DO_NOT_INSERT }
* - default: INSERT
* </pre>
* @see CCorePlugin#INSERT
* @see CCorePlugin#DO_NOT_INSERT
*/
public static final String FORMATTER_INSERT_NEW_LINE_BEFORE_IDENTIFIER_IN_FUNCTION_DECLARATION = CCorePlugin.PLUGIN_ID + ".formatter.insert_new_line_before_identifier_in_function_declaration"; //$NON-NLS-1$
/**
* <pre>
* FORMATTER / Option to insert a new line in an empty block

View file

@ -457,10 +457,13 @@ public class CodeFormatterVisitor extends CPPASTVisitor {
final IASTPointerOperator[] pointerOperators= node.getPointerOperators();
formatPointers(pointerOperators);
if (node instanceof IASTStandardFunctionDeclarator) {
// preserve newline between decl-specifier and declarator
// TLETODO need alignment for function definition
if (scribe.preserveNewLine()) {
scribe.space();
if (preferences.insert_new_line_before_identifier_in_function_declaration) {
scribe.startNewLine();
} else {
// preserve newline if not explicitely requested
if (scribe.preserveNewLine()) {
scribe.space();
}
}
}
IASTName name= node.getName();
@ -1181,12 +1184,14 @@ public class CodeFormatterVisitor extends CPPASTVisitor {
for (int i = 0; i < arrayModifiers.length; i++) {
IASTArrayModifier arrayModifier = arrayModifiers[i];
scribe.printNextToken(Token.tLBRACKET, preferences.insert_space_before_opening_bracket);
if (preferences.insert_space_after_opening_bracket ) {
scribe.space();
boolean emptyBrackets= arrayModifier.getConstantExpression() == null
&& !(arrayModifier instanceof ICASTArrayModifier);
if (!emptyBrackets) {
if (preferences.insert_space_after_opening_bracket) {
scribe.space();
}
}
boolean emptyBrackets= arrayModifier.getConstantExpression() == null;
if (arrayModifier instanceof ICASTArrayModifier) {
emptyBrackets= false;
final ICASTArrayModifier cArrayModifier= (ICASTArrayModifier)arrayModifier;
if (scribe.printModifiers()) {
scribe.space();
@ -1198,13 +1203,14 @@ public class CodeFormatterVisitor extends CPPASTVisitor {
scribe.space();
}
}
boolean forceSpace= emptyBrackets && preferences.insert_space_between_empty_brackets;
try {
arrayModifier.accept(this);
} catch (ASTProblemException e) {
scribe.skipToToken(Token.tRBRACKET);
}
scribe.printNextToken(Token.tRBRACKET, preferences.insert_space_before_closing_bracket || forceSpace);
boolean insertSpace= emptyBrackets ? preferences.insert_space_between_empty_brackets
: preferences.insert_space_before_closing_bracket;
scribe.printNextToken(Token.tRBRACKET, insertSpace);
}
}
return PROCESS_SKIP;
@ -1243,6 +1249,8 @@ public class CodeFormatterVisitor extends CPPASTVisitor {
if (preferences.insert_space_after_opening_angle_bracket_in_template_parameters) {
scribe.space();
}
// template parameters
final ICPPASTTemplateParameter[] templateParameters= node.getTemplateParameters();
if (templateParameters.length > 0) {
final ListAlignment align= new ListAlignment(Alignment.M_COMPACT_SPLIT);
@ -1254,11 +1262,27 @@ public class CodeFormatterVisitor extends CPPASTVisitor {
if (preferences.insert_space_after_closing_angle_bracket_in_template_parameters) {
scribe.space();
}
// declaration
final IASTDeclaration declaration= node.getDeclaration();
// preserve newline if any
// TLETODO need alignment for template declaration
scribe.preserveNewLine();
if (preferences.insert_new_line_after_template_declaration) {
scribe.startNewLine();
if (preferences.indent_declaration_compare_to_template_header) {
scribe.indent();
}
} else {
// preserve newline if not explicitely requested
scribe.preserveNewLine();
}
declaration.accept(this);
if (preferences.insert_new_line_after_template_declaration) {
if (preferences.indent_declaration_compare_to_template_header) {
scribe.unIndent();
}
}
return PROCESS_SKIP;
}
@ -1424,6 +1448,13 @@ public class CodeFormatterVisitor extends CPPASTVisitor {
}
scribe.startNewLine();
}
if (preferences.indent_body_declarations_compare_to_access_specifier) {
scribe.indent();
}
scribe.printComment();
if (preferences.indent_body_declarations_compare_to_access_specifier) {
scribe.unIndent();
}
if (preferences.indent_access_specifier_compare_to_type_header) {
scribe.unIndent();
}
@ -1435,9 +1466,6 @@ public class CodeFormatterVisitor extends CPPASTVisitor {
}
private int visit(ICPPASTVisiblityLabel node) {
if (!preferences.indent_access_specifier_compare_to_type_header) {
scribe.unIndent();
}
if (node.getNodeLocations()[0] instanceof IASTMacroExpansion) {
skipNode(node);
} else {
@ -1455,10 +1483,7 @@ public class CodeFormatterVisitor extends CPPASTVisitor {
if (peekNextToken() != Token.tCOLON) {
scribe.skipToToken(Token.tCOLON);
}
scribe.printNextToken(Token.tCOLON, false/*preferences.insert_space_before_colon_in_visibility_label */);
}
if (!preferences.indent_access_specifier_compare_to_type_header) {
scribe.indent();
scribe.printNextToken(Token.tCOLON, false/*preferences.insert_space_before_colon_in_access specifier*/);
}
return PROCESS_SKIP;
}
@ -1655,6 +1680,9 @@ public class CodeFormatterVisitor extends CPPASTVisitor {
}
private int visit(ICPPASTCatchHandler node) {
if (preferences.insert_new_line_before_catch_in_try_statement) {
scribe.startNewLine();
}
scribe.printNextToken(Token.t_catch, true);
scribe.printNextToken(Token.tLPAREN, preferences.insert_space_before_opening_paren_in_catch);
if (preferences.insert_space_after_opening_paren_in_catch) {
@ -2184,10 +2212,7 @@ public class CodeFormatterVisitor extends CPPASTVisitor {
scribe.printNextToken(Token.t_delete);
if (node.isVectored()) {
scribe.printNextToken(Token.tLBRACKET, preferences.insert_space_before_opening_bracket);
if (preferences.insert_space_after_opening_bracket || preferences.insert_space_between_empty_brackets) {
scribe.space();
}
scribe.printNextToken(Token.tRBRACKET, preferences.insert_space_before_closing_bracket);
scribe.printNextToken(Token.tRBRACKET, preferences.insert_space_between_empty_brackets);
}
scribe.space();
node.getOperand().accept(this);

View file

@ -104,19 +104,22 @@ public class DefaultCodeFormatterOptions {
public boolean indent_body_declarations_compare_to_access_specifier;
public boolean indent_access_specifier_compare_to_type_header;
public boolean indent_body_declarations_compare_to_namespace_header;
public boolean indent_declaration_compare_to_template_header;
public boolean indent_breaks_compare_to_cases;
public boolean indent_empty_lines;
public boolean indent_switchstatements_compare_to_cases;
public boolean indent_switchstatements_compare_to_switch;
public int indentation_size;
public boolean insert_new_line_after_opening_brace_in_initializer_list;
public boolean insert_new_line_after_template_declaration;
public boolean insert_new_line_at_end_of_file_if_missing;
// public boolean insert_new_line_before_catch_in_try_statement;
public boolean insert_new_line_before_catch_in_try_statement;
public boolean insert_new_line_before_closing_brace_in_initializer_list;
public boolean insert_new_line_before_else_in_if_statement;
// public boolean insert_new_line_before_finally_in_try_statement;
public boolean insert_new_line_before_while_in_do_statement;
public boolean insert_new_line_before_identifier_in_function_declaration;
public boolean insert_new_line_in_empty_block;
// public boolean insert_new_line_in_empty_method_body;
// public boolean insert_new_line_in_empty_type_declaration;
@ -299,6 +302,7 @@ public class DefaultCodeFormatterOptions {
options.put(DefaultCodeFormatterConstants.FORMATTER_INDENT_STATEMENTS_COMPARE_TO_BODY, this.indent_statements_compare_to_body ? DefaultCodeFormatterConstants.TRUE : DefaultCodeFormatterConstants.FALSE);
options.put(DefaultCodeFormatterConstants.FORMATTER_INDENT_BODY_DECLARATIONS_COMPARE_TO_ACCESS_SPECIFIER, this.indent_body_declarations_compare_to_access_specifier ? DefaultCodeFormatterConstants.TRUE : DefaultCodeFormatterConstants.FALSE);
options.put(DefaultCodeFormatterConstants.FORMATTER_INDENT_ACCESS_SPECIFIER_COMPARE_TO_TYPE_HEADER, this.indent_access_specifier_compare_to_type_header ? DefaultCodeFormatterConstants.TRUE : DefaultCodeFormatterConstants.FALSE);
options.put(DefaultCodeFormatterConstants.FORMATTER_INDENT_DECLARATION_COMPARE_TO_TEMPLATE_HEADER, this.indent_declaration_compare_to_template_header? DefaultCodeFormatterConstants.TRUE : DefaultCodeFormatterConstants.FALSE);
options.put(DefaultCodeFormatterConstants.FORMATTER_INDENT_BODY_DECLARATIONS_COMPARE_TO_NAMESPACE_HEADER, this.indent_body_declarations_compare_to_namespace_header ? DefaultCodeFormatterConstants.TRUE : DefaultCodeFormatterConstants.FALSE);
options.put(DefaultCodeFormatterConstants.FORMATTER_INDENT_BREAKS_COMPARE_TO_CASES, this.indent_breaks_compare_to_cases ? DefaultCodeFormatterConstants.TRUE : DefaultCodeFormatterConstants.FALSE);
options.put(DefaultCodeFormatterConstants.FORMATTER_INDENT_EMPTY_LINES, this.indent_empty_lines ? DefaultCodeFormatterConstants.TRUE : DefaultCodeFormatterConstants.FALSE);
@ -306,12 +310,13 @@ public class DefaultCodeFormatterOptions {
options.put(DefaultCodeFormatterConstants.FORMATTER_INDENT_SWITCHSTATEMENTS_COMPARE_TO_SWITCH, this.indent_switchstatements_compare_to_switch ? DefaultCodeFormatterConstants.TRUE : DefaultCodeFormatterConstants.FALSE);
options.put(DefaultCodeFormatterConstants.FORMATTER_INDENTATION_SIZE, Integer.toString(this.indentation_size));
options.put(DefaultCodeFormatterConstants.FORMATTER_INSERT_NEW_LINE_AFTER_OPENING_BRACE_IN_INITIALIZER_LIST, this.insert_new_line_after_opening_brace_in_initializer_list? CCorePlugin.INSERT : CCorePlugin.DO_NOT_INSERT);
options.put(DefaultCodeFormatterConstants.FORMATTER_INSERT_NEW_LINE_AFTER_TEMPLATE_DECLARATION, this.insert_new_line_after_template_declaration? CCorePlugin.INSERT : CCorePlugin.DO_NOT_INSERT);
options.put(DefaultCodeFormatterConstants.FORMATTER_INSERT_NEW_LINE_AT_END_OF_FILE_IF_MISSING, this.insert_new_line_at_end_of_file_if_missing ? CCorePlugin.INSERT : CCorePlugin.DO_NOT_INSERT);
// options.put(DefaultCodeFormatterConstants.FORMATTER_INSERT_NEW_LINE_BEFORE_CATCH_IN_TRY_STATEMENT, this.insert_new_line_before_catch_in_try_statement? CCorePlugin.INSERT : CCorePlugin.DO_NOT_INSERT);
options.put(DefaultCodeFormatterConstants.FORMATTER_INSERT_NEW_LINE_BEFORE_CATCH_IN_TRY_STATEMENT, this.insert_new_line_before_catch_in_try_statement? CCorePlugin.INSERT : CCorePlugin.DO_NOT_INSERT);
options.put(DefaultCodeFormatterConstants.FORMATTER_INSERT_NEW_LINE_BEFORE_CLOSING_BRACE_IN_INITIALIZER_LIST, this.insert_new_line_before_closing_brace_in_initializer_list? CCorePlugin.INSERT : CCorePlugin.DO_NOT_INSERT);
options.put(DefaultCodeFormatterConstants.FORMATTER_INSERT_NEW_LINE_BEFORE_ELSE_IN_IF_STATEMENT, this.insert_new_line_before_else_in_if_statement? CCorePlugin.INSERT : CCorePlugin.DO_NOT_INSERT);
// options.put(DefaultCodeFormatterConstants.FORMATTER_INSERT_NEW_LINE_BEFORE_FINALLY_IN_TRY_STATEMENT, this.insert_new_line_before_finally_in_try_statement? CCorePlugin.INSERT : CCorePlugin.DO_NOT_INSERT);
options.put(DefaultCodeFormatterConstants.FORMATTER_INSERT_NEW_LINE_BEFORE_WHILE_IN_DO_STATEMENT, this.insert_new_line_before_while_in_do_statement? CCorePlugin.INSERT : CCorePlugin.DO_NOT_INSERT);
options.put(DefaultCodeFormatterConstants.FORMATTER_INSERT_NEW_LINE_BEFORE_IDENTIFIER_IN_FUNCTION_DECLARATION, this.insert_new_line_before_identifier_in_function_declaration? CCorePlugin.INSERT : CCorePlugin.DO_NOT_INSERT);
options.put(DefaultCodeFormatterConstants.FORMATTER_INSERT_NEW_LINE_IN_EMPTY_BLOCK, this.insert_new_line_in_empty_block? CCorePlugin.INSERT : CCorePlugin.DO_NOT_INSERT);
// options.put(DefaultCodeFormatterConstants.FORMATTER_INSERT_NEW_LINE_IN_EMPTY_METHOD_BODY, this.insert_new_line_in_empty_method_body? CCorePlugin.INSERT : CCorePlugin.DO_NOT_INSERT);
// options.put(DefaultCodeFormatterConstants.FORMATTER_INSERT_NEW_LINE_IN_EMPTY_TYPE_DECLARATION, this.insert_new_line_in_empty_type_declaration? CCorePlugin.INSERT : CCorePlugin.DO_NOT_INSERT);
@ -799,6 +804,10 @@ public class DefaultCodeFormatterOptions {
if (indentBodyDeclarationsCompareToAccessSpecifierOption != null) {
this.indent_body_declarations_compare_to_access_specifier = DefaultCodeFormatterConstants.TRUE.equals(indentBodyDeclarationsCompareToAccessSpecifierOption);
}
final Object indentDeclarationCompareToTemplateHeaderOption = settings.get(DefaultCodeFormatterConstants.FORMATTER_INDENT_DECLARATION_COMPARE_TO_TEMPLATE_HEADER);
if (indentDeclarationCompareToTemplateHeaderOption != null) {
this.indent_declaration_compare_to_template_header = DefaultCodeFormatterConstants.TRUE.equals(indentDeclarationCompareToTemplateHeaderOption);
}
final Object indentBodyDeclarationsCompareToNamespaceHeaderOption = settings.get(DefaultCodeFormatterConstants.FORMATTER_INDENT_BODY_DECLARATIONS_COMPARE_TO_NAMESPACE_HEADER);
if (indentBodyDeclarationsCompareToNamespaceHeaderOption != null) {
this.indent_body_declarations_compare_to_namespace_header = DefaultCodeFormatterConstants.TRUE.equals(indentBodyDeclarationsCompareToNamespaceHeaderOption);
@ -833,14 +842,18 @@ public class DefaultCodeFormatterOptions {
if (insertNewLineAfterOpeningBraceInInitializerListOption != null) {
this.insert_new_line_after_opening_brace_in_initializer_list = CCorePlugin.INSERT.equals(insertNewLineAfterOpeningBraceInInitializerListOption);
}
final Object insertNewLineAfterTemplateDeclarationOption = settings.get(DefaultCodeFormatterConstants.FORMATTER_INSERT_NEW_LINE_AFTER_TEMPLATE_DECLARATION);
if (insertNewLineAfterOpeningBraceInInitializerListOption != null) {
this.insert_new_line_after_template_declaration = CCorePlugin.INSERT.equals(insertNewLineAfterTemplateDeclarationOption);
}
final Object insertNewLineAtEndOfFileIfMissingOption = settings.get(DefaultCodeFormatterConstants.FORMATTER_INSERT_NEW_LINE_AT_END_OF_FILE_IF_MISSING);
if (insertNewLineAtEndOfFileIfMissingOption != null) {
this.insert_new_line_at_end_of_file_if_missing = CCorePlugin.INSERT.equals(insertNewLineAtEndOfFileIfMissingOption);
}
// final Object insertNewLineBeforeCatchInTryStatementOption = settings.get(DefaultCodeFormatterConstants.FORMATTER_INSERT_NEW_LINE_BEFORE_CATCH_IN_TRY_STATEMENT);
// if (insertNewLineBeforeCatchInTryStatementOption != null) {
// this.insert_new_line_before_catch_in_try_statement = CCorePlugin.INSERT.equals(insertNewLineBeforeCatchInTryStatementOption);
// }
final Object insertNewLineBeforeCatchInTryStatementOption = settings.get(DefaultCodeFormatterConstants.FORMATTER_INSERT_NEW_LINE_BEFORE_CATCH_IN_TRY_STATEMENT);
if (insertNewLineBeforeCatchInTryStatementOption != null) {
this.insert_new_line_before_catch_in_try_statement = CCorePlugin.INSERT.equals(insertNewLineBeforeCatchInTryStatementOption);
}
final Object insertNewLineBeforeClosingBraceInInitializerListOption = settings.get(DefaultCodeFormatterConstants.FORMATTER_INSERT_NEW_LINE_BEFORE_CLOSING_BRACE_IN_INITIALIZER_LIST);
if (insertNewLineBeforeClosingBraceInInitializerListOption != null) {
this.insert_new_line_before_closing_brace_in_initializer_list = CCorePlugin.INSERT.equals(insertNewLineBeforeClosingBraceInInitializerListOption);
@ -849,14 +862,14 @@ public class DefaultCodeFormatterOptions {
if (insertNewLineBeforeElseInIfStatementOption != null) {
this.insert_new_line_before_else_in_if_statement = CCorePlugin.INSERT.equals(insertNewLineBeforeElseInIfStatementOption);
}
// final Object insertNewLineBeforeFinallyInTryStatementOption = settings.get(DefaultCodeFormatterConstants.FORMATTER_INSERT_NEW_LINE_BEFORE_FINALLY_IN_TRY_STATEMENT);
// if (insertNewLineBeforeFinallyInTryStatementOption != null) {
// this.insert_new_line_before_finally_in_try_statement = CCorePlugin.INSERT.equals(insertNewLineBeforeFinallyInTryStatementOption);
// }
final Object insertNewLineBeforeWhileInDoStatementOption = settings.get(DefaultCodeFormatterConstants.FORMATTER_INSERT_NEW_LINE_BEFORE_WHILE_IN_DO_STATEMENT);
if (insertNewLineBeforeWhileInDoStatementOption != null) {
this.insert_new_line_before_while_in_do_statement = CCorePlugin.INSERT.equals(insertNewLineBeforeWhileInDoStatementOption);
}
final Object insertNewLineBeforeIdentifierInFunctionDefinitionOption = settings.get(DefaultCodeFormatterConstants.FORMATTER_INSERT_NEW_LINE_BEFORE_IDENTIFIER_IN_FUNCTION_DECLARATION);
if (insertNewLineBeforeWhileInDoStatementOption != null) {
this.insert_new_line_before_identifier_in_function_declaration = CCorePlugin.INSERT.equals(insertNewLineBeforeIdentifierInFunctionDefinitionOption);
}
final Object insertNewLineInEmptyBlockOption = settings.get(DefaultCodeFormatterConstants.FORMATTER_INSERT_NEW_LINE_IN_EMPTY_BLOCK);
if (insertNewLineInEmptyBlockOption != null) {
this.insert_new_line_in_empty_block = CCorePlugin.INSERT.equals(insertNewLineInEmptyBlockOption);
@ -1419,11 +1432,11 @@ public class DefaultCodeFormatterOptions {
this.indentation_size = 4;
this.insert_new_line_after_opening_brace_in_initializer_list = false;
this.insert_new_line_at_end_of_file_if_missing = false;
// this.insert_new_line_before_catch_in_try_statement = false;
this.insert_new_line_before_catch_in_try_statement = false;
this.insert_new_line_before_closing_brace_in_initializer_list = false;
this.insert_new_line_before_else_in_if_statement = false;
// this.insert_new_line_before_finally_in_try_statement = false;
this.insert_new_line_before_while_in_do_statement = false;
this.insert_new_line_before_identifier_in_function_declaration = false;
this.insert_new_line_in_empty_block = true;
// this.insert_new_line_in_empty_method_body = true;
// this.insert_new_line_in_empty_type_declaration = true;
@ -1599,7 +1612,6 @@ public class DefaultCodeFormatterOptions {
this.indent_statements_compare_to_body = true;
this.indent_body_declarations_compare_to_namespace_header = false;
// this.indent_body_declarations_compare_to_enum_declaration_header = true;
this.indent_body_declarations_compare_to_access_specifier = true;
this.indent_breaks_compare_to_cases = true;
this.indent_empty_lines = false;
this.indent_switchstatements_compare_to_cases = true;
@ -1608,11 +1620,8 @@ public class DefaultCodeFormatterOptions {
this.insert_new_line_after_opening_brace_in_initializer_list = false;
this.insert_new_line_at_end_of_file_if_missing = false;
// this.insert_new_line_before_catch_in_try_statement = false;
this.insert_new_line_before_closing_brace_in_initializer_list = false;
this.insert_new_line_before_else_in_if_statement = true;
// this.insert_new_line_before_finally_in_try_statement = false;
this.insert_new_line_before_while_in_do_statement = false;
this.insert_new_line_in_empty_block = true;
// this.insert_new_line_in_empty_enum_declaration = true;
// this.insert_new_line_in_empty_method_body = true;
@ -1639,18 +1648,18 @@ public class DefaultCodeFormatterOptions {
* <p>Example:</p>
* <pre>
* namespace foospace
* {
* int Foo()
* {
* int Foo()
* if (isBar)
* {
* if (isBar)
* {
* bar();
* return 1;
* }
* else
* return 0;
* bar();
* return 1;
* }
* else
* return 0;
* }
* }
* </pre>
* @see http://en.wikipedia.org/wiki/Indent_style
*/
@ -1660,16 +1669,16 @@ public class DefaultCodeFormatterOptions {
this.brace_position_for_block = DefaultCodeFormatterConstants.NEXT_LINE_SHIFTED;
this.brace_position_for_block_in_case = DefaultCodeFormatterConstants.NEXT_LINE_SHIFTED;
// this.brace_position_for_enum_declaration = DefaultCodeFormatterConstants.NEXT_LINE_SHIFTED;
this.brace_position_for_method_declaration = DefaultCodeFormatterConstants.NEXT_LINE_SHIFTED;
this.brace_position_for_type_declaration = DefaultCodeFormatterConstants.NEXT_LINE_SHIFTED;
this.brace_position_for_namespace_declaration = DefaultCodeFormatterConstants.NEXT_LINE_SHIFTED;
this.brace_position_for_method_declaration = DefaultCodeFormatterConstants.NEXT_LINE;
this.brace_position_for_type_declaration = DefaultCodeFormatterConstants.NEXT_LINE;
this.brace_position_for_namespace_declaration = DefaultCodeFormatterConstants.NEXT_LINE;
this.brace_position_for_switch = DefaultCodeFormatterConstants.NEXT_LINE_SHIFTED;
this.indent_statements_compare_to_block = true;
this.indent_statements_compare_to_body = true;
this.indent_body_declarations_compare_to_namespace_header = true;
// this.indent_body_declarations_compare_to_enum_declaration_header = true;
this.indent_body_declarations_compare_to_access_specifier = true;
this.indent_declaration_compare_to_template_header = true;
this.indent_breaks_compare_to_cases = true;
this.indent_empty_lines = false;
this.indent_switchstatements_compare_to_cases = true;
@ -1677,16 +1686,19 @@ public class DefaultCodeFormatterOptions {
this.indentation_size = 8;
this.insert_new_line_after_opening_brace_in_initializer_list = false;
this.insert_new_line_after_template_declaration = true;
this.insert_new_line_at_end_of_file_if_missing = false;
// this.insert_new_line_before_catch_in_try_statement = false;
this.insert_new_line_before_catch_in_try_statement = true;
this.insert_new_line_before_closing_brace_in_initializer_list = false;
this.insert_new_line_before_else_in_if_statement = true;
// this.insert_new_line_before_finally_in_try_statement = false;
this.insert_new_line_before_while_in_do_statement = false;
this.insert_new_line_before_identifier_in_function_declaration = true;
this.insert_new_line_before_while_in_do_statement = true;
this.insert_new_line_in_empty_block = true;
// this.insert_new_line_in_empty_enum_declaration = true;
// this.insert_new_line_in_empty_method_body = true;
// this.insert_new_line_in_empty_type_declaration = true;
// this.insert_new_line_in_empty_enum_declaration = false;
// this.insert_new_line_in_empty_method_body = false;
// this.insert_new_line_in_empty_type_declaration = false;
this.insert_space_before_colon_in_base_clause = true;
this.compact_else_if = true;
this.keep_guardian_clause_on_one_line = false;
@ -1737,7 +1749,6 @@ public class DefaultCodeFormatterOptions {
this.indent_statements_compare_to_block = false;
this.indent_statements_compare_to_body = false;
this.indent_body_declarations_compare_to_namespace_header = false;
this.indent_body_declarations_compare_to_access_specifier = true;
this.indent_breaks_compare_to_cases = true;
this.indent_empty_lines = false;
this.indent_switchstatements_compare_to_cases = true;
@ -1746,10 +1757,9 @@ public class DefaultCodeFormatterOptions {
this.insert_new_line_after_opening_brace_in_initializer_list = true;
this.insert_new_line_at_end_of_file_if_missing = false;
// this.insert_new_line_before_catch_in_try_statement = true;
this.insert_new_line_before_catch_in_try_statement = true;
this.insert_new_line_before_closing_brace_in_initializer_list = true;
this.insert_new_line_before_else_in_if_statement = true;
// this.insert_new_line_before_finally_in_try_statement = true;
this.insert_new_line_before_while_in_do_statement = true;
this.insert_new_line_in_empty_block = true;
// this.insert_new_line_in_empty_enum_declaration = true;

View file

@ -531,4 +531,34 @@ public class CodeFormatterTest extends BaseUITestCase {
Integer.toString(Alignment.M_ONE_PER_LINE_SPLIT | Alignment.M_FORCE | Alignment.M_INDENT_BY_ONE));
assertFormatterResult();
}
//int foo(){try{}catch(...){}}
//float* bar();
//template<typename _CharT, typename _Traits>class basic_ios : public ios_base{public:
// // Types:
//};
//int
//foo()
//{
// try
// {
// }
// catch (...)
// {
// }
//}
//float*
//bar();
//template<typename _CharT, typename _Traits>
// class basic_ios : public ios_base
// {
// public:
// // Types:
// };
public void testGNUCodingStyleConformance_Bug192764() throws Exception {
fOptions= DefaultCodeFormatterOptions.getGNUSettings().getMap();
assertFormatterResult();
}
}