Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/SymTab/Mangler.h

    r69911c11 r78dd0da  
    2525        class Mangler : public Visitor {
    2626          public:
    27                 /// Mangle syntax tree object; primary interface to clients
    2827                template< typename SynTreeClass >
    29             static std::string mangle( SynTreeClass *decl, bool mangleOverridable = true );
    30                 /// Mangle a type name; secondary interface
    31                 static std::string mangleType( Type* ty );
     28            static std::string mangle( SynTreeClass *decl, bool mangleOverridable = true, bool includeQualifiers = true ); // interface to clients
    3229
    3330                virtual void visit( ObjectDecl *declaration );
     
    5451                bool isTopLevel;                ///< Is the Mangler at the top level
    5552                bool mangleOverridable;         ///< Specially mangle overridable built-in methods
    56                 bool typeMode;                  ///< Produce a unique mangled name for a type
     53                bool includeQualifiers;         ///< Include type qualifiers in mangled name
    5754 
    58                 Mangler( bool mangleOverridable, bool typeMode );
     55                Mangler( bool mangleOverridable, bool includeQualifiers );
    5956                Mangler( const Mangler & );
    6057 
    6158                void mangleDecl( DeclarationWithType *declaration );
    6259                void mangleRef( ReferenceToType *refType, std::string prefix );
    63                 void mangleGenericRef( ReferenceToType *refType, std::string prefix );
    6460 
    6561                void printQualifiers( Type *type );
     
    6763
    6864        template< typename SynTreeClass >
    69         std::string Mangler::mangle( SynTreeClass *decl, bool mangleOverridable ) {
    70                 Mangler mangler( mangleOverridable, false );
     65        std::string Mangler::mangle( SynTreeClass *decl, bool mangleOverridable, bool includeQualifiers ) {
     66                Mangler mangler( mangleOverridable, includeQualifiers );
    7167                maybeAccept( decl, mangler );
    7268                return mangler.get_mangleName();
Note: See TracChangeset for help on using the changeset viewer.