JSBNameVisitor.h 1021 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  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. namespace ToolCore
  10. {
  11. class JSBNameVisitor: protected NameVisitor
  12. {
  13. public:
  14. JSBNameVisitor();
  15. virtual ~JSBNameVisitor();
  16. String operator()(const Name *name);
  17. protected:
  18. String switchName(const String &name = String());
  19. virtual void visit(const Identifier *name);
  20. virtual void visit(const TemplateNameId *name);
  21. virtual void visit(const DestructorNameId *name);
  22. virtual void visit(const OperatorNameId *name);
  23. virtual void visit(const ConversionNameId *name);
  24. virtual void visit(const QualifiedNameId *name);
  25. virtual void visit(const SelectorNameId *name);
  26. virtual void visit(const AnonymousNameId *name);
  27. private:
  28. String name_;
  29. };
  30. }