ROSE 0.11.145.147
Classes | Public Types | Public Member Functions | Static Public Member Functions | List of all members
PreprocessingInfo Class Reference

Description

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

Definition at line 127 of file rose_attributes_list.h.

#include <rose_attributes_list.h>

Classes

struct  r_include_directive
 
struct  r_macro_def
 
struct  rose_macro_call
 

Public Types

enum  RelativePositionType {
  defaultValue = 0 ,
  undef = 1 ,
  before = 2 ,
  after = 3 ,
  inside = 4 ,
  end_of = 5 ,
  before_syntax = 6 ,
  after_syntax = 7
}
 MK: Enum type to store if the directive goes before or after the corresponding line of source code. More...
 
enum  DirectiveType {
  CpreprocessorUnknownDeclaration ,
  C_StyleComment ,
  CplusplusStyleComment ,
  FortranStyleComment ,
  F90StyleComment ,
  AdaStyleComment ,
  JovialStyleComment ,
  CpreprocessorBlankLine ,
  CpreprocessorIncludeDeclaration ,
  CpreprocessorIncludeNextDeclaration ,
  CpreprocessorDefineDeclaration ,
  CpreprocessorUndefDeclaration ,
  CpreprocessorIfdefDeclaration ,
  CpreprocessorIfndefDeclaration ,
  CpreprocessorIfDeclaration ,
  CpreprocessorDeadIfDeclaration ,
  CpreprocessorElseDeclaration ,
  CpreprocessorElifDeclaration ,
  CpreprocessorEndifDeclaration ,
  CpreprocessorElsifDeclaration ,
  CpreprocessorEnd_ifDeclaration ,
  CpreprocessorLineDeclaration ,
  CpreprocessorErrorDeclaration ,
  CpreprocessorWarningDeclaration ,
  CpreprocessorEmptyDeclaration ,
  CSkippedToken ,
  CMacroCall ,
  CMacroCallStatement ,
  LineReplacement ,
  ClinkageSpecificationStart ,
  ClinkageSpecificationEnd ,
  CpreprocessorIdentDeclaration ,
  CpreprocessorCompilerGeneratedLinemarker ,
  RawText ,
  LastDirectiveType
}
 
typedef struct PreprocessingInfo::r_include_directive rose_include_directive
 
typedef struct PreprocessingInfo::r_macro_def rose_macro_definition
 

Public Member Functions

 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_Infoget_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_callget_macro_call ()
 
rose_macro_definitionget_macro_def ()
 
rose_include_directiveget_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 ()
 

Static Public Member Functions

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

Member Enumeration Documentation

◆ RelativePositionType

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

Definition at line 133 of file rose_attributes_list.h.

◆ DirectiveType

enum PreprocessingInfo::DirectiveType

Definition at line 155 of file rose_attributes_list.h.


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