slang_rs.h revision 6791df284557f4173a9715b3634f4f4901a6bb8a
1#ifndef _SLANG_COMPILER_SLANG_RS_HPP 2#define _SLANG_COMPILER_SLANG_RS_HPP 3 4#include "slang.h" 5 6namespace slang { 7 class RSContext; 8 9class SlangRS : public Slang { 10 private: 11 // Context for RenderScript 12 RSContext *mRSContext; 13 14 bool mAllowRSPrefix; 15 16 protected: 17 virtual void initDiagnostic(); 18 virtual void initPreprocessor(); 19 virtual void initASTContext(); 20 21 virtual clang::ASTConsumer 22 *createBackend(const clang::CodeGenOptions& CodeGenOpts, 23 llvm::raw_ostream *OS, 24 Slang::OutputType OT); 25 26 27 public: 28 static bool IsRSHeaderFile(const char *File); 29 30 SlangRS(const std::string &Triple, const std::string &CPU, 31 const std::vector<std::string> &Features); 32 33 // The package name that's really applied will be filled in RealPackageName. 34 bool reflectToJava(const std::string &OutputPathBase, 35 const std::string &OutputPackageName, 36 std::string *RealPackageName); 37 38 virtual void reset(); 39 40 inline void allowRSPrefix(bool V = true) { mAllowRSPrefix = V; } 41 42 virtual ~SlangRS(); 43}; 44} 45 46#endif // _SLANG_COMPILER_SLANG_RS_HPP 47