Page tree
Skip to end of metadata
Go to start of metadata

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 OnAccess ReadAccess ExecRely OnAccess Read-Access ExecAccess ExecAccess Read Write-Rely OnAccess ExecAccess Read WriteAccessRely OnAccess Exec-AccessAccess Read WriteAccess ExecAccess ExecAccess ExecRely On
Enumeration -----------------------
Enumeration Item -----------------------
Event Rely OnAccess ReadAccess ExecRely OnAccess Read-Access ExecAccess ExecAccess Read Write-Rely OnAccess ExecAccess Read WriteAccessRely OnAccess Exec-AccessAccess Read WriteAccess ExecAccess ExecAccess ExecRely On
Event Addon -----??-----------------
Event Removeon -----??-----------------
Field Rely On--Rely On------Rely On-----------Rely On
File ----------------Using Namespace------
Finalizer Rely OnAccess ReadAccess ExecRely OnAccess Read-Access ExecAccess ExecAccess Read Write-Rely OnAccess ExecAccess Read WriteAccessRely OnAccess Exec-AccessAccess Read WriteAccess ExecAccess ExecAccess ExecRely On
Generic class Inherit---------Inherit---Inherit--------
Generic method Rely On or Throw or CatchAccess ReadAccess ExecRely OnAccess Read-Access ExecAccess ExecAccess Read Write-Rely OnAccess ExecAccess Read WriteAccessRely OnAccess Exec-AccessAccess Read WriteAccess ExecAccess ExecAccess ExecRely On
Generic property -----------------------
Indexer Rely OnAccess ReadAccess ExecRely OnAccess Read-Access ExecAccess ExecAccess Read Write-Rely OnAccess ExecAccess Read WriteAccessRely OnAccess Exec-AccessAccess Read WriteAccess ExecAccess ExecAccess ExecRely On
Interface --------------Inherit--------
Method Rely On or Throw or CatchAccess ReadAccess ExecRely OnAccess Read-Access ExecAccess ExecAccess Read Write-Rely OnAccess Exec or OverrideAccess Read WriteAccessRely OnAccess Exec or Override-AccessAccess Read WriteAccess ExecAccess ExecAccess ExecRely On
Namespace ----------------Using Namespace
Set at the file level
------
Operator Rely OnAccess ReadAccess ExecRely OnAccess Read-Access ExecAccess ExecAccess Read Write-Rely OnAccess ExecAccess Read WriteAccessRely OnAccess Exec-AccessAccess Read WriteAccess ExecAccess ExecAccess ExecRely On
Property Rely On----------------------
Property Get Rely OnAccess ReadAccess ExecRely OnAccess Read-Access ExecAccess ExecAccess Read Write-Rely OnAccess ExecAccess Read WriteAccessRely OnAccess Exec-AccessAccess Read WriteAccess ExecAccess ExecAccess ExecRely On
Property Set Rely OnAccess ReadAccess ExecRely OnAccess Read-Access ExecAccess ExecAccess Read Write-Rely OnAccess ExecAccess Read WriteAccessRely OnAccess Exec-AccessAccess Read WriteAccess ExecAccess ExecAccess ExecRely On
Static Constructor Rely OnAccess ReadAccess ExecRely OnAccess Read-Access ExecAccess ExecAccess Read Write-Rely OnAccess ExecAccess Read WriteAccessRely OnAccess Exec-AccessAccess Read WriteAccess ExecAccess ExecAccess ExecRely On
Structure -----------------------

Link Resolution

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.

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 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"

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>.


  • No labels