Skip to content

ClangToSageTranslator

Translator from Clang AST to SAGE III (ROSE Compiler AST)

Synopsis

Declared in <CxxFrontend/Clang/clang‐frontend‐private.hpp>

class ClangToSageTranslator
    : public clang::ASTConsumer

Base Classes

Name

Description

clang::ASTConsumer

Enums

Name

Description

Language

the 5 C‐family languages supported by Clang

Member Functions

Name

Description

ClangToSageTranslator [constructor]

~ClangToSageTranslator [destructor] [virtual]

Destructor

HandleTranslationUnit [virtual]

Traverse [virtual]

TraverseForDeclContext [virtual]

TraverseOnDemand [virtual]

VisitAbstractConditionalOperator [virtual]

VisitAccessSpecDecl [virtual]

VisitAddrLabelExpr [virtual]

VisitAdjustedType [virtual]

VisitArrayInitIndexExpr [virtual]

VisitArrayInitLoopExpr [virtual]

VisitArraySubscriptExpr [virtual]

VisitArrayType [virtual]

VisitArrayTypeTraitExpr [virtual]

VisitAsTypeExpr [virtual]

VisitAsmStmt [virtual]

VisitAtomicExpr [virtual]

VisitAtomicType [virtual]

VisitAttributedStmt [virtual]

VisitAttributedType [virtual]

VisitAutoType [virtual]

VisitBinaryConditionalOperator [virtual]

VisitBinaryOperator [virtual]

VisitBindingDecl [virtual]

VisitBlockDecl [virtual]

VisitBlockExpr [virtual]

VisitBlockPointerType [virtual]

VisitBreakStmt [virtual]

VisitBuiltinBitCastExpr [virtual]

VisitBuiltinTemplateDecl [virtual]

VisitBuiltinType [virtual]

VisitCStyleCastExpr [virtual]

VisitCUDAKernelCallExpr [virtual]

VisitCXXBindTemporaryExpr [virtual]

VisitCXXBoolLiteralExpr [virtual]

VisitCXXCatchStmt [virtual]

VisitCXXConstCastExpr [virtual]

VisitCXXConstructExpr [virtual]

VisitCXXConstructorDecl [virtual]

VisitCXXConversionDecl [virtual]

VisitCXXDeductionGuideDecl [virtual]

VisitCXXDefaultArgExpr [virtual]

VisitCXXDefaultInitExpr [virtual]

VisitCXXDeleteExpr [virtual]

VisitCXXDependentScopeMemberExpr [virtual]

VisitCXXDestructorDecl [virtual]

VisitCXXDynamicCastExpr [virtual]

VisitCXXFoldExpr [virtual]

VisitCXXForRangeStmt [virtual]

VisitCXXFunctionalCastExpr [virtual]

VisitCXXInheritedCtorInitExpr [virtual]

VisitCXXMemberCallExpr [virtual]

VisitCXXMethodDecl [virtual]

VisitCXXNamedCastExpr [virtual]

VisitCXXNewExpr [virtual]

VisitCXXNoexceptExpr [virtual]

VisitCXXNullPtrLiteralExpr [virtual]

VisitCXXOperatorCallExpr [virtual]

VisitCXXParenListInitExpr [virtual]

VisitCXXPseudoDestructorExpr [virtual]

VisitCXXRecordDecl [virtual]

VisitCXXReinterpretCastExpr [virtual]

VisitCXXRewrittenBinaryOperator [virtual]

VisitCXXScalarValueInitExpr [virtual]

VisitCXXStaticCastExpr [virtual]

VisitCXXStdInitializerListExpr [virtual]

VisitCXXTemporaryObjectExpr [virtual]

VisitCXXThisExpr [virtual]

VisitCXXThrowExpr [virtual]

VisitCXXTryStmt [virtual]

VisitCXXTypeidExpr [virtual]

VisitCXXUnresolvedConstructExpr [virtual]

VisitCXXUuidofExpr [virtual]

VisitCallExpr [virtual]

VisitCapturedDecl [virtual]

VisitCapturedStmt [virtual]

VisitCaseStmt [virtual]

VisitCastExpr [virtual]

VisitCharacterLiteral [virtual]

VisitChooseExpr [virtual]

VisitClassTemplateDecl [virtual]

VisitClassTemplatePartialSpecializationDecl [virtual]

VisitClassTemplateSpecializationDecl [virtual]

VisitClassTemplateSpecializationDecl_Impl

