org.eclipse.cdt.internal.formatter
Class CodeFormatterVisitor

java.lang.Object
  extended by org.eclipse.cdt.core.dom.ast.ASTVisitor
      extended by org.eclipse.cdt.core.dom.ast.cpp.CPPASTVisitor
          extended by org.eclipse.cdt.internal.formatter.CodeFormatterVisitor

public class CodeFormatterVisitor
extends org.eclipse.cdt.core.dom.ast.cpp.CPPASTVisitor

This class is responsible for formatting C/C++ source code. Some heuristic is applied in case of syntax errors or other problems to skip those areas, but because of incomplete location information the formatting may fail. The reason of the failure is logged.

Since:
4.0

Field Summary
 DefaultCodeFormatterOptions preferences
           
 Scribe scribe
           
 
Fields inherited from class org.eclipse.cdt.core.dom.ast.cpp.CPPASTVisitor
shouldVisitBaseSpecifiers, shouldVisitNamespaces, shouldVisitTemplateParameters
 
Fields inherited from class org.eclipse.cdt.core.dom.ast.ASTVisitor
PROCESS_ABORT, PROCESS_CONTINUE, PROCESS_SKIP, shouldVisitComments, shouldVisitDeclarations, shouldVisitDeclarators, shouldVisitDeclSpecifiers, shouldVisitEnumerators, shouldVisitExpressions, shouldVisitInitializers, shouldVisitNames, shouldVisitParameterDeclarations, shouldVisitProblems, shouldVisitStatements, shouldVisitTranslationUnit, shouldVisitTypeIds
 
Constructor Summary
CodeFormatterVisitor(DefaultCodeFormatterOptions preferences, java.util.Map settings, int offset, int length)
           
 
Method Summary
 org.eclipse.text.edits.TextEdit format(java.lang.String string, org.eclipse.cdt.core.dom.ast.IASTTranslationUnit unit)
           
 int visit(org.eclipse.cdt.core.dom.ast.IASTDeclaration node)
           
 int visit(org.eclipse.cdt.core.dom.ast.IASTDeclarator node)
           
 int visit(org.eclipse.cdt.core.dom.ast.IASTDeclSpecifier node)
           
 int visit(org.eclipse.cdt.core.dom.ast.IASTEnumerationSpecifier.IASTEnumerator enumerator)
           
 int visit(org.eclipse.cdt.core.dom.ast.IASTExpression node)
           
 int visit(org.eclipse.cdt.core.dom.ast.IASTInitializer node)
           
 int visit(org.eclipse.cdt.core.dom.ast.IASTName node)
           
 int visit(org.eclipse.cdt.core.dom.ast.IASTParameterDeclaration parameterDeclaration)
           
 int visit(org.eclipse.cdt.core.dom.ast.IASTProblem problem)
           
 int visit(org.eclipse.cdt.core.dom.ast.IASTStatement node)
           
 int visit(org.eclipse.cdt.core.dom.ast.IASTTranslationUnit tu)
           
 int visit(org.eclipse.cdt.core.dom.ast.IASTTypeId typeId)
           
 int visit(org.eclipse.cdt.core.dom.ast.cpp.ICPPASTCompositeTypeSpecifier.ICPPASTBaseSpecifier specifier)
           
 int visit(org.eclipse.cdt.core.dom.ast.cpp.ICPPASTNamespaceDefinition node)
           
 int visit(org.eclipse.cdt.core.dom.ast.cpp.ICPPASTTemplateParameter parameter)
           
 
Methods inherited from class org.eclipse.cdt.core.dom.ast.cpp.CPPASTVisitor
leave, leave, leave
 
Methods inherited from class org.eclipse.cdt.core.dom.ast.ASTVisitor
leave, leave, leave, leave, leave, leave, leave, leave, leave, leave, leave, leave, leave, visit
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

preferences

public DefaultCodeFormatterOptions preferences

scribe

public Scribe scribe
Constructor Detail

CodeFormatterVisitor

public CodeFormatterVisitor(DefaultCodeFormatterOptions preferences,
                            java.util.Map settings,
                            int offset,
                            int length)
Method Detail

format

public org.eclipse.text.edits.TextEdit format(java.lang.String string,
                                              org.eclipse.cdt.core.dom.ast.IASTTranslationUnit unit)
See Also:
CodeFormatter.format(int, String, int, int, int, String)

visit

public int visit(org.eclipse.cdt.core.dom.ast.IASTTranslationUnit tu)
Overrides:
visit in class org.eclipse.cdt.core.dom.ast.ASTVisitor

visit

public int visit(org.eclipse.cdt.core.dom.ast.IASTDeclaration node)
Overrides:
visit in class org.eclipse.cdt.core.dom.ast.ASTVisitor

visit

public int visit(org.eclipse.cdt.core.dom.ast.IASTName node)
Overrides:
visit in class org.eclipse.cdt.core.dom.ast.ASTVisitor

visit

public int visit(org.eclipse.cdt.core.dom.ast.IASTInitializer node)
Overrides:
visit in class org.eclipse.cdt.core.dom.ast.ASTVisitor

visit

public int visit(org.eclipse.cdt.core.dom.ast.IASTParameterDeclaration parameterDeclaration)
Overrides:
visit in class org.eclipse.cdt.core.dom.ast.ASTVisitor

visit

public int visit(org.eclipse.cdt.core.dom.ast.IASTDeclarator node)
Overrides:
visit in class org.eclipse.cdt.core.dom.ast.ASTVisitor

visit

public int visit(org.eclipse.cdt.core.dom.ast.IASTDeclSpecifier node)
Overrides:
visit in class org.eclipse.cdt.core.dom.ast.ASTVisitor

visit

public int visit(org.eclipse.cdt.core.dom.ast.IASTExpression node)
Overrides:
visit in class org.eclipse.cdt.core.dom.ast.ASTVisitor

visit

public int visit(org.eclipse.cdt.core.dom.ast.IASTStatement node)
Overrides:
visit in class org.eclipse.cdt.core.dom.ast.ASTVisitor

visit

public int visit(org.eclipse.cdt.core.dom.ast.IASTTypeId typeId)
Overrides:
visit in class org.eclipse.cdt.core.dom.ast.ASTVisitor

visit

public int visit(org.eclipse.cdt.core.dom.ast.IASTEnumerationSpecifier.IASTEnumerator enumerator)
Overrides:
visit in class org.eclipse.cdt.core.dom.ast.ASTVisitor

visit

public int visit(org.eclipse.cdt.core.dom.ast.IASTProblem problem)
Overrides:
visit in class org.eclipse.cdt.core.dom.ast.ASTVisitor

visit

public int visit(org.eclipse.cdt.core.dom.ast.cpp.ICPPASTCompositeTypeSpecifier.ICPPASTBaseSpecifier specifier)
Overrides:
visit in class org.eclipse.cdt.core.dom.ast.cpp.CPPASTVisitor

visit

public int visit(org.eclipse.cdt.core.dom.ast.cpp.ICPPASTNamespaceDefinition node)
Overrides:
visit in class org.eclipse.cdt.core.dom.ast.cpp.CPPASTVisitor

visit

public int visit(org.eclipse.cdt.core.dom.ast.cpp.ICPPASTTemplateParameter parameter)
Overrides:
visit in class org.eclipse.cdt.core.dom.ast.cpp.CPPASTVisitor