Class ClangToSageTranslator#
Defined in File clang-frontend-private.hpp
Nested Relationships#
Nested Types#
Inheritance Relationships#
Base Type#
public clang::ASTConsumer
Class Documentation#
-
class ClangToSageTranslator : public clang::ASTConsumer#
Translator from Clang AST to SAGE III (ROSE Compiler AST)
Public Types
Public Functions
-
void applySourceRange(SgNode *node, clang::SourceRange source_range)#
Update a Sage node source position using Clang information.
- Parameters:
node – Sage node to update
source_range – Clang’s source position information
-
void setCompilerGeneratedFileInfo(SgNode *node, bool to_be_unparse = false)#
Set a Sage node source position to compiler generated.
- Parameters:
node – Sage node to update
to_be_unparse – should this compiler generated node be unparse?
-
ClangToSageTranslator(clang::CompilerInstance *compiler_instance, Language language_, SgSourceFile *sage_source_file)#
-
virtual ~ClangToSageTranslator()#
-
SgGlobal *getGlobalScope()#
-
inline void setOpenMPPragmaCallback(const RoseOpenMPPragmaCallback *callback)#
-
virtual void HandleTranslationUnit(clang::ASTContext &ast_context)#
-
virtual SgNode *Traverse(clang::Decl *decl)#
-
virtual SgNode *Traverse(clang::Stmt *stmt)#
-
virtual SgNode *Traverse(const clang::Type *type)#
-
virtual SgNode *TraverseForDeclContext(clang::DeclContext *decl_context)#
-
virtual bool VisitDecl(clang::Decl *decl, SgNode **node)#
-
virtual bool VisitAccessSpecDecl(clang::AccessSpecDecl *access_spec_decl, SgNode **node)#
-
virtual bool VisitBlockDecl(clang::BlockDecl *block_decl, SgNode **node)#
-
virtual bool VisitCapturedDecl(clang::CapturedDecl *capture_decl, SgNode **node)#
-
virtual bool VisitEmptyDecl(clang::EmptyDecl *empty_decl, SgNode **node)#
-
virtual bool VisitExportDecl(clang::ExportDecl *export_decl, SgNode **node)#
-
virtual bool VisitExternCContextDecl(clang::ExternCContextDecl *ccontext_decl, SgNode **node)#
-
virtual bool VisitFileScopeAsmDecl(clang::FileScopeAsmDecl *file_scope_asm_decl, SgNode **node)#
-
virtual bool VisitFriendDecl(clang::FriendDecl *friend_decl, SgNode **node)#
-
virtual bool VisitFriendTemplateDecl(clang::FriendTemplateDecl *friend_template_decl, SgNode **node)#
-
virtual bool VisitImportDecl(clang::ImportDecl *import_decl, SgNode **node)#
-
virtual bool VisitNamedDecl(clang::NamedDecl *named_decl, SgNode **node)#
-
virtual bool VisitLabelDecl(clang::LabelDecl *label_decl, SgNode **node)#
-
virtual bool VisitNamespaceAliasDecl(clang::NamespaceAliasDecl *namespace_alias_decl, SgNode **node)#
-
virtual bool VisitNamespaceDecl(clang::NamespaceDecl *namespace_decl, SgNode **node)#
-
virtual bool VisitLinkageSpecDecl(clang::LinkageSpecDecl *linkage_spec_decl, SgNode **node)#
-
virtual bool VisitTemplateDecl(clang::TemplateDecl *template_decl, SgNode **node)#
-
virtual bool VisitBuiltinTemplateDecl(clang::BuiltinTemplateDecl *builtin_template_decl, SgNode **node)#
-
virtual bool VisitConceptDecl(clang::ConceptDecl *concept_decl, SgNode **node)#
-
virtual bool VisitRedeclarableTemplateDecl(clang::RedeclarableTemplateDecl *redeclarable_template_decl, SgNode **node)#
-
virtual bool VisitClassTemplateDecl(clang::ClassTemplateDecl *class_template_decl, SgNode **node)#
-
virtual bool VisitFunctionTemplateDecl(clang::FunctionTemplateDecl *function_template_decl, SgNode **node)#
-
virtual bool VisitTypeAliasTemplateDecl(clang::TypeAliasTemplateDecl *type_alias_template_decl, SgNode **node)#
-
virtual bool VisitVarTemplateDecl(clang::VarTemplateDecl *var_template_decl, SgNode **node)#
-
virtual bool VisitTemplateTemplateParmDecl(clang::TemplateTemplateParmDecl *template_template_parm_decl, SgNode **node)#
-
virtual bool VisitTypeDecl(clang::TypeDecl *type_decl, SgNode **node)#
-
virtual bool VisitTagDecl(clang::TagDecl *tag_decl, SgNode **node)#
-
virtual bool VisitRecordDecl(clang::RecordDecl *record_decl, SgNode **node)#
-
virtual bool VisitCXXRecordDecl(clang::CXXRecordDecl *cxx_record_decl, SgNode **node)#
-
virtual bool VisitClassTemplateSpecializationDecl(clang::ClassTemplateSpecializationDecl *class_tpl_spec_decl, SgNode **node)#
-
virtual bool VisitClassTemplatePartialSpecializationDecl(clang::ClassTemplatePartialSpecializationDecl *class_tpl_part_spec_decl, SgNode **node)#
-
virtual bool VisitEnumDecl(clang::EnumDecl *enum_decl, SgNode **node)#
-
virtual bool VisitTemplateTypeParmDecl(clang::TemplateTypeParmDecl *template_type_parm_decl, SgNode **node)#
-
virtual bool VisitTypedefNameDecl(clang::TypedefNameDecl *typedef_name_decl, SgNode **node)#
-
virtual bool VisitTypedefDecl(clang::TypedefDecl *typedef_decl, SgNode **node)#
-
virtual bool VisitTypeAliasDecl(clang::TypeAliasDecl *type_alias_decl, SgNode **node)#
-
virtual bool VisitUnresolvedUsingTypenameDecl(clang::UnresolvedUsingTypenameDecl *unresolved_using_type_name_decl, SgNode **node)#
-
virtual bool VisitUsingDecl(clang::UsingDecl *using_decl, SgNode **node)#
-
virtual bool VisitUsingDirectiveDecl(clang::UsingDirectiveDecl *using_directive_decl, SgNode **node)#
-
virtual bool VisitUsingPackDecl(clang::UsingPackDecl *using_pack_decl, SgNode **node)#
-
virtual bool VisitUsingShadowDecl(clang::UsingShadowDecl *using_shadow_decl, SgNode **node)#
-
virtual bool VisitConstructorUsingShadowDecl(clang::ConstructorUsingShadowDecl *constructor_using_shadow_decl, SgNode **node)#
-
virtual bool VisitValueDecl(clang::ValueDecl *value_decl, SgNode **node)#
-
virtual bool VisitBindingDecl(clang::BindingDecl *binding_decl, SgNode **node)#
-
virtual bool VisitDeclaratorDecl(clang::DeclaratorDecl *declarator_decl, SgNode **node)#
-
virtual bool VisitFieldDecl(clang::FieldDecl *field_decl, SgNode **node)#
-
virtual bool VisitFunctionDecl(clang::FunctionDecl *function_decl, SgNode **node)#
-
virtual bool VisitCXXDeductionGuideDecl(clang::CXXDeductionGuideDecl *cxx_deduction_guide_guide, SgNode **node)#
-
virtual bool VisitCXXMethodDecl(clang::CXXMethodDecl *cxx_method_decl, SgNode **node)#
-
virtual bool VisitCXXConstructorDecl(clang::CXXConstructorDecl *cxx_constructor_decl, SgNode **node)#
-
virtual bool VisitCXXConversionDecl(clang::CXXConversionDecl *cxx_conversion_decl, SgNode **node)#
-
virtual bool VisitCXXDestructorDecl(clang::CXXDestructorDecl *cxx_destructor_decl, SgNode **node)#
-
virtual bool VisitMSPropertyDecl(clang::MSPropertyDecl *ms_property_decl, SgNode **node)#
-
virtual bool VisitNonTypeTemplateParmDecl(clang::NonTypeTemplateParmDecl *non_type_template_param_decl, SgNode **node)#
-
virtual bool VisitVarDecl(clang::VarDecl *var_decl, SgNode **node)#
-
virtual bool VisitDecompositionDecl(clang::DecompositionDecl *decomposition_decl, SgNode **node)#
-
virtual bool VisitImplicitParamDecl(clang::ImplicitParamDecl *implicit_param_decl, SgNode **node)#
-
virtual bool VisitOMPCaptureExprDecl(clang::OMPCapturedExprDecl *omp_capture_expr_decl, SgNode **node)#
-
virtual bool VisitParmVarDecl(clang::ParmVarDecl *param_var_decl, SgNode **node)#
-
virtual bool VisitVarTemplateSpecializationDecl(clang::VarTemplateSpecializationDecl *var_template_specialization_decl, SgNode **node)#
-
virtual bool VisitVarTemplatePartialSpecializationDecl(clang::VarTemplatePartialSpecializationDecl *var_template_partial_specialization, SgNode **node)#
-
virtual bool VisitEnumConstantDecl(clang::EnumConstantDecl *enum_constant_decl, SgNode **node)#
-
virtual bool VisitIndirectFieldDecl(clang::IndirectFieldDecl *indirect_field_decl, SgNode **node)#
-
virtual bool VisitOMPDeclareMapperDecl(clang::OMPDeclareMapperDecl *omp_declare_mapper_decl, SgNode **node)#
-
virtual bool VisitOMPDeclareReductionDecl(clang::OMPDeclareReductionDecl *omp_declare_reduction_decl, SgNode **node)#
-
virtual bool VisitUnresolvedUsingValueDecl(clang::UnresolvedUsingValueDecl *unresolved_using_value_decl, SgNode **node)#
-
virtual bool VisitOMPAllocateDecl(clang::OMPAllocateDecl *omp_allocate_decl, SgNode **node)#
-
virtual bool VisitOMPRequiresDecl(clang::OMPRequiresDecl *omp_requires_decl, SgNode **node)#
-
virtual bool VisitOMPThreadPrivateDecl(clang::OMPThreadPrivateDecl *omp_thread_private_decl, SgNode **node)#
-
virtual bool VisitPragmaCommentDecl(clang::PragmaCommentDecl *pragma_comment_decl, SgNode **node)#
-
virtual bool VisitPragmaDetectMismatchDecl(clang::PragmaDetectMismatchDecl *pragma_detect_mismatch, SgNode **node)#
-
virtual bool VisitStaticAssertDecl(clang::StaticAssertDecl *static_assert_decl, SgNode **node)#
-
virtual bool VisitTranslationUnitDecl(clang::TranslationUnitDecl *translation_unit_decl, SgNode **node)#
-
virtual bool VisitStmt(clang::Stmt *stmt, SgNode **node)#
-
virtual bool VisitAsmStmt(clang::AsmStmt *asm_stmt, SgNode **node)#
-
virtual bool VisitGCCAsmStmt(clang::GCCAsmStmt *gcc_asm_stmt, SgNode **node)#
-
virtual bool VisitMSAsmStmt(clang::MSAsmStmt *ms_asm_stmt, SgNode **node)#
-
virtual bool VisitBreakStmt(clang::BreakStmt *break_stmt, SgNode **node)#
-
virtual bool VisitCapturedStmt(clang::CapturedStmt *captured_stmt, SgNode **node)#
-
virtual bool VisitCompoundStmt(clang::CompoundStmt *compound_stmt, SgNode **node)#
-
virtual bool VisitContinueStmt(clang::ContinueStmt *continue_stmt, SgNode **node)#
-
virtual bool VisitCoreturnStmt(clang::CoreturnStmt *coreturn_stmt, SgNode **node)#
-
virtual bool VisitCoroutineBodyStmt(clang::CoroutineBodyStmt *coroutine_body_stmt, SgNode **node)#
-
virtual bool VisitCXXCatchStmt(clang::CXXCatchStmt *cxx_catch_stmt, SgNode **node)#
-
virtual bool VisitCXXForRangeStmt(clang::CXXForRangeStmt *cxx_for_range_stmt, SgNode **node)#
-
virtual bool VisitCXXTryStmt(clang::CXXTryStmt *cxx_try_stmt, SgNode **node)#
-
virtual bool VisitDeclStmt(clang::DeclStmt *decl_stmt, SgNode **node)#
-
virtual bool VisitDoStmt(clang::DoStmt *do_stmt, SgNode **node)#
-
virtual bool VisitForStmt(clang::ForStmt *for_stmt, SgNode **node)#
-
virtual bool VisitGotoStmt(clang::GotoStmt *goto_stmt, SgNode **node)#
-
virtual bool VisitIfStmt(clang::IfStmt *if_stmt, SgNode **node)#
-
virtual bool VisitIndirectGotoStmt(clang::IndirectGotoStmt *indirect_goto_stmt, SgNode **node)#
-
virtual bool VisitMSDependentExistsStmt(clang::MSDependentExistsStmt *ms_dependent_exists_stmt, SgNode **node)#
-
virtual bool VisitNullStmt(clang::NullStmt *null_stmt, SgNode **node)#
-
virtual bool VisitOMPExecutableDirective(clang::OMPExecutableDirective *omp_executable_directive, SgNode **node)#
-
virtual bool VisitOMPAtomicDirective(clang::OMPAtomicDirective *omp_atomic_directive, SgNode **node)#
-
virtual bool VisitOMPBarrierDirective(clang::OMPBarrierDirective *omp_barrier_directive, SgNode **node)#
-
virtual bool VisitOMPCancelDirective(clang::OMPCancelDirective *omp_cancel_directive, SgNode **node)#
-
virtual bool VisitOMPCancellationPointDirective(clang::OMPCancellationPointDirective *omp_cancellation_point_directive, SgNode **node)#
-
virtual bool VisitOMPCriticalDirective(clang::OMPCriticalDirective *omp_critical_directive, SgNode **node)#
-
virtual bool VisitOMPFlushDirective(clang::OMPFlushDirective *omp_flush_directive, SgNode **node)#
-
virtual bool VisitOMPLoopDirective(clang::OMPLoopDirective *omp_loop_directive, SgNode **node)#
-
virtual bool VisitOMPDistributeDirective(clang::OMPDistributeDirective *omp_distribute_directive, SgNode **node)#
-
virtual bool VisitOMPDistributeParallelForDirective(clang::OMPDistributeParallelForDirective *omp_distribute_parallel_for_directive, SgNode **node)#
-
virtual bool VisitOMPDistributeParallelForSimdDirective(clang::OMPDistributeParallelForSimdDirective *omp_distribute_parallel_for_simd_directive, SgNode **node)#
-
virtual bool VisitOMPDistributeSimdDirective(clang::OMPDistributeSimdDirective *omp_distribute__simd_directive, SgNode **node)#
-
virtual bool VisitOMPForDirective(clang::OMPForDirective *omp_for_directive, SgNode **node)#
-
virtual bool VisitOMPForSimdDirective(clang::OMPForSimdDirective *omp_for_simd_directive, SgNode **node)#
-
virtual bool VisitOMPParallelForDirective(clang::OMPParallelForDirective *omp_parallel_for_directive, SgNode **node)#
-
virtual bool VisitOMPParallelForSimdDirective(clang::OMPParallelForSimdDirective *omp_parallel_for_simd_directive, SgNode **node)#
-
virtual bool VisitOMPSimdDirective(clang::OMPSimdDirective *omp_simd_directive, SgNode **node)#
-
virtual bool VisitOMPTargetParallelForDirective(clang::OMPTargetParallelForDirective *omp_target_parallel_for_directive, SgNode **node)#
-
virtual bool VisitOMPTargetParallelForSimdDirective(clang::OMPTargetParallelForSimdDirective *omp_target_parallel_for_simd_directive, SgNode **node)#
-
virtual bool VisitOMPTargetSimdDirective(clang::OMPTargetSimdDirective *omp_target_simd_directive, SgNode **node)#
-
virtual bool VisitOMPTargetTeamsDistributeDirective(clang::OMPTargetTeamsDistributeDirective *omp_target_teams_distribute_directive, SgNode **node)#
-
virtual bool VisitOMPTargetTeamsDistributeSimdDirective(clang::OMPTargetTeamsDistributeSimdDirective *omp_target_teams_distribute_simd_directive, SgNode **node)#
-
virtual bool VisitOMPTaskLoopDirective(clang::OMPTaskLoopDirective *omp_task_loop_directive, SgNode **node)#
-
virtual bool VisitOMPTaskLoopSimdDirective(clang::OMPTaskLoopSimdDirective *omp_task_loop_simd_directive, SgNode **node)#
-
virtual bool VisitOMPMasterDirective(clang::OMPMasterDirective *omp_master_directive, SgNode **node)#
-
virtual bool VisitOMPOrderedDirective(clang::OMPOrderedDirective *omp_ordered_directive, SgNode **node)#
-
virtual bool VisitOMPParallelDirective(clang::OMPParallelDirective *omp_parallel_directive, SgNode **node)#
-
virtual bool VisitOMPParallelSectionsDirective(clang::OMPParallelSectionsDirective *omp_parallel_sections_directive, SgNode **node)#
-
virtual bool VisitReturnStmt(clang::ReturnStmt *return_stmt, SgNode **node)#
-
virtual bool VisitSEHExceptStmt(clang::SEHExceptStmt *seh_except_stmt, SgNode **node)#
-
virtual bool VisitSEHFinallyStmt(clang::SEHFinallyStmt *seh_finally_stmt, SgNode **node)#
-
virtual bool VisitSEHLeaveStmt(clang::SEHLeaveStmt *seh_leave_stmt, SgNode **node)#
-
virtual bool VisitSEHTryStmt(clang::SEHTryStmt *seh_try_stmt, SgNode **node)#
-
virtual bool VisitSwitchCase(clang::SwitchCase *switch_case, SgNode **node)#
-
virtual bool VisitCaseStmt(clang::CaseStmt *case_stmt, SgNode **node)#
-
virtual bool VisitDefaultStmt(clang::DefaultStmt *default_stmt, SgNode **node)#
-
virtual bool VisitSwitchStmt(clang::SwitchStmt *switch_stmt, SgNode **node)#
-
virtual bool VisitValueStmt(clang::ValueStmt *value_stmt, SgNode **node)#
-
virtual bool VisitAttributedStmt(clang::AttributedStmt *attributed_stmt, SgNode **node)#
-
virtual bool VisitExpr(clang::Expr *expr, SgNode **node)#
-
virtual bool VisitAbstractConditionalOperator(clang::AbstractConditionalOperator *abstract_conditional_operator, SgNode **node)#
-
virtual bool VisitBinaryConditionalOperator(clang::BinaryConditionalOperator *binary_conditional_operator, SgNode **node)#
-
virtual bool VisitConditionalOperator(clang::ConditionalOperator *conditional_operator, SgNode **node)#
-
virtual bool VisitAddrLabelExpr(clang::AddrLabelExpr *addr_label_expr, SgNode **node)#
-
virtual bool VisitArrayInitIndexExpr(clang::ArrayInitIndexExpr *array_init_index_expr, SgNode **node)#
-
virtual bool VisitArrayInitLoopExpr(clang::ArrayInitLoopExpr *array_init_loop_expr, SgNode **node)#
-
virtual bool VisitArraySubscriptExpr(clang::ArraySubscriptExpr *array_subscript_expr, SgNode **node)#
-
virtual bool VisitArrayTypeTraitExpr(clang::ArrayTypeTraitExpr *array_type_trait_expr, SgNode **node)#
-
virtual bool VisitAsTypeExpr(clang::AsTypeExpr *as_type_expr, SgNode **node)#
-
virtual bool VisitAtomicExpr(clang::AtomicExpr *atomic_expr, SgNode **node)#
-
virtual bool VisitBinaryOperator(clang::BinaryOperator *binary_operator, SgNode **node)#
-
virtual bool VisitCompoundAssignOperator(clang::CompoundAssignOperator *compound_assign_operator, SgNode **node)#
-
virtual bool VisitBlockExpr(clang::BlockExpr *block_expr, SgNode **node)#
-
virtual bool VisitCallExpr(clang::CallExpr *call_expr, SgNode **node)#
-
virtual bool VisitCUDAKernelCallExpr(clang::CUDAKernelCallExpr *cuda_kernel_call_expr, SgNode **node)#
-
virtual bool VisitCXXMemberCallExpr(clang::CXXMemberCallExpr *cxx_member_call_expr, SgNode **node)#
-
virtual bool VisitCXXOperatorCallExpr(clang::CXXOperatorCallExpr *cxx_operator_call_expr, SgNode **node)#
-
virtual bool VisitUserDefinedLiteral(clang::UserDefinedLiteral *user_defined_literal, SgNode **node)#
-
virtual bool VisitCastExpr(clang::CastExpr *cast_expr, SgNode **node)#
-
virtual bool VisitExplicitCastExpr(clang::ExplicitCastExpr *explicit_cast_expr, SgNode **node)#
-
virtual bool VisitBuiltinBitCastExpr(clang::BuiltinBitCastExpr *builtin_bit_cast_expr, SgNode **node)#
-
virtual bool VisitCStyleCastExpr(clang::CStyleCastExpr *c_style_cast, SgNode **node)#
-
virtual bool VisitCXXFunctionalCastExpr(clang::CXXFunctionalCastExpr *cxx_functional_cast_expr, SgNode **node)#
-
virtual bool VisitCXXNamedCastExpr(clang::CXXNamedCastExpr *cxx_named_cast_expr, SgNode **node)#
-
virtual bool VisitCXXConstCastExpr(clang::CXXConstCastExpr *cxx_const_cast_expr, SgNode **node)#
-
virtual bool VisitCXXDynamicCastExpr(clang::CXXDynamicCastExpr *cxx_dynamic_cast_expr, SgNode **node)#
-
virtual bool VisitCXXReinterpretCastExpr(clang::CXXReinterpretCastExpr *cxx_reinterpret_cast_expr, SgNode **node)#
-
virtual bool VisitCXXStaticCastExpr(clang::CXXStaticCastExpr *cxx_static_cast_expr, SgNode **node)#
-
virtual bool VisitImplicitCastExpr(clang::ImplicitCastExpr *implicit_cast_expr, SgNode **node)#
-
virtual bool VisitCharacterLiteral(clang::CharacterLiteral *character_literal, SgNode **node)#
-
virtual bool VisitChooseExpr(clang::ChooseExpr *choose_expr, SgNode **node)#
-
virtual bool VisitCompoundLiteralExpr(clang::CompoundLiteralExpr *compound_literal, SgNode **node)#
-
virtual bool VisitConvertVectorExpr(clang::ConvertVectorExpr *convert_vector_expr, SgNode **node)#
-
virtual bool VisitCoroutineSuspendExpr(clang::CoroutineSuspendExpr *coroutine_suspend_expr, SgNode **node)#
-
virtual bool VisitCoawaitExpr(clang::CoawaitExpr *coawait_expr, SgNode **node)#
-
virtual bool VisitCoyieldExpr(clang::CoyieldExpr *coyield_expr, SgNode **node)#
-
virtual bool VisitCXXBindTemporaryExpr(clang::CXXBindTemporaryExpr *cxx_bind_temporary_expr, SgNode **node)#
-
virtual bool VisitCXXBoolLiteralExpr(clang::CXXBoolLiteralExpr *cxx_bool_literal_expr, SgNode **node)#
-
virtual bool VisitCXXConstructExpr(clang::CXXConstructExpr *cxx_construct_expr, SgNode **node)#
-
virtual bool VisitCXXTemporaryObjectExpr(clang::CXXTemporaryObjectExpr *cxx_temporary_object_expr, SgNode **node)#
-
virtual bool VisitCXXDefaultArgExpr(clang::CXXDefaultArgExpr *cxx_default_arg_expr, SgNode **node)#
-
virtual bool VisitCXXDefaultInitExpr(clang::CXXDefaultInitExpr *cxx_default_init_expr, SgNode **node)#
-
virtual bool VisitCXXDeleteExpr(clang::CXXDeleteExpr *cxx_delete_expr, SgNode **node)#
-
virtual bool VisitCXXDependentScopeMemberExpr(clang::CXXDependentScopeMemberExpr *cxx_dependent_scope_member_expr, SgNode **node)#
-
virtual bool VisitCXXFoldExpr(clang::CXXFoldExpr *cxx_fold_expr, SgNode **node)#
-
virtual bool VisitCXXInheritedCtorInitExpr(clang::CXXInheritedCtorInitExpr *cxx_inherited_ctor_init_expr, SgNode **node)#
-
virtual bool VisitCXXNewExpr(clang::CXXNewExpr *cxx_new_expr, SgNode **node)#
-
virtual bool VisitCXXNoexceptExpr(clang::CXXNoexceptExpr *cxx_noexcept_expr, SgNode **node)#
-
virtual bool VisitCXXNullPtrLiteralExpr(clang::CXXNullPtrLiteralExpr *cxx_null_ptr_literal_expr, SgNode **node)#
-
virtual bool VisitCXXPseudoDestructorExpr(clang::CXXPseudoDestructorExpr *cxx_pseudo_destructor_expr, SgNode **node)#
-
virtual bool VisitCXXScalarValueInitExpr(clang::CXXScalarValueInitExpr *cxx_scalar_value_init_expr, SgNode **node)#
-
virtual bool VisitCXXStdInitializerListExpr(clang::CXXStdInitializerListExpr *cxx_std_initializer_list_expr, SgNode **node)#
-
virtual bool VisitCXXThisExpr(clang::CXXThisExpr *cxx_this_expr, SgNode **node)#
-
virtual bool VisitCXXThrowExpr(clang::CXXThrowExpr *cxx_throw_expr, SgNode **node)#
-
virtual bool VisitCXXTypeidExpr(clang::CXXTypeidExpr *cxx_typeid_expr, SgNode **node)#
-
virtual bool VisitCXXUnresolvedConstructExpr(clang::CXXUnresolvedConstructExpr *cxx_unresolved_construct_expr, SgNode **node)#
-
virtual bool VisitCXXUuidofExpr(clang::CXXUuidofExpr *cxx_uuidof_expr, SgNode **node)#
-
virtual bool VisitDeclRefExpr(clang::DeclRefExpr *decl_ref_expr, SgNode **node)#
-
virtual bool VisitDependentCoawaitExpr(clang::DependentCoawaitExpr *dependent_coawait_expr, SgNode **node)#
-
virtual bool VisitDependentScopeDeclRefExpr(clang::DependentScopeDeclRefExpr *dependent_scope_decl_ref_expr, SgNode **node)#
-
virtual bool VisitDesignatedInitExpr(clang::DesignatedInitExpr *designated_init_expr, SgNode **node)#
-
virtual bool VisitDesignatedInitUpdateExpr(clang::DesignatedInitUpdateExpr *designated_init_update_expr, SgNode **node)#
-
virtual bool VisitExpressionTraitExpr(clang::ExpressionTraitExpr *expression_trait_expr, SgNode **node)#
-
virtual bool VisitExtVectorElementExpr(clang::ExtVectorElementExpr *ext_vector_element_expr, SgNode **node)#
-
virtual bool VisitFixedPointLiteral(clang::FixedPointLiteral *fixed_point_literal, SgNode **node)#
-
virtual bool VisitFloatingLiteral(clang::FloatingLiteral *floating_literal, SgNode **node)#
-
virtual bool VisitFullExpr(clang::FullExpr *full_expr, SgNode **node)#
-
virtual bool VisitConstantExpr(clang::ConstantExpr *constant_expr, SgNode **node)#
-
virtual bool VisitExprWithCleanups(clang::ExprWithCleanups *expr_with_cleanups, SgNode **node)#
-
virtual bool VisitFunctionParmPackExpr(clang::FunctionParmPackExpr *function_parm_pack_expr, SgNode **node)#
-
virtual bool VisitGenericSelectionExpr(clang::GenericSelectionExpr *generic_selection_expr, SgNode **node)#
-
virtual bool VisitGNUNullExpr(clang::GNUNullExpr *gnu_null_expr, SgNode **node)#
-
virtual bool VisitImaginaryLiteral(clang::ImaginaryLiteral *imaginary_literal, SgNode **node)#
-
virtual bool VisitImplicitValueInitExpr(clang::ImplicitValueInitExpr *implicit_value_init_expr, SgNode **node)#
-
virtual bool VisitInitListExpr(clang::InitListExpr *init_list_expr, SgNode **node)#
-
virtual bool VisitIntegerLiteral(clang::IntegerLiteral *integer_literal, SgNode **node)#
-
virtual bool VisitLambdaExpr(clang::LambdaExpr *lambda_expr, SgNode **node)#
-
virtual bool VisitMaterializeTemporaryExpr(clang::MaterializeTemporaryExpr *materialize_temporary_expr, SgNode **node)#
-
virtual bool VisitMemberExpr(clang::MemberExpr *member_expr, SgNode **node)#
-
virtual bool VisitMSPropertyRefExpr(clang::MSPropertyRefExpr *ms_property_expr, SgNode **node)#
-
virtual bool VisitMSPropertySubscriptExpr(clang::MSPropertySubscriptExpr *ms_property_subscript_expr, SgNode **node)#
-
virtual bool VisitNoInitExpr(clang::NoInitExpr *no_init_expr, SgNode **node)#
-
virtual bool VisitOffsetOfExpr(clang::OffsetOfExpr *offset_of_expr, SgNode **node)#
-
virtual bool VisitOMPArraySectionExpr(clang::ArraySectionExpr *omp_array_section_expr, SgNode **node)#
-
virtual bool VisitOpaqueValueExpr(clang::OpaqueValueExpr *opaque_value_expr, SgNode **node)#
-
virtual bool VisitOverloadExpr(clang::OverloadExpr *overload_expr, SgNode **node)#
-
virtual bool VisitUnresolvedLookupExpr(clang::UnresolvedLookupExpr *unresolved_lookup_expr, SgNode **node)#
-
virtual bool VisitUnresolvedMemberExpr(clang::UnresolvedMemberExpr *unresolved_member_expr, SgNode **node)#
-
virtual bool VisitPackExpansionExpr(clang::PackExpansionExpr *pack_expansion_expr, SgNode **node)#
-
virtual bool VisitParenExpr(clang::ParenExpr *paren_expr, SgNode **node)#
-
virtual bool VisitParenListExpr(clang::ParenListExpr *paran_list_expr, SgNode **node)#
-
virtual bool VisitPredefinedExpr(clang::PredefinedExpr *predefined_expr, SgNode **node)#
-
virtual bool VisitPseudoObjectExpr(clang::PseudoObjectExpr *pseudo_object_expr, SgNode **node)#
-
virtual bool VisitShuffleVectorExpr(clang::ShuffleVectorExpr *shuffle_vector_expr, SgNode **node)#
-
virtual bool VisitSizeOfPackExpr(clang::SizeOfPackExpr *size_of_pack_expr, SgNode **node)#
-
virtual bool VisitSourceLocExpr(clang::SourceLocExpr *source_loc_expr, SgNode **node)#
-
virtual bool VisitStmtExpr(clang::StmtExpr *stmt_expr, SgNode **node)#
-
virtual bool VisitStringLiteral(clang::StringLiteral *string_literal, SgNode **node)#
-
virtual bool VisitSubstNonTypeTemplateParmExpr(clang::SubstNonTypeTemplateParmExpr *subst_non_type_template_parm_expr, SgNode **node)#
-
virtual bool VisitSubstNonTypeTemplateParmPackExpr(clang::SubstNonTypeTemplateParmPackExpr *subst_non_type_template_parm_pack_expr, SgNode **node)#
-
virtual bool VisitTypeTraitExpr(clang::TypeTraitExpr *type_trait, SgNode **node)#
-
virtual bool VisitUnaryExprOrTypeTraitExpr(clang::UnaryExprOrTypeTraitExpr *unary_expr_or_type_trait_expr, SgNode **node)#
-
virtual bool VisitUnaryOperator(clang::UnaryOperator *unary_operator, SgNode **node)#
-
virtual bool VisitVAArgExpr(clang::VAArgExpr *va_arg_expr, SgNode **node)#
-
virtual bool VisitLabelStmt(clang::LabelStmt *label_stmt, SgNode **node)#
-
virtual bool VisitWhileStmt(clang::WhileStmt *while_stmt, SgNode **node)#
-
virtual bool VisitType(clang::Type *type, SgNode **node)#
-
virtual bool VisitAdjustedType(clang::AdjustedType *adjusted_type, SgNode **node)#
-
virtual bool VisitDecayedType(clang::DecayedType *decayed_type, SgNode **node)#
-
virtual bool VisitArrayType(clang::ArrayType *array_type, SgNode **node)#
-
virtual bool VisitConstantArrayType(clang::ConstantArrayType *constant_array_type, SgNode **node)#
-
virtual bool VisitDependentSizedArrayType(clang::DependentSizedArrayType *dependent_sized_array_type, SgNode **node)#
-
virtual bool VisitIncompleteArrayType(clang::IncompleteArrayType *incomplete_array_type, SgNode **node)#
-
virtual bool VisitVariableArrayType(clang::VariableArrayType *variable_array_type, SgNode **node)#
-
virtual bool VisitAtomicType(clang::AtomicType *atomic_type, SgNode **node)#
-
virtual bool VisitAttributedType(clang::AttributedType *attributed_type, SgNode **node)#
-
virtual bool VisitBlockPointerType(clang::BlockPointerType *block_pointer_type, SgNode **node)#
-
virtual bool VisitBuiltinType(clang::BuiltinType *builtin_type, SgNode **node)#
-
virtual bool VisitComplexType(clang::ComplexType *complex_type, SgNode **node)#
-
virtual bool VisitDecltypeType(clang::DecltypeType *decltype_type, SgNode **node)#
-
virtual bool VisitDependentDecltypeType(clang::DependentDecltypeType *dependent_decltype_type, SgNode **node)#
-
virtual bool VisitDeducedType(clang::DeducedType *deduced_type, SgNode **node)#
-
virtual bool VisitAutoType(clang::AutoType *auto_type, SgNode **node)#
-
virtual bool VisitDeducedTemplateSpecializationType(clang::DeducedTemplateSpecializationType *deduced_template_specialization_type, SgNode **node)#
-
virtual bool VisitDependentAddressSpaceType(clang::DependentAddressSpaceType *dependent_address_space_type, SgNode **node)#
-
virtual bool VisitDependentSizedExtVectorType(clang::DependentSizedExtVectorType *dependent_sized_ext_vector_type, SgNode **node)#
-
virtual bool VisitDependentVectorType(clang::DependentVectorType *dependent_vector_type, SgNode **node)#
-
virtual bool VisitFunctionType(clang::FunctionType *function_type, SgNode **node)#
-
virtual bool VisitFunctionNoProtoType(clang::FunctionNoProtoType *function_no_proto_type, SgNode **node)#
-
virtual bool VisitFunctionProtoType(clang::FunctionProtoType *function_proass_symo_type, SgNode **node)#
-
virtual bool VisitInjectedClassNameType(clang::InjectedClassNameType *injected_class_name_type, SgNode **node)#
-
virtual bool VisitMacroQualifiedType(clang::MacroQualifiedType *macro_qualified_type, SgNode **node)#
-
virtual bool VisitMemberPointerType(clang::MemberPointerType *member_pointer_type, SgNode **node)#
-
virtual bool VisitPackExpansionType(clang::PackExpansionType *pack_expansion_type, SgNode **node)#
-
virtual bool VisitParenType(clang::ParenType *paren_type, SgNode **node)#
-
virtual bool VisitPipeType(clang::PipeType *pipe_type, SgNode **node)#
-
virtual bool VisitPointerType(clang::PointerType *pointer_type, SgNode **node)#
-
virtual bool VisitReferenceType(clang::ReferenceType *reference_type, SgNode **node)#
-
virtual bool VisitLValueReferenceType(clang::LValueReferenceType *lvalue_reference_type, SgNode **node)#
-
virtual bool VisitRValueReferenceType(clang::RValueReferenceType *rvalue_reference_type, SgNode **node)#
-
virtual bool VisitSubstTemplateTypeParmPackType(clang::SubstTemplateTypeParmPackType *subst_template_type_parm_pack_type, SgNode **node)#
-
virtual bool VisitSubstTemplateTypeParmType(clang::SubstTemplateTypeParmType *subst_template_type_parm_type, SgNode **node)#
-
virtual bool VisitTagType(clang::TagType *tag_type, SgNode **node)#
-
virtual bool VisitEnumType(clang::EnumType *enum_type, SgNode **node)#
-
virtual bool VisitRecordType(clang::RecordType *record_type, SgNode **node)#
-
virtual bool VisitTemplateSpecializationType(clang::TemplateSpecializationType *template_specialization_type, SgNode **node)#
-
virtual bool VisitTemplateTypeParmType(clang::TemplateTypeParmType *template_type_parm_type, SgNode **node)#
-
virtual bool VisitTypedefType(clang::TypedefType *typedef_type, SgNode **node)#
-
virtual bool VisitTypeOfExprType(clang::TypeOfExprType *type_of_expr_type, SgNode **node)#
-
virtual bool VisitDependentTypeOfExprType(clang::DependentTypeOfExprType *dependent_type_of_expr_type, SgNode **node)#
-
virtual bool VisitTypeOfType(clang::TypeOfType *type_of_type, SgNode **node)#
-
virtual bool VisitTypeWithKeyword(clang::TypeWithKeyword *type_with_keyword, SgNode **node)#
-
virtual bool VisitDependentNameType(clang::DependentNameType *dependent_name_type, SgNode **node)#
-
virtual bool VisitDependentTemplateSpecializationType(clang::DependentTemplateSpecializationType *dependent_template_specialization_type, SgNode **node)#
-
virtual bool VisitElaboratedType(clang::ElaboratedType *elaborated_type, SgNode **node)#
-
virtual bool VisitUnaryTransformType(clang::UnaryTransformType *unary_transform_type, SgNode **node)#
-
virtual bool VisitUnresolvedUsingType(clang::UnresolvedUsingType *unresolved_using_type, SgNode **node)#
-
virtual bool VisitVectorType(clang::VectorType *vector_type, SgNode **node)#
-
virtual bool VisitExtVectorType(clang::ExtVectorType *ext_vector_type, SgNode **node)#
-
virtual bool VisitUsingType(clang::UsingType *using_type, SgNode **node)#
-
std::pair<Sg_File_Info*, PreprocessingInfo*> preprocessor_top()#
-
bool preprocessor_pop()#
-
SgAsmOp::asm_operand_modifier_enum get_sgAsmOperandModifier(std::string modifier)#
-
SgAsmOp::asm_operand_constraint_enum get_sgAsmOperandConstraint(std::string constraint)#
-
SgInitializedName::asm_register_name_enum get_sgAsmRegister(std::string reg)#
-
std::string generate_source_position_string(clang::SourceLocation srcLoc)#
-
std::string generate_name_for_variable(clang::Stmt *stmt)#
-
std::string generate_name_for_type(clang::TypeSourceInfo *typeInfo)#
Protected Functions
-
SgSymbol *GetSymbolFromSymbolTable(clang::NamedDecl *decl)#
-
SgType *buildTypeFromQualifiedType(const clang::QualType &qual_type)#
-
SgTemplateClassDeclaration *getOrCreateTemplateDeclaration(const std::string &template_name, const clang::TemplateSpecializationType *clang_type)#
-
SgTemplateInstantiationDecl *getOrCreateTemplateInstantiation(SgTemplateClassDeclaration *template_decl, const clang::TemplateSpecializationType *clang_type)#
-
SgTemplateArgumentPtrList buildTemplateArguments(const clang::TemplateSpecializationType *clang_type)#
-
SgTemplateParameterPtrList *buildTemplateParameters(const clang::TemplateSpecializationType *clang_type)#
-
SgTemplateParameter *translateTemplateParameter(clang::NamedDecl *param_decl, SgDeclarationStatement *owning_template, unsigned position)#
-
SgTemplateParameterPtrList *translateTemplateParameterList(clang::TemplateParameterList *param_list, SgDeclarationStatement *owning_template)#
-
void populateClassDefinition(clang::RecordDecl *record_decl, SgClassDefinition *class_def)#
-
bool collectOpenMPPragmas(clang::Stmt *stmt, std::vector<CapturedPragma> &pragmas)#
-
SgPragmaDeclaration *buildOpenMPPragmaDeclaration(const std::string &directive, unsigned pragma_line, SgScopeStatement *scope)#
-
void appendOpenMPPragmasBefore(clang::Stmt *stmt, SgScopeStatement *scope)#
-
SgStatement *wrapStatementWithOpenMPPragmas(clang::Stmt *stmt, SgStatement *statement)#
Protected Attributes
-
std::map<clang::Decl*, SgNode*> p_decl_translation_map#
-
std::map<clang::Stmt*, SgNode*> p_stmt_translation_map#
-
std::map<const clang::Type*, SgNode*> p_type_translation_map#
-
SgGlobal *p_global_scope#
-
std::map<SgClassType*, bool> p_class_type_decl_first_see_in_type#
-
std::map<SgEnumType*, bool> p_enum_type_decl_first_see_in_type#
-
const RoseOpenMPPragmaCallback *p_openmp_pragma_callback#
-
std::map<std::string, SgTemplateClassDeclaration*> p_template_decl_cache#
-
std::map<std::string, SgTemplateInstantiationDecl*> p_template_inst_cache#
-
std::set<clang::NamedDecl*> p_symbol_lookup_in_progress#
-
clang::CompilerInstance *p_compiler_instance#
-
SagePreprocessorRecord *p_sage_preprocessor_recorder#
-
SgSourceFile *p_sage_source_file#
-
struct CapturedPragma#
-
void applySourceRange(SgNode *node, clang::SourceRange source_range)#