class xr_kind_role

Enumeration class: describes a valid token kind-role (kind-usage) pair.

For examples, see C and C++ Kinds and Usages.

xr_kind_role Members

Constructor __init__()
Static Method from_integer()
Methods __cmp__(), __eq__(), __ge__(), __gt__(), __hash__(), __le__(), __lt__(), __ne__(), __repr__(), __str__(), as_integer(), decompose(), name()
Attributes BUILTIN_OTHER, ENUM_DEFINITION, ENUM_OCCURRENCE, FIELD_CONSTRUCTOR_INITIALIZATION, FIELD_DEFINITION, FIELD_INVOCATION, FIELD_METHOD_INVOCATION, FIELD_OTHER, FIELD_READ, FIELD_SIZEOF, FIELD_TAKE_ADDRESS, FIELD_WRITE, FIELD_WRITE_THROUGH, FILE_DEFINITION, FILE_INCLUDE, FUNC_CALL, FUNC_DECLARATION, FUNC_DEFINITION, FUNC_FRIEND, FUNC_OTHER, FUNC_SIZEOF, FUNC_STATIC_CALL, FUNC_STATIC_DECLARATION, FUNC_STATIC_DEFINITION, FUNC_STATIC_FRIEND, FUNC_STATIC_OTHER, FUNC_STATIC_SIZEOF, FUNC_STATIC_TAKE_ADDRESS, FUNC_STATIC_TEMPL_ARG, FUNC_TAKE_ADDRESS, FUNC_TEMPL_ARG, LABEL_DEFINITION, LABEL_GOTO, LABEL_TAKE_ADDRESS, MACRO_DEFINITION, MACRO_INVOCATION, MACRO_REDEF, MACRO_UNDEF, METHOD_CALL, METHOD_DECLARATION, METHOD_DEFINITION, METHOD_FRIEND, METHOD_OTHER, METHOD_SIZEOF, METHOD_STATIC_CALL, METHOD_STATIC_DECLARATION, METHOD_STATIC_DEFINITION, METHOD_STATIC_FRIEND, METHOD_STATIC_OTHER, METHOD_STATIC_SIZEOF, METHOD_STATIC_TAKE_ADDRESS, METHOD_STATIC_TEMPL_ARG, METHOD_TAKE_ADDRESS, METHOD_TEMPL_ARG, NAMESPACE_DEFINITION, NAMESPACE_EXT, NAMESPACE_QUALIFIER, NAMESPACE_USING, STRINGLIT_DEFINITION, TAG_AGGREGATE_MEMBER, TAG_CAST, TAG_CATCH_PARAM, TAG_CONSTANT, TAG_CONSTRUCTOR_INITIALIZATION, TAG_DECLARATION, TAG_DEFINITION, TAG_FILE_STATIC, TAG_FORMAL, TAG_FRIEND, TAG_GLOBAL, TAG_LOCAL, TAG_LOCAL_STATIC, TAG_NEW, TAG_OTHER, TAG_QUALIFIER, TAG_RETURN_TYPE, TAG_SIZEOF, TAG_SUBCLASS, TAG_TEMPLATE_PARAMETER, TAG_TEMPL_ARG, TAG_THROW_EXCEPTION_SPEC, TAG_TYPEDEF, TLT_AGGREGATE_MEMBER, TLT_CAST, TLT_CATCH_PARAM, TLT_CONSTANT, TLT_CONSTRUCTOR_INITIALIZATION, TLT_DEFINITION, TLT_FILE_STATIC, TLT_FORMAL, TLT_FRIEND, TLT_GLOBAL, TLT_LOCAL, TLT_LOCAL_STATIC, TLT_NEW, TLT_OTHER, TLT_QUALIFIER, TLT_RETURN_TYPE, TLT_SIZEOF, TLT_SUBCLASS, TLT_TEMPLATE_PARAMETER, TLT_TEMPL_ARG, TLT_THROW_EXCEPTION_SPEC, TLT_TYPEDEF, TLV_DEFINITION, TLV_INVOCATION, TLV_METHOD_INVOCATION, TLV_OTHER, TLV_READ, TLV_SIZEOF, TLV_TAKE_ADDRESS, TLV_TEMPL_ARG, TLV_WRITE, TLV_WRITE_THROUGH, TYPE_AGGREGATE_MEMBER, TYPE_CAST, TYPE_CATCH_PARAM, TYPE_CONSTANT, TYPE_CONSTRUCTOR_INITIALIZATION, TYPE_DECLARATION, TYPE_DEFINITION, TYPE_FILE_STATIC, TYPE_FORMAL, TYPE_FRIEND, TYPE_GLOBAL, TYPE_LOCAL, TYPE_LOCAL_STATIC, TYPE_NEW, TYPE_OTHER, TYPE_QUALIFIER, TYPE_RETURN_TYPE, TYPE_SIZEOF, TYPE_SUBCLASS, TYPE_TAG, TYPE_TEMPLATE_PARAMETER, TYPE_TEMPL_ARG, TYPE_THROW_EXCEPTION_SPEC, TYPE_TYPEDEF, VAR_GLOBAL_DECLARATION, VAR_GLOBAL_DEFINITION, VAR_GLOBAL_INVOCATION, VAR_GLOBAL_METHOD_INVOCATION, VAR_GLOBAL_OTHER, VAR_GLOBAL_READ, VAR_GLOBAL_SIZEOF, VAR_GLOBAL_TAKE_ADDRESS, VAR_GLOBAL_TEMPL_ARG, VAR_GLOBAL_WRITE, VAR_GLOBAL_WRITE_THROUGH, VAR_LOCAL_DECLARATION, VAR_LOCAL_DEFINITION, VAR_LOCAL_INVOCATION, VAR_LOCAL_METHOD_INVOCATION, VAR_LOCAL_OTHER, VAR_LOCAL_READ, VAR_LOCAL_SIZEOF, VAR_LOCAL_STATIC_DECLARATION, VAR_LOCAL_STATIC_DEFINITION, VAR_LOCAL_STATIC_INVOCATION, VAR_LOCAL_STATIC_METHOD_INVOCATION, VAR_LOCAL_STATIC_OTHER, VAR_LOCAL_STATIC_READ, VAR_LOCAL_STATIC_SIZEOF, VAR_LOCAL_STATIC_TAKE_ADDRESS, VAR_LOCAL_STATIC_TEMPL_ARG, VAR_LOCAL_STATIC_WRITE, VAR_LOCAL_STATIC_WRITE_THROUGH, VAR_LOCAL_TAKE_ADDRESS, VAR_LOCAL_TEMPL_ARG, VAR_LOCAL_WRITE, VAR_LOCAL_WRITE_THROUGH, VAR_PARAMETER_DECLARATION, VAR_PARAMETER_DEFINITION, VAR_PARAMETER_INVOCATION, VAR_PARAMETER_METHOD_INVOCATION, VAR_PARAMETER_OTHER, VAR_PARAMETER_READ, VAR_PARAMETER_SIZEOF, VAR_PARAMETER_TAKE_ADDRESS, VAR_PARAMETER_TEMPL_ARG, VAR_PARAMETER_WRITE, VAR_PARAMETER_WRITE_THROUGH, VAR_STATIC_DECLARATION, VAR_STATIC_DEFINITION, VAR_STATIC_INVOCATION, VAR_STATIC_METHOD_INVOCATION, VAR_STATIC_OTHER, VAR_STATIC_READ, VAR_STATIC_SIZEOF, VAR_STATIC_TAKE_ADDRESS, VAR_STATIC_TEMPL_ARG, VAR_STATIC_WRITE, VAR_STATIC_WRITE_THROUGH

