summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormikaelpeltier <mikaelpeltier@google.com>2015-02-19 09:40:05 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2015-02-19 09:40:06 +0000
commit4c10b79f784dd16f145bcd4bb09ca63b68238f59 (patch)
treec03b1f779bbaf12788839c6b29cf38139a9236a6
parent0fbc64e9a7f300a9c286ea029612cc5b15b4f910 (diff)
parentf1c5f4de07651398091cd98fd40ca57a5ac888fb (diff)
downloadtoolchain_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.java44
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;