aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStephen Hines <srhines@google.com>2013-07-19 18:19:04 -0700
committerStephen Hines <srhines@google.com>2013-07-20 00:15:35 -0700
commit925879fa622dda293806ed25b1ee63d2f4a8d65a (patch)
treec003bbdb43a9b35d2c509f28810a8931cc24c3ab
parent6cd16fb4dc2466f9fdebb407ad7c42437d67976e (diff)
downloadandroid_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.cpp24
-rw-r--r--slang_rs.h5
-rw-r--r--slang_rs_context.cpp17
-rw-r--r--slang_rs_context.h4
-rw-r--r--slang_rs_reflection_base.cpp3
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;
}
diff --git a/slang_rs.h b/slang_rs.h
index 08b6674..7f3cd3f 100644
--- a/slang_rs.h
+++ b/slang_rs.h
@@ -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;