[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

initialize method problems...



The following blows up on me (pcl date - 12/2/86):

(in-package 'pcl)

(defclass bob () ((a 0) (b 10)) (:accessor-prefix ||))

(defclass bill () ((c 100) (d 1000)) (:accessor-prefix ||))

(defmethod initialize ((self bob) plist)
  (print 'bob))

(defmethod initialize ((self bill) plist)
  (print 'bill))


The second defmethod causes the following error:


Fatal error in function |Method NO-MATCHING-METHOD Default|
 (signaled with ERROR).
No matching method for: INITIALIZE.

Control Stack Debugger
Frame #17: (|Method NO-MATCHING-METHOD Default|
		    #<Discriminator INITIALIZE (:DAEMON) 3533036>) 
Debug 1> backtrace all
-- Backtrace start --
Frame #19: (UNIVERSAL-ERROR-HANDLER |Method NO-MATCHING-METHOD Default| ERROR
				    "No matching method for: ~S." INITIALIZE)
Frame #18: (ERROR "No matching method for: ~S." INITIALIZE)
Frame #17: (|Method NO-MATCHING-METHOD Default|
		    #<Discriminator INITIALIZE (:DAEMON) 3533036>)
Frame #16: (#:G14205-I12233-I12236 #<Method NIL "()" 3533106> NIL)
Frame #15: (MAKE #<Class METHOD 3436024>)
Frame #14: (COMPILE-METHOD-1 DISCRIMINATOR METHOD INITIALIZE (BILL)
			     (SELF PLIST) NIL)
Frame #13: (WALK-METHOD-BODY
	    (DISCRIMINATOR METHOD INITIALIZE
			   (BILL) (SELF PLIST) NIL) INITIALIZE #:G7401
	    ((PRINT (QUOTE BILL))))
Frame #12: (|Method EXPAND-DEFMETH-INTERNAL BASIC-DISCRIMINATOR BASIC-METHOD|
		    #<Discriminator NIL (:DAEMON) 3311401>
		    #<Method NIL "()" 3447767> (INITIALIZE)
		    ((SELF BILL) PLIST) ((PRINT (QUOTE BILL))))
Frame #11: (REAL-EXPAND-DEFMETH (INITIALIZE) ((SELF BILL) PLIST)
				((PRINT (QUOTE BILL))))
Frame #10: (DEFMETH (DEFMETH (INITIALIZE) ((SELF BILL) PLIST)
			     (PRINT (QUOTE BILL))) (NIL NIL NIL NIL))
Frame #9: (FUNCALL #<Compiled Function DEFMETH #x348864>
		   (DEFMETH (INITIALIZE) ((SELF BILL) PLIST)
			    (PRINT (QUOTE BILL))) (NIL NIL NIL NIL))
Frame #8: (SYSTEM::%MACROEXPAND-1
	   (DEFMETH (INITIALIZE) ((SELF BILL) PLIST)
		    (PRINT (QUOTE BILL))) (NIL NIL NIL NIL))
Frame #7: (SYSTEM::%MACROEXPAND
	   (DEFMETH (INITIALIZE) ((SELF BILL) PLIST)
		    (PRINT (QUOTE BILL))) (NIL NIL NIL NIL))
Frame #6: (SYSTEM::%EVAL
	   (DEFMETHOD INITIALIZE ((SELF BILL) PLIST) (PRINT (QUOTE BILL))))
Frame #5: (EVAL
	   (DEFMETHOD INITIALIZE ((SELF BILL) PLIST) (PRINT (QUOTE BILL))))


This used to work (with defclass replaced by ndefstruct), am I doing
something wrong, or is my VAXLISP PCL warped....


		Rick Spickelmier
		UC Berkeley