source: branches/0.26.x/abcl/src/org/armedbear/lisp/Autoload.java

Last change on this file was 13369, checked in by Mark Evenson, 14 years ago

Make JAVA:ADD-TO-CLASSPATH a generic function.

With this change we can customize the mechanism for changing the
classpath. The first planned use is for JSS to use an :after method
to be informed of classpath additions, so we can factor out the ASDF
portion into the ABCL-ASDF extension package.

Add JAVA:GET-CURRENT-CLASSLOADER to access a wrapped instance of the
underlying current JVM classloader being used by ABCL.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 34.3 KB
Line 
1/*
2 * Autoload.java
3 *
4 * Copyright (C) 2003-2006 Peter Graves
5 * $Id: Autoload.java 13369 2011-07-01 14:00:27Z mevenson $
6 *
7 * This program is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU General Public License
9 * as published by the Free Software Foundation; either version 2
10 * of the License, or (at your option) any later version.
11 *
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 * GNU General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License
18 * along with this program; if not, write to the Free Software
19 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
20 *
21 * As a special exception, the copyright holders of this library give you
22 * permission to link this library with independent modules to produce an
23 * executable, regardless of the license terms of these independent
24 * modules, and to copy and distribute the resulting executable under
25 * terms of your choice, provided that you also meet, for each linked
26 * independent module, the terms and conditions of the license of that
27 * module.  An independent module is a module which is not derived from
28 * or based on this library.  If you modify this library, you may extend
29 * this exception to your version of the library, but you are not
30 * obligated to do so.  If you do not wish to do so, delete this
31 * exception statement from your version.
32 */
33
34package org.armedbear.lisp;
35
36import static org.armedbear.lisp.Lisp.*;
37
38/** See autoloads.lisp for a general explanation of what we're
39 * trying to achieve here.
40 */
41public class Autoload extends Function
42{
43    protected final String fileName;
44    protected final String className;
45
46    private final Symbol symbol;
47
48    protected Autoload(Symbol symbol)
49    {
50        super();
51        fileName = null;
52        className = null;
53        this.symbol = symbol;
54        symbol.setBuiltInFunction(false);
55    }
56
57    protected Autoload(Symbol symbol, String fileName, String className)
58    {
59        super();
60        this.fileName = fileName;
61        this.className = className;
62        this.symbol = symbol;
63        symbol.setBuiltInFunction(false);
64    }
65
66    protected final Symbol getSymbol()
67    {
68        return symbol;
69    }
70
71    public static void autoload(String symbolName, String className)
72    {
73        autoload(PACKAGE_CL, symbolName, className);
74    }
75
76    public static void autoload(Package pkg, String symbolName,
77                                String className)
78    {
79        autoload(pkg, symbolName, className, false);
80    }
81
82    public static void autoload(Package pkg, String symbolName,
83                                String className, boolean exported)
84    {
85        Symbol symbol = intern(symbolName.toUpperCase(), pkg);
86        if (pkg != PACKAGE_CL && exported) {
87            pkg.export(symbol);
88        }
89        if (symbol.getSymbolFunction() == null)
90            symbol.setSymbolFunction(new Autoload(symbol, null,
91                                                  "org.armedbear.lisp.".concat(className)));
92    }
93
94    public static void autoload(Symbol symbol, String className)
95    {
96        if (symbol.getSymbolFunction() == null)
97            symbol.setSymbolFunction(new Autoload(symbol, null,
98                                                  "org.armedbear.lisp.".concat(className)));
99    }
100
101
102    private static void effectiveLoad(String className, String fileName) {
103        if (className != null) {
104            try {
105                Class.forName(className);
106            }
107            catch (ClassNotFoundException e) {
108                e.printStackTrace();
109            }
110        } else {
111            Load.loadSystemFile(fileName, true);
112        }
113    }
114
115    private static void loadVerbose(Symbol sym, int loadDepth, String className,
116            String fileName) {
117        final String prefix = Load.getLoadVerbosePrefix(loadDepth);
118        Stream out = getStandardOutput();
119        out._writeString(prefix);
120        out._writeString(sym.getQualifiedName() + " triggers autoloading of ");
121        out._writeString(className == null ? fileName : className);
122        out._writeLine(" ...");
123        out._finishOutput();
124        long start = System.currentTimeMillis();
125        effectiveLoad(className, fileName);
126        long elapsed = System.currentTimeMillis() - start;
127        out._writeString(prefix);
128        out._writeString(" Autoloaded ");
129        out._writeString(className == null ? fileName : className);
130        out._writeString(" (");
131        out._writeString(String.valueOf(((float)elapsed)/1000));
132        out._writeLine(" seconds)");
133        out._finishOutput();
134    }
135
136    public void load()
137    {
138        final LispThread thread = LispThread.currentThread();
139        final SpecialBindingsMark mark = thread.markSpecialBindings();
140        int loadDepth = Fixnum.getValue(_LOAD_DEPTH_.symbolValue());
141        thread.bindSpecial(_LOAD_DEPTH_, Fixnum.getInstance(++loadDepth));
142        try {
143            if (_AUTOLOAD_VERBOSE_.symbolValue(thread) != NIL
144                || "Y".equals(System.getProperty("abcl.autoload.verbose")))
145            {
146                loadVerbose(symbol, loadDepth, className, getFileName());
147            } else
148                effectiveLoad(className, getFileName());
149        }
150        finally {
151            thread.resetSpecialBindings(mark);
152        }
153        if (debug) {
154            if (symbol != null) {
155                if (symbol.getSymbolFunction() instanceof Autoload) {
156                    Debug.trace("Unable to autoload " + symbol.writeToString());
157                    throw new IntegrityError();
158                }
159            }
160        }
161    }
162
163    protected final String getFileName()
164    {
165        if (fileName != null)
166            return fileName;
167        return symbol.getName().toLowerCase();
168    }
169
170    @Override
171    public LispObject execute()
172    {
173        load();
174        return symbol.execute();
175    }
176
177    @Override
178    public LispObject execute(LispObject arg)
179    {
180        load();
181        return symbol.execute(arg);
182    }
183
184    @Override
185    public LispObject execute(LispObject first, LispObject second)
186
187    {
188        load();
189        return symbol.execute(first, second);
190    }
191
192    @Override
193    public LispObject execute(LispObject first, LispObject second,
194                              LispObject third)
195
196    {
197        load();
198        return symbol.execute(first, second, third);
199    }
200
201    @Override
202    public LispObject execute(LispObject first, LispObject second,
203                              LispObject third, LispObject fourth)
204
205    {
206        load();
207        return symbol.execute(first, second, third, fourth);
208    }
209
210    @Override
211    public LispObject execute(LispObject first, LispObject second,
212                              LispObject third, LispObject fourth,
213                              LispObject fifth)
214
215    {
216        load();
217        return symbol.execute(first, second, third, fourth, fifth);
218    }
219
220    @Override
221    public LispObject execute(LispObject first, LispObject second,
222                              LispObject third, LispObject fourth,
223                              LispObject fifth, LispObject sixth)
224
225    {
226        load();
227        return symbol.execute(first, second, third, fourth, fifth, sixth);
228    }
229
230    @Override
231    public LispObject execute(LispObject first, LispObject second,
232                              LispObject third, LispObject fourth,
233                              LispObject fifth, LispObject sixth,
234                              LispObject seventh)
235
236    {
237        load();
238        return symbol.execute(first, second, third, fourth, fifth, sixth,
239                              seventh);
240    }
241
242    @Override
243    public LispObject execute(LispObject first, LispObject second,
244                              LispObject third, LispObject fourth,
245                              LispObject fifth, LispObject sixth,
246                              LispObject seventh, LispObject eighth)
247
248    {
249        load();
250        return symbol.execute(first, second, third, fourth, fifth, sixth,
251                              seventh, eighth);
252    }
253
254    @Override
255    public LispObject execute(LispObject[] args)
256    {
257        load();
258        return symbol.execute(args);
259    }
260
261    @Override
262    public String writeToString()
263    {
264        StringBuffer sb = new StringBuffer("#<AUTOLOAD ");
265        sb.append(symbol.writeToString());
266        sb.append(" \"");
267        if (className != null) {
268            int index = className.lastIndexOf('.');
269            if (index >= 0)
270                sb.append(className.substring(index + 1));
271            else
272                sb.append(className);
273            sb.append(".class");
274        } else
275            sb.append(getFileName());
276        sb.append("\">");
277        return sb.toString();
278    }
279
280    // ### autoload
281    private static final Primitive AUTOLOAD =
282        new Primitive("autoload", PACKAGE_EXT, true)
283    {
284        @Override
285        public LispObject execute(LispObject first)
286        {
287            if (first instanceof Symbol) {
288                Symbol symbol = (Symbol) first;
289                symbol.setSymbolFunction(new Autoload(symbol));
290                return T;
291            }
292            if (first instanceof Cons) {
293                for (LispObject list = first; list != NIL; list = list.cdr()) {
294                    Symbol symbol = checkSymbol(list.car());
295                    symbol.setSymbolFunction(new Autoload(symbol));
296                }
297                return T;
298            }
299            return error(new TypeError(first));
300        }
301        @Override
302        public LispObject execute(LispObject first, LispObject second)
303
304        {
305            final String fileName = second.getStringValue();
306            if (first instanceof Symbol) {
307                Symbol symbol = (Symbol) first;
308                symbol.setSymbolFunction(new Autoload(symbol, fileName, null));
309                return T;
310            }
311            if (first instanceof Cons) {
312                for (LispObject list = first; list != NIL; list = list.cdr()) {
313                    Symbol symbol = checkSymbol(list.car());
314                    symbol.setSymbolFunction(new Autoload(symbol, fileName, null));
315                }
316                return T;
317            }
318            return error(new TypeError(first));
319        }
320    };
321
322    // ### resolve
323    // Force autoload to be resolved.
324    private static final Primitive RESOLVE =
325        new Primitive("resolve", PACKAGE_EXT, true, "symbol")
326    {
327        @Override
328        public LispObject execute(LispObject arg)
329        {
330            Symbol symbol = checkSymbol(arg);
331            LispObject fun = symbol.getSymbolFunction();
332            if (fun instanceof Autoload) {
333                Autoload autoload = (Autoload) fun;
334                autoload.load();
335                return symbol.getSymbolFunction();
336            }
337            return fun;
338        }
339    };
340
341    // ### autoloadp
342    private static final Primitive AUTOLOADP =
343        new Primitive("autoloadp", PACKAGE_EXT, true, "symbol")
344    {
345        @Override
346        public LispObject execute(LispObject arg)
347        {
348            if (arg instanceof Symbol) {
349                if (arg.getSymbolFunction() instanceof Autoload)
350                    return T;
351            }
352            return NIL;
353        }
354    };
355
356    static {
357        autoload("acos", "MathFunctions");
358        autoload("acosh", "MathFunctions");
359        autoload("arithmetic-error-operands", "ArithmeticError");
360        autoload("arithmetic-error-operation", "ArithmeticError");
361        autoload("ash", "ash");
362        autoload("asin", "MathFunctions");
363        autoload("asinh", "MathFunctions");
364        autoload("atan", "MathFunctions");
365        autoload("atanh", "MathFunctions");
366        autoload("broadcast-stream-streams", "BroadcastStream");
367        autoload("ceiling", "ceiling");
368        autoload("cell-error-name", "cell_error_name");
369        autoload("char", "StringFunctions");
370        autoload("char-equal", "CharacterFunctions");
371        autoload("char-greaterp", "CharacterFunctions");
372        autoload("char-lessp", "CharacterFunctions");
373        autoload("char-not-greaterp", "CharacterFunctions");
374        autoload("char-not-lessp", "CharacterFunctions");
375        autoload("char<", "CharacterFunctions");
376        autoload("char<=", "CharacterFunctions");
377        autoload("char=", "CharacterFunctions");
378        autoload("cis", "MathFunctions");
379        autoload("clrhash", "HashTableFunctions");
380        autoload("clrhash", "HashTableFunctions");
381        autoload("concatenated-stream-streams", "ConcatenatedStream");
382        autoload("cos", "MathFunctions");
383        autoload("cosh", "MathFunctions");
384        autoload("delete-file", "delete_file");
385        autoload("delete-package", "PackageFunctions");
386        autoload("echo-stream-input-stream", "EchoStream");
387        autoload("echo-stream-output-stream", "EchoStream");
388        autoload("exp", "MathFunctions");
389        autoload("expt", "MathFunctions");
390        autoload("file-author", "file_author");
391        autoload("file-error-pathname", "file_error_pathname");
392        autoload("file-length", "file_length");
393        autoload("file-string-length", "file_string_length");
394        autoload("file-write-date", "file_write_date");
395        autoload("float", "FloatFunctions");
396        autoload("float-digits", "FloatFunctions");
397        autoload("float-radix", "FloatFunctions");
398        autoload("float-sign", "float_sign");
399        autoload("floatp", "FloatFunctions");
400        autoload("floor", "floor");
401        autoload("ftruncate", "ftruncate");
402        autoload("get-internal-real-time", "Time");
403        autoload("get-internal-run-time", "Time");
404        autoload("get-output-stream-string", "StringOutputStream");
405        autoload("get-properties", "get_properties");
406        autoload("get-universal-time", "Time");
407        autoload("gethash", "HashTableFunctions");
408        autoload("gethash", "HashTableFunctions");
409        autoload("hash-table-count", "HashTableFunctions");
410        autoload("hash-table-count", "HashTableFunctions");
411        autoload("hash-table-p", "HashTableFunctions");
412        autoload("hash-table-p", "HashTableFunctions");
413        autoload("hash-table-rehash-size", "HashTableFunctions");
414        autoload("hash-table-rehash-size", "HashTableFunctions");
415        autoload("hash-table-rehash-threshold", "HashTableFunctions");
416        autoload("hash-table-rehash-threshold", "HashTableFunctions");
417        autoload("hash-table-size", "HashTableFunctions");
418        autoload("hash-table-size", "HashTableFunctions");
419        autoload("hash-table-test", "HashTableFunctions");
420        autoload("hash-table-test", "HashTableFunctions");
421        autoload("%import", "PackageFunctions");
422        autoload("input-stream-p", "input_stream_p");
423        autoload("integer-decode-float", "FloatFunctions");
424        autoload("interactive-stream-p", "interactive_stream_p");
425        autoload("last", "last");
426        autoload("lisp-implementation-type", "lisp_implementation_type");
427        autoload("lisp-implementation-version", "lisp_implementation_version");
428        autoload("list-all-packages", "PackageFunctions");
429        autoload("listen", "listen");
430        autoload("log", "MathFunctions");
431        autoload("logand", "logand");
432        autoload("logandc1", "logandc1");
433        autoload("logandc2", "logandc2");
434        autoload("logbitp", "logbitp");
435        autoload("logcount", "logcount");
436        autoload("logeqv", "logeqv");
437        autoload("logior", "logior");
438        autoload("lognand", "lognand");
439        autoload("lognor", "lognor");
440        autoload("lognot", "lognot");
441        autoload("logorc1", "logorc1");
442        autoload("logorc2", "logorc2");
443        autoload("logtest", "logtest");
444        autoload("logxor", "logxor");
445        autoload("long-site-name", "SiteName");
446        autoload("machine-instance", "SiteName");
447        autoload("machine-type", "machine_type");
448        autoload("machine-version", "machine_version");
449        autoload("make-broadcast-stream", "BroadcastStream");
450        autoload("make-concatenated-stream", "ConcatenatedStream");
451        autoload("make-echo-stream", "EchoStream");
452        autoload("make-string-input-stream", "StringInputStream");
453        autoload("make-synonym-stream", "SynonymStream");
454        autoload("maphash", "HashTableFunctions");
455        autoload("mod", "mod");
456        autoload("open-stream-p", "open_stream_p");
457        autoload("output-stream-p", "output_stream_p");
458        autoload("package-error-package", "package_error_package");
459        autoload("package-error-package", "package_error_package");
460        autoload("package-name", "PackageFunctions");
461        autoload("package-nicknames", "PackageFunctions");
462        autoload("package-shadowing-symbols", "PackageFunctions");
463        autoload("package-use-list", "PackageFunctions");
464        autoload("package-used-by-list", "PackageFunctions");
465        autoload("packagep", "PackageFunctions");
466        autoload("peek-char", "peek_char");
467        autoload("print-not-readable-object", "PrintNotReadable");
468        autoload("probe-file", "probe_file");
469        autoload("rational", "FloatFunctions");
470        autoload("rem", "rem");
471        autoload("remhash", "HashTableFunctions");
472        autoload("remhash", "HashTableFunctions");
473        autoload("rename-package", "PackageFunctions");
474        autoload("room", "room");
475        autoload("scale-float", "FloatFunctions");
476        autoload("schar", "StringFunctions");
477        autoload("shadow", "PackageFunctions");
478        autoload("shadowing-import", "PackageFunctions");
479        autoload("short-site-name", "SiteName");
480        autoload("simple-condition-format-arguments", "SimpleCondition");
481        autoload("simple-condition-format-control", "SimpleCondition");
482        autoload("simple-string-p", "StringFunctions");
483        autoload("sin", "MathFunctions");
484        autoload("sinh", "MathFunctions");
485        autoload("software-type", "software_type");
486        autoload("software-version", "software_version");
487        autoload("sqrt", "MathFunctions");
488        autoload("stream-element-type", "stream_element_type");
489        autoload("stream-error-stream", "StreamError");
490        autoload("stream-external-format", "stream_external_format");
491        autoload("%set-stream-external-format", "stream_external_format");
492        autoload("stringp", "StringFunctions");
493        autoload("sxhash", "HashTableFunctions");
494        autoload("sxhash", "HashTableFunctions");
495        autoload("synonym-stream-symbol", "SynonymStream");
496        autoload("tan", "MathFunctions");
497        autoload("tanh", "MathFunctions");
498        autoload("truename", "probe_file");
499        autoload("truncate", "truncate");
500        autoload("type-error-datum", "TypeError");
501        autoload("type-error-expected-type", "TypeError");
502        autoload("unbound-slot-instance", "unbound_slot_instance");
503        autoload("unexport", "PackageFunctions");
504        autoload("unuse-package", "PackageFunctions");
505        autoload(PACKAGE_EXT, "arglist", "arglist", true);
506        autoload(PACKAGE_EXT, "assq", "assq", true);
507        autoload(PACKAGE_EXT, "assql", "assql", true);
508        autoload(PACKAGE_EXT, "file-directory-p", "probe_file", true);
509        autoload(PACKAGE_EXT, "gc", "gc", true);
510        autoload(PACKAGE_EXT, "get-floating-point-modes", "FloatFunctions", true);
511        autoload(PACKAGE_EXT, "make-slime-input-stream", "SlimeInputStream", true);
512        autoload(PACKAGE_EXT, "make-slime-output-stream", "SlimeOutputStream", true);
513        autoload(PACKAGE_EXT, "probe-directory", "probe_file", true);
514        autoload(PACKAGE_EXT, "set-floating-point-modes", "FloatFunctions", true);
515        autoload(PACKAGE_EXT, "simple-string-fill", "StringFunctions");
516        autoload(PACKAGE_EXT, "simple-string-search", "StringFunctions");
517        autoload(PACKAGE_EXT, "string-input-stream-current", "StringInputStream", true);
518        autoload(PACKAGE_EXT, "string-find", "StringFunctions");
519        autoload(PACKAGE_EXT, "string-position", "StringFunctions");
520        autoload(PACKAGE_EXT, "make-weak-reference", "WeakReference", true);
521        autoload(PACKAGE_EXT, "weak-reference-value", "WeakReference", true);
522        autoload(PACKAGE_EXT, "finalize", "Primitives", true);
523        autoload(PACKAGE_EXT, "cancel-finalization", "Primitives", true);
524        autoload(PACKAGE_JAVA, "%jnew-proxy", "JProxy");
525        autoload(PACKAGE_JAVA, "%find-java-class", "JavaObject");
526        autoload(PACKAGE_JAVA, "%register-java-class", "JavaObject");
527        autoload(PACKAGE_JAVA, "%jmake-invocation-handler", "JProxy");
528        autoload(PACKAGE_JAVA, "%jmake-proxy", "JProxy");
529        autoload(PACKAGE_JAVA, "%jnew-runtime-class", "RuntimeClass");
530        autoload(PACKAGE_JAVA, "%jredefine-method", "RuntimeClass");
531        autoload(PACKAGE_JAVA, "%jregister-handler", "JHandler");
532        autoload(PACKAGE_JAVA, "%load-java-class-from-byte-array", "RuntimeClass");
533        autoload(PACKAGE_JAVA, "get-default-classloader", "JavaClassLoader");
534        autoload(PACKAGE_JAVA, "make-classloader", "JavaClassLoader");
535        autoload(PACKAGE_JAVA, "%add-to-classpath", "JavaClassLoader");
536        autoload(PACKAGE_JAVA, "dump-classpath", "JavaClassLoader");
537        autoload(PACKAGE_MOP, "funcallable-instance-function", "StandardGenericFunction", false);
538        autoload(PACKAGE_MOP, "generic-function-name", "StandardGenericFunction", true);
539        autoload(PACKAGE_MOP, "method-qualifiers", "StandardMethod", true);
540        autoload(PACKAGE_MOP, "method-specializers", "StandardMethod", true);
541        autoload(PACKAGE_MOP, "set-funcallable-instance-function", "StandardGenericFunction", true);
542        autoload(PACKAGE_PROF, "%start-profiler", "Profiler", true);
543        autoload(PACKAGE_PROF, "stop-profiler", "Profiler", true);
544        autoload(PACKAGE_SYS, "%%string=", "StringFunctions");
545        autoload(PACKAGE_SYS, "%adjust-array", "adjust_array");
546        autoload(PACKAGE_SYS, "%defpackage", "PackageFunctions");
547        autoload(PACKAGE_SYS, "%finalize-generic-function", "StandardGenericFunction", true);
548        autoload(PACKAGE_SYS, "%generic-function-lambda-list", "StandardGenericFunction", true);
549        autoload(PACKAGE_SYS, "%generic-function-name", "StandardGenericFunction", true);
550        autoload(PACKAGE_SYS, "%get-output-stream-bytes", "ByteArrayOutputStream"); //AS 20090325
551        autoload(PACKAGE_SYS, "%get-output-stream-array", "ByteArrayOutputStream");
552        autoload(PACKAGE_SYS, "%make-array", "make_array");
553        autoload(PACKAGE_SYS, "%make-byte-array-input-stream", "ByteArrayInputStream"); //AS 20100317
554        autoload(PACKAGE_SYS, "%make-byte-array-output-stream", "ByteArrayOutputStream"); //AS 20090325
555        autoload(PACKAGE_SYS, "%make-condition", "make_condition", true);
556        autoload(PACKAGE_SYS, "%make-hash-table", "HashTableFunctions");
557        autoload(PACKAGE_SYS, "%make-hash-table", "HashTableFunctions");
558        autoload(PACKAGE_SYS, "%make-logical-pathname", "LogicalPathname", true);
559        autoload(PACKAGE_SYS, "%make-server-socket", "make_server_socket");
560        autoload(PACKAGE_SYS, "%make-socket", "make_socket");
561        autoload(PACKAGE_SYS, "%make-string", "StringFunctions");
562        autoload(PACKAGE_SYS, "%make-string-output-stream", "StringOutputStream");
563        autoload(PACKAGE_SYS, "%method-fast-function", "StandardMethod", true);
564        autoload(PACKAGE_SYS, "%method-function", "StandardMethod", true);
565        autoload(PACKAGE_SYS, "%method-generic-function", "StandardMethod", true);
566        autoload(PACKAGE_SYS, "%method-specializers", "StandardMethod", true);
567        autoload(PACKAGE_SYS, "%nstring-capitalize", "StringFunctions");
568        autoload(PACKAGE_SYS, "%nstring-downcase", "StringFunctions");
569        autoload(PACKAGE_SYS, "%nstring-upcase", "StringFunctions");
570        autoload(PACKAGE_SYS, "%run-shell-command", "ShellCommand");
571        autoload(PACKAGE_SYS, "%server-socket-close", "server_socket_close");
572        autoload(PACKAGE_SYS, "%set-arglist", "arglist");
573        autoload(PACKAGE_SYS, "%set-class-direct-slots", "SlotClass", true);
574        autoload(PACKAGE_SYS, "%set-function-info", "function_info");
575        autoload(PACKAGE_SYS, "%set-generic-function-lambda-list", "StandardGenericFunction", true);
576        autoload(PACKAGE_SYS, "%set-generic-function-name", "StandardGenericFunction", true);
577        autoload(PACKAGE_SYS, "%set-gf-required-args", "StandardGenericFunction", true);
578        autoload(PACKAGE_SYS, "%set-method-fast-function", "StandardMethod", true);
579        autoload(PACKAGE_SYS, "%set-method-function", "StandardMethod", true);
580        autoload(PACKAGE_SYS, "%set-method-generic-function", "StandardMethod", true);
581        autoload(PACKAGE_SYS, "%set-method-specializers", "StandardMethod", true);
582        autoload(PACKAGE_SYS, "%simple-bit-vector-bit-and", "SimpleBitVector");
583        autoload(PACKAGE_SYS, "%simple-bit-vector-bit-andc1", "SimpleBitVector");
584        autoload(PACKAGE_SYS, "%simple-bit-vector-bit-andc2", "SimpleBitVector");
585        autoload(PACKAGE_SYS, "%simple-bit-vector-bit-eqv", "SimpleBitVector");
586        autoload(PACKAGE_SYS, "%simple-bit-vector-bit-ior", "SimpleBitVector");
587        autoload(PACKAGE_SYS, "%simple-bit-vector-bit-nand", "SimpleBitVector");
588        autoload(PACKAGE_SYS, "%simple-bit-vector-bit-nor", "SimpleBitVector");
589        autoload(PACKAGE_SYS, "%simple-bit-vector-bit-not", "SimpleBitVector");
590        autoload(PACKAGE_SYS, "%simple-bit-vector-bit-orc1", "SimpleBitVector");
591        autoload(PACKAGE_SYS, "%simple-bit-vector-bit-orc2", "SimpleBitVector");
592        autoload(PACKAGE_SYS, "%simple-bit-vector-bit-xor", "SimpleBitVector");
593        autoload(PACKAGE_SYS, "%slot-definition-allocation", "SlotDefinition", true);
594        autoload(PACKAGE_SYS, "%slot-definition-allocation-class", "SlotDefinition", true);
595        autoload(PACKAGE_SYS, "%slot-definition-initargs", "SlotDefinition", true);
596        autoload(PACKAGE_SYS, "%slot-definition-initform", "SlotDefinition", true);
597        autoload(PACKAGE_SYS, "%slot-definition-initfunction", "SlotDefinition", true);
598        autoload(PACKAGE_SYS, "%slot-definition-location", "SlotDefinition", true);
599        autoload(PACKAGE_SYS, "%slot-definition-name", "SlotDefinition", true);
600        autoload(PACKAGE_SYS, "%slot-definition-readers", "SlotDefinition", true);
601        autoload(PACKAGE_SYS, "%slot-definition-writers", "SlotDefinition", true);
602        autoload(PACKAGE_SYS, "%socket-accept", "socket_accept");
603        autoload(PACKAGE_SYS, "%socket-close", "socket_close");
604        autoload(PACKAGE_SYS, "%socket-stream", "socket_stream");
605        autoload(PACKAGE_SYS, "%string-capitalize", "StringFunctions");
606        autoload(PACKAGE_SYS, "%string-downcase", "StringFunctions");
607        autoload(PACKAGE_SYS, "%string-equal", "StringFunctions");
608        autoload(PACKAGE_SYS, "%string-greaterp", "StringFunctions");
609        autoload(PACKAGE_SYS, "%string-lessp", "StringFunctions");
610        autoload(PACKAGE_SYS, "%string-not-equal", "StringFunctions");
611        autoload(PACKAGE_SYS, "%string-not-greaterp", "StringFunctions");
612        autoload(PACKAGE_SYS, "%string-not-lessp", "StringFunctions");
613        autoload(PACKAGE_SYS, "%string-upcase", "StringFunctions");
614        autoload(PACKAGE_SYS, "%string/=", "StringFunctions");
615        autoload(PACKAGE_SYS, "%string<", "StringFunctions");
616        autoload(PACKAGE_SYS, "%string<=", "StringFunctions");
617        autoload(PACKAGE_SYS, "%string=", "StringFunctions");
618        autoload(PACKAGE_SYS, "%string>", "StringFunctions");
619        autoload(PACKAGE_SYS, "%string>=", "StringFunctions");
620        autoload(PACKAGE_SYS, "%time", "Time");
621        autoload(PACKAGE_SYS, "cache-emf", "StandardGenericFunction", true);
622        autoload(PACKAGE_SYS, "cache-slot-location", "StandardGenericFunction", true);
623        autoload(PACKAGE_SYS, "canonicalize-logical-host", "LogicalPathname", true);
624        autoload(PACKAGE_SYS, "class-direct-slots", "SlotClass");
625  autoload(PACKAGE_SYS, "%float-bits", "FloatFunctions");
626        autoload(PACKAGE_SYS, "coerce-to-double-float", "FloatFunctions");
627        autoload(PACKAGE_SYS, "coerce-to-single-float", "FloatFunctions");
628        autoload(PACKAGE_SYS, "compute-class-direct-slots", "SlotClass", true);
629        autoload(PACKAGE_SYS, "create-new-file", "create_new_file");
630        autoload(PACKAGE_SYS, "default-time-zone", "Time");
631        autoload(PACKAGE_SYS, "disassemble-class-bytes", "disassemble_class_bytes", true);
632        autoload(PACKAGE_SYS, "disable-zip-cache", "ZipCache", true);
633        autoload(PACKAGE_SYS, "double-float-high-bits", "FloatFunctions", true);
634        autoload(PACKAGE_SYS, "double-float-low-bits", "FloatFunctions", true);
635        autoload(PACKAGE_SYS, "float-infinity-p", "FloatFunctions", true);
636        autoload(PACKAGE_SYS, "float-nan-p", "FloatFunctions", true);
637        autoload(PACKAGE_SYS, "float-string", "FloatFunctions", true);
638        autoload(PACKAGE_SYS, "function-info", "function_info");
639        autoload(PACKAGE_SYS, "generic-function-argument-precedence-order","StandardGenericFunction", true);
640        autoload(PACKAGE_SYS, "generic-function-classes-to-emf-table","StandardGenericFunction", true);
641        autoload(PACKAGE_SYS, "generic-function-documentation","StandardGenericFunction", true);
642        autoload(PACKAGE_SYS, "generic-function-initial-methods","StandardGenericFunction", true);
643        autoload(PACKAGE_SYS, "generic-function-method-class","StandardGenericFunction", true);
644        autoload(PACKAGE_SYS, "generic-function-method-combination","StandardGenericFunction", true);
645        autoload(PACKAGE_SYS, "generic-function-methods","StandardGenericFunction", true);
646        autoload(PACKAGE_SYS, "get-cached-emf", "StandardGenericFunction", true);
647        autoload(PACKAGE_SYS, "get-cached-slot-location", "StandardGenericFunction", true);
648        autoload(PACKAGE_SYS, "get-function-info-value", "function_info");
649        autoload(PACKAGE_SYS, "gf-required-args", "StandardGenericFunction", true);
650        autoload(PACKAGE_SYS, "hash-table-entries", "HashTableFunctions");
651        autoload(PACKAGE_SYS, "hash-table-entries", "HashTableFunctions");
652        autoload(PACKAGE_SYS, "layout-class", "Layout", true);
653        autoload(PACKAGE_SYS, "layout-length", "Layout", true);
654        autoload(PACKAGE_SYS, "layout-slot-index", "Layout", true);
655        autoload(PACKAGE_SYS, "layout-slot-location", "Layout", true);
656        autoload(PACKAGE_SYS, "make-case-frob-stream", "CaseFrobStream");
657        autoload(PACKAGE_SYS, "make-double-float", "FloatFunctions", true);
658        autoload(PACKAGE_SYS, "make-file-stream", "FileStream");
659        autoload(PACKAGE_SYS, "make-fill-pointer-output-stream", "FillPointerOutputStream");
660        autoload(PACKAGE_SYS, "make-forward-referenced-class", "ForwardReferencedClass", true);
661        autoload(PACKAGE_SYS, "make-layout", "Layout", true);
662        autoload(PACKAGE_SYS, "make-single-float", "FloatFunctions", true);
663        autoload(PACKAGE_SYS, "make-slot-definition", "SlotDefinition", true);
664        autoload(PACKAGE_SYS, "make-structure-class", "StructureClass");
665        autoload(PACKAGE_SYS, "make-symbol-macro", "SymbolMacro");
666        autoload(PACKAGE_SYS, "method-documentation", "StandardMethod", true);
667        autoload(PACKAGE_SYS, "method-lambda-list", "StandardMethod", true);
668        autoload(PACKAGE_SYS, "psxhash", "HashTableFunctions");
669        autoload(PACKAGE_SYS, "puthash", "HashTableFunctions");
670        autoload(PACKAGE_SYS, "puthash", "HashTableFunctions");
671        autoload(PACKAGE_SYS, "remove-zip-cache-entry", "ZipCache");
672        autoload(PACKAGE_SYS, "set-function-info-value", "function_info");
673        autoload(PACKAGE_SYS, "set-generic-function-argument-precedence-order","StandardGenericFunction", true);
674        autoload(PACKAGE_SYS, "set-generic-function-classes-to-emf-table","StandardGenericFunction", true);
675        autoload(PACKAGE_SYS, "set-generic-function-documentation","StandardGenericFunction", true);
676        autoload(PACKAGE_SYS, "set-generic-function-initial-methods","StandardGenericFunction", true);
677        autoload(PACKAGE_SYS, "set-generic-function-method-class","StandardGenericFunction", true);
678        autoload(PACKAGE_SYS, "set-generic-function-method-combination","StandardGenericFunction", true);
679        autoload(PACKAGE_SYS, "set-generic-function-methods","StandardGenericFunction", true);
680        autoload(PACKAGE_SYS, "set-method-documentation", "StandardMethod", true);
681        autoload(PACKAGE_SYS, "set-method-lambda-list", "StandardMethod", true);
682        autoload(PACKAGE_SYS, "set-method-qualifiers", "StandardMethod", true);
683        autoload(PACKAGE_SYS, "set-slot-definition-allocation", "SlotDefinition", true);
684        autoload(PACKAGE_SYS, "set-slot-definition-allocation-class", "SlotDefinition", true);
685        autoload(PACKAGE_SYS, "set-slot-definition-initargs", "SlotDefinition", true);
686        autoload(PACKAGE_SYS, "set-slot-definition-initform", "SlotDefinition", true);
687        autoload(PACKAGE_SYS, "set-slot-definition-initfunction", "SlotDefinition", true);
688        autoload(PACKAGE_SYS, "set-slot-definition-location", "SlotDefinition", true);
689        autoload(PACKAGE_SYS, "set-slot-definition-name", "SlotDefinition", true);
690        autoload(PACKAGE_SYS, "set-slot-definition-readers", "SlotDefinition", true);
691        autoload(PACKAGE_SYS, "set-slot-definition-writers", "SlotDefinition", true);
692        autoload(PACKAGE_SYS, "simple-list-remove-duplicates", "simple_list_remove_duplicates");
693        autoload(PACKAGE_SYS, "single-float-bits", "FloatFunctions", true);
694        autoload(PACKAGE_SYS, "%std-allocate-instance", "StandardObjectFunctions", true);
695        autoload(PACKAGE_SYS, "unzip", "unzip", true);
696        autoload(PACKAGE_SYS, "zip", "zip", true);
697
698        autoload(PACKAGE_SYS, "proxy-preloaded-function",
699                 "AutoloadedFunctionProxy", false);
700        autoload(PACKAGE_SYS, "make-function-preloading-context",
701                 "AutoloadedFunctionProxy", false);
702        autoload(PACKAGE_SYS, "function-preload",
703                 "AutoloadedFunctionProxy", false);
704
705        autoload(Symbol.COPY_LIST, "copy_list");
706
707  autoload(PACKAGE_SYS, "make-fasl-class-loader", "FaslClassLoader", false);
708  autoload(PACKAGE_SYS, "get-fasl-function", "FaslClassLoader", false);
709
710        autoload(Symbol.SET_CHAR, "StringFunctions");
711        autoload(Symbol.SET_SCHAR, "StringFunctions");
712
713        autoload(Symbol._SET_CLASS_SLOTS, "SlotClass");
714        autoload(Symbol._CLASS_SLOTS, "SlotClass");
715
716        autoload(Symbol.JAVA_EXCEPTION_CAUSE, "JavaException");
717        autoload(Symbol.JCLASS_NAME, "jclass_name");
718        autoload(Symbol.JCLASS_OF, "jclass_of");
719        autoload(Symbol.JMETHOD_RETURN_TYPE, "jmethod_return_type");
720    }
721}
Note: See TracBrowser for help on using the repository browser.