Changeset 13713
- Timestamp:
- 01/04/12 13:44:27 (12 years ago)
- Location:
- trunk/abcl/src/org/armedbear/lisp
- Files:
-
- 1 added
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/abcl/src/org/armedbear/lisp/GenericFunction.java
r12288 r13713 36 36 import static org.armedbear.lisp.Lisp.*; 37 37 38 public abstract class GenericFunction extends StandardObject38 public abstract class GenericFunction extends Metaobject 39 39 { 40 40 protected GenericFunction(LispClass cls, int length) -
trunk/abcl/src/org/armedbear/lisp/StandardClass.java
r13440 r13713 386 386 public static final StandardClass STANDARD_OBJECT = 387 387 addStandardClass(Symbol.STANDARD_OBJECT, list(BuiltInClass.CLASS_T)); 388 public static final StandardClass METAOBJECT = 389 addStandardClass(Symbol.METAOBJECT, list(STANDARD_OBJECT)); 388 390 389 391 public static final StandardClass SLOT_DEFINITION = 390 addStandardClass(Symbol.SLOT_DEFINITION, list( STANDARD_OBJECT));392 addStandardClass(Symbol.SLOT_DEFINITION, list(METAOBJECT)); 391 393 public static final StandardClass STANDARD_SLOT_DEFINITION = 392 394 addClass(Symbol.STANDARD_SLOT_DEFINITION, new SlotDefinitionClass(Symbol.STANDARD_SLOT_DEFINITION, list(SLOT_DEFINITION))); … … 417 419 // BuiltInClass.FUNCTION is also null here (see previous comment). 418 420 public static final StandardClass GENERIC_FUNCTION = 419 addStandardClass(Symbol.GENERIC_FUNCTION, list( BuiltInClass.FUNCTION,420 STANDARD_OBJECT));421 addStandardClass(Symbol.GENERIC_FUNCTION, list(METAOBJECT, 422 BuiltInClass.FUNCTION)); 421 423 422 424 public static final StandardClass CLASS = … … 537 539 538 540 public static final StandardClass METHOD = 539 addStandardClass(Symbol.METHOD, list( STANDARD_OBJECT));541 addStandardClass(Symbol.METHOD, list(METAOBJECT)); 540 542 541 543 public static final StandardClass STANDARD_METHOD = … … 567 569 STANDARD_CLASS.setDirectSuperclass(CLASS); 568 570 STANDARD_OBJECT.setDirectSuperclass(BuiltInClass.CLASS_T); 569 GENERIC_FUNCTION.setDirectSuperclasses(list( BuiltInClass.FUNCTION,570 STANDARD_OBJECT));571 GENERIC_FUNCTION.setDirectSuperclasses(list(METAOBJECT, 572 BuiltInClass.FUNCTION)); 571 573 572 574 ARITHMETIC_ERROR.setCPL(ARITHMETIC_ERROR, ERROR, SERIOUS_CONDITION, … … 632 634 FORWARD_REFERENCED_CLASS.setCPL(FORWARD_REFERENCED_CLASS, CLASS, 633 635 BuiltInClass.CLASS_T); 634 GENERIC_FUNCTION.setCPL(GENERIC_FUNCTION, STANDARD_OBJECT,636 GENERIC_FUNCTION.setCPL(GENERIC_FUNCTION, METAOBJECT, STANDARD_OBJECT, 635 637 BuiltInClass.FUNCTION, 636 638 BuiltInClass.CLASS_T); … … 639 641 JAVA_EXCEPTION.setDirectSlotDefinitions( 640 642 list(new SlotDefinition(Symbol.CAUSE, list(Symbol.JAVA_EXCEPTION_CAUSE)))); 641 METHOD.setCPL(METHOD, STANDARD_OBJECT, BuiltInClass.CLASS_T); 643 METAOBJECT.setCPL(METAOBJECT, STANDARD_OBJECT, BuiltInClass.CLASS_T); 644 METHOD.setCPL(METHOD, METAOBJECT, STANDARD_OBJECT, BuiltInClass.CLASS_T); 642 645 PACKAGE_ERROR.setCPL(PACKAGE_ERROR, ERROR, SERIOUS_CONDITION, CONDITION, 643 646 STANDARD_OBJECT, BuiltInClass.CLASS_T); … … 726 729 FLOATING_POINT_UNDERFLOW.finalizeClass(); 727 730 JAVA_EXCEPTION.finalizeClass(); 731 METAOBJECT.finalizeClass(); 728 732 PACKAGE_ERROR.finalizeClass(); 729 733 PARSE_ERROR.finalizeClass(); … … 748 752 // SlotDefinitionClass.java, but we need to fill in a few things here. 749 753 Debug.assertTrue(SLOT_DEFINITION.isFinalized()); 750 SLOT_DEFINITION.setCPL(SLOT_DEFINITION, STANDARD_OBJECT,754 SLOT_DEFINITION.setCPL(SLOT_DEFINITION, METAOBJECT, STANDARD_OBJECT, 751 755 BuiltInClass.CLASS_T); 752 756 SLOT_DEFINITION.setDirectSlotDefinitions(SLOT_DEFINITION.getClassLayout().generateSlotDefinitions()); … … 755 759 756 760 DIRECT_SLOT_DEFINITION.setCPL(DIRECT_SLOT_DEFINITION, SLOT_DEFINITION, 757 STANDARD_OBJECT, BuiltInClass.CLASS_T);761 METAOBJECT, STANDARD_OBJECT, BuiltInClass.CLASS_T); 758 762 DIRECT_SLOT_DEFINITION.finalizeClass(); 759 763 EFFECTIVE_SLOT_DEFINITION.setCPL(EFFECTIVE_SLOT_DEFINITION, SLOT_DEFINITION, 760 STANDARD_OBJECT, BuiltInClass.CLASS_T);764 METAOBJECT, STANDARD_OBJECT, BuiltInClass.CLASS_T); 761 765 EFFECTIVE_SLOT_DEFINITION.finalizeClass(); 762 766 STANDARD_SLOT_DEFINITION.setCPL(STANDARD_SLOT_DEFINITION, SLOT_DEFINITION, 763 STANDARD_OBJECT, BuiltInClass.CLASS_T);767 METAOBJECT, STANDARD_OBJECT, BuiltInClass.CLASS_T); 764 768 STANDARD_SLOT_DEFINITION.finalizeClass(); 765 769 STANDARD_DIRECT_SLOT_DEFINITION.setCPL(STANDARD_DIRECT_SLOT_DEFINITION, STANDARD_SLOT_DEFINITION, 766 DIRECT_SLOT_DEFINITION, SLOT_DEFINITION, STANDARD_OBJECT,770 DIRECT_SLOT_DEFINITION, SLOT_DEFINITION, METAOBJECT, STANDARD_OBJECT, 767 771 BuiltInClass.CLASS_T); 768 772 STANDARD_DIRECT_SLOT_DEFINITION.finalizeClass(); 769 773 STANDARD_EFFECTIVE_SLOT_DEFINITION.setCPL(STANDARD_EFFECTIVE_SLOT_DEFINITION, STANDARD_SLOT_DEFINITION, 770 EFFECTIVE_SLOT_DEFINITION, SLOT_DEFINITION, STANDARD_OBJECT,774 EFFECTIVE_SLOT_DEFINITION, SLOT_DEFINITION, METAOBJECT, STANDARD_OBJECT, 771 775 BuiltInClass.CLASS_T); 772 776 STANDARD_EFFECTIVE_SLOT_DEFINITION.finalizeClass(); … … 774 778 // STANDARD-METHOD 775 779 Debug.assertTrue(STANDARD_METHOD.isFinalized()); 776 STANDARD_METHOD.setCPL(STANDARD_METHOD, METHOD, STANDARD_OBJECT,780 STANDARD_METHOD.setCPL(STANDARD_METHOD, METHOD, METAOBJECT, STANDARD_OBJECT, 777 781 BuiltInClass.CLASS_T); 778 782 STANDARD_METHOD.setDirectSlotDefinitions(STANDARD_METHOD.getClassLayout().generateSlotDefinitions()); … … 783 787 Debug.assertTrue(STANDARD_READER_METHOD.isFinalized()); 784 788 STANDARD_READER_METHOD.setCPL(STANDARD_READER_METHOD, STANDARD_METHOD, 785 METHOD, STANDARD_OBJECT, BuiltInClass.CLASS_T); 789 METHOD, METAOBJECT, STANDARD_OBJECT, 790 BuiltInClass.CLASS_T); 786 791 STANDARD_READER_METHOD.setSlotDefinitions(STANDARD_READER_METHOD.getClassLayout().generateSlotDefinitions()); 787 792 // All but the last slot are inherited. … … 791 796 Debug.assertTrue(STANDARD_GENERIC_FUNCTION.isFinalized()); 792 797 STANDARD_GENERIC_FUNCTION.setCPL(STANDARD_GENERIC_FUNCTION, 793 GENERIC_FUNCTION, STANDARD_OBJECT, 798 GENERIC_FUNCTION, METAOBJECT, 799 STANDARD_OBJECT, 794 800 BuiltInClass.FUNCTION, 795 801 BuiltInClass.CLASS_T); -
trunk/abcl/src/org/armedbear/lisp/Symbol.java
r13695 r13713 2968 2968 public static final Symbol CLASS_PRECEDENCE_LIST = 2969 2969 PACKAGE_MOP.addInternalSymbol("CLASS-PRECEDENCE-LIST"); 2970 public static final Symbol METAOBJECT = 2971 PACKAGE_MOP.addExternalSymbol("METAOBJECT"); 2970 2972 public static final Symbol STANDARD_READER_METHOD = 2971 2973 PACKAGE_MOP.addExternalSymbol("STANDARD-READER-METHOD");
Note: See TracChangeset
for help on using the changeset viewer.