X++:
/// <summary>
/// Types of Cross References
/// </summary>
public enum CrossReferenceKind
{
/// <summary>
/// Type not specified. Used for queries
/// </summary>
Any = 0,
/// <summary>
/// Indicates that the reference is a Method Call
/// </summary>
MethodCall = 1,
/// <summary>
/// Type reference
/// Indicated that the type is used (variable and field declaration, attributes, function return type, etc)
/// </summary>
TypeReference = 2,
/// <summary>
/// Interface implementation
/// Indicates that the source entity is implementing this interface
/// </summary>
InterfaceImplementation = 3,
/// <summary>
/// Class Extended
/// Indicates that the source entity is extending this class or interface
/// </summary>
ClassExtended = 4,
/// <summary>
/// Test Call
/// Indicates that the source entity (test) directly or indirectly calls an application method.
/// </summary>
TestCall = 5,
/// <summary>
/// Property
/// Indicates that the source entity has a certain property.
/// </summary>
Property = 6,
/// <summary>
/// Attribute reference
/// Indicated that an Attribute is used
/// </summary>
Attribute = 7,
/// <summary>
/// Test Helper Call
/// Indicates that the source entity is a test helper.
/// </summary>
TestHelperCall = 8,
/// <summary>
/// Metadata or code Tag reference
/// Indicates that the source tag is used on a metadata element, class or a method or a line of code.
/// </summary>
Tag = 9,
}