diff options
author | Stephen Hines <srhines@google.com> | 2013-07-19 18:19:04 -0700 |
---|---|---|
committer | Stephen Hines <srhines@google.com> | 2013-07-20 00:15:35 -0700 |
commit | 925879fa622dda293806ed25b1ee63d2f4a8d65a (patch) | |
tree | c003bbdb43a9b35d2c509f28810a8931cc24c3ab | |
parent | 6cd16fb4dc2466f9fdebb407ad7c42437d67976e (diff) | |
download | android_frameworks_compile_slang-925879fa622dda293806ed25b1ee63d2f4a8d65a.tar.gz android_frameworks_compile_slang-925879fa622dda293806ed25b1ee63d2f4a8d65a.tar.bz2 android_frameworks_compile_slang-925879fa622dda293806ed25b1ee63d2f4a8d65a.zip |
Clean up handling of Java package name for llvm-rs-cc.
Adds support for C++ code generator to use this package name as well.
This change also resolves a small issue with an uninitialized mVerbose flag.
Change-Id: Ia3037a3f4dbe172ddc51af3064ac1708526a6df6
-rw-r--r-- | slang_rs.cpp | 24 | ||||
-rw-r--r-- | slang_rs.h | 5 | ||||
-rw-r--r-- | slang_rs_context.cpp | 17 | ||||
-rw-r--r-- | slang_rs_context.h | 4 | ||||
-rw-r--r-- | slang_rs_reflection_base.cpp | 3 |
5 files changed, 15 insertions, 38 deletions
diff --git a/slang_rs.cpp b/slang_rs.cpp index 98b9771..3c0fd9c 100644 --- a/slang_rs.cpp +++ b/slang_rs.cpp @@ -74,15 +74,11 @@ bool SlangRS::isFilterscript(const char *Filename) { } bool SlangRS::reflectToJava(const std::string &OutputPathBase, - const std::string &OutputPackageName, - const std::string &RSPackageName, - std::string *RealPackageName) { + const std::string &RSPackageName) { return mRSContext->reflectToJava(OutputPathBase, - OutputPackageName, RSPackageName, getInputFileName(), - getOutputFileName(), - RealPackageName); + getOutputFileName()); } bool SlangRS::generateBitcodeAccessor(const std::string &OutputPathBase, @@ -337,16 +333,17 @@ bool SlangRS::compile( if (!setOutput(OutputFile)) return false; - if (!JavaReflectionPackageName.empty()) { - mRSContext->setReflectJavaPackageName( - JavaReflectionPackageName); - } - mIsFilterscript = isFilterscript(InputFile); if (Slang::compile() > 0) return false; + if (!JavaReflectionPackageName.empty()) { + mRSContext->setReflectJavaPackageName(JavaReflectionPackageName); + } + const std::string &RealPackageName = + mRSContext->getReflectJavaPackageName(); + if (OutputType != Slang::OT_Dependency) { if (BitcodeStorage == BCST_CPP_CODE) { @@ -357,10 +354,7 @@ bool SlangRS::compile( } } else { - if (!reflectToJava(JavaReflectionPathBase, - JavaReflectionPackageName, - RSPackageName, - &RealPackageName)) { + if (!reflectToJava(JavaReflectionPathBase, RSPackageName)) { return false; } @@ -62,11 +62,8 @@ class SlangRS : public Slang { typedef llvm::StringMap<ReflectedDefinitionTy> ReflectedDefinitionListTy; ReflectedDefinitionListTy ReflectedDefinitions; - // The package name that's really applied will be filled in RealPackageName. bool reflectToJava(const std::string &OutputPathBase, - const std::string &OutputPackageName, - const std::string &RSPackageName, - std::string *RealPackageName); + const std::string &RSPackageName); bool generateBitcodeAccessor(const std::string &OutputPathBase, const std::string &PackageName); diff --git a/slang_rs_context.cpp b/slang_rs_context.cpp index 7ed387e..bc3b2ed 100644 --- a/slang_rs_context.cpp +++ b/slang_rs_context.cpp @@ -284,22 +284,9 @@ bool RSContext::insertExportType(const llvm::StringRef &TypeName, } bool RSContext::reflectToJava(const std::string &OutputPathBase, - const std::string &OutputPackageName, const std::string &RSPackageName, const std::string &InputFileName, - const std::string &OutputBCFileName, - std::string *RealPackageName) { - if (RealPackageName != NULL) - RealPackageName->clear(); - - const std::string &PackageName = - ((OutputPackageName.empty()) ? mReflectJavaPackageName : - OutputPackageName); - slangAssert(!PackageName.empty()); - - // Copy back the really applied package name - RealPackageName->assign(PackageName); - + const std::string &OutputBCFileName) { if (!RSPackageName.empty()) { mRSPackageName = RSPackageName; } @@ -311,7 +298,7 @@ bool RSContext::reflectToJava(const std::string &OutputPathBase, } RSReflection *R = new RSReflection(this, mGeneratedFileNames); - bool ret = R->reflect(OutputPathBase, PackageName, mRSPackageName, + bool ret = R->reflect(OutputPathBase, mReflectJavaPackageName, mRSPackageName, InputFileName, OutputBCFileName); if (!ret) fprintf(stderr, "RSContext::reflectToJava : failed to do reflection " diff --git a/slang_rs_context.h b/slang_rs_context.h index 946393b..7dbd409 100644 --- a/slang_rs_context.h +++ b/slang_rs_context.h @@ -219,11 +219,9 @@ class RSContext { bool insertExportType(const llvm::StringRef &TypeName, RSExportType *Type); bool reflectToJava(const std::string &OutputPathBase, - const std::string &OutputPackageName, const std::string &RSPackageName, const std::string &InputFileName, - const std::string &OutputBCFileName, - std::string *RealPackageName); + const std::string &OutputBCFileName); int getVersion() const { return version; } void setVersion(int v) { diff --git a/slang_rs_reflection_base.cpp b/slang_rs_reflection_base.cpp index a4a0d35..65da696 100644 --- a/slang_rs_reflection_base.cpp +++ b/slang_rs_reflection_base.cpp @@ -60,7 +60,8 @@ static const char *const gApacheLicenseNote = "\n"; -RSReflectionBase::RSReflectionBase(const RSContext *con) { +RSReflectionBase::RSReflectionBase(const RSContext *con) + : mVerbose(true) { mRSContext = con; mLicenseNote = gApacheLicenseNote; |