Relationship Types

A relationship is a directed, binary dependency between two symbols. Relationship data is collected and updated by analyzing your source code, unless otherwise noted. The Imagix 4D database recognizes the following relationship types:

RelationshipSymbol Types
( From > To )
AggregatesClass1 > Class2Class2 is used to declare members of Class1
Base Class OfClass1 > Class2Class2 inherits from Class1
CallsFunction > Function
Function > MacroMacro is expanded when Function is preprocessed
ContainsDirectory > Directory or File
File > SymbolFile contains the definition of Symbol
Class > Member
Function > Local Variable
DeclaresFile > SymbolFile contains the declaration of Symbol
Class > Member
Dynamic CallsFunction1 > Function2Function1 calls Function2 dynamically, specifically through invoke() in the Java reflection API. Info is collected via Reflection Analysis report.
Has FriendClass > Class
Has TypeVariable > DataType
Function > DataTypeFunction uses DataType for the declaration of parameter or local variable
IncludesFile1 > File2File1 includes Files2, through a preprocessor directive such as #include <File2>
Overridden ByFunction1 > Function2Class1 member is overridden by a Class2 member, where Class2 inherits Class1
ReadsFunction > Variable
Function1 > Function2Function1 passes Function2 as an argument
SetsFunction > Variable