Changeset 14113


Ignore:
Timestamp:
08/18/12 08:19:56 (8 years ago)
Author:
ehuelsmann
Message:

Merge StandardObjectFunctions? into StandardObject?: the former defines
a single Primitive while the latter defines multiple.

Also, add all the defined primitives to the java-autoloader.

Location:
trunk/abcl/src/org/armedbear/lisp
Files:
1 deleted
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/abcl/src/org/armedbear/lisp/Autoload.java

    r14032 r14113  
    565565        autoload(PACKAGE_SYS, "%server-socket-close", "server_socket_close");
    566566        autoload(PACKAGE_SYS, "%set-arglist", "arglist");
     567        autoload(PACKAGE_CL, "find-class", "LispClass", true);
     568        autoload(PACKAGE_SYS, "%set-find-class", "LispClass", true);
    567569        autoload(PACKAGE_SYS, "%set-class-direct-slots", "SlotClass", true);
    568570        autoload(PACKAGE_SYS, "%set-function-info", "function_info");
     
    619621        autoload(PACKAGE_SYS, "canonicalize-logical-host", "LogicalPathname", true);
    620622        autoload(PACKAGE_SYS, "class-direct-slots", "SlotClass");
    621   autoload(PACKAGE_SYS, "%float-bits", "FloatFunctions");
     623        autoload(PACKAGE_SYS, "%float-bits", "FloatFunctions");
    622624        autoload(PACKAGE_SYS, "coerce-to-double-float", "FloatFunctions");
    623625        autoload(PACKAGE_SYS, "coerce-to-single-float", "FloatFunctions");
     
    684686        autoload(PACKAGE_SYS, "simple-list-remove-duplicates", "simple_list_remove_duplicates");
    685687        autoload(PACKAGE_SYS, "single-float-bits", "FloatFunctions", true);
    686         autoload(PACKAGE_SYS, "%std-allocate-instance", "StandardObjectFunctions", true);
     688        autoload(PACKAGE_SYS, "%std-allocate-instance", "StandardObject", true);
     689        autoload(PACKAGE_SYS, "swap-slots", "StandardObject", true);
     690        autoload(PACKAGE_SYS, "std-instance-layout", "StandardObject", true);
     691        autoload(PACKAGE_SYS, "%set-std-instance-layout", "StandardObject", true);
     692        autoload(PACKAGE_SYS, "std-instance-class", "StandardObject", true);
     693        autoload(PACKAGE_SYS, "standard-instance-access", "StandardObject", true);
     694        autoload(PACKAGE_SYS, "%set-standard-instance-access", "StandardObject", true);
     695        autoload(PACKAGE_SYS, "std-slot-boundp", "StandardObject", true);
     696        autoload(PACKAGE_SYS, "std-slot-value", "StandardObject", true);
     697        autoload(PACKAGE_SYS, "set-std-slot-value", "StandardObject", true);
    687698        autoload(PACKAGE_SYS, "%allocate-funcallable-instance", "FuncallableStandardObject", true);
    688699        autoload(PACKAGE_SYS, "unzip", "unzip", true);
  • trunk/abcl/src/org/armedbear/lisp/StandardObject.java

    r13955 r14113  
    616616    }
    617617  };
     618
     619  private static final Primitive _STD_ALLOCATE_INSTANCE
     620    = new pf__std_allocate_instance();
     621  @DocString(name="%std-allocate-instance",
     622             args="class",
     623             returns="instance")
     624  private static final class pf__std_allocate_instance extends Primitive
     625  {
     626    pf__std_allocate_instance()
     627    {
     628      super("%std-allocate-instance", PACKAGE_SYS, true, "class");
     629    }
     630    @Override
     631    public LispObject execute(LispObject arg)
     632    {
     633      if (arg == StandardClass.STANDARD_CLASS)
     634        return new StandardClass();
     635      if (arg instanceof StandardClass)
     636        return ((StandardClass)arg).allocateInstance();
     637      if (arg.typep(StandardClass.STANDARD_CLASS) != NIL) {
     638        LispObject l = Symbol.CLASS_LAYOUT.execute(arg);
     639        if (! (l instanceof Layout))
     640          return error(new ProgramError("Invalid standard class layout for: " + arg.princToString()));
     641       
     642        return new StandardObject((Layout)l);
     643      }
     644      return type_error(arg, Symbol.STANDARD_CLASS);
     645    }
     646  };
    618647}
Note: See TracChangeset for help on using the changeset viewer.