diff options
author | Benoit Lamarche <benoitlamarche@google.com> | 2015-05-29 12:55:20 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2015-05-29 12:55:20 +0000 |
commit | 9f6136767cfe3f9bc169cfe4be41c0e91fc69845 (patch) | |
tree | 8fbd19311b409978829b0c91cea38d11518a013b /jack/src | |
parent | 93672b045bb7bd5934335e79ce7222dba041c865 (diff) | |
parent | b34fb65587616cb9da9fd30affa5bf1f49428dae (diff) | |
download | toolchain_jack-9f6136767cfe3f9bc169cfe4be41c0e91fc69845.tar.gz toolchain_jack-9f6136767cfe3f9bc169cfe4be41c0e91fc69845.tar.bz2 toolchain_jack-9f6136767cfe3f9bc169cfe4be41c0e91fc69845.zip |
Merge "Add new getPathFromRoot API in VFS" into ub-jack-brest
Diffstat (limited to 'jack/src')
-rw-r--r-- | jack/src/com/android/jack/backend/jayce/JayceFileImporter.java | 28 | ||||
-rw-r--r-- | jack/src/com/android/jack/shrob/obfuscation/resource/RefinedVFile.java | 7 |
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 5683d553..4c14ae6c 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 deedb678..b8d81b51 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(); + } } |