diff options
author | Benoit Lamarche <benoitlamarche@google.com> | 2015-02-12 15:39:26 +0100 |
---|---|---|
committer | Benoit Lamarche <benoitlamarche@google.com> | 2015-05-29 11:49:31 +0200 |
commit | b34fb65587616cb9da9fd30affa5bf1f49428dae (patch) | |
tree | 4bbd5ec2ebf3cce5d7a9c35589d44fbf85c8354d /jack/src | |
parent | 21fe55835a54f27ddb4e239d1b88907874b62feb (diff) | |
download | toolchain_jack-b34fb65587616cb9da9fd30affa5bf1f49428dae.tar.gz toolchain_jack-b34fb65587616cb9da9fd30affa5bf1f49428dae.tar.bz2 toolchain_jack-b34fb65587616cb9da9fd30affa5bf1f49428dae.zip |
Add new getPathFromRoot API in VFS
And use it to remove JayceFileImporter hack.
(cherry picked from commit 7a73a0418d5524240b7c97d9801b7db954aa018c)
Change-Id: I211bc52211d7373c22a02d83be114774ebca7520
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(); + } } |