We have
-------
I'm an abstract class, root of the hierarchy modeling source code entities.
Any of my subclasses must define the meaning of the belongsTo, an abstract property that
provides polymorphic traversal. For example, FAMIXClass defines belongsTo as being the
container, while the FAMIXMethod defines belongsTo to point to the parentType.
I propose
--------
I'm an abstract class, root of the hierarchy modeling source code entities.
Any of my subclasses must define the meaning of the belongsTo property, an abstract
property that provides polymorphic traversal. For example, FAMIXClass defines belongsTo
as being the container, while the FAMIXMethod defines belongsTo to point to the
parentType.
I support the tagging of entity as stub. Marking an entity as a stub means that the
Stubs should only be marked by importers and extractors. Stubbed entities represent the
border of the modeled world as extracted. Stub tagging should not be recursive. Use other
tags for such a purpose: a class may have an instance variable tagged as a stub because an
importer got a memory leak or a bug. Still the class is not a stub, but extra analysis can
mark it as incomplete.
When applicable, I also point to my containing package accessible via parentPackage and
modifiers.
I also can return the list of invocations performed on this entity (considered as the
receiver) (receivingInvocations).
Finally, I provide simple name for the entity I represent. The pattern is that name
returns the local name of the entity.