VisitCoawaitExpr [virtual]

VisitComplexType [virtual]

VisitCompoundAssignOperator [virtual]

VisitCompoundLiteralExpr [virtual]

VisitCompoundStmt [virtual]

VisitConceptDecl [virtual]

VisitConceptSpecializationExpr [virtual]

VisitConditionalOperator [virtual]

VisitConstantArrayType [virtual]

VisitConstantExpr [virtual]

VisitConstructorUsingShadowDecl [virtual]

VisitContinueStmt [virtual]

VisitConvertVectorExpr [virtual]

VisitCoreturnStmt [virtual]

VisitCoroutineBodyStmt [virtual]

VisitCoroutineSuspendExpr [virtual]

VisitCoyieldExpr [virtual]

VisitDecayedType [virtual]

VisitDecl [virtual]

VisitDeclRefExpr [virtual]

VisitDeclStmt [virtual]

VisitDeclaratorDecl [virtual]

VisitDecltypeType [virtual]

VisitDecompositionDecl [virtual]

VisitDeducedTemplateSpecializationType [virtual]

VisitDeducedType [virtual]

VisitDefaultStmt [virtual]

VisitDependentAddressSpaceType [virtual]

VisitDependentCoawaitExpr [virtual]

VisitDependentDecltypeType [virtual]

VisitDependentNameType [virtual]

VisitDependentScopeDeclRefExpr [virtual]

VisitDependentSizedArrayType [virtual]

VisitDependentSizedExtVectorType [virtual]

VisitDependentTypeOfExprType [virtual]

VisitDependentVectorType [virtual]

VisitDesignatedInitExpr [virtual]

VisitDesignatedInitUpdateExpr [virtual]

VisitDoStmt [virtual]

VisitEmptyDecl [virtual]

VisitEnumConstantDecl [virtual]

VisitEnumDecl [virtual]

VisitEnumType [virtual]

VisitExplicitCastExpr [virtual]

VisitExportDecl [virtual]

VisitExpr [virtual]

VisitExprWithCleanups [virtual]

VisitExpressionTraitExpr [virtual]

VisitExtVectorElementExpr [virtual]

VisitExtVectorType [virtual]

VisitExternCContextDecl [virtual]

VisitFieldDecl [virtual]

VisitFileScopeAsmDecl [virtual]

VisitFixedPointLiteral [virtual]

VisitFloatingLiteral [virtual]

VisitForStmt [virtual]

VisitFriendDecl [virtual]

VisitFriendTemplateDecl [virtual]

VisitFullExpr [virtual]

VisitFunctionDecl [virtual]

VisitFunctionNoProtoType [virtual]

VisitFunctionParmPackExpr [virtual]

VisitFunctionProtoType [virtual]

VisitFunctionTemplateDecl [virtual]

VisitFunctionType [virtual]

VisitGCCAsmStmt [virtual]

VisitGNUNullExpr [virtual]

VisitGenericSelectionExpr [virtual]

VisitGotoStmt [virtual]

VisitIfStmt [virtual]

VisitImaginaryLiteral [virtual]

VisitImplicitCastExpr [virtual]

VisitImplicitParamDecl [virtual]

VisitImplicitValueInitExpr [virtual]

VisitImportDecl [virtual]

VisitIncompleteArrayType [virtual]

VisitIndirectFieldDecl [virtual]

VisitIndirectGotoStmt [virtual]

VisitInitListExpr [virtual]

VisitInjectedClassNameType [virtual]

VisitIntegerLiteral [virtual]

VisitLValueReferenceType [virtual]

VisitLabelDecl [virtual]

VisitLabelStmt [virtual]

VisitLambdaExpr [virtual]

VisitLinkageSpecDecl [virtual]

VisitMSAsmStmt [virtual]

VisitMSDependentExistsStmt [virtual]

VisitMSPropertyDecl [virtual]

VisitMSPropertyRefExpr [virtual]

VisitMSPropertySubscriptExpr [virtual]

VisitMacroQualifiedType [virtual]

VisitMaterializeTemporaryExpr [virtual]

VisitMemberExpr [virtual]

VisitMemberPointerType [virtual]

VisitNamedDecl [virtual]

VisitNamespaceAliasDecl [virtual]

VisitNamespaceDecl [virtual]

VisitNoInitExpr [virtual]

VisitNonTypeTemplateParmDecl [virtual]

VisitNullStmt [virtual]

