JSBNameVisitor.h 996 B

123456789101112131415161718192021222324252627282930313233343536
  1. // Copyright (c) 2014-2015, THUNDERBEAST GAMES LLC All rights reserved
  2. // Please see LICENSE.md in repository root for license information
  3. // https://github.com/AtomicGameEngine/AtomicGameEngine
  4. #pragma once
  5. #include <Atomic/Container/Str.h>
  6. #include "cplusplus/CPlusPlus.h"
  7. using namespace CPlusPlus;
  8. using namespace Atomic;
  9. class JSBNameVisitor: protected NameVisitor
  10. {
  11. public:
  12. JSBNameVisitor();
  13. virtual ~JSBNameVisitor();
  14. String operator()(const Name *name);
  15. protected:
  16. String switchName(const String &name = String());
  17. virtual void visit(const Identifier *name);
  18. virtual void visit(const TemplateNameId *name);
  19. virtual void visit(const DestructorNameId *name);
  20. virtual void visit(const OperatorNameId *name);
  21. virtual void visit(const ConversionNameId *name);
  22. virtual void visit(const QualifiedNameId *name);
  23. virtual void visit(const SelectorNameId *name);
  24. virtual void visit(const AnonymousNameId *name);
  25. private:
  26. String _name;
  27. };