slang_rs.h revision 3a9ca1f0d6bd8f12c2bb2adea51f95c255996180
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 SlangRS(const char *Triple, const char *CPU, const char **Features); 29 30 // The package name that's really applied will be filled in 31 // RealPackageNameBuf. BufSize is the size of buffer RealPackageNameBuf. 32 bool reflectToJava(const char *outputPackageName, 33 char *RealPackageNameBuf, int BufSize); 34 bool reflectToJavaPath(const char *OutputPathName); 35 36 inline void allowRSPrefix(bool V = true) { mAllowRSPrefix = V; } 37 38 virtual ~SlangRS(); 39}; 40} 41 42#endif // _SLANG_COMPILER_SLANG_RS_HPP 43