Class to Represent Inheritance (Extension) Relations
An object from this class represents a single ‘is’ relationship; lists of these objects are used to represent all the extensions (superclasses) and subclasses for a given class. The object contains information about how the relation is defined and methods to coerce, test, and replace correspondingly.
Objects from the Class
Objects from this class are generated by
from direct calls and from the
contains= information in a call to
setClass, and from class unions created by
In the last case, the information is stored in defining the subclasses of the union class (allowing unions to contain sealed classes).
The classes being extended: corresponding to the
The package to which that class belongs.
A function to carry out the as() computation implied by the relation. Note that these functions should not be used directly. They only deal with the
strict=TRUEcalls to the
asfunction, with the full method constructed from this mechanically.
The function that would test whether the relation holds. Except for explicitly specified
setIs, this function is trivial.
The method used to implement
as(x, Class) <- value.
TRUEif this is a simple relation, either because one class is contained in the definition of another, or because a class has been explicitly stated to extend a virtual class. For simple extensions, the three methods are generated automatically.
If this relation has been constructed transitively, the first intermediate class from the subclass.
TRUEif the extended class is in fact the data part of the subclass. In this case the extended class is a basic class (i.e., a type).
The distance between the two classes, 1 for directly contained classes, plus the number of generations between otherwise.
No methods defined with class
"SClassExtension" in the