summaryrefslogtreecommitdiffstats
path: root/jack
diff options
context:
space:
mode:
authorBenoit Lamarche <benoitlamarche@google.com>2015-05-29 12:55:20 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2015-05-29 12:55:20 +0000
commit9f6136767cfe3f9bc169cfe4be41c0e91fc69845 (patch)
tree8fbd19311b409978829b0c91cea38d11518a013b /jack
parent93672b045bb7bd5934335e79ce7222dba041c865 (diff)
parentb34fb65587616cb9da9fd30affa5bf1f49428dae (diff)
downloadtoolchain_jack-9f6136767cfe3f9bc169cfe4be41c0e91fc69845.zip
toolchain_jack-9f6136767cfe3f9bc169cfe4be41c0e91fc69845.tar.gz
toolchain_jack-9f6136767cfe3f9bc169cfe4be41c0e91fc69845.tar.bz2
Merge "Add new getPathFromRoot API in VFS" into ub-jack-brest
Diffstat (limited to 'jack')
-rw-r--r--jack/src/com/android/jack/backend/jayce/JayceFileImporter.java28
-rw-r--r--jack/src/com/android/jack/shrob/obfuscation/resource/RefinedVFile.java7
2 files changed, 9 insertions, 26 deletions
diff --git a/jack/src/com/android/jack/backend/jayce/JayceFileImporter.java b/jack/src/com/android/jack/backend/jayce/JayceFileImporter.java
index 5683d55..4c14ae6 100644
--- a/jack/src/com/android/jack/backend/jayce/JayceFileImporter.java
+++ b/jack/src/com/android/jack/backend/jayce/JayceFileImporter.java
@@ -40,9 +40,7 @@ import com.android.sched.util.codec.VariableName;
import com.android.sched.util.config.HasKeyId;
import com.android.sched.util.config.ThreadConfig;
import com.android.sched.util.config.id.PropertyId;
-import com.android.sched.util.location.FileLocation;
import com.android.sched.util.location.Location;
-import com.android.sched.util.location.ZipLocation;
import com.android.sched.util.log.Event;
import com.android.sched.util.log.LoggerFactory;
import com.android.sched.util.log.Tracer;
@@ -127,7 +125,7 @@ public class JayceFileImporter {
Iterator<InputVFile> jayceFileIt = jackLibrary.iterator(FileType.JAYCE);
while (jayceFileIt.hasNext()) {
InputVFile jayceFile = jayceFileIt.next();
- String name = getNameFromInputVFile(jackLibrary, jayceFile, FileType.JAYCE);
+ String name = jayceFile.getPathFromRoot().getPathAsString('/');
try {
addImportedTypes(session, name, jackLibrary);
} catch (JLookupException e) {
@@ -144,7 +142,7 @@ public class JayceFileImporter {
Iterator<InputVFile> rscFileIt = jackLibrary.iterator(FileType.RSC);
while (rscFileIt.hasNext()) {
InputVFile rscFile = rscFileIt.next();
- String name = getNameFromInputVFile(jackLibrary, rscFile, FileType.RSC);
+ String name = rscFile.getPathFromRoot().getPathAsString('/');
try {
addImportedResource(rscFile, session, name);
} catch (ResourceImportConflictException e) {
@@ -158,28 +156,6 @@ public class JayceFileImporter {
}
}
- // TODO(jack-team): remove this hack
- @Nonnull
- private String getNameFromInputVFile(@Nonnull InputJackLibrary jackLibrary,
- @Nonnull InputVFile jayceFile, @Nonnull FileType fileType) {
- Location loc = jayceFile.getLocation();
- String name;
- if (loc instanceof ZipLocation) {
- name = ((ZipLocation) jayceFile.getLocation()).getEntryName();
- if (jackLibrary.getMajorVersion() != 0) {
- name = name.substring(
- fileType.buildDirVPath(VPath.ROOT).split().iterator().next().length() + 1);
- }
- } else {
- name = ((FileLocation) jayceFile.getLocation()).getPath();
- if (jackLibrary.getMajorVersion() != 0) {
- String prefix = fileType.buildDirVPath(VPath.ROOT).split().iterator().next() + '/';
- name = name.substring(name.lastIndexOf(prefix) + prefix.length());
- }
- }
- return name;
- }
-
private void addImportedTypes(@Nonnull JSession session, @Nonnull String path,
@Nonnull InputLibrary intendedInputLibrary) throws TypeImportConflictException,
JTypeLookupException {
diff --git a/jack/src/com/android/jack/shrob/obfuscation/resource/RefinedVFile.java b/jack/src/com/android/jack/shrob/obfuscation/resource/RefinedVFile.java
index deedb67..b8d81b5 100644
--- a/jack/src/com/android/jack/shrob/obfuscation/resource/RefinedVFile.java
+++ b/jack/src/com/android/jack/shrob/obfuscation/resource/RefinedVFile.java
@@ -21,6 +21,7 @@ import com.android.sched.util.file.WrongPermissionException;
import com.android.sched.util.location.Location;
import com.android.sched.vfs.AbstractVElement;
import com.android.sched.vfs.InputVFile;
+import com.android.sched.vfs.VPath;
import java.io.ByteArrayInputStream;
import java.io.IOException;
@@ -277,4 +278,10 @@ public class RefinedVFile extends AbstractVElement implements InputVFile {
public void delete() throws CannotDeleteFileException {
file.delete();
}
+
+ @Override
+ @Nonnull
+ public VPath getPathFromRoot() {
+ return file.getPathFromRoot();
+ }
}