Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/SymTab/Mangler.h

    r78dd0da r69911c11  
    2525        class Mangler : public Visitor {
    2626          public:
     27                /// Mangle syntax tree object; primary interface to clients
    2728                template< typename SynTreeClass >
    28             static std::string mangle( SynTreeClass *decl, bool mangleOverridable = true, bool includeQualifiers = true ); // interface to clients
     29            static std::string mangle( SynTreeClass *decl, bool mangleOverridable = true );
     30                /// Mangle a type name; secondary interface
     31                static std::string mangleType( Type* ty );
    2932
    3033                virtual void visit( ObjectDecl *declaration );
     
    5154                bool isTopLevel;                ///< Is the Mangler at the top level
    5255                bool mangleOverridable;         ///< Specially mangle overridable built-in methods
    53                 bool includeQualifiers;         ///< Include type qualifiers in mangled name
     56                bool typeMode;                  ///< Produce a unique mangled name for a type
    5457 
    55                 Mangler( bool mangleOverridable, bool includeQualifiers );
     58                Mangler( bool mangleOverridable, bool typeMode );
    5659                Mangler( const Mangler & );
    5760 
    5861                void mangleDecl( DeclarationWithType *declaration );
    5962                void mangleRef( ReferenceToType *refType, std::string prefix );
     63                void mangleGenericRef( ReferenceToType *refType, std::string prefix );
    6064 
    6165                void printQualifiers( Type *type );
     
    6367
    6468        template< typename SynTreeClass >
    65         std::string Mangler::mangle( SynTreeClass *decl, bool mangleOverridable, bool includeQualifiers ) {
    66                 Mangler mangler( mangleOverridable, includeQualifiers );
     69        std::string Mangler::mangle( SynTreeClass *decl, bool mangleOverridable ) {
     70                Mangler mangler( mangleOverridable, false );
    6771                maybeAccept( decl, mangler );
    6872                return mangler.get_mangleName();
Note: See TracChangeset for help on using the changeset viewer.