The TYPING function is a relationship function. It finds the type
of some occurrence. Occurrences related in this manner have a
TYPING relationship between them. For example, if INTEGER is
typing variable X, then these two occurrences are in a TYPING
relationship. In its most common form, the function format is as
follows:
TYPING( <typee>, <type>, DEPTH={<number> | ALL} )
In this format, <typee> and <type> can be any legal query
expression, and <number> is a positive integer. A typical use
of the function is to find the type of a variable. For example:
FIND TYPING( X, *, DEPTH=1)
This query finds the type of X, where X is some variable in the
SCA database.
The TYPING function also works on user-defined types. The defined
type can have many levels, in which case the user can specify a
depth as follows:
FIND TYPING( user_defined_type, *, DEPTH=ALL)
This query gives the full type tree for USER_DEFINED_TYPE.
The TYPING function provides the power to return the exact type
tree you want. The full format is as follows:
TYPING( [ END=<typee> ],
[ BEGIN=<type> ],
[ DEPTH={<number> | ALL} ],
[ RESULT=RESULT_KEYWORD ],
[ TRACE=query_expression ] )
In the previous format, <typee> and <type> is any legal query
expression, <number> is a positive integer, RESULT_KEYWORD can
be STRUCTURE, NOSTRUCTURE, ANY_PATH, BEGIN, or END, and QUERY_
EXPRESSION is any legal query expression.
For a full description of the TYPING relationship, see the
on-line help file SCACOMMANDS.