diff options
author | mikaelpeltier <mikaelpeltier@google.com> | 2015-02-19 09:40:05 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2015-02-19 09:40:06 +0000 |
commit | 4c10b79f784dd16f145bcd4bb09ca63b68238f59 (patch) | |
tree | c03b1f779bbaf12788839c6b29cf38139a9236a6 | |
parent | 0fbc64e9a7f300a9c286ea029612cc5b15b4f910 (diff) | |
parent | f1c5f4de07651398091cd98fd40ca57a5ac888fb (diff) | |
download | toolchain_jack-4c10b79f784dd16f145bcd4bb09ca63b68238f59.tar.gz toolchain_jack-4c10b79f784dd16f145bcd4bb09ca63b68238f59.tar.bz2 toolchain_jack-4c10b79f784dd16f145bcd4bb09ca63b68238f59.zip |
Merge "Remove list and isJackFileNameOf usages into loadClassOrInterface" into ub-jack
-rw-r--r-- | jack/src/com/android/jack/jayce/JaycePackageLoader.java | 44 |
1 files changed, 18 insertions, 26 deletions
diff --git a/jack/src/com/android/jack/jayce/JaycePackageLoader.java b/jack/src/com/android/jack/jayce/JaycePackageLoader.java index 46abf30b..05fe883e 100644 --- a/jack/src/com/android/jack/jayce/JaycePackageLoader.java +++ b/jack/src/com/android/jack/jayce/JaycePackageLoader.java @@ -34,11 +34,11 @@ 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.file.NotFileOrDirectoryException; 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; @@ -80,25 +80,24 @@ public class JaycePackageLoader implements PackageLoader, HasInputLibrary { @Override @Nonnull - public JDefinedClassOrInterface loadClassOrInterface( - @Nonnull JPackage loading, @Nonnull String simpleName) throws MissingJTypeLookupException { - for (InputVElement sub : packageVDir.list()) { - if (!sub.isVDir() && isJackFileNameOf(sub.getName(), simpleName)) { - try { - return new JayceClassOrInterfaceLoader(inputJackLibrary, - loading, - simpleName, - (InputVFile) sub, - lookup, - defaultLoadLevel).load(); - } catch (LibraryException e) { - LibraryReadingException reportable = new LibraryReadingException(e); - Jack.getSession().getReporter().report(Severity.FATAL, reportable); - throw new JackAbortException(reportable); - } - } + public JDefinedClassOrInterface loadClassOrInterface(@Nonnull JPackage loading, + @Nonnull String simpleName) throws MissingJTypeLookupException { + try { + return new JayceClassOrInterfaceLoader(inputJackLibrary, + loading, + simpleName, + packageVDir.getInputVFile(new VPath(simpleName + FileType.JAYCE.getFileExtension(), '/')), + lookup, + defaultLoadLevel).load(); + } catch (LibraryException e) { + LibraryReadingException reportable = new LibraryReadingException(e); + Jack.getSession().getReporter().report(Severity.FATAL, reportable); + throw new JackAbortException(reportable); + } catch (NotFileOrDirectoryException e1) { + throw new MissingJTypeLookupException(loading, simpleName); + } catch (NoSuchFileException e1) { + throw new MissingJTypeLookupException(loading, simpleName); } - throw new MissingJTypeLookupException(loading, simpleName); } @Override @@ -147,13 +146,6 @@ public class JaycePackageLoader implements PackageLoader, HasInputLibrary { return packageVDir.getLocation(); } - private boolean isJackFileNameOf(@Nonnull String fileName, @Nonnull String typeName) { - return (fileName.length() > JayceFileImporter.JACK_EXTENSION_LENGTH) && (fileName.substring(0, - fileName.length() - JayceFileImporter.JACK_EXTENSION_LENGTH).equals(typeName)) && (fileName - .substring(fileName.length() - JayceFileImporter.JACK_EXTENSION_LENGTH).equalsIgnoreCase( - JayceFileImporter.JAYCE_FILE_EXTENSION)); - } - @Override public boolean isOnPath(@Nonnull JPackage loaded) { return true; |