VisitOMPAllocateDecl [virtual]

VisitOMPArraySectionExpr [virtual]

VisitOMPAtomicDirective [virtual]

VisitOMPBarrierDirective [virtual]

VisitOMPCancelDirective [virtual]

VisitOMPCancellationPointDirective [virtual]

VisitOMPCaptureExprDecl [virtual]

VisitOMPCriticalDirective [virtual]

VisitOMPDeclareMapperDecl [virtual]

VisitOMPDeclareReductionDecl [virtual]

VisitOMPDistributeDirective [virtual]

VisitOMPDistributeParallelForDirective [virtual]

VisitOMPDistributeParallelForSimdDirective [virtual]

VisitOMPDistributeSimdDirective [virtual]

VisitOMPExecutableDirective [virtual]

VisitOMPFlushDirective [virtual]

VisitOMPForDirective [virtual]

VisitOMPForSimdDirective [virtual]

VisitOMPLoopDirective [virtual]

VisitOMPMasterDirective [virtual]

VisitOMPOrderedDirective [virtual]

VisitOMPParallelDirective [virtual]

VisitOMPParallelForDirective [virtual]

VisitOMPParallelForSimdDirective [virtual]

VisitOMPParallelSectionsDirective [virtual]

VisitOMPRequiresDecl [virtual]

VisitOMPSimdDirective [virtual]

VisitOMPTargetParallelForDirective [virtual]

VisitOMPTargetParallelForSimdDirective [virtual]

VisitOMPTargetSimdDirective [virtual]

VisitOMPTargetTeamsDistributeDirective [virtual]

VisitOMPTargetTeamsDistributeSimdDirective [virtual]

VisitOMPTaskLoopDirective [virtual]

VisitOMPTaskLoopSimdDirective [virtual]

VisitOMPThreadPrivateDecl [virtual]

VisitOffsetOfExpr [virtual]

VisitOpaqueValueExpr [virtual]

VisitOverloadExpr [virtual]

VisitPackExpansionExpr [virtual]

VisitPackExpansionType [virtual]

VisitParenExpr [virtual]

VisitParenListExpr [virtual]

VisitParenType [virtual]

VisitParmVarDecl [virtual]

VisitPipeType [virtual]

VisitPointerType [virtual]

VisitPragmaCommentDecl [virtual]

VisitPragmaDetectMismatchDecl [virtual]

VisitPredefinedExpr [virtual]

VisitPseudoObjectExpr [virtual]

VisitRValueReferenceType [virtual]

VisitRecordDecl [virtual]

VisitRecordType [virtual]

VisitRedeclarableTemplateDecl [virtual]

VisitReferenceType [virtual]

VisitRequiresExpr [virtual]

VisitReturnStmt [virtual]

VisitSEHExceptStmt [virtual]

VisitSEHFinallyStmt [virtual]

VisitSEHLeaveStmt [virtual]

VisitSEHTryStmt [virtual]

VisitShuffleVectorExpr [virtual]

VisitSizeOfPackExpr [virtual]

VisitSourceLocExpr [virtual]

VisitStaticAssertDecl [virtual]

VisitStmt [virtual]

VisitStmtExpr [virtual]

VisitStringLiteral [virtual]

VisitSubstNonTypeTemplateParmExpr [virtual]

VisitSubstNonTypeTemplateParmPackExpr [virtual]

VisitSubstTemplateTypeParmPackType [virtual]

VisitSubstTemplateTypeParmType [virtual]

VisitSwitchCase [virtual]

VisitSwitchStmt [virtual]

VisitTagDecl [virtual]

VisitTagType [virtual]

VisitTemplateDecl [virtual]

VisitTemplateSpecializationType [virtual]

VisitTemplateTemplateParmDecl [virtual]

VisitTemplateTypeParmDecl [virtual]

VisitTemplateTypeParmType [virtual]

VisitTranslationUnitDecl [virtual]

VisitType [virtual]

VisitTypeAliasDecl [virtual]

VisitTypeAliasTemplateDecl [virtual]

VisitTypeDecl [virtual]

VisitTypeOfExprType [virtual]

VisitTypeOfType [virtual]

VisitTypeTraitExpr [virtual]

VisitTypeWithKeyword [virtual]

VisitTypedefDecl [virtual]

VisitTypedefNameDecl [virtual]

VisitTypedefType [virtual]

VisitUnaryExprOrTypeTraitExpr [virtual]

VisitUnaryOperator [virtual]

