00001 //===-- codegen/Mangle.h -------------------------------------- -*- C++ -*-===// 00002 // 00003 // This file is distributed under the MIT license. See LICENSE.txt for details. 00004 // 00005 // Copyright (C) 2009, Stephen Wilson 00006 // 00007 //===----------------------------------------------------------------------===// 00008 00009 //===----------------------------------------------------------------------===// 00013 //===----------------------------------------------------------------------===// 00014 00015 #ifndef COMMA_CODEGEN_MANGLE_HDR_GUARD 00016 #define COMMA_CODEGEN_MANGLE_HDR_GUARD 00017 00018 #include "comma/ast/AstBase.h" 00019 00020 namespace comma { 00021 00022 namespace mangle { 00023 00036 std::string getLinkName(const SubroutineDecl *sr); 00037 00038 std::string getLinkName(const DomainInstanceDecl *instance, 00039 const SubroutineDecl *sr); 00040 00043 std::string getLinkName(const Domoid *domoid); 00044 00047 std::string getLinkName(const DomainInstanceDecl *instance); 00048 00055 std::string getLinkName(const ExceptionDecl *exception); 00056 00057 } // end mangle namespace. 00058 00059 } // end comma namespace. 00060 00061 #endif