diff options
author | mikaelpeltier <mikaelpeltier@google.com> | 2015-02-11 16:00:43 +0100 |
---|---|---|
committer | mikaelpeltier <mikaelpeltier@google.com> | 2015-02-11 16:00:43 +0100 |
commit | 8c145231a3889a6ba62c76b5102c0075575a2114 (patch) | |
tree | 01b73b88b6510efa4b02fcb0d00f9943b453cb5d /jack | |
parent | 83b7ed4501ff36c08104a0848fdcb7712905b8de (diff) | |
download | toolchain_jack-8c145231a3889a6ba62c76b5102c0075575a2114.tar.gz toolchain_jack-8c145231a3889a6ba62c76b5102c0075575a2114.tar.bz2 toolchain_jack-8c145231a3889a6ba62c76b5102c0075575a2114.zip |
Remove a usage of list method into JaycePackageLoader
- getLoaderForSubPackage does not need to use list method, we can
build the VPath of the expected folder to see if it exists or not.
Change-Id: I36bf9a122b6d4bdc46b6b12425d3ff657bf43a01
Diffstat (limited to 'jack')
-rw-r--r-- | jack/src/com/android/jack/jayce/JaycePackageLoader.java | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/jack/src/com/android/jack/jayce/JaycePackageLoader.java b/jack/src/com/android/jack/jayce/JaycePackageLoader.java index 6941963a..46abf30b 100644 --- a/jack/src/com/android/jack/jayce/JaycePackageLoader.java +++ b/jack/src/com/android/jack/jayce/JaycePackageLoader.java @@ -32,11 +32,14 @@ import com.android.jack.library.LibraryReadingException; import com.android.jack.load.PackageLoader; import com.android.jack.lookup.JPhantomLookup; import com.android.jack.reporting.Reporter.Severity; +import com.android.sched.util.file.NoSuchFileException; +import com.android.sched.util.file.NotDirectoryException; import com.android.sched.util.location.Location; import com.android.sched.util.log.LoggerFactory; import com.android.sched.vfs.InputVDir; import com.android.sched.vfs.InputVElement; import com.android.sched.vfs.InputVFile; +import com.android.sched.vfs.VPath; import java.util.ArrayList; import java.util.Collection; @@ -114,14 +117,16 @@ public class JaycePackageLoader implements PackageLoader, HasInputLibrary { @Nonnull @Override - public PackageLoader getLoaderForSubPackage(@Nonnull JPackage loading, - @Nonnull String simpleName) throws JPackageLookupException { - for (InputVElement sub : packageVDir.list()) { - if (sub.isVDir() && sub.getName().equals(simpleName)) { - return new JaycePackageLoader(inputJackLibrary, (InputVDir) sub, lookup, defaultLoadLevel); - } + public PackageLoader getLoaderForSubPackage(@Nonnull JPackage loading, @Nonnull String simpleName) + throws JPackageLookupException { + try { + return new JaycePackageLoader(inputJackLibrary, + packageVDir.getInputVDir(new VPath(simpleName, '/')), lookup, defaultLoadLevel); + } catch (NotDirectoryException e) { + throw new JPackageLookupException(simpleName, loading); + } catch (NoSuchFileException e) { + throw new JPackageLookupException(simpleName, loading); } - throw new JPackageLookupException(simpleName, loading); } @Nonnull |