JSBNameVisitor.h 801 B

123456789101112131415161718192021222324252627282930313233
  1. #pragma once
  2. #include <Atomic/Container/Str.h>
  3. #include "cplusplus/CPlusPlus.h"
  4. using namespace CPlusPlus;
  5. using namespace Atomic;
  6. class JSBNameVisitor: protected NameVisitor
  7. {
  8. public:
  9. JSBNameVisitor();
  10. virtual ~JSBNameVisitor();
  11. String operator()(const Name *name);
  12. protected:
  13. String switchName(const String &name = String());
  14. virtual void visit(const Identifier *name);
  15. virtual void visit(const TemplateNameId *name);
  16. virtual void visit(const DestructorNameId *name);
  17. virtual void visit(const OperatorNameId *name);
  18. virtual void visit(const ConversionNameId *name);
  19. virtual void visit(const QualifiedNameId *name);
  20. virtual void visit(const SelectorNameId *name);
  21. virtual void visit(const AnonymousNameId *name);
  22. private:
  23. String _name;
  24. };