xr_kind_role Details

class cs.xr_kind_role

Enumeration class: describes a valid token kind-role (kind-usage) pair.

__init__(k, r)

Constructor.

Parameters:
Raises:

result.ERROR_INVALID_ARGUMENT

>>> xr_kind_role(xr_kind.FIELD, xr_role.TAKE_ADDRESS)
<cs.xr_kind_role field_take_address>
static from_integer(_inner)

Construct an instance from an integer representation.

Parameters:_inner (int) – The integer representation, as returned by xr_kind_role.as_integer().
Return type:xr_kind_role
Raises:result.ERROR_INVALID_ARGUMENT if _inner is not a valid integer representation for a xr_kind_role instance.

Invariant: For xr_kind_role x, xr_kind_role.from_integer(x.as_integer()) == x

>>> xrkr = xr_kind_role.VAR_STATIC_DECLARATION.as_integer()
>>> xrkr
40
>>> xr_kind_role.from_integer(xrkr)
<cs.xr_kind_role var_static_declaration>
__cmp__(other)

Comparison function for xr_kind_role , with respect to a stable overall ordering.

Parameters:other (xr_kind_role) – The xr_kind_role object to compare against.
Return type:int
Returns:An integer N such that:
  • N==0 if the two objects compare equal
  • N<0 if self < other
  • N>0 if self > other
>>> xr_kind_role.VAR_PARAMETER_TAKE_ADDRESS.__cmp__(xr_kind_role.TLV_READ)
-1
__eq__(b)

Equality operator for xr_kind_role .

Parameters:b (xr_kind_role) – The xr_kind_role object to compare against.
Return type:bool
Returns:True if self and b compare equal, False otherwise.
>>> xr_kind_role.FIELD_CONSTRUCTOR_INITIALIZATION == xr_kind_role.NAMESPACE_USING
False
__ge__(b)

Greater-than-or-equal operator for xr_kind_role .

Parameters:b (xr_kind_role) – The xr_kind_role object to compare against.
Return type:bool
Returns:True if self >= b , False otherwise.
>>> xr_kind_role.TLV_TEMPL_ARG >= xr_kind_role.STRINGLIT_DEFINITION
True
__gt__(b)

Greater-than operator for xr_kind_role .

Parameters:b (xr_kind_role) – The xr_kind_role object to compare against.
Return type:bool
Returns:True if self > b , False otherwise.
>>> xr_kind_role.TLV_SIZEOF > xr_kind_role.VAR_LOCAL_WRITE_THROUGH
True
__hash__()

Hash function for xr_kind_role .

Return type:int
>>> hash(xr_kind_role.TLV_INVOCATION)
84
__le__(b)

Less-than-or-equal operator for xr_kind_role .

Parameters:b (xr_kind_role) – The xr_kind_role object to compare against.
Return type:bool
Returns:True if self <= b , False otherwise.
>>> xr_kind_role.TYPE_RETURN_TYPE <= xr_kind_role.FIELD_OTHER
False
__lt__(b)

Less-than operator for xr_kind_role .

Parameters:b (xr_kind_role) – The xr_kind_role object to compare against.
Return type:bool
Returns:True if self < b , False otherwise.
>>> xr_kind_role.TLV_METHOD_INVOCATION < xr_kind_role.LABEL_TAKE_ADDRESS
True
__ne__(b)

Inequality operator for xr_kind_role .

Parameters:b (xr_kind_role) – The xr_kind_role object to compare against.
Return type:bool
Returns:False if self and b compare equal, True otherwise.
>>> xr_kind_role.TLT_THROW_EXCEPTION_SPEC != xr_kind_role.FUNC_DECLARATION
True
__repr__()

Get a representation of a xr_kind_role object that includes information useful for debugging.

Return type:str
Returns:The string representation.
>>> repr(xr_kind_role.FIELD_DEFINITION)
'<cs.xr_kind_role field_definition>'
__str__()

Get a simple string representation of a xr_kind_role object.

Return type:str
Returns:The string representation.
>>> str(xr_kind_role.VAR_PARAMETER_READ)
'var_parameter_read'
as_integer()

Get an integer representation of self.

Return type:int
Returns:An integer suitable for use with xr_kind_role.from_integer().

Invariant: For xr_kind_role x, xr_kind_role.from_integer(x.as_integer()) == x

>>> xrkr = xr_kind_role.VAR_STATIC_DECLARATION.as_integer()
>>> xrkr
40
>>> xr_kind_role.from_integer(xrkr)
<cs.xr_kind_role var_static_declaration>
decompose()

Get the xr_kind and xr_role corresponding to a xr_kind_role .

Return type:(xr_kind, xr_role)
Returns:A ( xr_kind , xr_role ) (k,r), where:
>>> xr_kind_role.VAR_STATIC_WRITE.decompose()
(<cs.xr_kind file static variable>, <cs.xr_role write>)
name()

Get the name of a xr_kind_role object.

Return type:str
Returns:The name.
>>> xr_kind_role.TYPE_TEMPL_ARG.name()
'type_templ_arg'
BUILTIN_OTHER

Any occurrence of the name of a __builtin_*() function.

