146  friend std::optional<size_t>
 
  165  SymbolNode *demangleEncodedSymbol(std::string_view &MangledName,
 
  167  SymbolNode *demangleDeclarator(std::string_view &MangledName);
 
  168  SymbolNode *demangleMD5Name(std::string_view &MangledName);
 
  169  SymbolNode *demangleTypeinfoName(std::string_view &MangledName);
 
  175  Qualifiers demanglePointerExtQualifiers(std::string_view &MangledName);
 
  177  bool isMemberPointer(std::string_view MangledName, 
bool &
Error);
 
  179  std::optional<PointerAuthQualifierNode::ArgArray>
 
  180  demanglePointerAuthQualifier(std::string_view &MangledName);
 
  183  createPointerAuthQualifier(std::string_view &MangledName);
 
  186  TypeNode *demangleType(std::string_view &MangledName,
 
  189  CustomTypeNode *demangleCustomType(std::string_view &MangledName);
 
  190  TagTypeNode *demangleClassType(std::string_view &MangledName);
 
  192  PointerTypeNode *demangleMemberPointerType(std::string_view &MangledName);
 
  196  ArrayTypeNode *demangleArrayType(std::string_view &MangledName);
 
  198  NodeArrayNode *demangleFunctionParameterList(std::string_view &MangledName,
 
  200  NodeArrayNode *demangleTemplateParameterList(std::string_view &MangledName);
 
  202  std::pair<uint64_t, bool> demangleNumber(std::string_view &MangledName);
 
  203  uint64_t demangleUnsigned(std::string_view &MangledName);
 
  204  int64_t demangleSigned(std::string_view &MangledName);
 
  206  void memorizeString(std::string_view s);
 
  210  std::string_view copyString(std::string_view Borrowed);
 
  213  demangleFullyQualifiedTypeName(std::string_view &MangledName);
 
  215  demangleFullyQualifiedSymbolName(std::string_view &MangledName);
 
  217  IdentifierNode *demangleUnqualifiedTypeName(std::string_view &MangledName,
 
  219  IdentifierNode *demangleUnqualifiedSymbolName(std::string_view &MangledName,
 
  224  IdentifierNode *demangleNameScopePiece(std::string_view &MangledName);
 
  228  demangleTemplateInstantiationName(std::string_view &MangledName,
 
  232  IdentifierNode *demangleFunctionIdentifierCode(std::string_view &MangledName);
 
  234  demangleFunctionIdentifierCode(std::string_view &MangledName,
 
  237  demangleStructorIdentifier(std::string_view &MangledName, 
bool IsDestructor);
 
  239  demangleConversionOperatorIdentifier(std::string_view &MangledName);
 
  241  demangleLiteralOperatorIdentifier(std::string_view &MangledName);
 
  243  SymbolNode *demangleSpecialIntrinsic(std::string_view &MangledName);
 
  245  demangleSpecialTableSymbolNode(std::string_view &MangledName,
 
  248  demangleLocalStaticGuard(std::string_view &MangledName, 
bool IsThread);
 
  250                                              std::string_view &MangledName,
 
  251                                              std::string_view VariableName);
 
  254                                      std::string_view &MangledName);
 
  261  demangleAnonymousNamespaceName(std::string_view &MangledName);
 
  263  demangleLocallyScopedNamePiece(std::string_view &MangledName);
 
  265  demangleStringLiteral(std::string_view &MangledName);
 
  268  std::string_view demangleSimpleString(std::string_view &MangledName,
 
  271  FuncClass demangleFunctionClass(std::string_view &MangledName);
 
  272  CallingConv demangleCallingConvention(std::string_view &MangledName);
 
  273  StorageClass demangleVariableStorageClass(std::string_view &MangledName);
 
  274  bool demangleThrowSpecification(std::string_view &MangledName);
 
  275  wchar_t demangleWcharLiteral(std::string_view &MangledName);
 
  276  uint8_t demangleCharLiteral(std::string_view &MangledName);
 
  278  std::pair<Qualifiers, bool> demangleQualifiers(std::string_view &MangledName);