ROSE
0.9.6a
|
#include <attributeListMap.h>
Classes | |
struct | findDirective |
struct | findDirectiveInList |
Public Types | |
typedef std::map< std::string, ROSEAttributesList * > | attribute_map_type |
Public Member Functions | |
AttributeListMap (SgFile *sageFilePtr) | |
template<typename TokenT > | |
bool | found_include_directive (TokenT directive, std::string relname, std::string absname) |
template<typename TokenT , typename ContainerT > | |
bool | found_directive (TokenT const &directive, ContainerT const &expression, bool expression_value) |
template<typename TokenT , typename ContainerT > | |
void | update_token (TokenT const &token, ContainerT const &stream, bool expression_value) |
template<typename TokenT > | |
void | found_directive (TokenT const &directive) |
template<typename TokenT , typename ParametersT , typename DefinitionT > | |
PreprocessingInfo * | build_preprocessingInfo_macro_def (TokenT ¯o_name, bool is_functionlike, ParametersT ¶meters, DefinitionT &definition, bool is_predefined) |
template<typename TokenT , typename ParametersT , typename DefinitionT > | |
void | defined_macro (TokenT ¯o_name, bool is_functionlike, ParametersT ¶meters, DefinitionT &definition, bool is_predefined) |
template<typename TokenT , typename ContainerT > | |
bool | expanding_function_like_macro (TokenT const ¯odef, std::vector< TokenT > const &formal_args, ContainerT const &definition, TokenT const ¯ocall, std::vector< ContainerT > const &arguments) |
template<typename TokenT , typename ContainerT > | |
bool | expanding_object_like_macro (TokenT const ¯o, ContainerT const &definition, TokenT const ¯ocall) |
template<typename ContainerT > | |
void | expanded_macro (ContainerT const &result) |
template<typename ContainerT > | |
void | rescanned_macro (ContainerT const &result) |
template<typename TokenT > | |
void | skipped_token (TokenT const &token, bool last_skipped=false) |
void | flush_token_stream () |
template<typename ContextT , typename TokenT > | |
bool | may_skip_whitespace (ContextT const &ctx, TokenT &token, bool &skipped_newline) |
void | attach_line_to_macro_call () |
template<typename IteratorT > | |
void | attach_line_to_macro_call (std::vector< IteratorT * > vec) |
template<typename StringT , typename IteratorT > | |
StringT | as_string (IteratorT it, IteratorT end) |
Public Attributes | |
attribute_map_type | currentMapOfAttributes |
token_container * | skippedTokenStream |
std::map< std::pair < std::string, int > , PreprocessingInfo * > | defMap |
Private Attributes | |
int | rescan_macro_status |
std::string | macro_expand_filename |
PreprocessingInfo::rose_macro_call * | macro_call_to_expand |
token_container | currentTokSeq |
Definition at line 36 of file attributeListMap.h.
typedef std::map<std::string,ROSEAttributesList*> AttributeListMap::attribute_map_type |
Definition at line 55 of file attributeListMap.h.
AttributeListMap::AttributeListMap | ( | SgFile * | sageFilePtr) |
bool AttributeListMap::found_include_directive | ( | TokenT | directive, |
std::string | relname, | ||
std::string | absname | ||
) |
Definition at line 847 of file attributeListMap.h.
References PreprocessingInfo::r_include_directive::absname, PreprocessingInfo::before, currentMapOfAttributes, PreprocessingInfo::r_include_directive::directive, PreprocessingInfo, and PreprocessingInfo::r_include_directive::relname.
Referenced by advanced_preprocessing_hooks::opened_include_file().
|
inline |
Definition at line 82 of file attributeListMap.h.
References PreprocessingInfo::before, PreprocessingInfo::C_StyleComment, PreprocessingInfo::CplusplusStyleComment, PreprocessingInfo::CpreprocessorDefineDeclaration, PreprocessingInfo::CpreprocessorElifDeclaration, PreprocessingInfo::CpreprocessorElseDeclaration, PreprocessingInfo::CpreprocessorEndifDeclaration, PreprocessingInfo::CpreprocessorErrorDeclaration, PreprocessingInfo::CpreprocessorIfDeclaration, PreprocessingInfo::CpreprocessorIfdefDeclaration, PreprocessingInfo::CpreprocessorIfndefDeclaration, PreprocessingInfo::CpreprocessorIncludeDeclaration, PreprocessingInfo::CpreprocessorLineDeclaration, PreprocessingInfo::CpreprocessorUndefDeclaration, PreprocessingInfo::CpreprocessorUnknownDeclaration, PreprocessingInfo::CpreprocessorWarningDeclaration, currentMapOfAttributes, SgProject::get_verbose(), and PreprocessingInfo.
Referenced by advanced_preprocessing_hooks::found_directive(), advanced_preprocessing_hooks::found_line_directive(), advanced_preprocessing_hooks::found_warning_directive(), and advanced_preprocessing_hooks::undefined_macro().
|
inline |
Definition at line 177 of file attributeListMap.h.
References currentMapOfAttributes.
Referenced by advanced_preprocessing_hooks::evaluated_conditional_expression(), advanced_preprocessing_hooks::found_line_directive(), and advanced_preprocessing_hooks::skipped_token().
|
inline |
Definition at line 211 of file attributeListMap.h.
References PreprocessingInfo::before, PreprocessingInfo::C_StyleComment, PreprocessingInfo::CplusplusStyleComment, PreprocessingInfo::CpreprocessorDefineDeclaration, PreprocessingInfo::CpreprocessorElifDeclaration, PreprocessingInfo::CpreprocessorElseDeclaration, PreprocessingInfo::CpreprocessorEndifDeclaration, PreprocessingInfo::CpreprocessorErrorDeclaration, PreprocessingInfo::CpreprocessorIfDeclaration, PreprocessingInfo::CpreprocessorIfdefDeclaration, PreprocessingInfo::CpreprocessorIfndefDeclaration, PreprocessingInfo::CpreprocessorIncludeDeclaration, PreprocessingInfo::CpreprocessorIncludeNextDeclaration, PreprocessingInfo::CpreprocessorLineDeclaration, PreprocessingInfo::CpreprocessorUndefDeclaration, PreprocessingInfo::CpreprocessorUnknownDeclaration, PreprocessingInfo::CpreprocessorWarningDeclaration, currentMapOfAttributes, SgProject::get_verbose(), and PreprocessingInfo.
|
inline |
Definition at line 328 of file attributeListMap.h.
References PreprocessingInfo::before, PreprocessingInfo::r_macro_def::definition, PreprocessingInfo::r_macro_def::is_functionlike, PreprocessingInfo::r_macro_def::is_predefined, PreprocessingInfo::r_macro_def::macro_name, PreprocessingInfo::r_macro_def::paramaters, and PreprocessingInfo.
Referenced by defined_macro(), expanding_function_like_macro(), and expanding_object_like_macro().
|
inline |
Definition at line 353 of file attributeListMap.h.
References build_preprocessingInfo_macro_def(), currentMapOfAttributes, defMap, PreprocessingInfo::get_file_info(), Sg_File_Info::get_filenameString(), SgProject::get_verbose(), skipped_token(), and skippedTokenStream.
Referenced by advanced_preprocessing_hooks::defined_macro().
|
inline |
Definition at line 418 of file attributeListMap.h.
References PreprocessingInfo::rose_macro_call::arguments, build_preprocessingInfo_macro_def(), defMap, SgProject::get_verbose(), PreprocessingInfo::rose_macro_call::is_functionlike, PreprocessingInfo::rose_macro_call::macro_call, macro_call_to_expand, PreprocessingInfo::rose_macro_call::macro_def, rescan_macro_status, skipped_token(), skippedTokenStream, and DUVariableAnalysisExt::test().
Referenced by advanced_preprocessing_hooks::expanding_function_like_macro().
|
inline |
Definition at line 537 of file attributeListMap.h.
References build_preprocessingInfo_macro_def(), defMap, SgProject::get_verbose(), PreprocessingInfo::rose_macro_call::is_functionlike, PreprocessingInfo::rose_macro_call::macro_call, macro_call_to_expand, PreprocessingInfo::rose_macro_call::macro_def, rescan_macro_status, skipped_token(), and skippedTokenStream.
Referenced by advanced_preprocessing_hooks::expanding_object_like_macro().
|
inline |
Definition at line 609 of file attributeListMap.h.
Referenced by advanced_preprocessing_hooks::expanded_macro().
|
inline |
Definition at line 626 of file attributeListMap.h.
References PreprocessingInfo::before, currentMapOfAttributes, PreprocessingInfo::rose_macro_call::expanded_macro, PreprocessingInfo::rose_macro_call::macro_call, macro_call_to_expand, PreprocessingInfo, and rescan_macro_status.
Referenced by advanced_preprocessing_hooks::rescanned_macro().
|
inline |
Definition at line 707 of file attributeListMap.h.
References PreprocessingInfo::before, PreprocessingInfo::CSkippedToken, currentMapOfAttributes, SgProject::get_verbose(), PreprocessingInfo, and skippedTokenStream.
Referenced by defined_macro(), expanding_function_like_macro(), expanding_object_like_macro(), may_skip_whitespace(), and advanced_preprocessing_hooks::skipped_token().
|
inline |
Definition at line 749 of file attributeListMap.h.
References PreprocessingInfo::before, PreprocessingInfo::CSkippedToken, currentMapOfAttributes, PreprocessingInfo, and skippedTokenStream.
Referenced by advanced_preprocessing_hooks::found_directive(), may_skip_whitespace(), and advanced_preprocessing_hooks::may_skip_whitespace().
|
inline |
Definition at line 764 of file attributeListMap.h.
References flush_token_stream(), SgProject::get_verbose(), skipped_token(), and skippedTokenStream.
Referenced by advanced_preprocessing_hooks::may_skip_whitespace().
void AttributeListMap::attach_line_to_macro_call | ( | ) |
|
inline |
Definition at line 829 of file attributeListMap.h.
|
inline |
Definition at line 834 of file attributeListMap.h.
|
private |
Definition at line 42 of file attributeListMap.h.
Referenced by expanding_function_like_macro(), expanding_object_like_macro(), and rescanned_macro().
|
private |
Definition at line 43 of file attributeListMap.h.
|
private |
Definition at line 46 of file attributeListMap.h.
Referenced by expanding_function_like_macro(), expanding_object_like_macro(), and rescanned_macro().
|
private |
Definition at line 47 of file attributeListMap.h.
attribute_map_type AttributeListMap::currentMapOfAttributes |
Definition at line 56 of file attributeListMap.h.
Referenced by defined_macro(), flush_token_stream(), found_directive(), found_include_directive(), rescanned_macro(), skipped_token(), and update_token().
token_container* AttributeListMap::skippedTokenStream |
Definition at line 58 of file attributeListMap.h.
Referenced by defined_macro(), expanding_function_like_macro(), expanding_object_like_macro(), flush_token_stream(), may_skip_whitespace(), and skipped_token().
std::map<std::pair<std::string,int>, PreprocessingInfo*> AttributeListMap::defMap |
Definition at line 61 of file attributeListMap.h.
Referenced by defined_macro(), expanding_function_like_macro(), and expanding_object_like_macro().