ROSE  0.9.6a
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AttributeListMap Class Reference

#include <attributeListMap.h>

Collaboration diagram for AttributeListMap:

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 >
PreprocessingInfobuild_preprocessingInfo_macro_def (TokenT &macro_name, bool is_functionlike, ParametersT &parameters, DefinitionT &definition, bool is_predefined)
 
template<typename TokenT , typename ParametersT , typename DefinitionT >
void defined_macro (TokenT &macro_name, bool is_functionlike, ParametersT &parameters, DefinitionT &definition, bool is_predefined)
 
template<typename TokenT , typename ContainerT >
bool expanding_function_like_macro (TokenT const &macrodef, std::vector< TokenT > const &formal_args, ContainerT const &definition, TokenT const &macrocall, std::vector< ContainerT > const &arguments)
 
template<typename TokenT , typename ContainerT >
bool expanding_object_like_macro (TokenT const &macro, ContainerT const &definition, TokenT const &macrocall)
 
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_containerskippedTokenStream
 
std::map< std::pair
< std::string, int >
, PreprocessingInfo * > 
defMap
 

Private Attributes

int rescan_macro_status
 
std::string macro_expand_filename
 
PreprocessingInfo::rose_macro_callmacro_call_to_expand
 
token_container currentTokSeq
 

Detailed Description

Definition at line 36 of file attributeListMap.h.

Member Typedef Documentation

Definition at line 55 of file attributeListMap.h.

Constructor & Destructor Documentation

AttributeListMap::AttributeListMap ( SgFile sageFilePtr)

Member Function Documentation

template<typename TokenT >
bool AttributeListMap::found_include_directive ( TokenT  directive,
std::string  relname,
std::string  absname 
)
template<typename TokenT , typename ContainerT >
void AttributeListMap::update_token ( TokenT const &  token,
ContainerT const &  stream,
bool  expression_value 
)
inline
template<typename TokenT , typename ParametersT , typename DefinitionT >
PreprocessingInfo* AttributeListMap::build_preprocessingInfo_macro_def ( TokenT &  macro_name,
bool  is_functionlike,
ParametersT &  parameters,
DefinitionT &  definition,
bool  is_predefined 
)
inline
template<typename TokenT , typename ParametersT , typename DefinitionT >
void AttributeListMap::defined_macro ( TokenT &  macro_name,
bool  is_functionlike,
ParametersT &  parameters,
DefinitionT &  definition,
bool  is_predefined 
)
inline
template<typename TokenT , typename ContainerT >
bool AttributeListMap::expanding_function_like_macro ( TokenT const &  macrodef,
std::vector< TokenT > const &  formal_args,
ContainerT const &  definition,
TokenT const &  macrocall,
std::vector< ContainerT > const &  arguments 
)
inline
template<typename TokenT , typename ContainerT >
bool AttributeListMap::expanding_object_like_macro ( TokenT const &  macro,
ContainerT const &  definition,
TokenT const &  macrocall 
)
inline
template<typename ContainerT >
void AttributeListMap::expanded_macro ( ContainerT const &  result)
inline

Definition at line 609 of file attributeListMap.h.

Referenced by advanced_preprocessing_hooks::expanded_macro().

template<typename ContainerT >
void AttributeListMap::rescanned_macro ( ContainerT const &  result)
inline
template<typename TokenT >
void AttributeListMap::skipped_token ( TokenT const &  token,
bool  last_skipped = false 
)
inline
template<typename ContextT , typename TokenT >
bool AttributeListMap::may_skip_whitespace ( ContextT const &  ctx,
TokenT &  token,
bool &  skipped_newline 
)
inline
void AttributeListMap::attach_line_to_macro_call ( )
template<typename IteratorT >
void AttributeListMap::attach_line_to_macro_call ( std::vector< IteratorT * >  vec)
inline

Definition at line 829 of file attributeListMap.h.

template<typename StringT , typename IteratorT >
StringT AttributeListMap::as_string ( IteratorT  it,
IteratorT  end 
)
inline

Definition at line 834 of file attributeListMap.h.

Member Data Documentation

int AttributeListMap::rescan_macro_status
private
std::string AttributeListMap::macro_expand_filename
private

Definition at line 43 of file attributeListMap.h.

PreprocessingInfo::rose_macro_call* AttributeListMap::macro_call_to_expand
private
token_container AttributeListMap::currentTokSeq
private

Definition at line 47 of file attributeListMap.h.

std::map<std::pair<std::string,int>, PreprocessingInfo*> AttributeListMap::defMap

The documentation for this class was generated from the following file: