JSBHeader.h 908 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  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/Vector.h>
  6. #include <Atomic/Container/Str.h>
  7. #include <Atomic/Container/ArrayPtr.h>
  8. using namespace Atomic;
  9. namespace CPlusPlus
  10. {
  11. class TranslationUnit;
  12. class Namespace;
  13. }
  14. class JSBModule;
  15. class JSBHeader
  16. {
  17. CPlusPlus::TranslationUnit* translationUnit_;
  18. CPlusPlus::Namespace* globalNamespace_;
  19. SharedArrayPtr<char> data_;
  20. public:
  21. JSBHeader(JSBModule* module, const String& filepath) :
  22. translationUnit_(NULL),
  23. filepath_(filepath),
  24. module_(module)
  25. {
  26. }
  27. void Parse();
  28. void VisitPreprocess();
  29. void VisitHeader();
  30. // absolute path to source file
  31. String filepath_;
  32. JSBModule* module_;
  33. };