1 2 /* Compiler implementation of the D programming language 3 * Copyright (C) 1999-2019 by The D Language Foundation, All Rights Reserved 4 * written by Walter Bright 5 * http://www.digitalmars.com 6 * Distributed under the Boost Software License, Version 1.0. 7 * http://www.boost.org/LICENSE_1_0.txt 8 * https://github.com/dlang/dmd/blob/master/src/dmd/mangle.h 9 */ 10 11 #pragma once 12 13 class Dsymbol; 14 class Expression; 15 class FuncDeclaration; 16 class TemplateInstance; 17 class Type; 18 struct OutBuffer; 19 20 // In cppmangle.c 21 const char *toCppMangleItanium(Dsymbol *s); 22 const char *cppTypeInfoMangleItanium(Dsymbol *s); 23 24 // In cppmanglewin.c 25 const char *toCppMangleMSVC(Dsymbol *s); 26 const char *cppTypeInfoMangleMSVC(Dsymbol *s); 27 28 // In dmangle.c 29 const char *mangleExact(FuncDeclaration *fd); 30 void mangleToBuffer(Type *s, OutBuffer *buf); 31 void mangleToBuffer(Expression *s, OutBuffer *buf); 32 void mangleToBuffer(Dsymbol *s, OutBuffer *buf); 33 void mangleToBuffer(TemplateInstance *s, OutBuffer *buf); 34