Changes in src/SymTab/Mangler.h [69911c11:78dd0da]
- File:
-
- 1 edited
-
src/SymTab/Mangler.h (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/SymTab/Mangler.h
r69911c11 r78dd0da 25 25 class Mangler : public Visitor { 26 26 public: 27 /// Mangle syntax tree object; primary interface to clients28 27 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 32 29 33 30 virtual void visit( ObjectDecl *declaration ); … … 54 51 bool isTopLevel; ///< Is the Mangler at the top level 55 52 bool mangleOverridable; ///< Specially mangle overridable built-in methods 56 bool typeMode; ///< Produce a unique mangled name for a type53 bool includeQualifiers; ///< Include type qualifiers in mangled name 57 54 58 Mangler( bool mangleOverridable, bool typeMode);55 Mangler( bool mangleOverridable, bool includeQualifiers ); 59 56 Mangler( const Mangler & ); 60 57 61 58 void mangleDecl( DeclarationWithType *declaration ); 62 59 void mangleRef( ReferenceToType *refType, std::string prefix ); 63 void mangleGenericRef( ReferenceToType *refType, std::string prefix );64 60 65 61 void printQualifiers( Type *type ); … … 67 63 68 64 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 ); 71 67 maybeAccept( decl, mangler ); 72 68 return mangler.get_mangleName();
Note:
See TracChangeset
for help on using the changeset viewer.