Changeset 15393
- Timestamp:
- 10/10/20 21:43:24 (3 years ago)
- Location:
- trunk/abcl
- Files:
-
- 4 added
- 11 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/abcl/src/org/armedbear/lisp/FaslClassLoader.java
r15391 r15393 106 106 final LispThread thread = LispThread.currentThread(); 107 107 108 Pathname name = Pathname.create(resourceName.substring("org/armedbear/lisp/".length()));108 Pathname name = (Pathname)Pathname.create(resourceName.substring("org/armedbear/lisp/".length())); 109 109 LispObject truenameFasl = Symbol.LOAD_TRUENAME_FASL.symbolValue(thread); 110 110 LispObject truename = Symbol.LOAD_TRUENAME.symbolValue(thread); -
trunk/abcl/src/org/armedbear/lisp/Interpreter.java
r15391 r15393 331 331 if (i + 1 < args.length) { 332 332 if (arg.equals("--load")) 333 Load.load(Pathname.mergePathnames(Pathname.create(args[i + 1]),333 Load.load(Pathname.mergePathnames((Pathname)Pathname.create(args[i + 1]), 334 334 checkPathname(Symbol.DEFAULT_PATHNAME_DEFAULTS.getSymbolValue())), 335 335 false, false, true); -
trunk/abcl/src/org/armedbear/lisp/JavaClassLoader.java
r15391 r15393 87 87 public byte[] getFunctionClassBytes(String name) { 88 88 Pathname pathname 89 =Pathname.create(name.substring("org/armedbear/lisp/".length())89 = (Pathname)Pathname.create(name.substring("org/armedbear/lisp/".length()) 90 90 + "." + Lisp._COMPILE_FILE_CLASS_EXTENSION_.symbolValue().getStringValue()); 91 91 return readFunctionBytes(pathname); … … 327 327 jcl.addURL(((Pathname) jar).toURL()); 328 328 } else if (jar instanceof AbstractString) { 329 jcl.addURL(Pathname.create(jar.toString()).toURL());329 jcl.addURL(((Pathname)Pathname.create(jar.toString())).toURL()); 330 330 } else { 331 331 error(new TypeError(jar + " must be a pathname designator")); -
trunk/abcl/src/org/armedbear/lisp/Lisp.java
r15391 r15393 1359 1359 public static final LispObject loadCompiledFunction(final String namestring) 1360 1360 { 1361 Pathname name =Pathname.create(namestring);1361 Pathname name = (Pathname)Pathname.create(namestring); 1362 1362 byte[] bytes = readFunctionBytes(name); 1363 1363 if (bytes != null) -
trunk/abcl/src/org/armedbear/lisp/Load.java
r15391 r15393 58 58 { 59 59 final LispThread thread = LispThread.currentThread(); 60 return load( Pathname.create(filename),60 return load((Pathname)Pathname.create(filename), 61 61 Symbol.LOAD_VERBOSE.symbolValue(thread) != NIL, 62 62 Symbol.LOAD_PRINT.symbolValue(thread) != NIL, … … 185 185 + COMPILE_FILE_INIT_FASL_TYPE; 186 186 } 187 if (!((mergedPathname = Pathname.create(n)) instanceof Pathname)) {187 if (!((mergedPathname = (Pathname)Pathname.create(n)) instanceof Pathname)) { 188 188 return error(new FileError((MessageFormat.format("Failed to address JAR-PATHNAME truename {0} for name {1}", truename.princToString(), name)), truename)); 189 189 } … … 294 294 Pathname pathname = null; 295 295 Pathname truename = null; 296 pathname = Pathname.create(filename);296 pathname = (Pathname)Pathname.create(filename); 297 297 LispObject bootPath = Site.getLispHome(); 298 298 Pathname mergedPathname; … … 325 325 } 326 326 if (!bootPath.equals(NIL)) { 327 Pathname urlPathname =Pathname.create(url);327 Pathname urlPathname = (Pathname)Pathname.create(url); 328 328 loadableFile = findLoadableFile(urlPathname); 329 329 truename = (Pathname)Pathname.truename(loadableFile); … … 340 340 if (truename != null 341 341 && truename.getType().princToString().equals(COMPILE_FILE_TYPE) && Utilities.checkZipFile(truename)) { 342 Pathname init =Pathname.create(truename.getNamestring());342 Pathname init = (Pathname)Pathname.create(truename.getNamestring()); 343 343 init.setType(COMPILE_FILE_INIT_FASL_TYPE); 344 344 init.setName(new SimpleString("__loader__")); … … 528 528 truePathname = Pathname.create((Pathname)truename); 529 529 } else if (truename instanceof AbstractString) { 530 truePathname =Pathname.create(truename.getStringValue());530 truePathname = (Pathname)Pathname.create(truename.getStringValue()); 531 531 } else { 532 532 Debug.assertTrue(false); -
trunk/abcl/src/org/armedbear/lisp/LogicalPathname.java
r15392 r15393 72 72 return new LogicalPathname(); 73 73 } 74 75 public static LogicalPathname create(LogicalPathname p) { 76 Pathname pathname = new Pathname(); 77 pathname.copyFrom(p); 78 LogicalPathname result = new LogicalPathname(); 79 Pathname.ncoerce(pathname, result); 80 return result; 81 } 82 83 74 84 75 85 public static LogicalPathname create(String namestring) { -
trunk/abcl/src/org/armedbear/lisp/Pathname.java
r15392 r15393 58 58 } 59 59 60 public static Pathnamecreate(String s) {60 public static LispObject create(String s) { 61 61 // TODO distinguish between logical hosts and schemes for URLs 62 62 // which we can meaningfully parse. … … 73 73 } 74 74 75 public static Pathnamecreate(URL url) {75 public static LispObject create(URL url) { 76 76 return new Pathname(url); 77 77 } 78 78 79 public static Pathnamecreate(URI uri) {79 public static LispObject create(URI uri) { 80 80 return new Pathname(uri); 81 81 } … … 181 181 protected Pathname() {} 182 182 183 private Pathname(Pathname p) { 183 184 /** Copy constructor which shares no structure with the original. */ 184 private Pathname(Pathname p) { 185 copyFrom(p); 186 } 187 188 /** 189 * Coerces Pathname types by copying structure 190 */ 191 static public LispObject ncoerce(Pathname orig, Pathname dest) { 192 dest.setHost(orig.getHost()); 193 dest.setDevice(orig.getDevice()); 194 dest.setDirectory(orig.getDirectory()); 195 dest.setName(orig.getName()); 196 dest.setType(orig.getType()); 197 dest.setVersion(orig.getVersion()); 198 199 return dest; 200 } 201 202 void copyFrom(Pathname p) { 185 203 if (p.host != NIL) { 186 204 if (p.host instanceof SimpleString) { … … 340 358 setDevice(new SimpleString(s.substring(shareIndex + 1, dirIndex))); 341 359 342 Pathname p = Pathname.create(s.substring(dirIndex));360 Pathname p = (Pathname)Pathname.create(s.substring(dirIndex)); 343 361 setDirectory(p.getDirectory()); 344 362 setName(p.getName()); … … 362 380 jar = "jar:file:" + s.substring(i + jarSeparator.length()); 363 381 s = s.substring("jar:".length(), i + jarSeparator.length()); 364 Pathname p = Pathname.create(s);382 Pathname p = (Pathname)Pathname.create(s); 365 383 jars = jars.push(p.getDevice().car()); 366 384 } … … 389 407 // We allow "jar:file:baz.jar!/" to construct a relative 390 408 // path for jar files, so MERGE-PATHNAMES means something. 391 jarPathname =Pathname.create(uri.getSchemeSpecificPart());409 jarPathname = (Pathname)Pathname.create(uri.getSchemeSpecificPart()); 392 410 } else { 393 jarPathname =Pathname.create((new File(path)).getPath());411 jarPathname = (Pathname)Pathname.create((new File(path)).getPath()); 394 412 } 395 413 } else { 396 jarPathname =Pathname.create("");414 jarPathname = (Pathname)Pathname.create(""); 397 415 } 398 416 jars = jars.push(jarPathname); … … 401 419 try { 402 420 url = new URL(jar.substring("jar:".length(), jar.length() - 2)); 403 Pathname p = Pathname.create(url);421 Pathname p = (Pathname)Pathname.create(url); 404 422 jars = jars.push(p); 405 423 } catch (MalformedURLException e) { … … 427 445 + ex.getMessage())); 428 446 } 429 Pathname d = Pathname.create(url);447 Pathname d = (Pathname)Pathname.create(url); 430 448 if (getDevice() instanceof Cons) { 431 449 LispObject[] jars = d.copyToArray(); … … 436 454 } 437 455 s = "/" + s.substring(separatorIndex + jarSeparator.length()); 438 Pathname p = Pathname.create("file:" + s); // Use URI escaping rules456 Pathname p = (Pathname)Pathname.create("file:" + s); // Use URI escaping rules 439 457 setDirectory(p.getDirectory()); 440 458 setName(p.getName()); … … 477 495 path += "/"; 478 496 } 479 final Pathname p = Pathname.create(path);497 final Pathname p = (Pathname)Pathname.create(path); 480 498 this.setHost(p.getHost()); 481 499 this.setDevice(p.getDevice()); … … 529 547 setHost(getHost().push(new SimpleString(fragment))); 530 548 } 531 Pathname p = Pathname.create(path != null ? path : "");549 Pathname p = (Pathname)Pathname.create(path != null ? path : ""); 532 550 533 551 setDirectory(p.getDirectory()); … … 699 717 700 718 public String getNamestring() { 701 if (namestring != null) { 702 return namestring; 703 } 719 // if (namestring != null) { 720 // return namestring; 721 // } 722 723 // this makes no sense ??? 704 724 if (getName() == NIL && getType() != NIL) { 705 725 Debug.assertTrue(namestring == null); … … 1079 1099 1080 1100 public static Pathname parseNamestring(String s) { 1081 returnPathname.create(s);1101 return (Pathname)Pathname.create(s); 1082 1102 } 1083 1103 … … 1125 1145 } 1126 1146 1127 public static PathnameparseNamestring(AbstractString namestring) {1147 public static LispObject parseNamestring(AbstractString namestring) { 1128 1148 // Check for a logical pathname host. 1129 1149 String s = namestring.getStringValue(); … … 1369 1389 return null; 1370 1390 } 1371 return Pathname.create(namestring);1391 return (Pathname)Pathname.create(namestring); 1372 1392 } 1373 1393 … … 1705 1725 namestring = namestring.substring(0, namestring.lastIndexOf("!/") + 2) 1706 1726 + entry.getName(); 1707 Pathname p = Pathname.create(namestring);1727 Pathname p = (Pathname)Pathname.create(namestring); 1708 1728 result = new Cons(p, result); 1709 1729 } … … 1737 1757 } 1738 1758 URI pathURI = (new File(path)).toURI(); 1739 p = Pathname.create(pathURI);1759 p = (Pathname)Pathname.create(pathURI); 1740 1760 result = new Cons(p, result); 1741 1761 } … … 1819 1839 namestring = namestring.substring(0, namestring.lastIndexOf("!/") + 2) 1820 1840 + entry.getName(); 1821 Pathname p = Pathname.create(namestring);1841 Pathname p = (Pathname)Pathname.create(namestring); 1822 1842 result = new Cons(p, result); 1823 1843 } … … 1841 1861 namestring = namestring.substring(0, namestring.lastIndexOf("!/") + 2) 1842 1862 + entry.getName(); 1843 Pathname p = Pathname.create(namestring);1863 Pathname p = (Pathname)Pathname.create(namestring); 1844 1864 result = new Cons(p, result); 1845 1865 } … … 2251 2271 pathname)); 2252 2272 } 2273 if (pathname instanceof PathnameJar) { 2274 return truename((PathnameJar)pathname, errorIfDoesNotExist); 2275 } 2276 if (pathname instanceof PathnameURL) { 2277 return truename((PathnameURL)pathname, errorIfDoesNotExist); 2278 } 2253 2279 if (!(pathname.isJar() || pathname.isURL())) { 2254 2280 Pathname result … … 2262 2288 } else { 2263 2289 try { 2264 result =Pathname.create(file.getCanonicalPath());2290 result = (Pathname)Pathname.create(file.getCanonicalPath()); 2265 2291 } catch (IOException e) { 2266 2292 return error(new FileError(e.getMessage(), pathname)); … … 2280 2306 && Symbol.GETF.execute(pathname.getHost(), QUERY, NIL) == NIL 2281 2307 && Symbol.GETF.execute(pathname.getHost(), FRAGMENT, NIL) == NIL) { 2282 Pathname p = Pathname.create(pathname.getNamestring() + "/");2308 Pathname p = (Pathname)Pathname.create(pathname.getNamestring() + "/"); 2283 2309 if (p.getInputStream() != null) { 2284 2310 return p; … … 2375 2401 } 2376 2402 2377 static privateLispObject doTruenameExit(Pathname pathname, boolean errorIfDoesNotExist) {2403 static LispObject doTruenameExit(Pathname pathname, boolean errorIfDoesNotExist) { 2378 2404 if (errorIfDoesNotExist) { 2379 2405 StringBuilder sb = new StringBuilder("The file "); … … 2799 2825 } 2800 2826 } 2801 return Pathname.create(namestring);2827 return (Pathname)Pathname.create(namestring); 2802 2828 } catch (IOException e) { 2803 2829 error(new LispError(e.getMessage())); -
trunk/abcl/src/org/armedbear/lisp/Site.java
r15391 r15393 58 58 LISP_HOME = NIL; 59 59 } else { 60 Pathname p =Pathname.create(url);60 Pathname p = (Pathname)Pathname.create(url); 61 61 p.setName(NIL); 62 62 p.setType(NIL); -
trunk/abcl/src/org/armedbear/lisp/delete_file.java
r15391 r15393 78 78 Thread.yield(); 79 79 } 80 Pathname truename = Pathname.create(file.getAbsolutePath());80 Pathname truename = (Pathname)Pathname.create(file.getAbsolutePath()); 81 81 StringBuilder sb = new StringBuilder("Unable to delete "); 82 82 sb.append(file.isDirectory() ? "directory " : "file "); -
trunk/abcl/test/src/org/armedbear/lisp/PathnameTest.java
r15391 r15393 29 29 System.out.println(e.getMessage()); 30 30 } 31 Pathname pathname = Pathname.create(url);31 Pathname pathname = (Pathname)Pathname.create(url); 32 32 assertNotNull(pathname); 33 33 assertNotNull(pathname.getNamestring()); … … 60 60 @Test 61 61 public void copyConstructor() { 62 Pathname orig =Pathname.create("/a/b/c/d/e/foo.lisp");63 Pathname copy =Pathname.create(orig.getNamestring());64 62 Pathname orig = (Pathname)Pathname.create("/a/b/c/d/e/foo.lisp"); 63 Pathname copy = (Pathname)Pathname.create(orig.getNamestring()); 64 assertTrue(orig.getNamestring().equals(copy.getNamestring())); 65 65 } 66 66 67 67 @Test 68 68 public void mergePathnames1() { 69 Pathname p =Pathname.create("a/b/c/d/foo.lisp");70 Pathname d =Pathname.create("/foo/bar/there");71 Pathname r =Pathname.mergePathnames(p, d);72 73 69 Pathname p = (Pathname)Pathname.create("a/b/c/d/foo.lisp"); 70 Pathname d = (Pathname)Pathname.create("/foo/bar/there"); 71 Pathname r = (Pathname)Pathname.mergePathnames(p, d); 72 String s = r.getNamestring(); 73 assertTrue(s.equals("/foo/bar/a/b/c/d/foo.lisp")); 74 74 } 75 75 76 76 @Test 77 77 public void mergePathnames2() { 78 Pathname p =Pathname.create("/a/b/c/d/foo.lisp");79 Pathname d =Pathname.create("/foo/bar/there");80 Pathname r =Pathname.mergePathnames(p, d);81 78 Pathname p = (Pathname)Pathname.create("/a/b/c/d/foo.lisp"); 79 Pathname d = (Pathname)Pathname.create("/foo/bar/there"); 80 Pathname r = (Pathname)Pathname.mergePathnames(p, d); 81 assertTrue(r.getNamestring().equals("/a/b/c/d/foo.lisp")); 82 82 } 83 83 … … 88 88 args = args.push(new SimpleString("abcl-tmp")); 89 89 args = args.nreverse(); 90 Pathname p = Pathname.makePathname(args);91 Pathname d = Pathname.create("/foo/bar.abcl");92 Pathname r = Pathname.mergePathnames(p, d);90 Pathname p = (Pathname)Pathname.makePathname(args); 91 Pathname d = (Pathname)Pathname.create("/foo/bar.abcl"); 92 Pathname r = (Pathname)Pathname.mergePathnames(p, d); 93 93 assertTrue(r.getNamestring().equals("/foo/bar.abcl-tmp")); 94 94 } … … 96 96 @Test 97 97 public void mergePathnames4() { 98 Pathname p =Pathname.create("jar:file:foo.jar!/bar.abcl");99 Pathname d =Pathname.create("/a/b/c/");100 Pathname r =Pathname.mergePathnames(p, d);101 102 98 Pathname p = (Pathname)Pathname.create("jar:file:foo.jar!/bar.abcl"); 99 Pathname d = (Pathname)Pathname.create("/a/b/c/"); 100 Pathname r = (Pathname)Pathname.mergePathnames(p, d); 101 String s = r.getNamestring(); 102 assertTrue(s.equals("jar:file:/a/b/c/foo.jar!/bar.abcl")); 103 103 } 104 104 @Test 105 105 public void constructorFileDirectory() { 106 Pathname p = Pathname.create("file://tmp/");106 Pathname p = (Pathname)Pathname.create("file://tmp/"); 107 107 assertTrue(p.getNamestring().endsWith("/")); 108 108 } 109 109 @Test 110 111 Pathname p = Pathname.create("file:c://tmp/");110 public void constructorFileWindowsDevice() { 111 Pathname p = (Pathname)Pathname.create("file:c://tmp/"); 112 112 LispObject device = p.getDevice(); 113 113 if (Utilities.isPlatformWindows) { … … 115 115 } 116 116 } 117 // Necessary for ASDF output translations to work 118 @Test 119 public void wildInferiorsJars() { 120 String namestring = "jar:file:/**/*.jar!/**/*.*"; 121 Pathname p = (Pathname)Pathname.create(namestring); 122 String parsedNamestring = p.getNamestring(); 123 assertTrue(parsedNamestring.equals(namestring)); 124 } 117 125 } -
trunk/abcl/test/src/org/armedbear/lisp/UtilitiesTest.java
r15391 r15393 42 42 public void getZipInputStreamZipEntry() throws FileNotFoundException, IOException { 43 43 JarFile jar = new JarFile(zipFile); 44 Pathname pathname = Pathname.create("a/b/bar.abcl");44 Pathname pathname = (Pathname)Pathname.create("a/b/bar.abcl"); 45 45 InputStream entryInputStream = Utilities.getInputStream(jar, pathname); 46 46 assertNotNull(entryInputStream);
Note: See TracChangeset
for help on using the changeset viewer.