o.m
, where o
is of static class C
.
Suppose this method invocation appears in the body of class B
. The statically
determined ctable of class B
designates an offset m
of class C
. In our scheme, o.m
is compiled to
access the entry B
's offset table for a new
offset m
in the vtable of class C
. Although the
dynamic class of object o
could be a subclass of C
,
it is safe to use the offset o
for invoking the method, because we have arranged the vtables
of a superclass and its subclasses to be consistent.