Links detected and saved by the analyzer
Called→ Caller ↓ | Class | Constant | Delegate | Enumeration | Enumeration Item | Event | Event Addon | Event Removeon | Field | Finalizer | Generic class | Generic method | Generic property | Indexer | Interface | Method | Namespace | Operator | Property | Property Set | Property Get | Static Constructor | Structure |
Class | Inherit | - | - | - | - | - | - | - | - | - | Inherit | - | - | - | Inherit | - | - | - | - | - | - | - | - |
Constant | Rely On | - | - | Rely On | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |
Delegate | Rely On | Access Read | Access Exec | Rely On | Access Read | - | Access Exec | Access Exec | Access Read Write | - | Rely On | Access Exec | Access Read Write | Access | Rely On | Access Exec | - | Access | Access Read Write | Access Exec | Access Exec | Access Exec | Rely On |
Enumeration | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |
Enumeration Item | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |
Event | Rely On | Access Read | Access Exec | Rely On | Access Read | - | Access Exec | Access Exec | Access Read Write | - | Rely On | Access Exec | Access Read Write | Access | Rely On | Access Exec | - | Access | Access Read Write | Access Exec | Access Exec | Access Exec | Rely On |
Event Addon | - | - | - | - | - | ?? | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |
Event Removeon | - | - | - | - | - | ?? | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |
Field | Rely On | - | - | Rely On | - | - | - | - | - | - | Rely On | - | - | - | - | - | - | - | - | - | - | - | Rely On |
File | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | Using Namespace | - | - | - | - | - | - |
Finalizer | Rely On | Access Read | Access Exec | Rely On | Access Read | - | Access Exec | Access Exec | Access Read Write | - | Rely On | Access Exec | Access Read Write | Access | Rely On | Access Exec | - | Access | Access Read Write | Access Exec | Access Exec | Access Exec | Rely On |
Generic class | Inherit | - | - | - | - | - | - | - | - | - | Inherit | - | - | - | Inherit | - | - | - | - | - | - | - | - |
Generic method | Rely On or Throw or Catch | Access Read | Access Exec | Rely On | Access Read | - | Access Exec | Access Exec | Access Read Write | - | Rely On | Access Exec | Access Read Write | Access | Rely On | Access Exec | - | Access | Access Read Write | Access Exec | Access Exec | Access Exec | Rely On |
Generic property | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |
Indexer | Rely On | Access Read | Access Exec | Rely On | Access Read | - | Access Exec | Access Exec | Access Read Write | - | Rely On | Access Exec | Access Read Write | Access | Rely On | Access Exec | - | Access | Access Read Write | Access Exec | Access Exec | Access Exec | Rely On |
Interface | - | - | - | - | - | - | - | - | - | - | - | - | - | - | Inherit | - | - | - | - | - | - | - | - |
Method | Rely On or Throw or Catch | Access Read | Access Exec | Rely On | Access Read | - | Access Exec | Access Exec | Access Read Write | - | Rely On | Access Exec or Override | Access Read Write | Access | Rely On | Access Exec or Override | - | Access | Access Read Write | Access Exec | Access Exec | Access Exec | Rely On |
Namespace | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | Using Namespace Set at the file level | - | - | - | - | - | - |
Operator | Rely On | Access Read | Access Exec | Rely On | Access Read | - | Access Exec | Access Exec | Access Read Write | - | Rely On | Access Exec | Access Read Write | Access | Rely On | Access Exec | - | Access | Access Read Write | Access Exec | Access Exec | Access Exec | Rely On |
Property | Rely On | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |
Property Get | Rely On | Access Read | Access Exec | Rely On | Access Read | - | Access Exec | Access Exec | Access Read Write | - | Rely On | Access Exec | Access Read Write | Access | Rely On | Access Exec | - | Access | Access Read Write | Access Exec | Access Exec | Access Exec | Rely On |
Property Set | Rely On | Access Read | Access Exec | Rely On | Access Read | - | Access Exec | Access Exec | Access Read Write | - | Rely On | Access Exec | Access Read Write | Access | Rely On | Access Exec | - | Access | Access Read Write | Access Exec | Access Exec | Access Exec | Rely On |
Static Constructor | Rely On | Access Read | Access Exec | Rely On | Access Read | - | Access Exec | Access Exec | Access Read Write | - | Rely On | Access Exec | Access Read Write | Access | Rely On | Access Exec | - | Access | Access Read Write | Access Exec | Access Exec | Access Exec | Rely On |
Structure | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |
Link Resolution
Function Overloading
In the case of overloading, resolution is limited to the number of arguments and obvious types (int compare to string for example). However in some cases evaluation of the call does not permit the creation of the correct link. In this case, all possible links will be created:
Sample: A class with two methods (of the same name) that both take a parameter: of type int for the first method, and of type float for the second method.
Overloaded Operators
Not supported
Link Creation
Links are identified whatever the construction. For example, if there is a call like Method1().Method2() (where Method1() returns a class that contains a public method Method2(), both links toward Method1() and Method2() are resolved.
Implicit Links
Implicit links are not created, as such the following will be used:
- lock(object) => Mention link toward "object"
- using (Type var = new Type() ) => Rely On link toward "Type"
- foreach( ElementType element in collection) => Mention link toward "collection"
Link Bookmarks
Bookmarks on links are created on the object name - arguments are not taken into account. So for a call like myfunction(param1, param2), the bookmark is set on myfunction. The same is true for function calls from a class. So in a case like a.b.myfunction(param1), the bookmark is set on myfunction. For Generics the same applies but as parameters are parts on the object name (generic instantiation) they are part of the bookmark. So for a call like A<int> the bookmark is set on A<int>.