>>> xr_kind_role.BUILTIN_OTHER
<cs.xr_kind_role builtin_other>
ENUM_DEFINITION

An individual enum symbol, when defined.

>>> xr_kind_role.ENUM_DEFINITION
<cs.xr_kind_role enum_definition>
ENUM_OCCURRENCE

Any occurrence of an individual enum symbol other than its definition.

>>> xr_kind_role.ENUM_OCCURRENCE
<cs.xr_kind_role enum_occurrence>
FIELD_CONSTRUCTOR_INITIALIZATION

[C++ only] A field name in an aggregate, when initialized in an initialization list.

>>> xr_kind_role.FIELD_CONSTRUCTOR_INITIALIZATION
<cs.xr_kind_role field_constructor_initialization>
FIELD_DEFINITION

A field name in an aggregate, when defined.

>>> xr_kind_role.FIELD_DEFINITION
<cs.xr_kind_role field_definition>
FIELD_INVOCATION

A field name in an aggregate, when invoked (for function pointer fields).

>>> xr_kind_role.FIELD_INVOCATION
<cs.xr_kind_role field_invocation>
FIELD_METHOD_INVOCATION

[C++ only] A field name in an aggregate, when one of its methods is invoked (for aggregate fields).

>>> xr_kind_role.FIELD_METHOD_INVOCATION
<cs.xr_kind_role field_method_invocation>
FIELD_OTHER

A field name in an aggregate, otherwise.

>>> xr_kind_role.FIELD_OTHER
<cs.xr_kind_role field_other>
FIELD_READ

A field name in an aggregate, when its value is read.

>>> xr_kind_role.FIELD_READ
<cs.xr_kind_role field_read>
FIELD_SIZEOF

A field name in an aggregate, as the argument to sizeof().

>>> xr_kind_role.FIELD_SIZEOF
<cs.xr_kind_role field_sizeof>
FIELD_TAKE_ADDRESS

A field name f in an aggregate, as the operand of an addressing expression &f.

>>> xr_kind_role.FIELD_TAKE_ADDRESS
<cs.xr_kind_role field_take_address>
FIELD_WRITE

A field name in an aggregate, when written to.

>>> xr_kind_role.FIELD_WRITE
<cs.xr_kind_role field_write>
FIELD_WRITE_THROUGH

A field name in an aggregate, when it is dereferenced and its target written to (for pointer fields).

>>> xr_kind_role.FIELD_WRITE_THROUGH
<cs.xr_kind_role field_write_through>
FILE_DEFINITION

A file name fname.fext, when the source file called fname.fext is present in the analysis.

>>> xr_kind_role.FILE_DEFINITION
<cs.xr_kind_role file_definition>
FILE_INCLUDE

A file name in an #include directive.

>>> xr_kind_role.FILE_INCLUDE
<cs.xr_kind_role file_include>
FUNC_CALL

A function name, when the function is called.

>>> xr_kind_role.FUNC_CALL
<cs.xr_kind_role func_call>
FUNC_DECLARATION

A function name, when declared.

>>> xr_kind_role.FUNC_DECLARATION
<cs.xr_kind_role func_declaration>
FUNC_DEFINITION

A function name, when defined.

>>> xr_kind_role.FUNC_DEFINITION
<cs.xr_kind_role func_definition>
FUNC_FRIEND

[C++ only] A function name, declared as a friend.

>>> xr_kind_role.FUNC_FRIEND
<cs.xr_kind_role func_friend>
FUNC_OTHER

A function name, otherwise.

>>> xr_kind_role.FUNC_OTHER
<cs.xr_kind_role func_other>
FUNC_SIZEOF

A function name, as the argument to sizeof().

>>> xr_kind_role.FUNC_SIZEOF
<cs.xr_kind_role func_sizeof>
FUNC_STATIC_CALL

A function name, when the function is called.

>>> xr_kind_role.FUNC_STATIC_CALL
<cs.xr_kind_role func_static_call>
FUNC_STATIC_DECLARATION

A function name, when declared.

>>> xr_kind_role.FUNC_STATIC_DECLARATION
<cs.xr_kind_role func_static_declaration>
FUNC_STATIC_DEFINITION

A static function name, when defined.

>>> xr_kind_role.FUNC_STATIC_DEFINITION
<cs.xr_kind_role func_static_definition>
FUNC_STATIC_FRIEND

[C++ only] A function name, declared as a friend.

>>> xr_kind_role.FUNC_STATIC_FRIEND
<cs.xr_kind_role func_static_friend>
FUNC_STATIC_OTHER

A function name, otherwise.

>>> xr_kind_role.FUNC_STATIC_OTHER
<cs.xr_kind_role func_static_other>
FUNC_STATIC_SIZEOF

A function name, as the argument to sizeof().

>>> xr_kind_role.FUNC_STATIC_SIZEOF
<cs.xr_kind_role func_static_sizeof>
FUNC_STATIC_TAKE_ADDRESS

A function name fn, when as the operand of an addressing expression &fn.

>>> xr_kind_role.FUNC_STATIC_TAKE_ADDRESS
<cs.xr_kind_role func_static_take_address>
FUNC_STATIC_TEMPL_ARG

[C++ only] A function name, as a value argument for template instantiation.

>>> xr_kind_role.FUNC_STATIC_TEMPL_ARG
<cs.xr_kind_role func_static_templ_arg>
FUNC_TAKE_ADDRESS

A function name fn, when as the operand of an addressing expression &fn.

>>> xr_kind_role.FUNC_TAKE_ADDRESS
<cs.xr_kind_role func_take_address>
FUNC_TEMPL_ARG

[C++ only] A function name, as a value argument for template instantiation.

>>> xr_kind_role.FUNC_TEMPL_ARG
<cs.xr_kind_role func_templ_arg>
LABEL_DEFINITION

An identifier used as a label, when defined (used to label a statement).

>>> xr_kind_role.LABEL_DEFINITION
<cs.xr_kind_role label_definition>
LABEL_GOTO

An identifier used as a label, as the operand of a goto expression.

>>> xr_kind_role.LABEL_GOTO
<cs.xr_kind_role label_goto>
LABEL_TAKE_ADDRESS

An identifier L used as a label, as the operand of an addressing expression &L.

>>> xr_kind_role.LABEL_TAKE_ADDRESS
<cs.xr_kind_role label_take_address>
MACRO_DEFINITION

A macro name, when first defined with #define (includes redefining after #undef).

