Class PreprocessingInfo

Contents

Class PreprocessingInfo#

Nested Relationships#

Nested Types#

Class Documentation#

class PreprocessingInfo#

For preprocessing information including source comments, #include , #if, #define, etc.

Public Types

enum RelativePositionType#

MK: Enum type to store if the directive goes before or after the corresponding line of source code.

Values:

enumerator defaultValue#
enumerator undef#
enumerator before#
enumerator after#
enumerator inside#
enumerator before_syntax#
enumerator after_syntax#
enum DirectiveType#

Values:

enumerator CpreprocessorUnknownDeclaration#
enumerator C_StyleComment#
enumerator CplusplusStyleComment#
enumerator FortranStyleComment#
enumerator F90StyleComment#
enumerator CpreprocessorBlankLine#
enumerator CpreprocessorIncludeDeclaration#
enumerator CpreprocessorIncludeNextDeclaration#
enumerator CpreprocessorDefineDeclaration#
enumerator CpreprocessorUndefDeclaration#
enumerator CpreprocessorIfdefDeclaration#
enumerator CpreprocessorIfndefDeclaration#
enumerator CpreprocessorIfDeclaration#
enumerator CpreprocessorDeadIfDeclaration#
enumerator CpreprocessorElseDeclaration#
enumerator CpreprocessorElifDeclaration#
enumerator CpreprocessorEndifDeclaration#
enumerator CpreprocessorLineDeclaration#
enumerator CpreprocessorErrorDeclaration#
enumerator CpreprocessorWarningDeclaration#
enumerator CpreprocessorEmptyDeclaration#
enumerator CSkippedToken#
enumerator CMacroCall#
enumerator CMacroCallStatement#
enumerator LineReplacement#
enumerator ClinkageSpecificationStart#
enumerator ClinkageSpecificationEnd#
enumerator CpreprocessorIdentDeclaration#
enumerator CpreprocessorCompilerGeneratedLinemarker#
enumerator RawText#
enumerator CpreprocessorEnd_ifDeclaration#
enumerator LastDirectiveType#
typedef struct PreprocessingInfo::r_include_directive rose_include_directive#
typedef struct PreprocessingInfo::r_macro_def rose_macro_definition#

Public Functions

~PreprocessingInfo()#
PreprocessingInfo()#
PreprocessingInfo(token_container, DirectiveType, RelativePositionType)#
PreprocessingInfo(rose_macro_call*, RelativePositionType)#
PreprocessingInfo(rose_macro_definition*, RelativePositionType)#
PreprocessingInfo(token_type, token_list_container, bool, DirectiveType, RelativePositionType)#
PreprocessingInfo(rose_include_directive*, RelativePositionType)#
PreprocessingInfo(DirectiveType, const std::string &inputString, const std::string &filenameString, int line_no, int col_no, int nol, RelativePositionType relPos)#
PreprocessingInfo(const PreprocessingInfo &prepInfo)#
void display(const std::string &label) const#
int getLineNumber() const#
int getColumnNumber() const#
std::string getString() const#
void setString(const std::string &s)#
int getStringLength() const#
DirectiveType getTypeOfDirective() const#
void setTypeOfDirective(DirectiveType)#
RelativePositionType getRelativePosition(void) const#
void setRelativePosition(RelativePositionType relPos)#
std::string getFilename() const#
int getFileId() const#
int getNumberOfLines() const#
int getColumnNumberOfEndOfString() const#
unsigned int packed_size() const#
char *packed() const#
void unpacked(char *storePointer)#
Sg_File_Info *get_file_info() const#
void set_file_info(Sg_File_Info *info)#
std::string get_filename_from_include_directive()#
int get_lineNumberForCompilerGeneratedLinemarker()#
std::string get_filenameForCompilerGeneratedLinemarker()#
std::string get_optionalflagsForCompilerGeneratedLinemarker()#
void set_lineNumberForCompilerGeneratedLinemarker(int x)#
void set_filenameForCompilerGeneratedLinemarker(std::string x)#
void set_optionalflagsForCompilerGeneratedLinemarker(std::string x)#
rose_macro_call *get_macro_call()#
rose_macro_definition *get_macro_def()#
rose_include_directive *get_include_directive()#
const token_container *get_token_stream()#
void push_front_token_stream(token_type tok)#
void push_back_token_stream(token_type tok)#
bool isSelfReferential()#
std::string getMacroName()#
bool isTransformation() const#
void setAsTransformation()#
void unsetAsTransformation()#

Public Static Functions

static std::string directiveTypeName(const DirectiveType &directive)#
static std::string relativePositionName(const RelativePositionType &position)#
struct r_include_directive#

Public Members

token_type directive#
std::string absname#
std::string relname#
struct r_macro_def#

Public Functions

inline r_macro_def()#

Public Members

bool is_functionlike#
bool is_predefined#
token_type macro_name#
token_container paramaters#
token_list_container definition#
struct rose_macro_call#

Public Functions

std::string get_expanded_string()#
rose_macro_call()#

Public Members

bool is_functionlike#
PreprocessingInfo *macro_def#
token_type macro_call#
token_container_container arguments#
token_container expanded_macro#