Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMilivoje Legenovic2015-03-03 22:37:29 +0000
committerMilivoje Legenovic2015-03-03 22:37:29 +0000
commit52794aa29c359bd7968cc1715d77a3466634e55f (patch)
treed33dcfa5e97c4fd2c311d35960fedf38722038f0 /core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/formatter
parentbb4b74b3673fefdc396709a1bfc1585512fbfe7b (diff)
downloadorg.eclipse.cdt-52794aa29c359bd7968cc1715d77a3466634e55f.tar.gz
org.eclipse.cdt-52794aa29c359bd7968cc1715d77a3466634e55f.tar.xz
org.eclipse.cdt-52794aa29c359bd7968cc1715d77a3466634e55f.zip
Bug 460551. C++11 Keyword 'final' not supported in code formatter
Change-Id: I87db78c4b848f2a469c8a0cd53caa6c60aa3adca Signed-off-by: Milivoje Legenovic <duh-sa-sekirom@hotmail.com>
Diffstat (limited to 'core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/formatter')
-rw-r--r--core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/formatter/CodeFormatterVisitor.java16
1 files changed, 16 insertions, 0 deletions
diff --git a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/formatter/CodeFormatterVisitor.java b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/formatter/CodeFormatterVisitor.java
index 1a8767025b7..f03dd5c0718 100644
--- a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/formatter/CodeFormatterVisitor.java
+++ b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/formatter/CodeFormatterVisitor.java
@@ -104,6 +104,7 @@ import org.eclipse.cdt.core.dom.ast.c.ICASTVisitor;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTBinaryExpression;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTCastExpression;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTCatchHandler;
+import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTClassVirtSpecifier;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTCompositeTypeSpecifier;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTCompositeTypeSpecifier.ICPPASTBaseSpecifier;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTConstructorChainInitializer;
@@ -386,6 +387,7 @@ public class CodeFormatterVisitor extends ASTVisitor implements ICPPASTVisitor,
shouldVisitBaseSpecifiers = true;
shouldVisitNamespaces = true;
shouldVisitTemplateParameters = true;
+ shouldVisitVirtSpecifiers = true;
}
private final Scanner localScanner;
@@ -1828,6 +1830,12 @@ public class CodeFormatterVisitor extends ASTVisitor implements ICPPASTVisitor,
name.accept(this);
}
+ ICPPASTClassVirtSpecifier virtSpecifier = node.getVirtSpecifier();
+ if (virtSpecifier != null) {
+ scribe.space();
+ virtSpecifier.accept(this);
+ }
+
// Base specifiers
final List<ICPPASTBaseSpecifier> baseSpecifiers= Arrays.asList(node.getBaseSpecifiers());
if (baseSpecifiers.size() > 0) {
@@ -3459,6 +3467,14 @@ public class CodeFormatterVisitor extends ASTVisitor implements ICPPASTVisitor,
return PROCESS_SKIP;
}
+ @Override
+ public int visit(ICPPASTClassVirtSpecifier node) {
+ if (node.getKind() == ICPPASTClassVirtSpecifier.SpecifierKind.Final) {
+ scribe.printNextToken(Token.t_final);
+ }
+ return PROCESS_SKIP;
+ }
+
private int visit(IASTReturnStatement node) {
scribe.printNextToken(Token.t_return);
final IASTExpression expression = node.getReturnValue();

Back to the top