>>> xr_kind_role.MACRO_DEFINITION
<cs.xr_kind_role macro_definition>
MACRO_INVOCATION

A macro name, when invoked.

>>> xr_kind_role.MACRO_INVOCATION
<cs.xr_kind_role macro_invocation>
MACRO_REDEF

A macro name, when defined (with #define) twice or more with no intervening #undef.

>>> xr_kind_role.MACRO_REDEF
<cs.xr_kind_role macro_redef>
MACRO_UNDEF

A macro name, when undefined with #undef.

>>> xr_kind_role.MACRO_UNDEF
<cs.xr_kind_role macro_undef>
METHOD_CALL

A method name, when the method is called.

>>> xr_kind_role.METHOD_CALL
<cs.xr_kind_role method_call>
METHOD_DECLARATION

A method name, when declared.

>>> xr_kind_role.METHOD_DECLARATION
<cs.xr_kind_role method_declaration>
METHOD_DEFINITION

A method name, when defined.

>>> xr_kind_role.METHOD_DEFINITION
<cs.xr_kind_role method_definition>
METHOD_FRIEND

[C++ only] A method name, declared as a friend.

>>> xr_kind_role.METHOD_FRIEND
<cs.xr_kind_role method_friend>
METHOD_OTHER

A method name, otherwise.

>>> xr_kind_role.METHOD_OTHER
<cs.xr_kind_role method_other>
METHOD_SIZEOF

A method name, as the argument to sizeof().

>>> xr_kind_role.METHOD_SIZEOF
<cs.xr_kind_role method_sizeof>
METHOD_STATIC_CALL

A static method name, when the method is called.

>>> xr_kind_role.METHOD_STATIC_CALL
<cs.xr_kind_role method_static_call>
METHOD_STATIC_DECLARATION

A static method name, when declared.

>>> xr_kind_role.METHOD_STATIC_DECLARATION
<cs.xr_kind_role method_static_declaration>
METHOD_STATIC_DEFINITION

A static method name, when defined.

>>> xr_kind_role.METHOD_STATIC_DEFINITION
<cs.xr_kind_role method_static_definition>
METHOD_STATIC_FRIEND

[C++ only] A static method name, declared as a friend.

>>> xr_kind_role.METHOD_STATIC_FRIEND
<cs.xr_kind_role method_static_friend>
METHOD_STATIC_OTHER

A static method name, otherwise.

>>> xr_kind_role.METHOD_STATIC_OTHER
<cs.xr_kind_role method_static_other>
METHOD_STATIC_SIZEOF

A static method name, as the argument to sizeof().

>>> xr_kind_role.METHOD_STATIC_SIZEOF
<cs.xr_kind_role method_static_sizeof>
METHOD_STATIC_TAKE_ADDRESS

A static method name fn, when as the operand of an addressing expression &fn.

>>> xr_kind_role.METHOD_STATIC_TAKE_ADDRESS
<cs.xr_kind_role method_static_take_address>
METHOD_STATIC_TEMPL_ARG

[C++ only] A static method name, as a value argument for template instantiation.

>>> xr_kind_role.METHOD_STATIC_TEMPL_ARG
<cs.xr_kind_role method_static_templ_arg>
METHOD_TAKE_ADDRESS

A method name fn, when as the operand of an addressing expression &fn.

>>> xr_kind_role.METHOD_TAKE_ADDRESS
<cs.xr_kind_role method_take_address>
METHOD_TEMPL_ARG

[C++ only] A method name, as a value argument for template instantiation.

>>> xr_kind_role.METHOD_TEMPL_ARG
<cs.xr_kind_role method_templ_arg>
NAMESPACE_DEFINITION

[C++ only] A namespace name, when defined.

>>> xr_kind_role.NAMESPACE_DEFINITION
<cs.xr_kind_role namespace_definition>
NAMESPACE_EXT

A namespace name, at any subsequent extension of the namespace.

>>> xr_kind_role.NAMESPACE_EXT
<cs.xr_kind_role namespace_ext>
NAMESPACE_QUALIFIER

A namespace name ns, in the first operand of a name qualifier expression cs::x.

>>> xr_kind_role.NAMESPACE_QUALIFIER
<cs.xr_kind_role namespace_qualifier>
NAMESPACE_USING

A namespace name, as the operand in a using namespace expression.

>>> xr_kind_role.NAMESPACE_USING
<cs.xr_kind_role namespace_using>
STRINGLIT_DEFINITION

Any occurrence of a string literal in source code (after preprocessing).

>>> xr_kind_role.STRINGLIT_DEFINITION
<cs.xr_kind_role stringlit_definition>
TAG_AGGREGATE_MEMBER

A tag name, as the type of a member of an aggregate.

>>> xr_kind_role.TAG_AGGREGATE_MEMBER
<cs.xr_kind_role tag_aggregate_member>
TAG_CAST

A tag name, as the target type of a cast operation.

>>> xr_kind_role.TAG_CAST
<cs.xr_kind_role tag_cast>
TAG_CATCH_PARAM

(not in use)

>>> xr_kind_role.TAG_CATCH_PARAM
<cs.xr_kind_role tag_catch_param>
TAG_CONSTANT

(not in use)

>>> xr_kind_role.TAG_CONSTANT
<cs.xr_kind_role tag_constant>
TAG_CONSTRUCTOR_INITIALIZATION

(not in use)

>>> xr_kind_role.TAG_CONSTRUCTOR_INITIALIZATION
<cs.xr_kind_role tag_constructor_initialization>
TAG_DECLARATION

A tag name, when declared.

>>> xr_kind_role.TAG_DECLARATION
<cs.xr_kind_role tag_declaration>
TAG_DEFINITION

A tag in an enum, struct or union.

>>> xr_kind_role.TAG_DEFINITION
<cs.xr_kind_role tag_definition>
TAG_FILE_STATIC

A tag name, as the type of a file static variable.

>>> xr_kind_role.TAG_FILE_STATIC
<cs.xr_kind_role tag_file_static>
TAG_FORMAL

A tag name, as the type of a formal parameter in a function definition or declaration.

>>> xr_kind_role.TAG_FORMAL
<cs.xr_kind_role tag_formal>
TAG_FRIEND

(not in use)

>>> xr_kind_role.TAG_FRIEND
<cs.xr_kind_role tag_friend>
TAG_GLOBAL

A tag name, as the type of a global variable.

>>> xr_kind_role.TAG_GLOBAL
<cs.xr_kind_role tag_global>
TAG_LOCAL

A tag name, as the type of a local variable.

>>> xr_kind_role.TAG_LOCAL
<cs.xr_kind_role tag_local>
TAG_LOCAL_STATIC

A tag name, as the type of a local static variable.

>>> xr_kind_role.TAG_LOCAL_STATIC
<cs.xr_kind_role tag_local_static>
TAG_NEW

(not in use)

>>> xr_kind_role.TAG_NEW
<cs.xr_kind_role tag_new>
TAG_OTHER

A tag name, otherwise.

>>> xr_kind_role.TAG_OTHER
<cs.xr_kind_role tag_other>
TAG_QUALIFIER

(not in use)

>>> xr_kind_role.TAG_QUALIFIER
<cs.xr_kind_role tag_qualifier>
TAG_RETURN_TYPE

A tag name, as the return type in a function definition or declaration.

>>> xr_kind_role.TAG_RETURN_TYPE
<cs.xr_kind_role tag_return_type>
TAG_SIZEOF

A tag name, as the argument to sizeof().

>>> xr_kind_role.TAG_SIZEOF
<cs.xr_kind_role tag_sizeof>
TAG_SUBCLASS

(not in use)

>>> xr_kind_role.TAG_SUBCLASS
<cs.xr_kind_role tag_subclass>
TAG_TEMPLATE_PARAMETER

(not in use)

>>> xr_kind_role.TAG_TEMPLATE_PARAMETER
<cs.xr_kind_role tag_template_parameter>
TAG_TEMPL_ARG

(not in use)

>>> xr_kind_role.TAG_TEMPL_ARG
<cs.xr_kind_role tag_templ_arg>
TAG_THROW_EXCEPTION_SPEC

(not in use)

>>> xr_kind_role.TAG_THROW_EXCEPTION_SPEC
<cs.xr_kind_role tag_throw_exception_spec>
TAG_TYPEDEF

A tag name, in the first operand of a typedef statement.

>>> xr_kind_role.TAG_TYPEDEF
<cs.xr_kind_role tag_typedef>
TLT_AGGREGATE_MEMBER

[C++ only] The name of a type parameter for a template, as the type of a data member in an aggregate structure.

>>> xr_kind_role.TLT_AGGREGATE_MEMBER
<cs.xr_kind_role tlt_aggregate_member>
TLT_CAST

[C++ only] The name of a type parameter for a template, as the target type of a cast operation.

>>> xr_kind_role.TLT_CAST
<cs.xr_kind_role tlt_cast>
TLT_CATCH_PARAM

[C++ only] The name of a type parameter for a template, as the parameter type in a catch expression.

>>> xr_kind_role.TLT_CATCH_PARAM
<cs.xr_kind_role tlt_catch_param>
TLT_CONSTANT

[C++ only] The name of a type parameter for a template, as a function parameter qualified as const.

>>> xr_kind_role.TLT_CONSTANT
<cs.xr_kind_role tlt_constant>
TLT_CONSTRUCTOR_INITIALIZATION

[C++ only] The name of a type parameter for a template, as the type of a base class constructor in an initialization list.

>>> xr_kind_role.TLT_CONSTRUCTOR_INITIALIZATION
<cs.xr_kind_role tlt_constructor_initialization>
TLT_DEFINITION

The name of a type parameter for a template, when defined (in the template definition/declaration).

>>> xr_kind_role.TLT_DEFINITION
<cs.xr_kind_role tlt_definition>
TLT_FILE_STATIC

(not in use)

>>> xr_kind_role.TLT_FILE_STATIC
<cs.xr_kind_role tlt_file_static>
TLT_FORMAL

[C++ only] The name of a type parameter for a template, as the type of a formal parameter in a function definition or declaration.

>>> xr_kind_role.TLT_FORMAL
<cs.xr_kind_role tlt_formal>
TLT_FRIEND

[C++ only] The name of a type parameter for a template, declared as a friend.

>>> xr_kind_role.TLT_FRIEND
<cs.xr_kind_role tlt_friend>
TLT_GLOBAL

[C++ only] The name of a type parameter for a template, as the type of a global variable.

>>> xr_kind_role.TLT_GLOBAL
<cs.xr_kind_role tlt_global>
TLT_LOCAL

[C++ only] The name of a type parameter for a template, as the type of a local variable.

>>> xr_kind_role.TLT_LOCAL
<cs.xr_kind_role tlt_local>
TLT_LOCAL_STATIC

[C++ only] The name of a type parameter for a template, as the type of a local static variable.

>>> xr_kind_role.TLT_LOCAL_STATIC
<cs.xr_kind_role tlt_local_static>
TLT_NEW

[C++ only] The name of a type parameter for a template, in the type of a new expression.

>>> xr_kind_role.TLT_NEW
<cs.xr_kind_role tlt_new>
TLT_OTHER

[C++ only] The name of a type parameter for a template, otherwise.

>>> xr_kind_role.TLT_OTHER
<cs.xr_kind_role tlt_other>
TLT_QUALIFIER

[C++ only] The name of a type parameter TT for a template, in the first operand of a name qualifier expression TT::x.

>>> xr_kind_role.TLT_QUALIFIER
<cs.xr_kind_role tlt_qualifier>
TLT_RETURN_TYPE

[C++ only] The name of a type parameter for a template, as the return type in a function definition or declaration.

>>> xr_kind_role.TLT_RETURN_TYPE
<cs.xr_kind_role tlt_return_type>
TLT_SIZEOF

[C++ only] The name of a type parameter for a template, as the argument to sizeof().

>>> xr_kind_role.TLT_SIZEOF
<cs.xr_kind_role tlt_sizeof>
TLT_SUBCLASS

[C++ only] The name of a type parameter for a template, as the superclass in a subclass declaration.

>>> xr_kind_role.TLT_SUBCLASS
<cs.xr_kind_role tlt_subclass>
TLT_TEMPLATE_PARAMETER

[C++ only] The name of a type parameter for a template, as the type of a template value parameter.

>>> xr_kind_role.TLT_TEMPLATE_PARAMETER
<cs.xr_kind_role tlt_template_parameter>
TLT_TEMPL_ARG

[C++ only] [C++ only] The name of a type parameter for a template, as a type argument for template instantiation.

>>> xr_kind_role.TLT_TEMPL_ARG
<cs.xr_kind_role tlt_templ_arg>
TLT_THROW_EXCEPTION_SPEC

[C++ only] The name of a type parameter for a template, as the parameter type in a throw expression.

>>> xr_kind_role.TLT_THROW_EXCEPTION_SPEC
<cs.xr_kind_role tlt_throw_exception_spec>
TLT_TYPEDEF

[C++ only] The name of a type parameter for a template, in the first operand of a typedef statement.

>>> xr_kind_role.TLT_TYPEDEF
<cs.xr_kind_role tlt_typedef>
TLV_DEFINITION

The name of a value parameter for a template, when defined (in the template definition/declaration).

>>> xr_kind_role.TLV_DEFINITION
<cs.xr_kind_role tlv_definition>
TLV_INVOCATION

[C++ only] The name of a value parameter for a template, when invoked (for function pointers).

>>> xr_kind_role.TLV_INVOCATION
<cs.xr_kind_role tlv_invocation>
TLV_METHOD_INVOCATION

[C++ only] The name of a value parameter for a template, when one of its methods is invoked (for aggregates).

>>> xr_kind_role.TLV_METHOD_INVOCATION
<cs.xr_kind_role tlv_method_invocation>
TLV_OTHER

[C++ only] The name of a value parameter for a template, otherwise.

>>> xr_kind_role.TLV_OTHER
<cs.xr_kind_role tlv_other>
TLV_READ

[C++ only] The name of a value parameter for a template, when its value is read.

>>> xr_kind_role.TLV_READ
<cs.xr_kind_role tlv_read>
TLV_SIZEOF

[C++ only] The name of a value parameter for a template, as the argument to sizeof().

>>> xr_kind_role.TLV_SIZEOF
<cs.xr_kind_role tlv_sizeof>
TLV_TAKE_ADDRESS

[C++ only] The name of a value parameter Tv for a template, as the operand of an addressing expression &Tv.

>>> xr_kind_role.TLV_TAKE_ADDRESS
<cs.xr_kind_role tlv_take_address>
TLV_TEMPL_ARG

[C++ only] The name of a value parameter for a template, as a value argument for template instantiation.

>>> xr_kind_role.TLV_TEMPL_ARG
<cs.xr_kind_role tlv_templ_arg>
TLV_WRITE

[C++ only] The name of a value parameter for a template, when it is written to.

>>> xr_kind_role.TLV_WRITE
<cs.xr_kind_role tlv_write>
TLV_WRITE_THROUGH

[C++ only] The name of a value parameter for a template, when it is dereferenced and its target written to (for pointers).

>>> xr_kind_role.TLV_WRITE_THROUGH
<cs.xr_kind_role tlv_write_through>
TYPE_AGGREGATE_MEMBER

A type name, as the type of a member of an aggregate.

>>> xr_kind_role.TYPE_AGGREGATE_MEMBER
<cs.xr_kind_role type_aggregate_member>
TYPE_CAST

A type name, as the target type of a cast operation.

>>> xr_kind_role.TYPE_CAST
<cs.xr_kind_role type_cast>
TYPE_CATCH_PARAM

[C++ only] A type name, as the parameter type in a catch expression.

>>> xr_kind_role.TYPE_CATCH_PARAM
<cs.xr_kind_role type_catch_param>
TYPE_CONSTANT

[C++ only] A type name, as the type of a variable declared as const.

>>> xr_kind_role.TYPE_CONSTANT
<cs.xr_kind_role type_constant>
TYPE_CONSTRUCTOR_INITIALIZATION

[C++ only] A type name, as the type of a base class constructor in an initialization list.

>>> xr_kind_role.TYPE_CONSTRUCTOR_INITIALIZATION
<cs.xr_kind_role type_constructor_initialization>
TYPE_DECLARATION

[C++ only] A type name, when declared.

>>> xr_kind_role.TYPE_DECLARATION
<cs.xr_kind_role type_declaration>
TYPE_DEFINITION

Type name, when defined.

>>> xr_kind_role.TYPE_DEFINITION
<cs.xr_kind_role type_definition>
TYPE_FILE_STATIC

A type name, as the type of a file static variable.

>>> xr_kind_role.TYPE_FILE_STATIC
<cs.xr_kind_role type_file_static>
TYPE_FORMAL

A type name, as the type of a formal parameter in a function definition or declaration.

>>> xr_kind_role.TYPE_FORMAL
<cs.xr_kind_role type_formal>
TYPE_FRIEND

[C++ only] A type name declared as a friend.

>>> xr_kind_role.TYPE_FRIEND
<cs.xr_kind_role type_friend>
TYPE_GLOBAL

A type name, as the type of a global variable.

>>> xr_kind_role.TYPE_GLOBAL
<cs.xr_kind_role type_global>
TYPE_LOCAL

A type name, as the type of a local variable.

>>> xr_kind_role.TYPE_LOCAL
<cs.xr_kind_role type_local>
TYPE_LOCAL_STATIC

A type name, as the type of a local static variable.

>>> xr_kind_role.TYPE_LOCAL_STATIC
<cs.xr_kind_role type_local_static>
TYPE_NEW

[C++ only] A type name, in the type of a new expression.

>>> xr_kind_role.TYPE_NEW
<cs.xr_kind_role type_new>
TYPE_OTHER

A type name, otherwise.

>>> xr_kind_role.TYPE_OTHER
<cs.xr_kind_role type_other>
TYPE_QUALIFIER

[C++ only] A type name T, in the first operand of a name qualifier expression T::x.

>>> xr_kind_role.TYPE_QUALIFIER
<cs.xr_kind_role type_qualifier>
TYPE_RETURN_TYPE

A type name, as the return type in a function definition or declaration.

>>> xr_kind_role.TYPE_RETURN_TYPE
<cs.xr_kind_role type_return_type>
TYPE_SIZEOF

A type name, as the argument to sizeof().

>>> xr_kind_role.TYPE_SIZEOF
<cs.xr_kind_role type_sizeof>
TYPE_SUBCLASS

[C++ only] A type name, as the superclass in a subclass declaration.

>>> xr_kind_role.TYPE_SUBCLASS
<cs.xr_kind_role type_subclass>
TYPE_TAG

A type name that is defined to be the same as the tag in the struct enum or union.

>>> xr_kind_role.TYPE_TAG
<cs.xr_kind_role type_tag>
TYPE_TEMPLATE_PARAMETER

[C++ only] A type name, as the type of a template value parameter.

>>> xr_kind_role.TYPE_TEMPLATE_PARAMETER
<cs.xr_kind_role type_template_parameter>
TYPE_TEMPL_ARG

[C++ only] A type name, as a type argument for template instantiation.

>>> xr_kind_role.TYPE_TEMPL_ARG
<cs.xr_kind_role type_templ_arg>
TYPE_THROW_EXCEPTION_SPEC

[C++ only] A type name, as the parameter type in a throw expression.

>>> xr_kind_role.TYPE_THROW_EXCEPTION_SPEC
<cs.xr_kind_role type_throw_exception_spec>
TYPE_TYPEDEF

A type name, in the first operand of a typedef statement.

>>> xr_kind_role.TYPE_TYPEDEF
<cs.xr_kind_role type_typedef>
VAR_GLOBAL_DECLARATION

A global variable name, when declared.

>>> xr_kind_role.VAR_GLOBAL_DECLARATION
<cs.xr_kind_role var_global_declaration>
VAR_GLOBAL_DEFINITION

An global variable name, when defined.

>>> xr_kind_role.VAR_GLOBAL_DEFINITION
<cs.xr_kind_role var_global_definition>
VAR_GLOBAL_INVOCATION

A global variable name v, when invoked (for function pointer variables).

>>> xr_kind_role.VAR_GLOBAL_INVOCATION
<cs.xr_kind_role var_global_invocation>
VAR_GLOBAL_METHOD_INVOCATION

[C++ only] A global variable name v, when one of its methods is invoked (for aggregate variables).

>>> xr_kind_role.VAR_GLOBAL_METHOD_INVOCATION
<cs.xr_kind_role var_global_method_invocation>
VAR_GLOBAL_OTHER

A global variable name, otherwise.

>>> xr_kind_role.VAR_GLOBAL_OTHER
<cs.xr_kind_role var_global_other>
VAR_GLOBAL_READ

A global variable name, when its value is read.

>>> xr_kind_role.VAR_GLOBAL_READ
<cs.xr_kind_role var_global_read>
VAR_GLOBAL_SIZEOF

A global variable name, as the argument to sizeof().

>>> xr_kind_role.VAR_GLOBAL_SIZEOF
<cs.xr_kind_role var_global_sizeof>
VAR_GLOBAL_TAKE_ADDRESS

A global variable name v, as the operand of an addressing expression &v.

>>> xr_kind_role.VAR_GLOBAL_TAKE_ADDRESS
<cs.xr_kind_role var_global_take_address>
VAR_GLOBAL_TEMPL_ARG

[C++ only] A global variable name v, as an argument for template instantiation.

>>> xr_kind_role.VAR_GLOBAL_TEMPL_ARG
<cs.xr_kind_role var_global_templ_arg>
VAR_GLOBAL_WRITE

A global variable name, when written to.

>>> xr_kind_role.VAR_GLOBAL_WRITE
<cs.xr_kind_role var_global_write>
VAR_GLOBAL_WRITE_THROUGH

A global variable name, when it is dereferenced and its target written to (for pointer variables).

>>> xr_kind_role.VAR_GLOBAL_WRITE_THROUGH
<cs.xr_kind_role var_global_write_through>
VAR_LOCAL_DECLARATION

A local variable name, when declared.

>>> xr_kind_role.VAR_LOCAL_DECLARATION
<cs.xr_kind_role var_local_declaration>
VAR_LOCAL_DEFINITION

A local variable name, when defined.

>>> xr_kind_role.VAR_LOCAL_DEFINITION
<cs.xr_kind_role var_local_definition>
VAR_LOCAL_INVOCATION

A local variable name v, when invoked (for function pointer variables).

>>> xr_kind_role.VAR_LOCAL_INVOCATION
<cs.xr_kind_role var_local_invocation>
VAR_LOCAL_METHOD_INVOCATION

[C++ only] A local variable name v, when one of its methods is invoked (for aggregate variables).

>>> xr_kind_role.VAR_LOCAL_METHOD_INVOCATION
<cs.xr_kind_role var_local_method_invocation>
VAR_LOCAL_OTHER

A local variable name, otherwise.

>>> xr_kind_role.VAR_LOCAL_OTHER
<cs.xr_kind_role var_local_other>
VAR_LOCAL_READ

A local variable name, when its value is read.

>>> xr_kind_role.VAR_LOCAL_READ
<cs.xr_kind_role var_local_read>
VAR_LOCAL_SIZEOF

A local variable name, as the argument to sizeof().

>>> xr_kind_role.VAR_LOCAL_SIZEOF
<cs.xr_kind_role var_local_sizeof>
VAR_LOCAL_STATIC_DECLARATION

(not in use)

>>> xr_kind_role.VAR_LOCAL_STATIC_DECLARATION
<cs.xr_kind_role var_local_static_declaration>
VAR_LOCAL_STATIC_DEFINITION

A local static variable name, when defined.

>>> xr_kind_role.VAR_LOCAL_STATIC_DEFINITION
<cs.xr_kind_role var_local_static_definition>
VAR_LOCAL_STATIC_INVOCATION

A local static variable name v, when invoked (for function pointer variables).

>>> xr_kind_role.VAR_LOCAL_STATIC_INVOCATION
<cs.xr_kind_role var_local_static_invocation>
VAR_LOCAL_STATIC_METHOD_INVOCATION

[C++ only] A local static variable name v, when one of its methods is invoked (for aggregate variables).

>>> xr_kind_role.VAR_LOCAL_STATIC_METHOD_INVOCATION
<cs.xr_kind_role var_local_static_method_invocation>
VAR_LOCAL_STATIC_OTHER

A local static variable name, otherwise.

>>> xr_kind_role.VAR_LOCAL_STATIC_OTHER
<cs.xr_kind_role var_local_static_other>
VAR_LOCAL_STATIC_READ

A local static variable name, when its value is read.

>>> xr_kind_role.VAR_LOCAL_STATIC_READ
<cs.xr_kind_role var_local_static_read>
VAR_LOCAL_STATIC_SIZEOF

A local static variable name, as the argument to sizeof().

>>> xr_kind_role.VAR_LOCAL_STATIC_SIZEOF
<cs.xr_kind_role var_local_static_sizeof>
VAR_LOCAL_STATIC_TAKE_ADDRESS

A local static variable name v, as the operand of an addressing expression &v.

>>> xr_kind_role.VAR_LOCAL_STATIC_TAKE_ADDRESS
<cs.xr_kind_role var_local_static_take_address>
VAR_LOCAL_STATIC_TEMPL_ARG

[C++ only] A local static variable name v, as an argument for template instantiation.

>>> xr_kind_role.VAR_LOCAL_STATIC_TEMPL_ARG
<cs.xr_kind_role var_local_static_templ_arg>
VAR_LOCAL_STATIC_WRITE

A local static variable name, when written to.

>>> xr_kind_role.VAR_LOCAL_STATIC_WRITE
<cs.xr_kind_role var_local_static_write>
VAR_LOCAL_STATIC_WRITE_THROUGH

A local static variable name, when it is dereferenced and its target written to (for pointer variables).

>>> xr_kind_role.VAR_LOCAL_STATIC_WRITE_THROUGH
<cs.xr_kind_role var_local_static_write_through>
VAR_LOCAL_TAKE_ADDRESS

A local variable name v, as the operand of an addressing expression &v.

>>> xr_kind_role.VAR_LOCAL_TAKE_ADDRESS
<cs.xr_kind_role var_local_take_address>
VAR_LOCAL_TEMPL_ARG

[C++ only] A variable name v, as an argument for template instantiation.

>>> xr_kind_role.VAR_LOCAL_TEMPL_ARG
<cs.xr_kind_role var_local_templ_arg>
VAR_LOCAL_WRITE

A local variable name, when written to.

>>> xr_kind_role.VAR_LOCAL_WRITE
<cs.xr_kind_role var_local_write>
VAR_LOCAL_WRITE_THROUGH

A local variable name, when it is dereferenced and its target written to (for pointer variables).

>>> xr_kind_role.VAR_LOCAL_WRITE_THROUGH
<cs.xr_kind_role var_local_write_through>
VAR_PARAMETER_DECLARATION

A parameter name, when declared.

>>> xr_kind_role.VAR_PARAMETER_DECLARATION
<cs.xr_kind_role var_parameter_declaration>
VAR_PARAMETER_DEFINITION

A parameter name, when defined.

>>> xr_kind_role.VAR_PARAMETER_DEFINITION
<cs.xr_kind_role var_parameter_definition>
VAR_PARAMETER_INVOCATION

A parameter name v, when invoked (for function pointer parameters).

>>> xr_kind_role.VAR_PARAMETER_INVOCATION
<cs.xr_kind_role var_parameter_invocation>
VAR_PARAMETER_METHOD_INVOCATION

[C++ only] A parameter name v, when one of its methods is invoked (for aggregate variables).

>>> xr_kind_role.VAR_PARAMETER_METHOD_INVOCATION
<cs.xr_kind_role var_parameter_method_invocation>
VAR_PARAMETER_OTHER

A parameter name, otherwise.

>>> xr_kind_role.VAR_PARAMETER_OTHER
<cs.xr_kind_role var_parameter_other>
VAR_PARAMETER_READ

A parameter name, when its value is read.

>>> xr_kind_role.VAR_PARAMETER_READ
<cs.xr_kind_role var_parameter_read>
VAR_PARAMETER_SIZEOF

A parameter name, as the argument to sizeof().

>>> xr_kind_role.VAR_PARAMETER_SIZEOF
<cs.xr_kind_role var_parameter_sizeof>
VAR_PARAMETER_TAKE_ADDRESS

A parameter name v, as the operand of an addressing expression &v.

>>> xr_kind_role.VAR_PARAMETER_TAKE_ADDRESS
<cs.xr_kind_role var_parameter_take_address>
VAR_PARAMETER_TEMPL_ARG

(not in use)

>>> xr_kind_role.VAR_PARAMETER_TEMPL_ARG
<cs.xr_kind_role var_parameter_templ_arg>
VAR_PARAMETER_WRITE

A parameter name, when written to.

>>> xr_kind_role.VAR_PARAMETER_WRITE
<cs.xr_kind_role var_parameter_write>
VAR_PARAMETER_WRITE_THROUGH

A parameter name, when it is dereferenced and its target written to (for pointer variables).

>>> xr_kind_role.VAR_PARAMETER_WRITE_THROUGH
<cs.xr_kind_role var_parameter_write_through>
VAR_STATIC_DECLARATION

A static variable name, when declared.

>>> xr_kind_role.VAR_STATIC_DECLARATION
<cs.xr_kind_role var_static_declaration>
VAR_STATIC_DEFINITION

A file static variable name, when defined.

>>> xr_kind_role.VAR_STATIC_DEFINITION
<cs.xr_kind_role var_static_definition>
VAR_STATIC_INVOCATION

A static variable name v, when invoked (for function pointer variables).

>>> xr_kind_role.VAR_STATIC_INVOCATION
<cs.xr_kind_role var_static_invocation>
VAR_STATIC_METHOD_INVOCATION

[C++ only] A static variable name v, when one of its methods is invoked (for aggregate variables).

>>> xr_kind_role.VAR_STATIC_METHOD_INVOCATION
<cs.xr_kind_role var_static_method_invocation>
VAR_STATIC_OTHER

A static variable name, otherwise.

>>> xr_kind_role.VAR_STATIC_OTHER
<cs.xr_kind_role var_static_other>
VAR_STATIC_READ

A static variable name, when its value is read.

>>> xr_kind_role.VAR_STATIC_READ
<cs.xr_kind_role var_static_read>
VAR_STATIC_SIZEOF

A variable name, as the argument to sizeof().

>>> xr_kind_role.VAR_STATIC_SIZEOF
<cs.xr_kind_role var_static_sizeof>
VAR_STATIC_TAKE_ADDRESS

A static variable name v, as the operand of an addressing expression &v.

>>> xr_kind_role.VAR_STATIC_TAKE_ADDRESS
<cs.xr_kind_role var_static_take_address>
VAR_STATIC_TEMPL_ARG

[C++ only] A static variable name v, as an argument for template instantiation.

>>> xr_kind_role.VAR_STATIC_TEMPL_ARG
<cs.xr_kind_role var_static_templ_arg>
VAR_STATIC_WRITE

A static variable name, when written to.

>>> xr_kind_role.VAR_STATIC_WRITE
<cs.xr_kind_role var_static_write>
VAR_STATIC_WRITE_THROUGH

A static variable name, when it is dereferenced and its target written to (for pointer variables).

>>> xr_kind_role.VAR_STATIC_WRITE_THROUGH
<cs.xr_kind_role var_static_write_through>