chiark / gitweb /
doc/structures.tex, lib/sod-structs.3: Fix description of class pointers.
authorMark Wooding <mdw@distorted.org.uk>
Sat, 9 Jun 2018 02:52:37 +0000 (03:52 +0100)
committerMark Wooding <mdw@distorted.org.uk>
Sat, 9 Jun 2018 02:52:37 +0000 (03:52 +0100)
There's really only one in the vtable for each metaclass chain, and
the types of the pointers vary as we descend the superclass graph.

doc/structures.tex
lib/sod-structs.3

index b2835fe..7121692 100644 (file)
@@ -530,14 +530,14 @@ traversal.
 
 \item Let $N$ be the metaclass of $A$.  Examine the superclass chains of $N$
   in order of decreasing specificity of their most-specific classes.  Let $J$
-  be the chain head of such a chain, and let $Q$ be the most specific
-  superclass of $M$ in the same chain as $J$.  Then, if there is currently no
-  class pointer of type $Q$, then add a member
+  be the chain head of such a chain.  If there is currently no class pointer
+  for the chain headed by $J$, then add a member
   \begin{prog}
     const $Q$ *_cls_$j$;
   \end{prog}
   to the vtable pointing to the appropriate @|islots| structure within $M$'s
-  class object.
+  class object, where $Q$ is the most specific superclass of $M$ in the same
+  chain as $J$.
 
 \item Examine the superclass chains of $A$ in order of decreasing specificity
   of their most-specific classes.  Let $I$ be the chain head of such a chain.
index a515c8e..48364cc 100644 (file)
@@ -869,8 +869,9 @@ be the most specific superclass of
 .I M
 in the same chain as
 .IR J .
-Then, if there is currently no class pointer of type
-.IR Q ,
+If there is currently no class pointer
+for the chain headed by
+.IR J ,
 then add a member
 .RS
 .IP
@@ -883,7 +884,13 @@ pointing to the appropriate
 .B islots
 structure within
 .IR M 's
-class object.
+class object,
+where
+.I Q
+is the most specific superclass of
+.I M
+in the same chain as
+.IR J .
 .RE
 .hP \*o
 Examine the superclass chains of