blob: d5b9ed724e9291d9c878f379fc2bcaa51a1724f5 [file] [log] [blame]
//===-- SwiftMangledNameVisitor.h -------------------------------*- C++ -*-===//
//
// This source file is part of the Swift.org open source project
//
// Copyright (c) 2014 - 2016 Apple Inc. and the Swift project authors
// Licensed under Apache License v2.0 with Runtime Library Exception
//
// See https://swift.org/LICENSE.txt for license information
// See https://swift.org/CONTRIBUTORS.txt for the list of Swift project authors
//
//===----------------------------------------------------------------------===//
#ifndef liblldb_SwiftMangledNameVisitor_h_
#define liblldb_SwiftMangledNameVisitor_h_
#include "swift/Demangling/Demangle.h"
namespace lldb_private {
class SwiftMangledNameVisitor {
public:
#define NODE(e) \
virtual void visit##e(swift::Demangle::NodePointer pointer); \
void accept##e(swift::Demangle::NodePointer cur_node);
#include "swift/Demangling/DemangleNodes.def"
virtual ~SwiftMangledNameVisitor() {}
void visit(const char *mangled_name);
private:
void accept(swift::Demangle::NodePointer pointer);
};
}
#endif // #ifndef liblldb_SwiftMangledNameVisitor_h_