[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
update-method-inheritance invalidates gf's unnecessarily
- To: CommonLoops.pa@Xerox.COM
- Subject: update-method-inheritance invalidates gf's unnecessarily
- From: kanderso@DINO.BBN.COM
- Date: Tue, 18 Apr 89 17:09:42 -0400
- Cc: kanderson@DINO.BBN.COM
- Redistributed: CommonLoops.pa
- Reply-to: Owners-CommonLoops.pa@Xerox.COM
When a new class is defined, ADD-NAMED-CLASS creates an instance of
STANDARD-CLASS for it. This instance has a CLASS-PRECEDENCE-LIST
(CPL) of (T) while the class will ultimately have some actual CLP of
say (C-N ... C-0 T). Eventually UPDATE-METHOD-INHERITANCE gets called
and all CLASS-DIRECT-METHODS on classes named C-N ... C-O have
INVALIDATE-GENERIC-FUNCTION run on their METHOD-GENERIC-FUNCTION.
So, for example, if you define a class built on STANDARD-CLASS, ~107
generic functions of PCL are trashed. This invalidation is
unnecessary because this new class has no methods defined for it yet
and thus can't alter any generic function's behavior.
I wasn't sure where to fix this.