Mixin for subclasses of ModelElement representing Elements that can be inherited from one class to another.
Inheritable adds yet another view to help canonicalization for member ModelElements -- Inheritable.definingEnclosingElement. With this as an end point, we can search the inheritance chain between this instance and the Inheritable.definingEnclosingElement in Inheritable.canonicalEnclosingElement, for the canonical Class closest to where this member was defined. We can then know that when we find Inheritable.element inside that Class's namespace, that's the one we should treat as canonical and implementors of this class can use that knowledge to determine canonicalization.
We pick the class closest to the definingEnclosingElement so that all children of that class inheriting the same member will point to the same place in the documentation, and we pick a canonical class because that's the one in the public namespace that will be documented.
Constructors
Properties
- canonicalEnclosingElement → ModelElement
-
read-only
- definingEnclosingElement → ModelElement
-
read-only
- element → Element
-
read-only
- enclosingElement → ModelElement
-
read-only
- inheritance → List<Class>
-
read-only
- isInherited → bool
-
read-only
- package → Package
-
read-only
- hashCode → int
-
The hash code for this object.
read-only, inherited
- runtimeType → Type
-
A representation of the runtime type of the object.
read-only, inherited
Methods
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a non-existent method or property is accessed.
inherited
-
toString(
) → String -
Returns a string representation of this object.
inherited
Operators
-
operator ==(
other) → bool -
The equality operator.
inherited