SgUnparse_Info Class Reference

#include <Cxx_Grammar.h>

Inheritance diagram for SgUnparse_Info:

Inheritance graph
[legend]
Collaboration diagram for SgUnparse_Info:

Collaboration graph
[legend]
List of all members.

Public Types

typedef SgSupport base_node_type
 b_enum_defaultValue = 0
 DQ (11/4/2003): Build a default value to support initialization.
 b_isPointerToSomething = 1
 to postponing the printing of name for ptr of function or array etc
 b_isReferenceToSomething = 2
 b_inVarDecl = 3
 if it is in Variable Declaration, output either , or ; for SgExprStmt
 b_inArgList = 4
 in a function header, output type+ symbol
 b_SkipSemiColon = 5
 no ';' for declaration statement
 b_inEnumDecl = 6
 to setup for printing of enum var in a VariableDeclaration
 b_inTemplateList = 7
 not really being used (yet)
 b_SkipBaseType = 8
 suppress printing of the base type
 b_inAggregateInitializer = 9
 for skip "=" if in aggregate initializer
 b_isWithType = 10
 for print both type & sym name
 b_inConditional = 11
 it is in conditional expr
 b_SkipDefinition = 12
 skip printing definition part of a declaration
 b_SkipClassSpecifier = 13
 need to put in either class/struct/union keyword
 b_inEmbeddedDecl = 14
 printing something within a variable declaration
 b_SkipGlobal = 15
 suppress the printing of global and atomic
 b_SkipAtomic = 16
 b_PrintName = 17
 used by set/unsetName and set/unsetPrintName to bring down the Name to lower tree structure
 b_CheckAccess = 18
 to set the need to check if need access specifier (avoids redundently specific access modifiers)
 b_SkipFunctionQualifier = 19
 to skip function qualifiers
 b_isArrayType = 20
 to show that the type above current one is an array
 b_inRhsExpr = 21
 to indicate that this is at the right hand side of a binary op
 b_SkipParen = 22
 to flag the skipping of () printing in a function call this is for a bug in g++ that can not handle (P::dval->B::mfcall)() skipping the toplevel only
 b_isTypeSecondPart = 23
 for the case that this maybe a function type, separate the outputing of the type info into 2 parts, the return type part and the arg type by default this is always set to 0
 b_isTypeFirstPart = 24
 b_SkipInitializer = 25
 Added by DQ to permit reuse of unparser code in generation of declarations in rewrite mechanism.
 b_SkipComments = 26
 Added by DQ to permit reuse of unparser code in generation of declarations in rewrite mechanism.
 b_SkipCPPDirectives = 27
 Added by DQ to permit reuse of unparser code in generation of declarations in rewrite mechanism.
 b_SkipEnumDefinition = 28
 Added by DQ to permit reuse of unparser code in generation of declarations in rewrite mechanism.
 b_SkipFunctionDefinition = 29
 Added by DQ to permit reuse of unparser code in generation of declarations in rewrite mechanism.
 b_SkipClassDefinition = 30
 Added by DQ to permit reuse of unparser code in generation of declarations in rewrite mechanism.
 b_AddSemiColonAfterDeclaration = 31
 Added by DQ to permit reuse of unparser code in generation of declarations in rewrite mechanism.
 b_SkipWhitespaces = 32
 MS: 09/03/02 Added by MS to make unparsing of white space optional currently only used in unparseToCompleteString (by removing whitespaces) I only added it here to follow the design but suggest to use varibles of type bool, and extend the ROSETTA code to add these attributes, and generate the access functions - unfortunately the naming scheme does not comply with ROSETTA's naming scheme for access functions.
 b_SkipBasicBlock = 33
 DQ (11/3/2003): made all bit flags 64 bit long so that we could add a few more entries.
 b_outputClassTemplateName = 34
 Templates that are modified need to be output, but all other output of a class template only supports the output of the class template name (but in template form, e.g.
 b_outputCompilerGeneratedStatements = 35
 Control output of compiler-generated statements (typically template specialization declarations).
 b_SkipConstantFoldedExpressions = 36
 Control output of constant folded values.
 b_forceQualifiedNames = 37
 b_SkipQualifiedNames = 38
 Control output of qualified names (not always wanted).
 b_skipCheckAccess = 39
 Control access specifiers use in generated code (public, protected, private).
 b_requiresGlobalNameQualification = 40
 b_useTypeAttributes = 41
 b_SkipFormatting = 42
 b_outputFortranModFile = 43
 b_supressStrippedTypeName = 44
 UNPARSE_TYPE_LAST
 DQ (12/6/2003): Added last value to use a upper bound in loops.
 a_unset_access = 1
 a_private_access = 2
 a_protected_access = 3
 a_public_access = 4
 static_variant = V_SgUnparse_Info
enum  unparse_type_num {
  b_enum_defaultValue = 0,
  b_isPointerToSomething = 1,
  b_isReferenceToSomething = 2,
  b_inVarDecl = 3,
  b_inArgList = 4,
  b_SkipSemiColon = 5,
  b_inEnumDecl = 6,
  b_inTemplateList = 7,
  b_SkipBaseType = 8,
  b_inAggregateInitializer = 9,
  b_isWithType = 10,
  b_inConditional = 11,
  b_SkipDefinition = 12,
  b_SkipClassSpecifier = 13,
  b_inEmbeddedDecl = 14,
  b_SkipGlobal = 15,
  b_SkipAtomic = 16,
  b_PrintName = 17,
  b_CheckAccess = 18,
  b_SkipFunctionQualifier = 19,
  b_isArrayType = 20,
  b_inRhsExpr = 21,
  b_SkipParen = 22,
  b_isTypeSecondPart = 23,
  b_isTypeFirstPart = 24,
  b_SkipInitializer = 25,
  b_SkipComments = 26,
  b_SkipCPPDirectives = 27,
  b_SkipEnumDefinition = 28,
  b_SkipFunctionDefinition = 29,
  b_SkipClassDefinition = 30,
  b_AddSemiColonAfterDeclaration = 31,
  b_SkipWhitespaces = 32,
  b_SkipBasicBlock = 33,
  b_outputClassTemplateName = 34,
  b_outputCompilerGeneratedStatements = 35,
  b_SkipConstantFoldedExpressions = 36,
  b_forceQualifiedNames = 37,
  b_SkipQualifiedNames = 38,
  b_skipCheckAccess = 39,
  b_requiresGlobalNameQualification = 40,
  b_useTypeAttributes = 41,
  b_SkipFormatting = 42,
  b_outputFortranModFile = 43,
  b_supressStrippedTypeName = 44,
  UNPARSE_TYPE_LAST
}
 Options available for unparsing the AST to generate source code. More...
enum  access_attr_enum {
  a_unset_access = 1,
  a_private_access = 2,
  a_protected_access = 3,
  a_public_access = 4
}
enum  { static_variant = V_SgUnparse_Info }
 static variant value More...

Public Member Functions

virtual SgNodecopy (SgCopyHelp &help) const
 SgUnparse_Info ()
 SgUnparse_Info (const SgUnparse_Info &X)
SgUnparse_Infooperator= (const SgUnparse_Info &X)
void post_construction_initialization ()
 Final initialization for constructors This function is called at the end of generated constructors to allow the specification writer to add special initialization functions or tests. Default is to do nothing. Otherwise it should be overridden in the spec file, in NewHeaderCode/NewOutlinedCode.
bool isUnsetAccess () const
void set_isUnsetAccess ()
bool isPrivateAccess () const
void set_isPrivateAccess ()
bool isProtectedAccess () const
void set_isProtectedAccess ()
bool isPublicAccess () const
void set_isPublicAccess ()
bool isPointerToSomething () const
void set_isPointerToSomething ()
void unset_isPointerToSomething ()
bool isReferenceToSomething () const
void set_isReferenceToSomething ()
void unset_isReferenceToSomething ()
bool inVarDecl () const
void set_inVarDecl ()
void unset_inVarDecl ()
bool inArgList () const
void set_inArgList ()
void unset_inArgList ()
bool SkipSemiColon () const
void set_SkipSemiColon ()
void unset_SkipSemiColon ()
bool inEnumDecl () const
void set_inEnumDecl ()
void unset_inEnumDecl ()
bool inTemplateList () const
void set_inTemplateList ()
void unset_inTemplateList ()
bool SkipBaseType () const
void set_SkipBaseType ()
void unset_SkipBaseType ()
bool inAggregateInitializer () const
void set_inAggregateInitializer ()
void unset_inAggregateInitializer ()
bool isWithType () const
void set_isWithType ()
void unset_isWithType ()
bool inConditional () const
void set_inConditional ()
void unset_inConditional ()
bool SkipDefinition () const
void set_SkipDefinition ()
void unset_SkipDefinition ()
bool SkipClassSpecifier () const
void set_SkipClassSpecifier ()
void unset_SkipClassSpecifier ()
bool inEmbeddedDecl () const
void set_inEmbeddedDecl ()
void unset_inEmbeddedDecl ()
bool SkipGlobal () const
void set_SkipGlobal ()
void unset_SkipGlobal ()
bool SkipAtomic () const
void set_SkipAtomic ()
void unset_SkipAtomic ()
bool PrintName () const
void set_PrintName ()
void unset_PrintName ()
bool CheckAccess () const
void set_CheckAccess ()
void unset_CheckAccess ()
bool SkipFunctionQualifier () const
void set_SkipFunctionQualifier ()
void unset_SkipFunctionQualifier ()
bool isArrayType () const
void set_isArrayType ()
void unset_isArrayType ()
bool inRhsExpr () const
void set_inRhsExpr ()
void unset_inRhsExpr ()
bool SkipParen () const
void set_SkipParen ()
void unset_SkipParen ()
bool isTypeSecondPart () const
void set_isTypeSecondPart ()
void unset_isTypeSecondPart ()
bool isTypeFirstPart () const
void set_isTypeFirstPart ()
void unset_isTypeFirstPart ()
bool SkipInitializer () const
void set_SkipInitializer ()
void unset_SkipInitializer ()
bool SkipComments () const
void set_SkipComments ()
void unset_SkipComments ()
bool SkipWhitespaces () const
void set_SkipWhitespaces ()
void unset_SkipWhitespaces ()
bool SkipCPPDirectives () const
void set_SkipCPPDirectives ()
void unset_SkipCPPDirectives ()
bool SkipEnumDefinition () const
void set_SkipEnumDefinition ()
void unset_SkipEnumDefinition ()
bool SkipFunctionDefinition () const
void set_SkipFunctionDefinition ()
void unset_SkipFunctionDefinition ()
bool SkipClassDefinition () const
void set_SkipClassDefinition ()
void unset_SkipClassDefinition ()
bool AddSemiColonAfterDeclaration () const
void set_AddSemiColonAfterDeclaration ()
void unset_AddSemiColonAfterDeclaration ()
bool SkipBasicBlock () const
void set_SkipBasicBlock ()
void unset_SkipBasicBlock ()
bool outputClassTemplateName () const
void set_outputClassTemplateName ()
void unset_outputClassTemplateName ()
bool outputCompilerGeneratedStatements () const
void set_outputCompilerGeneratedStatements ()
void unset_outputCompilerGeneratedStatements ()
bool SkipConstantFoldedExpressions () const
 Control output of constant folded values, the default is to ignore constant folded values and unparse the original code (as if no constant folding were done).
void set_SkipConstantFoldedExpressions ()
void unset_SkipConstantFoldedExpressions ()
bool forceQualifiedNames () const
void set_forceQualifiedNames ()
void unset_forceQualifiedNames ()
bool skipCheckAccess () const
void set_skipCheckAccess ()
void unset_skipCheckAccess ()
bool SkipQualifiedNames () const
void set_SkipQualifiedNames ()
void unset_SkipQualifiedNames ()
bool requiresGlobalNameQualification () const
void set_requiresGlobalNameQualification ()
void unset_requiresGlobalNameQualification ()
bool useTypeAttributes () const
void set_useTypeAttributes ()
void unset_useTypeAttributes ()
bool SkipFormatting () const
void set_SkipFormatting ()
void unset_SkipFormatting ()
bool supressStrippedTypeName () const
void set_supressStrippedTypeName ()
void unset_supressStrippedTypeName ()
std::string get_operator_name ()
void set_operator_name (const std::string &on)
SgNameget_name ()
void set_name (const SgName &name)
void unset_name ()
SgDeclarationStatementget_decl_stmt ()
void set_decl_stmt (SgDeclarationStatement *stmt)
void unset_decl_stmt ()
int get_nested_expression ()
void set_nested_expression ()
void unset_nested_expression ()
void unset_current_context ()
SgName get_array_index_list ()
void set_array_index_list (SgExpression *e, SgUnparse_Info finfo)
void unset_array_index_list ()
void addStructureTag (SgNamedType *structureTag)
SgTypePtrListgetStructureTagList ()
 Access function for internal STL list of structure tags.
void display (const std::string &label="") const
std::string displayString (const std::string &label) const
bool outputFortranModFile () const
void set_outputFortranModFile ()
void unset_outputFortranModFile ()
void inc_nestingLevel ()
void dec_nestingLevel ()
virtual std::string class_name () const
 Copies AST (whole subtree, depending on the SgCopyHelp class returns a string representing the class name.
virtual VariantT variantT () const
 returns new style SageIII enum values
void * operator new (size_t size)
 returns pointer to newly allocated IR node
void operator delete (void *pointer, size_t size)
 deallocated memory for IR node (returns memory to memory pool for reuse)
void operator delete (void *pointer)
virtual std::vector< SgNode * > get_traversalSuccessorContainer ()
 FOR INTERNAL USE within ROSE traverals mechanism only.
virtual std::vector< std::string > get_traversalSuccessorNamesContainer ()
 FOR INTERNAL USE within ROSE traverals mechanism only.
virtual size_t get_numberOfTraversalSuccessors ()
virtual SgNodeget_traversalSuccessorByIndex (size_t idx)
virtual size_t get_childIndex (SgNode *child)
virtual RTIReturnType roseRTI ()
 FOR INTERNAL USE Access to Runtime Type Information (RTI) for this IR nodes.
virtual const char * sage_class_name () const ROSE_DEPRECATED_FUNCTION
void executeVisitorMemberFunction (ROSE_VisitorPattern &visitor)
 FOR INTERNAL USE Support for visitor pattern.
virtual void accept (ROSE_VisitorPattern &visitor)
 DXN (08/09/2010): support for the classic visitor pattern done in GoF.
virtual bool isInMemoryPool ()
 FOR INTERNAL USE This is used in internal tests to verify that all IR nodes are allocated from the heap.
virtual void checkDataMemberPointersIfInMemoryPool ()
 FOR INTERNAL USE This is used in internal tests to verify that all IR nodes are allocated from the heap.
virtual std::vector< std::pair<
SgNode *, std::string > > 
returnDataMemberPointers () const
 FOR INTERNAL USE Returns STL vector of pairs of SgNode* and strings for use in AST tools
virtual void processDataMemberReferenceToPointers (ReferenceToPointerHandler *)
 FOR INTERNAL USE Processes pairs of references to SgNode* and strings for use in AST tools
virtual long getChildIndex (SgNode *childNode) const
 FOR INTERNAL USE Returns a unique index value for the childNode in the list of children at this IR node.
 SgUnparse_Info (const SgUnparse_InfoStorageClass &source)
SgUnparse_InfoaddRegExpAttribute (std::string s, AstRegExAttribute *a)
 Support for AST matching using regular expression.
int get_access_attribute () const
void set_access_attribute (int access_attribute)
SgDeclarationStatementget_declstatement_ptr () const
void set_declstatement_ptr (SgDeclarationStatement *declstatement_ptr)
SgNamedTypeget_current_context () const
void set_current_context (SgNamedType *current_context)
SgName get_array_index_list () const
void set_array_index_list (SgName array_index_list)
SgNamespaceDeclarationStatementget_current_namespace () const
void set_current_namespace (SgNamespaceDeclarationStatement *current_namespace)
bool get_outputCodeGenerationFormatDelimiters () const
void set_outputCodeGenerationFormatDelimiters (bool outputCodeGenerationFormatDelimiters)
SgQualifiedNamePtrList get_qualifiedNameList () const
void set_qualifiedNameList (SgQualifiedNamePtrList qualifiedNameList)
SgFunctionCallExpget_current_function_call () const
void set_current_function_call (SgFunctionCallExp *current_function_call)
SgScopeStatementget_current_scope () const
void set_current_scope (SgScopeStatement *current_scope)
SgNodeget_reference_node_for_qualification () const
void set_reference_node_for_qualification (SgNode *reference_node_for_qualification)
int get_name_qualification_length () const
void set_name_qualification_length (int name_qualification_length)
bool get_type_elaboration_required () const
void set_type_elaboration_required (bool type_elaboration_required)
bool get_global_qualification_required () const
void set_global_qualification_required (bool global_qualification_required)
int get_nestingLevel () const
void set_nestingLevel (int nestingLevel)
virtual ~SgUnparse_Info ()

Static Public Member Functions

static bool get_forceDefaultConstructorToTriggerError ()
 Added to debug use of the default constructor.
static void set_forceDefaultConstructorToTriggerError (bool forceDefaultConstructorToTriggerError)
static size_t numberOfNodes ()
 Returns the total number of IR nodes of this type.
static size_t memoryUsage ()
 Returns the size in bytes of the total memory allocated for all IR nodes of this type.
static void traverseMemoryPoolNodes (ROSE_VisitTraversal &visit)
 FOR INTERNAL USE Support for visitor pattern.
static void traverseMemoryPoolVisitorPattern (ROSE_VisitorPattern &visitor)
 FOR INTERNAL USE Support for visitor pattern.
static void visitRepresentativeNode (ROSE_VisitTraversal &visit)
 FOR INTERNAL USE Support for type-based traversal.

Protected Attributes

SgBitVector p_unparse_attribute
int p_access_attribute
int p_nested_expression
std::string p_operator_name
SgName p_var_name
SgDeclarationStatementp_declstatement_ptr
SgNamedTypep_current_context
SgName p_array_index_list
SgNamespaceDeclarationStatementp_current_namespace
bool p_outputCodeGenerationFormatDelimiters
SgQualifiedNamePtrList p_qualifiedNameList
SgFunctionCallExpp_current_function_call
SgScopeStatementp_current_scope
SgNodep_reference_node_for_qualification
int p_name_qualification_length
bool p_type_elaboration_required
bool p_global_qualification_required
int p_nestingLevel

Static Protected Attributes

static SgTypePtrList p_structureTagProcessingList
static bool p_forceDefaultConstructorToTriggerError

Private Member Functions

bool checkBit (unparse_type_num bit) const
void setBit (unparse_type_num bit)
void unsetBit (unparse_type_num bit)

Friends

class AST_FILE_IO
class SgUnparse_InfoStorageClass
class AstSpecificDataManagingClass
class AstSpecificDataManagingClassStorageClass
SgUnparse_InfoisSgUnparse_Info (SgNode *s)
 Casts pointer from base class to derived class.
const SgUnparse_InfoisSgUnparse_Info (const SgNode *s)
 Casts pointer from base class to derived class (for const pointers).
SgUnparse_InfoSgUnparse_Info_getPointerFromGlobalIndex (unsigned long globalIndex)
 Constructor for use by AST File I/O MechanismTypedef used for low level memory access. Typedef used to hold memory addresses as values. Methods to find the pointer to a global and local index.
unsigned long SgUnparse_Info_getNumberOfValidNodesAndSetGlobalIndexInFreepointer (unsigned long)
 Get the size of the memory pool.
void SgUnparse_Info_clearMemoryPool ()
void SgUnparse_Info_extendMemoryPoolForFileIO (unsigned long)
void SgUnparse_Info_getNextValidPointer (std::pair< SgUnparse_Info *, std::vector< unsigned char * >::const_iterator > &)
void SgUnparse_Info_resetValidFreepointers ()

Member Typedef Documentation

typedef SgSupport SgUnparse_Info::base_node_type

Reimplemented from SgSupport.


Member Enumeration Documentation

enum SgUnparse_Info::unparse_type_num

Options available for unparsing the AST to generate source code.

These options can be set or unset and are passed from each unparse function to any called unparse functions. Sometimes a new unparse info object is generated, always using the copy constructor, so that the options can be modified for unparsing different parts of the AST.

For internal use only.

This is implemented as a bit vector since it is over 32 bits.

Enumerator:
b_enum_defaultValue  DQ (11/4/2003): Build a default value to support initialization.

default value

b_isPointerToSomething  to postponing the printing of name for ptr of function or array etc

postponing the printing of name for ptr of function or array etc

b_isReferenceToSomething  postponing the printing of name for ptr of function or array etc
b_inVarDecl  if it is in Variable Declaration, output either , or ; for SgExprStmt

if it is in Variable Declaration, output either , or ; for SgExprStmt

b_inArgList  in a function header, output type+ symbol

in a function header, output type+ symbol

b_SkipSemiColon  no ';' for declaration statement

no ';' for declaration statement

b_inEnumDecl  to setup for printing of enum var in a VariableDeclaration

setup for printing of enum var in a VariableDeclaration

b_inTemplateList  not really being used (yet)

not really being used (yet)

b_SkipBaseType  suppress printing of the base type

suppress printing of the base type

b_inAggregateInitializer  for skip "=" if in aggregate initializer

skip "=" if in aggregate initializer

b_isWithType  for print both type & sym name

print both type and sym name

b_inConditional  it is in conditional expr

is in conditional expr (context information)

b_SkipDefinition  skip printing definition part of a declaration

skip output of definitions (sets b_SkipEnumDefinition, b_SkipFunctionDefinition, and b_SkipClassDefinition

b_SkipClassSpecifier  need to put in either class/struct/union keyword

skip the class specifier (modifier)

b_inEmbeddedDecl  printing something within a variable declaration

printing something within a variable declaration

b_SkipGlobal  suppress the printing of global and atomic

suppress the printing of global and atomic (hold over from CC++, I think (not used)

b_SkipAtomic  suppress the printing of global and atomic (hold over from CC++, I think (not used)
b_PrintName  used by set/unsetName and set/unsetPrintName to bring down the Name to lower tree structure

used by set/unsetName and set/unsetPrintName to bring down the Name to lower tree structure

b_CheckAccess  to set the need to check if need access specifier (avoids redundently specific access modifiers)

set the need to check if need access specifier

b_SkipFunctionQualifier  to skip function qualifiers

skip function qualifiers

b_isArrayType  to show that the type above current one is an array

show that the type above current one is an array

b_inRhsExpr  to indicate that this is at the right hand side of a binary op

indicate that this is at the right hand side of a binary op

b_SkipParen  to flag the skipping of () printing in a function call this is for a bug in g++ that can not handle (P::dval->B::mfcall)() skipping the toplevel only

skip over output of matching "(" and ")"

b_isTypeSecondPart  for the case that this maybe a function type, separate the outputing of the type info into 2 parts, the return type part and the arg type by default this is always set to 0

unparse only second part of type

b_isTypeFirstPart  unparse only first part of type
b_SkipInitializer  Added by DQ to permit reuse of unparser code in generation of declarations in rewrite mechanism.

skip output of initializers

b_SkipComments  Added by DQ to permit reuse of unparser code in generation of declarations in rewrite mechanism.

ignore all comments in unparsing

b_SkipCPPDirectives  Added by DQ to permit reuse of unparser code in generation of declarations in rewrite mechanism.

ignore all C preprocessor directives (except pragma which is in the AST)

b_SkipEnumDefinition  Added by DQ to permit reuse of unparser code in generation of declarations in rewrite mechanism.

skip over enum definition, if available

b_SkipFunctionDefinition  Added by DQ to permit reuse of unparser code in generation of declarations in rewrite mechanism.

skip over the function definition, if available

b_SkipClassDefinition  Added by DQ to permit reuse of unparser code in generation of declarations in rewrite mechanism.

skip over the class definition, if available

b_AddSemiColonAfterDeclaration  Added by DQ to permit reuse of unparser code in generation of declarations in rewrite mechanism.

add ';' after declaration

b_SkipWhitespaces  MS: 09/03/02 Added by MS to make unparsing of white space optional currently only used in unparseToCompleteString (by removing whitespaces) I only added it here to follow the design but suggest to use varibles of type bool, and extend the ROSETTA code to add these attributes, and generate the access functions - unfortunately the naming scheme does not comply with ROSETTA's naming scheme for access functions.

ignore any unrequired white space

b_SkipBasicBlock  DQ (11/3/2003): made all bit flags 64 bit long so that we could add a few more entries.

Added bit flag to control generation of prefix scope statements. This permits unparsing SgForStmt, SgWhileStmt, SgSwitchStmt, etc., without their body so that we can capture the full context of the declarations associated with such statements. In the case of SgSwitchStmt it also permits replacement of case statements which are specific to SgSwitchStmt basic blocks and no other basic blocks. This verifies the correctness of transformation specified. skip over the unparsing of the basic block

b_outputClassTemplateName  Templates that are modified need to be output, but all other output of a class template only supports the output of the class template name (but in template form, e.g.

"Rose_STL_Container<int>"). If the template has not been transformed then we have to control where it is output. The default can't be to output the template everywhere and then restrict it's use since the unparser can't turn that on, so we have to restrict it everywhere and turn it on in several places. outputClassTemplateName

b_outputCompilerGeneratedStatements  Control output of compiler-generated statements (typically template specialization declarations).

this allows the unparing of comments and preprocessor declarations before the compiler-generated statements appearing with any non-compiler-generated statement. outputCompilerGeneratedStatements

b_SkipConstantFoldedExpressions  Control output of constant folded values.

SkipConstantFoldedExpressions

b_forceQualifiedNames  Force qualified names.
b_SkipQualifiedNames  Control output of qualified names (not always wanted).

skip qualified names (e.g. names of defining declarations).

b_skipCheckAccess  Control access specifiers use in generated code (public, protected, private).

Skip access specifier (different from b_CheckAccess, above)

b_requiresGlobalNameQualification  Requires global qualifier on generated name.
b_useTypeAttributes  Fortran allows type attributes to be used in declarations (for example to dimension a collection of arrays).
b_SkipFormatting  Fortran code generation requires that we skip some formatting (e.g. column 7 formatting, even if fixed format output).
b_outputFortranModFile  Fortran mod file generation
b_supressStrippedTypeName  Unparsing of Fortran types with multiple attributes requires skipping the stripped base type name if it has already been output.
UNPARSE_TYPE_LAST  DQ (12/6/2003): Added last value to use a upper bound in loops.

last value used for debugging

enum SgUnparse_Info::access_attr_enum

Access modifiers for use with SgUnparseInfo (only)

Enumerator:
a_unset_access  default value
a_private_access  private access value
a_protected_access  protected access value
a_public_access  public access value

anonymous enum

static variant value

Enumerator:
static_variant 


Constructor & Destructor Documentation

SgUnparse_Info::SgUnparse_Info (  ) 

SgUnparse_Info::SgUnparse_Info ( const SgUnparse_Info X  ) 

SgUnparse_Info::SgUnparse_Info ( const SgUnparse_InfoStorageClass &  source  ) 

virtual SgUnparse_Info::~SgUnparse_Info (  )  [virtual]


Member Function Documentation

virtual SgNode* SgUnparse_Info::copy ( SgCopyHelp help  )  const [virtual]

Reimplemented from SgSupport.

SgUnparse_Info& SgUnparse_Info::operator= ( const SgUnparse_Info X  ) 

void SgUnparse_Info::post_construction_initialization (  )  [virtual]

Final initialization for constructors This function is called at the end of generated constructors to allow the specification writer to add special initialization functions or tests. Default is to do nothing. Otherwise it should be overridden in the spec file, in NewHeaderCode/NewOutlinedCode.

Reimplemented from SgNode.

bool SgUnparse_Info::checkBit ( unparse_type_num  bit  )  const [private]

void SgUnparse_Info::setBit ( unparse_type_num  bit  )  [private]

void SgUnparse_Info::unsetBit ( unparse_type_num  bit  )  [private]

bool SgUnparse_Info::isUnsetAccess (  )  const

void SgUnparse_Info::set_isUnsetAccess (  ) 

bool SgUnparse_Info::isPrivateAccess (  )  const

void SgUnparse_Info::set_isPrivateAccess (  ) 

bool SgUnparse_Info::isProtectedAccess (  )  const

void SgUnparse_Info::set_isProtectedAccess (  ) 

bool SgUnparse_Info::isPublicAccess (  )  const

void SgUnparse_Info::set_isPublicAccess (  ) 

bool SgUnparse_Info::isPointerToSomething (  )  const

void SgUnparse_Info::set_isPointerToSomething (  ) 

void SgUnparse_Info::unset_isPointerToSomething (  ) 

bool SgUnparse_Info::isReferenceToSomething (  )  const

void SgUnparse_Info::set_isReferenceToSomething (  ) 

void SgUnparse_Info::unset_isReferenceToSomething (  ) 

bool SgUnparse_Info::inVarDecl (  )  const

void SgUnparse_Info::set_inVarDecl (  ) 

void SgUnparse_Info::unset_inVarDecl (  ) 

bool SgUnparse_Info::inArgList (  )  const

void SgUnparse_Info::set_inArgList (  ) 

void SgUnparse_Info::unset_inArgList (  ) 

bool SgUnparse_Info::SkipSemiColon (  )  const

void SgUnparse_Info::set_SkipSemiColon (  ) 

void SgUnparse_Info::unset_SkipSemiColon (  ) 

bool SgUnparse_Info::inEnumDecl (  )  const

void SgUnparse_Info::set_inEnumDecl (  ) 

void SgUnparse_Info::unset_inEnumDecl (  ) 

bool SgUnparse_Info::inTemplateList (  )  const

void SgUnparse_Info::set_inTemplateList (  ) 

void SgUnparse_Info::unset_inTemplateList (  ) 

bool SgUnparse_Info::SkipBaseType (  )  const

void SgUnparse_Info::set_SkipBaseType (  ) 

void SgUnparse_Info::unset_SkipBaseType (  ) 

bool SgUnparse_Info::inAggregateInitializer (  )  const

void SgUnparse_Info::set_inAggregateInitializer (  ) 

void SgUnparse_Info::unset_inAggregateInitializer (  ) 

bool SgUnparse_Info::isWithType (  )  const

void SgUnparse_Info::set_isWithType (  ) 

void SgUnparse_Info::unset_isWithType (  ) 

bool SgUnparse_Info::inConditional (  )  const

void SgUnparse_Info::set_inConditional (  ) 

void SgUnparse_Info::unset_inConditional (  ) 

bool SgUnparse_Info::SkipDefinition (  )  const

void SgUnparse_Info::set_SkipDefinition (  ) 

void SgUnparse_Info::unset_SkipDefinition (  ) 

bool SgUnparse_Info::SkipClassSpecifier (  )  const

void SgUnparse_Info::set_SkipClassSpecifier (  ) 

void SgUnparse_Info::unset_SkipClassSpecifier (  ) 

bool SgUnparse_Info::inEmbeddedDecl (  )  const

void SgUnparse_Info::set_inEmbeddedDecl (  ) 

void SgUnparse_Info::unset_inEmbeddedDecl (  ) 

bool SgUnparse_Info::SkipGlobal (  )  const

void SgUnparse_Info::set_SkipGlobal (  ) 

void SgUnparse_Info::unset_SkipGlobal (  ) 

bool SgUnparse_Info::SkipAtomic (  )  const

void SgUnparse_Info::set_SkipAtomic (  ) 

void SgUnparse_Info::unset_SkipAtomic (  ) 

bool SgUnparse_Info::PrintName (  )  const

void SgUnparse_Info::set_PrintName (  ) 

void SgUnparse_Info::unset_PrintName (  ) 

bool SgUnparse_Info::CheckAccess (  )  const

void SgUnparse_Info::set_CheckAccess (  ) 

void SgUnparse_Info::unset_CheckAccess (  ) 

bool SgUnparse_Info::SkipFunctionQualifier (  )  const

void SgUnparse_Info::set_SkipFunctionQualifier (  ) 

void SgUnparse_Info::unset_SkipFunctionQualifier (  ) 

bool SgUnparse_Info::isArrayType (  )  const

void SgUnparse_Info::set_isArrayType (  ) 

void SgUnparse_Info::unset_isArrayType (  ) 

bool SgUnparse_Info::inRhsExpr (  )  const

void SgUnparse_Info::set_inRhsExpr (  ) 

void SgUnparse_Info::unset_inRhsExpr (  ) 

bool SgUnparse_Info::SkipParen (  )  const

void SgUnparse_Info::set_SkipParen (  ) 

void SgUnparse_Info::unset_SkipParen (  ) 

bool SgUnparse_Info::isTypeSecondPart (  )  const

void SgUnparse_Info::set_isTypeSecondPart (  ) 

void SgUnparse_Info::unset_isTypeSecondPart (  ) 

bool SgUnparse_Info::isTypeFirstPart (  )  const

void SgUnparse_Info::set_isTypeFirstPart (  ) 

void SgUnparse_Info::unset_isTypeFirstPart (  ) 

bool SgUnparse_Info::SkipInitializer (  )  const

void SgUnparse_Info::set_SkipInitializer (  ) 

void SgUnparse_Info::unset_SkipInitializer (  ) 

bool SgUnparse_Info::SkipComments (  )  const

void SgUnparse_Info::set_SkipComments (  ) 

void SgUnparse_Info::unset_SkipComments (  ) 

bool SgUnparse_Info::SkipWhitespaces (  )  const

void SgUnparse_Info::set_SkipWhitespaces (  ) 

void SgUnparse_Info::unset_SkipWhitespaces (  ) 

bool SgUnparse_Info::SkipCPPDirectives (  )  const

void SgUnparse_Info::set_SkipCPPDirectives (  ) 

void SgUnparse_Info::unset_SkipCPPDirectives (  ) 

bool SgUnparse_Info::SkipEnumDefinition (  )  const

void SgUnparse_Info::set_SkipEnumDefinition (  ) 

void SgUnparse_Info::unset_SkipEnumDefinition (  ) 

bool SgUnparse_Info::SkipFunctionDefinition (  )  const

void SgUnparse_Info::set_SkipFunctionDefinition (  ) 

void SgUnparse_Info::unset_SkipFunctionDefinition (  ) 

bool SgUnparse_Info::SkipClassDefinition (  )  const

void SgUnparse_Info::set_SkipClassDefinition (  ) 

void SgUnparse_Info::unset_SkipClassDefinition (  ) 

bool SgUnparse_Info::AddSemiColonAfterDeclaration (  )  const

void SgUnparse_Info::set_AddSemiColonAfterDeclaration (  ) 

void SgUnparse_Info::unset_AddSemiColonAfterDeclaration (  ) 

bool SgUnparse_Info::SkipBasicBlock (  )  const

void SgUnparse_Info::set_SkipBasicBlock (  ) 

void SgUnparse_Info::unset_SkipBasicBlock (  ) 

bool SgUnparse_Info::outputClassTemplateName (  )  const

void SgUnparse_Info::set_outputClassTemplateName (  ) 

void SgUnparse_Info::unset_outputClassTemplateName (  ) 

bool SgUnparse_Info::outputCompilerGeneratedStatements (  )  const

void SgUnparse_Info::set_outputCompilerGeneratedStatements (  ) 

void SgUnparse_Info::unset_outputCompilerGeneratedStatements (  ) 

bool SgUnparse_Info::SkipConstantFoldedExpressions (  )  const

Control output of constant folded values, the default is to ignore constant folded values and unparse the original code (as if no constant folding were done).

(default is unset)

void SgUnparse_Info::set_SkipConstantFoldedExpressions (  ) 

void SgUnparse_Info::unset_SkipConstantFoldedExpressions (  ) 

bool SgUnparse_Info::forceQualifiedNames (  )  const

void SgUnparse_Info::set_forceQualifiedNames (  ) 

void SgUnparse_Info::unset_forceQualifiedNames (  ) 

bool SgUnparse_Info::skipCheckAccess (  )  const

void SgUnparse_Info::set_skipCheckAccess (  ) 

void SgUnparse_Info::unset_skipCheckAccess (  ) 

bool SgUnparse_Info::SkipQualifiedNames (  )  const

void SgUnparse_Info::set_SkipQualifiedNames (  ) 

void SgUnparse_Info::unset_SkipQualifiedNames (  ) 

bool SgUnparse_Info::requiresGlobalNameQualification (  )  const

void SgUnparse_Info::set_requiresGlobalNameQualification (  ) 

void SgUnparse_Info::unset_requiresGlobalNameQualification (  ) 

bool SgUnparse_Info::useTypeAttributes (  )  const

void SgUnparse_Info::set_useTypeAttributes (  ) 

void SgUnparse_Info::unset_useTypeAttributes (  ) 

bool SgUnparse_Info::SkipFormatting (  )  const

void SgUnparse_Info::set_SkipFormatting (  ) 

void SgUnparse_Info::unset_SkipFormatting (  ) 

bool SgUnparse_Info::supressStrippedTypeName (  )  const

void SgUnparse_Info::set_supressStrippedTypeName (  ) 

void SgUnparse_Info::unset_supressStrippedTypeName (  ) 

std::string SgUnparse_Info::get_operator_name (  ) 

void SgUnparse_Info::set_operator_name ( const std::string &  on  ) 

SgName& SgUnparse_Info::get_name (  ) 

void SgUnparse_Info::set_name ( const SgName name  ) 

void SgUnparse_Info::unset_name (  ) 

SgDeclarationStatement* SgUnparse_Info::get_decl_stmt (  ) 

void SgUnparse_Info::set_decl_stmt ( SgDeclarationStatement stmt  ) 

void SgUnparse_Info::unset_decl_stmt (  ) 

int SgUnparse_Info::get_nested_expression (  ) 

void SgUnparse_Info::set_nested_expression (  ) 

void SgUnparse_Info::unset_nested_expression (  ) 

void SgUnparse_Info::unset_current_context (  ) 

SgName SgUnparse_Info::get_array_index_list (  ) 

void SgUnparse_Info::set_array_index_list ( SgExpression e,
SgUnparse_Info  finfo 
)

void SgUnparse_Info::unset_array_index_list (  ) 

void SgUnparse_Info::addStructureTag ( SgNamedType structureTag  ) 

SgTypePtrList& SgUnparse_Info::getStructureTagList (  ) 

Access function for internal STL list of structure tags.

void SgUnparse_Info::display ( const std::string &  label = ""  )  const

std::string SgUnparse_Info::displayString ( const std::string &  label  )  const

static bool SgUnparse_Info::get_forceDefaultConstructorToTriggerError (  )  [static]

Added to debug use of the default constructor.

Added to debug use of the default constructor (to restrict it from being used so that we could detect where it is being used in place of the copy constructor which should be used to implement the SgUnparse_Info object correctly as an inherited attribute within the ROSE unparser.

static void SgUnparse_Info::set_forceDefaultConstructorToTriggerError ( bool  forceDefaultConstructorToTriggerError  )  [static]

bool SgUnparse_Info::outputFortranModFile (  )  const

void SgUnparse_Info::set_outputFortranModFile (  ) 

void SgUnparse_Info::unset_outputFortranModFile (  ) 

void SgUnparse_Info::inc_nestingLevel (  ) 

void SgUnparse_Info::dec_nestingLevel (  ) 

virtual std::string SgUnparse_Info::class_name (  )  const [virtual]

Copies AST (whole subtree, depending on the SgCopyHelp class returns a string representing the class name.

Reimplemented from SgSupport.

virtual VariantT SgUnparse_Info::variantT (  )  const [virtual]

returns new style SageIII enum values

Reimplemented from SgSupport.

void* SgUnparse_Info::operator new ( size_t  size  ) 

returns pointer to newly allocated IR node

Reimplemented from SgSupport.

void SgUnparse_Info::operator delete ( void *  pointer,
size_t  size 
)

deallocated memory for IR node (returns memory to memory pool for reuse)

Reimplemented from SgSupport.

void SgUnparse_Info::operator delete ( void *  pointer  ) 

Reimplemented from SgSupport.

static size_t SgUnparse_Info::numberOfNodes (  )  [static]

Returns the total number of IR nodes of this type.

Reimplemented from SgSupport.

static size_t SgUnparse_Info::memoryUsage (  )  [static]

Returns the size in bytes of the total memory allocated for all IR nodes of this type.

Reimplemented from SgSupport.

virtual std::vector<SgNode*> SgUnparse_Info::get_traversalSuccessorContainer (  )  [virtual]

FOR INTERNAL USE within ROSE traverals mechanism only.

This function builds and returns a copy of ordered container holding pointers to children of this node in a traversal. It is associated with the definition of a tree that is travered by the AST traversal mechanism; a tree that is embeded in the AST (which is a more general graph). This function is used within the implementation of the AST traversal and has a semantics may change in subtle ways that makes it difficult to use in user code. It can return unexpected data members and thus the order and the number of elements is unpredicable and subject to change.

Warning:
This function can return unexpected data members and thus the order and the number of elements is unpredicable and subject to change.
Returns:
Returns ordered STL Container of pointers to children nodes in AST.

Reimplemented from SgSupport.

virtual std::vector<std::string> SgUnparse_Info::get_traversalSuccessorNamesContainer (  )  [virtual]

FOR INTERNAL USE within ROSE traverals mechanism only.

This function builds and returns a copy of ordered container holding strings used to name data members that are traversed in the IR node. It is associated with the definition of a tree that is travered by the AST traversal mechanism; a tree that is embeded in the AST (which is a more general graph). This function is used within the implementation of the AST traversal and has a semantics may change in subtle ways that makes it difficult to use in user code. It can return unexpected data members and thus the order and the number of elements is unpredicable and subject to change.

Warning:
This function can return unexpected data members and thus the order and the number of elements is unpredicable and subject to change.
Each string is a name of a member variable holding a pointer to a child in the AST. The names are the same as used in the generated enums for accessing attributes in a traversal. The order is the same in which they are traversed and the same in which the access enums are defined. Therefore this method can be used to get the corresponding name (string) of an access enum which allows to produce more meaningful messages for attribute computations.

Returns:
Returns ordered STL container of names (strings) of access names to children nodes in AST.

Reimplemented from SgSupport.

virtual size_t SgUnparse_Info::get_numberOfTraversalSuccessors (  )  [virtual]

Reimplemented from SgSupport.

virtual SgNode* SgUnparse_Info::get_traversalSuccessorByIndex ( size_t  idx  )  [virtual]

Reimplemented from SgSupport.

virtual size_t SgUnparse_Info::get_childIndex ( SgNode child  )  [virtual]

Reimplemented from SgSupport.

virtual RTIReturnType SgUnparse_Info::roseRTI (  )  [virtual]

FOR INTERNAL USE Access to Runtime Type Information (RTI) for this IR nodes.

This function provides runtime type information for accessing the structure of the current node. It is useful for generating code which would dump out or rebuild IR nodes.

Returns:
Returns a RTIReturnType object (runtime type information).

Reimplemented from SgSupport.

virtual const char* SgUnparse_Info::sage_class_name (  )  const [virtual]

returns a C style string (char*) representing the class name

Reimplemented from SgSupport.

void SgUnparse_Info::executeVisitorMemberFunction ( ROSE_VisitorPattern visitor  ) 

FOR INTERNAL USE Support for visitor pattern.

Reimplemented from SgSupport.

virtual void SgUnparse_Info::accept ( ROSE_VisitorPattern visitor  )  [virtual]

DXN (08/09/2010): support for the classic visitor pattern done in GoF.

Reimplemented from SgSupport.

static void SgUnparse_Info::traverseMemoryPoolNodes ( ROSE_VisitTraversal visit  )  [static]

FOR INTERNAL USE Support for visitor pattern.

Reimplemented from SgSupport.

static void SgUnparse_Info::traverseMemoryPoolVisitorPattern ( ROSE_VisitorPattern visitor  )  [static]

FOR INTERNAL USE Support for visitor pattern.

Reimplemented from SgSupport.

static void SgUnparse_Info::visitRepresentativeNode ( ROSE_VisitTraversal visit  )  [static]

FOR INTERNAL USE Support for type-based traversal.

Reimplemented from SgSupport.

virtual bool SgUnparse_Info::isInMemoryPool (  )  [virtual]

FOR INTERNAL USE This is used in internal tests to verify that all IR nodes are allocated from the heap.

The AST File I/O depends upon the allocation of IR nodes being from the heap, stack based or global IR nodes should not appear in the AST if it will be written out to a file and read back in. To enforce this concept, this function implements a test to verify that the IR node can be found on the heap and is part of a larger test of the whole AST. This test must pass before the AST can be written out to a file. This is part of a compromise in the design of the AST File I/O to support binary streaming of data to files; for performance. It is also rather difficult, but possible, to build a useful AST with IR nodes allocated on the stack or frm global scope, this test filters out such cased from being used with the AST File I/O mechanism.

Reimplemented from SgSupport.

virtual void SgUnparse_Info::checkDataMemberPointersIfInMemoryPool (  )  [virtual]

FOR INTERNAL USE This is used in internal tests to verify that all IR nodes are allocated from the heap.

The AST File I/O depends upon the allocation of IR nodes being from the heap, stack based or global IR nodes should not appear in the AST if it will be written out to a file and read back in. To enforce this concept, this function implements a test to verify that the IR node can be found on the heap and is part of a larger test of the whole AST. This test must pass before the AST can be written out to a file. This is part of a compromise in the design of the AST File I/O to support binary streaming of data to files; for performance. It is also rather difficult, but possible, to build a useful AST with IR nodes allocated on the stack or frm global scope, this test filters out such cased from being used with the AST File I/O mechanism.

Reimplemented from SgSupport.

virtual std::vector<std::pair<SgNode*,std::string> > SgUnparse_Info::returnDataMemberPointers (  )  const [virtual]

FOR INTERNAL USE Returns STL vector of pairs of SgNode* and strings for use in AST tools

This functions is part of general support for many possible tools to operate on the AST. The forms a list of ALL IR node pointers used by each IR node, and is a supperset of the get_traversalSuccessorContainer(). It is (I think) less than the set of pointers used by the AST file I/O. This is part of work implemented by Andreas, and support tools such as the AST graph generation.

Warning:
This function can return unexpected data members and thus the order and the number of elements is unpredicable and subject to change.
Returns:
STL vector of pairs of SgNode* and strings

Reimplemented from SgSupport.

virtual void SgUnparse_Info::processDataMemberReferenceToPointers ( ReferenceToPointerHandler *   )  [virtual]

FOR INTERNAL USE Processes pairs of references to SgNode* and strings for use in AST tools

This functions similar to returnDataMemberPointers() except that it passes references to a handler object. As a result there is FAR more damage that can be done by using this function, but it is type-safe. This is provided for support of internal tools that operate on the AST, e.g the AST Merge mechanism.

Warning:
This function can return unexpected data members and thus the order and the number of elements is unpredicable and subject to change.

Reimplemented from SgSupport.

virtual long SgUnparse_Info::getChildIndex ( SgNode childNode  )  const [virtual]

FOR INTERNAL USE Returns a unique index value for the childNode in the list of children at this IR node.

This function returns a unique value for the input childNode in set of children at this IR node. Note that a negative value indicates that the input node is not a child. This is the basis for the implementation of the isChild(SgNode*) member function. Data members that are NULL in the IR node are counted internally (so that this function returns value that could be statically defined, and so are not dynamically determined).

Warning:
The mapping on children to integer values could change from release to release of ROSE.
Returns:
long

Reimplemented from SgSupport.

SgUnparse_Info* SgUnparse_Info::addRegExpAttribute ( std::string  s,
AstRegExAttribute a 
)

Support for AST matching using regular expression.

This support is incomplete and the subject of current research to define RegEx trees to support inexact matching.

Reimplemented from SgSupport.

int SgUnparse_Info::get_access_attribute (  )  const

void SgUnparse_Info::set_access_attribute ( int  access_attribute  ) 

SgDeclarationStatement* SgUnparse_Info::get_declstatement_ptr (  )  const

void SgUnparse_Info::set_declstatement_ptr ( SgDeclarationStatement declstatement_ptr  ) 

SgNamedType* SgUnparse_Info::get_current_context (  )  const

void SgUnparse_Info::set_current_context ( SgNamedType current_context  ) 

SgName SgUnparse_Info::get_array_index_list (  )  const

void SgUnparse_Info::set_array_index_list ( SgName  array_index_list  ) 

SgNamespaceDeclarationStatement* SgUnparse_Info::get_current_namespace (  )  const

void SgUnparse_Info::set_current_namespace ( SgNamespaceDeclarationStatement current_namespace  ) 

bool SgUnparse_Info::get_outputCodeGenerationFormatDelimiters (  )  const

void SgUnparse_Info::set_outputCodeGenerationFormatDelimiters ( bool  outputCodeGenerationFormatDelimiters  ) 

SgQualifiedNamePtrList SgUnparse_Info::get_qualifiedNameList (  )  const

void SgUnparse_Info::set_qualifiedNameList ( SgQualifiedNamePtrList  qualifiedNameList  ) 

SgFunctionCallExp* SgUnparse_Info::get_current_function_call (  )  const

void SgUnparse_Info::set_current_function_call ( SgFunctionCallExp current_function_call  ) 

SgScopeStatement* SgUnparse_Info::get_current_scope (  )  const

void SgUnparse_Info::set_current_scope ( SgScopeStatement current_scope  ) 

SgNode* SgUnparse_Info::get_reference_node_for_qualification (  )  const

void SgUnparse_Info::set_reference_node_for_qualification ( SgNode reference_node_for_qualification  ) 

int SgUnparse_Info::get_name_qualification_length (  )  const

void SgUnparse_Info::set_name_qualification_length ( int  name_qualification_length  ) 

bool SgUnparse_Info::get_type_elaboration_required (  )  const

void SgUnparse_Info::set_type_elaboration_required ( bool  type_elaboration_required  ) 

bool SgUnparse_Info::get_global_qualification_required (  )  const

void SgUnparse_Info::set_global_qualification_required ( bool  global_qualification_required  ) 

int SgUnparse_Info::get_nestingLevel (  )  const

void SgUnparse_Info::set_nestingLevel ( int  nestingLevel  ) 


Friends And Related Function Documentation

friend class AST_FILE_IO [friend]

Reimplemented from SgSupport.

friend class SgUnparse_InfoStorageClass [friend]

friend class AstSpecificDataManagingClass [friend]

Reimplemented from SgSupport.

friend class AstSpecificDataManagingClassStorageClass [friend]

Reimplemented from SgSupport.

SgUnparse_Info* isSgUnparse_Info ( SgNode s  )  [friend]

Casts pointer from base class to derived class.

const SgUnparse_Info* isSgUnparse_Info ( const SgNode s  )  [friend]

Casts pointer from base class to derived class (for const pointers).

SgUnparse_Info* SgUnparse_Info_getPointerFromGlobalIndex ( unsigned long  globalIndex  )  [friend]

Constructor for use by AST File I/O MechanismTypedef used for low level memory access. Typedef used to hold memory addresses as values. Methods to find the pointer to a global and local index.

unsigned long SgUnparse_Info_getNumberOfValidNodesAndSetGlobalIndexInFreepointer ( unsigned  long  )  [friend]

Get the size of the memory pool.

It actually returns the size of the whole blocks allocated, no matter they contain valid pointers or not.

void SgUnparse_Info_clearMemoryPool (  )  [friend]

void SgUnparse_Info_extendMemoryPoolForFileIO ( unsigned  long  )  [friend]

void SgUnparse_Info_getNextValidPointer ( std::pair< SgUnparse_Info *, std::vector< unsigned char * >::const_iterator > &   )  [friend]

void SgUnparse_Info_resetValidFreepointers (  )  [friend]


Member Data Documentation

SgBitVector SgUnparse_Info::p_unparse_attribute [protected]

int SgUnparse_Info::p_access_attribute [protected]

int SgUnparse_Info::p_nested_expression [protected]

std::string SgUnparse_Info::p_operator_name [protected]

SgName SgUnparse_Info::p_var_name [protected]

SgDeclarationStatement* SgUnparse_Info::p_declstatement_ptr [protected]

SgNamedType* SgUnparse_Info::p_current_context [protected]

SgName SgUnparse_Info::p_array_index_list [protected]

SgTypePtrList SgUnparse_Info::p_structureTagProcessingList [static, protected]

SgNamespaceDeclarationStatement* SgUnparse_Info::p_current_namespace [protected]

bool SgUnparse_Info::p_forceDefaultConstructorToTriggerError [static, protected]

bool SgUnparse_Info::p_outputCodeGenerationFormatDelimiters [protected]

SgQualifiedNamePtrList SgUnparse_Info::p_qualifiedNameList [protected]

SgFunctionCallExp* SgUnparse_Info::p_current_function_call [protected]

SgScopeStatement* SgUnparse_Info::p_current_scope [protected]

SgNode* SgUnparse_Info::p_reference_node_for_qualification [protected]

int SgUnparse_Info::p_name_qualification_length [protected]

bool SgUnparse_Info::p_type_elaboration_required [protected]

bool SgUnparse_Info::p_global_qualification_required [protected]

int SgUnparse_Info::p_nestingLevel [protected]


The documentation for this class was generated from the following file:
Generated on Tue Jan 31 05:44:17 2012 for ROSE by  doxygen 1.4.7