VisitUnaryTransformType [virtual]

VisitUnresolvedLookupExpr [virtual]

VisitUnresolvedMemberExpr [virtual]

VisitUnresolvedUsingType [virtual]

VisitUnresolvedUsingTypenameDecl [virtual]

VisitUnresolvedUsingValueDecl [virtual]

VisitUserDefinedLiteral [virtual]

VisitUsingDecl [virtual]

VisitUsingDirectiveDecl [virtual]

VisitUsingPackDecl [virtual]

VisitUsingShadowDecl [virtual]

VisitUsingType [virtual]

VisitVAArgExpr [virtual]

VisitValueDecl [virtual]

VisitValueStmt [virtual]

VisitVarDecl [virtual]

VisitVarTemplateDecl [virtual]

VisitVarTemplatePartialSpecializationDecl [virtual]

VisitVarTemplateSpecializationDecl [virtual]

VisitVariableArrayType [virtual]

VisitVectorType [virtual]

VisitWhileStmt [virtual]

appendUnattachedPragmas

applySourceRange

Update a Sage node source position using Clang information

applySourceRangeWithTrailingSemicolon

Apply a source range to a ROSE node, extending the range to include a trailing semicolon when present. This is used when Clang provides an expression in statement position and ROSE must build a wrapper SgExprStatement.

generate_name_for_type

generate_name_for_variable

generate_source_position_string

getGlobalScope

getSourceText

get_sgAsmOperandConstraint

get_sgAsmOperandModifier

get_sgAsmRegister

lookupTranslatedFunctionDecl

materializeApplicationHeaderDecls

normalizeNamespaceDeclarationScopes

preprocessor_list_size

preprocessor_pop

preprocessor_top

repairMissingFunctionSymbols

setCompilerGeneratedFileInfo

Set a Sage node source position to compiler generated

setOpenMPPragmaCallback

sortPreprocessorList

Protected Member Functions

Name

GetSymbolFromSymbolTable

appendPragmasBefore

appendTemplateArguments

applyExplicitTemplateArgumentFlags

attachConstraintSatisfaction

attachSFINAEFailure

attachSymbolToScopeOrOrphan

buildCapturedPragmaDeclaration

buildCoroutineAwaitExpression

buildFallbackExpression

buildNonrealRefExpFromNestedNameSpecifier

buildNonrealScopeFromNestedNameSpecifier

buildNonrealTypeForNestedNameSpecifierType

buildNonrealTypeFromNestedNameSpecifier

buildSpecializedMemberTypedefReturnType

buildSymbolForDeclaration

buildTemplateArguments

buildTemplateParameters

buildTypeFromQualifiedType

buildTypeFromTypeLoc

cacheRecordTypePlaceholderDecl

collectPragmas

countExpandedTemplateArguments

countExplicitTemplateArgumentsFromSource

ensureDeclInScopeChildList

ensureDeclInScopeChildListPreserveScope

ensureMemberFunctionScope

ensureNamespaceDeclaration

ensureTemplateArgumentParents

evaluateConstraintSatisfaction

evaluateSFINAEFailure

extractUsingTargetFromNode

extractUsingTargetFromSymbol

getOpaqueTypeInsertionScope

getOrCreateTemplateDeclaration

getOrCreateTemplateInstantiation

getSafeOpaqueTypeInsertionScope

getTemplateQualifiedName

getTypeFromTranslatedRecordDecl

lookupCachedTranslationForTraverse

lookupRecordTypePlaceholderDecl

lookupSgDeclarationForClangDecl

lookupTranslatedTemplateDeclarationForRecord

lookupUsingDeclTargetNode

mangleTemplateInstantiation

populateClassDefinition

prepareExpressionForAttachment

pruneSymbolsForConstraints

queueSpecializedTemplateLink

reconcileOnDemandTranslation

registerDeclarationSymbol

rehomeSymbolToScope

resolveMethodEnclosingScope

resolvePendingNonrealTemplateDeclarationLinks

resolvePendingSpecializedTemplateLinks

resolveReachableNamespaceScope

resolveScopeFromDeclContext

resolveUsingDeclTargetNode

scopeReachableFromCurrentFile

shouldSkipSymbolForConstraints

translateClassTemplateDecl

translateConstraintExpression

translateFunctionDeclCommon

translateTemplateArgument

translateTemplateParameter

translateTemplateParameterList

translateTypeTemplateArgument

wrapStatementWithPragmas