mirror of
https://github.com/EiffelSoftware/eiffel-org.git
synced 2025-12-08 15:52:26 +01:00
Author:halw
Date:2010-03-10T23:13:35.000000Z git-svn-id: https://svn.eiffel.com/eiffel-org/trunk@512 abb3cda0-5349-4a8f-a601-0c33ac3a8c38
This commit is contained in:
Binary file not shown.
|
After Width: | Height: | Size: 1.4 KiB |
@@ -0,0 +1,3 @@
|
||||
title=context-class-cursor
|
||||
author=halw
|
||||
path=content/context-class-cursor
|
||||
@@ -13,13 +13,14 @@ Let's start by making the [[Features Tool|Features tool]] visible. To see the Fe
|
||||
|
||||
If the tab for the Features tool is not visible, bring it back by following the menu path:
|
||||
<code lang="text">
|
||||
View --> Tools --> Features
|
||||
View --> Tools --> Features
|
||||
</code>
|
||||
|
||||
While we are at it, let's get make the Feature tool visible as well. Click on the tab on the lower pane that's labeled [[Image:feature-tab]]. As with the Features tool, if the Feature tab is missing, you can use the menu path to restore it.
|
||||
|
||||
One more thing, and we'll look at some features. If you restarted EiffelStudio since you worked through the [[Viewing Classes]] section, you may have to select <code>Link Context Tool</code> again from the <code>View</code> menu.
|
||||
|
||||
|
||||
==Targeting to a feature==
|
||||
|
||||
The list of features, organized by feature clauses, appears in the Features tool:
|
||||
@@ -32,6 +33,7 @@ The class only has a few immediate features because most of its interesting feat
|
||||
|
||||
Note how both of the top target fields are now filled: the first one shows the target class, <code>LIST</code>, and the second one shows the target feature, <code>forth</code>.
|
||||
|
||||
|
||||
==Basic feature information==
|
||||
|
||||
Now let's look at the views of the feature <code>forth</code> provided in the Feature tool.
|
||||
@@ -49,7 +51,8 @@ The flat view of a feature, similar in concept to the flat view of a class, give
|
||||
You can mouse-over the different buttons to see the views they represent.
|
||||
|
||||
Just to the left of <code>Flat</code>, <code>Basic Text</code> gives the feature text, fully clickable.
|
||||
<div>
|
||||
|
||||
|
||||
==Who calls this feature?==
|
||||
|
||||
To the right of <code>Flat</code> is <code>Callers</code>. Try it now by clicking the corresponding button. You may have to scroll down some in the display to see the series of entries show in the image below;
|
||||
@@ -64,6 +67,7 @@ This view shows all the places in the system that call the routine, or one of it
|
||||
|
||||
The following five view buttons are similar except that they let you specify what kind of callers you are looking for, or what is being called by the currently selected feature. Feel free to explore these views.
|
||||
|
||||
|
||||
==What happens to my feature through the inheritance hierarchy?==
|
||||
|
||||
After the caller/callee views, the next view button is <code>Implementers</code>.
|
||||
@@ -79,11 +83,13 @@ The format is self-explanatory: for each ancestor of <code>MULTI_ARRAY_LIST</cod
|
||||
In the case of feature merging (combining several features inherited from different parents, in conformance with the rules of the language) there could be more than one history branch, in this case each branch is labeled <code>Branch #X.</code>
|
||||
|
||||
The next button, <code>Descendant versions</code>, similarly tells you all that happens to a feature in the descendants of the current class.
|
||||
</div><div>
|
||||
|
||||
|
||||
==Who has the same name?==
|
||||
|
||||
The last button, <code>Homonyms</code>, displays all the features of the system which, related or not to the current feature by redeclaration, have the same name. You can then explore any such feature to see if the relationship is more than casual.
|
||||
|
||||
In any system or library that takes advantage of inheritance and its associated mechanisms -- renaming, redefinition, effecting, undefinition, multiple and repeated inheritance, polymorphism, dynamic binding -- the feature browsing facilities that we have just explored are invaluable to track what happens to features. What makes them even more precious is their connection with the rest of the browsing and documentation capabilities, especially the pick-and-drop which we will now study.
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user