Class CXXLanguageFrontend


  • public class CXXLanguageFrontend
    extends LanguageFrontend
    The language frontend for translating CXX languages into the graph. It uses Eclipse CDT to parse the actual source code into an AST.

    Frontend for ONE CXX File

    • Method Detail

      • getCodeFromRawNode

        public <T> java.lang.String getCodeFromRawNode​(T astNode)
        Description copied from class: LanguageFrontend
        Returns the raw code of the ast node, generic for java or c++ ast nodes.
        Specified by:
        getCodeFromRawNode in class LanguageFrontend
      • getRegionFromRawNode

        public <T> @NonNull Region getRegionFromRawNode​(T astNode)
        Description copied from class: LanguageFrontend
        Returns the Region of the code with line and column, index starting at 1, generic for java or c++ ast nodes.
        Specified by:
        getRegionFromRawNode in class LanguageFrontend
      • expressionRefersToDeclaration

        public void expressionRefersToDeclaration​(Expression expression,
                                                  org.eclipse.cdt.core.dom.ast.IASTExpression iastExpression)
      • cacheDeclaration

        public Declaration cacheDeclaration​(org.eclipse.cdt.core.dom.ast.IBinding binding,
                                            Declaration declaration)
      • getCachedDeclaration

        public Declaration getCachedDeclaration​(org.eclipse.cdt.core.dom.ast.IBinding binding)
      • getDeclarationListHandler

        public de.fraunhofer.aisec.cpg.frontends.cpp.DeclarationListHandler getDeclarationListHandler()
      • getDeclaratorHandler

        public de.fraunhofer.aisec.cpg.frontends.cpp.DeclaratorHandler getDeclaratorHandler()
      • getExpressionHandler

        public de.fraunhofer.aisec.cpg.frontends.cpp.ExpressionHandler getExpressionHandler()
      • getStatementHandler

        public de.fraunhofer.aisec.cpg.frontends.cpp.StatementHandler getStatementHandler()