Home | History | Annotate | Download | only in AST

Lines Matching refs:mangler

747     // That said, from the mangler's perspective we have a structure like this:
752 // What we do is we create a new mangler, mangle the same type (without
753 // a namespace suffix) to a string using the extra mangler and then use
2458 MicrosoftCXXNameMangler Mangler(*this, MHO);
2459 return Mangler.mangle(D);
2488 MicrosoftCXXNameMangler &Mangler,
2507 Mangler.mangleNumber(
2509 Mangler.mangleNumber(
2511 Mangler.mangleNumber(
2513 Mangler.mangleNumber(static_cast<uint32_t>(Adjustment.NonVirtual));
2516 Mangler.mangleNumber(
2518 Mangler.mangleNumber(-static_cast<uint32_t>(Adjustment.NonVirtual));
2533 Mangler.mangleNumber(-static_cast<uint32_t>(Adjustment.NonVirtual));
2559 MicrosoftCXXNameMangler Mangler(*this, MHO);
2560 Mangler.getStream() << "\01?";
2561 Mangler.mangleVirtualMemPtrThunk(MD, ML);
2568 MicrosoftCXXNameMangler Mangler(*this, MHO);
2569 Mangler.getStream() << "\01?";
2570 Mangler.mangleName(MD);
2571 mangleThunkThisAdjustment(MD, Thunk.This, Mangler, MHO);
2577 Mangler.mangleFunctionType(
2589 MicrosoftCXXNameMangler Mangler(*this, MHO, DD, Type);
2590 Mangler.getStream() << "\01??_E";
2591 Mangler
2592 mangleThunkThisAdjustment(DD, Adjustment, Mangler, MHO);
2593 Mangler.mangleFunctionType(DD->getType()->castAs<FunctionProtoType>(), DD);
2604 MicrosoftCXXNameMangler Mangler(*this, MHO);
2606 Mangler.getStream() << "\01??_S";
2608 Mangler.getStream() << "\01??_7";
2609 Mangler.mangleName(Derived);
2610 Mangler.getStream() << "6B"; // '6' for vftable, 'B' for const.
2612 Mangler.mangleName(RD);
2613 Mangler.getStream() << '@';
2624 MicrosoftCXXNameMangler Mangler(*this, MHO);
2625 Mangler.getStream() << "\01??_8";
2626 Mangler.mangleName(Derived);
2627 Mangler.getStream() << "7B"; // '7' for vbtable, 'B' for const.
2629 Mangler.mangleName(RD);
2630 Mangler.getStream() << '@';
2635 MicrosoftCXXNameMangler Mangler(*this, MHO);
2636 Mangler.getStream() << "\01??_R0";
2637 Mangler.mangleType(T, SourceRange(), MicrosoftCXXNameMangler::QMM_Result);
2638 Mangler.getStream() << "@8";
2643 MicrosoftCXXNameMangler Mangler(*this, Out);
2644 Mangler.getStream() << '.';
2645 Mangler.mangleType(T, SourceRange(), MicrosoftCXXNameMangler::QMM_Result);
2651 MicrosoftCXXNameMangler Mangler(*this, MHO);
2652 Mangler.getStream() << "\01??_K";
2653 Mangler.mangleName(SrcRD);
2654 Mangler.getStream() << "$C";
2655 Mangler.mangleName(DstRD);
2664 MicrosoftCXXNameMangler Mangler(*this, MHO);
2665 Mangler.getStream() << "_TI";
2667 Mangler.getStream() << 'C';
2669 Mangler.getStream() << 'V';
2671 Mangler.getStream() << 'U';
2672 Mangler.getStream() << NumEntries;
2673 Mangler.mangleType(T, SourceRange(), MicrosoftCXXNameMangler::QMM_Result);
2679 MicrosoftCXXNameMangler Mangler(*this, MHO);
2680 Mangler.getStream() << "_CTA";
2681 Mangler.getStream() << NumEntries;
2682 Mangler.mangleType(T, SourceRange(), MicrosoftCXXNameMangler::QMM_Result);
2689 MicrosoftCXXNameMangler Mangler(*this, Out);
2690 Mangler.getStream() << "_CT";
2698 Mangler.getStream() << RTTIMangling.substr(1);
2710 Mangler.getStream() << CopyCtorMangling.substr(1);
2712 Mangler.getStream() << Size;
2715 Mangler.getStream() << NVOffset;
2718 Mangler.getStream() << NVOffset;
2719 Mangler.getStream() << VBPtrOffset;
2720 Mangler.getStream() << VBIndex;
2728 MicrosoftCXXNameMangler Mangler(*this, MHO);
2729 Mangler.getStream() << "\01??_R1";
2730 Mangler.mangleNumber(NVOffset);
2731 Mangler.mangleNumber(VBPtrOffset);
2732 Mangler.mangleNumber(VBTableOffset);
2733 Mangler.mangleNumber(Flags);
2734 Mangler.mangleName(Derived);
2735 Mangler.getStream() << "8";
2741 MicrosoftCXXNameMangler Mangler(*this, MHO);
2742 Mangler.getStream() << "\01??_R2";
2743 Mangler.mangleName(Derived);
2744 Mangler.getStream() << "8";
2750 MicrosoftCXXNameMangler Mangler(*this, MHO);
2751 Mangler.getStream() << "\01??_R3";
2752 Mangler.mangleName(Derived);
2753 Mangler.getStream() << "8";
2782 MicrosoftCXXNameMangler Mangler(*this, MHO);
2787 Mangler.getStream() << "\01?filt$" << SEHFilterIds[EnclosingDecl]++ << "@0@";
2788 Mangler.mangleName(EnclosingDecl);
2794 MicrosoftCXXNameMangler Mangler(*this, MHO);
2799 Mangler.getStream() << "\01?fin$" << SEHFinallyIds[EnclosingDecl]++ << "@0@";
2800 Mangler.mangleName(EnclosingDecl);
2806 MicrosoftCXXNameMangler Mangler(*this, Out);
2807 Mangler.getStream() << '?';
2808 Mangler.mangleType(T, SourceRange());
2815 MicrosoftCXXNameMangler mangler(*this, MHO, D, Type);
2816 mangler.mangle(D);
2823 MicrosoftCXXNameMangler mangler(*this, MHO, D, Type);
2824 mangler.mangle(D);
2830 MicrosoftCXXNameMangler Mangler(*this, MHO);
2832 Mangler.getStream() << "\01?$RT" << ManglingNumber << '@';
2833 Mangler.mangle(VD, "");
2839 MicrosoftCXXNameMangler Mangler(*this, MHO);
2841 Mangler.getStream() << "\01?$TSS" << GuardNum << '@';
2842 Mangler.mangleNestedName(VD);
2843 Mangler.getStream() << "@4HA";
2859 MicrosoftCXXNameMangler Mangler(*this, MHO);
2863 Mangler.getStream() << (VD->getTLSKind() ? "\01??__J" : "\01??_B");
2865 Mangler.getStream() << "\01?$S1@";
2872 Mangler.mangle(VD, "");
2874 Mangler.mangleNestedName(VD);
2875 Mangler.getStream() << (Visible ? "@5" : "@4IA");
2877 Mangler.mangleNumber(ScopeDepth);
2884 MicrosoftCXXNameMangler Mangler(*this, MHO);
2885 Mangler.getStream() << "\01??__" << CharCode;
2886 Mangler.mangleName(D);
2888 Mangler.mangleVariableEncoding(D);
2889 Mangler.getStream() << '@';
2893 Mangler.getStream() << "YAXXZ";
2930 MicrosoftCXXNameMangler Mangler(*this, Out);
2931 Mangler.getStream() << "\01??_C@_";
2935 Mangler.getStream() << '1';
2937 Mangler.getStream() << '0';
2944 Mangler.mangleNumber(SL->getByteLength() + SL->getCharByteWidth());
2946 auto GetLittleEndianByte = [&Mangler, &SL](unsigned Index) {
2953 auto GetBigEndianByte = [&Mangler, &SL](unsigned Index) {
2973 Mangler.mangleNumber(JC.getCRC());
2979 auto MangleByte = [&Mangler](char Byte) {
2987 Mangler.getStream() << Byte;
2989 Mangler.getStream() << '?' << static_cast<char>(Byte & 0x7f);
2996 Mangler.getStream() << '?' << (Pos - std::begin(SpecialChars));
2998 Mangler.getStream() << "?$";
2999 Mangler.getStream() << static_cast<char>('A' + ((Byte >> 4) & 0xf));
3000 Mangler.getStream() << static_cast<char>('A' + (Byte & 0xf));
3020 Mangler.getStream() << '@';